-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Asynchronous Notification Architecture and Notification Lifecycle Commands #168
Comments
vaults share
should fail silentlyvaults share
should fail in a less opaque manner
I've made some changes in feature-notifications branch of Polykey that adds an option to make In cases where blocking and multiple retries are used, i've made it so that if none of the retries succeeded, the promise will reject. Furthermore, it will reject if we receive a PolykeyRemoteError, because it indicates that the receiver and received the notification, but rejected it for some reason, hence we shouldnt keep badgering it with the same notification. If any of the retries succeed, promise will resolve. This granularity allows for the method to also function as if it were the old blocking-only implementation. To continue, I will convert all relevant usage of Then, I will implement a |
Can you open a PR and target this issue? |
Also complete the task list on the spec too! And you are using Task manager for this? |
👍 |
the current progress: I've implemented The current task I am up to now, is figuring out how to rework either the The options i'm thinking of atm are:
Brian suggests that both the IDs on the sender side and the receiver side should be acknowledged, cos they also act as timestamps for when the notification is sent and when it is received. This would require a hybrid approach of no.4 and no.3. This will have to have a little more speccing out to do then… |
If #695 is about turning notifications into delay tolerant asynchronous architecture, then this issue is underspecced ,and there needs to be rewritten to include both work that will occur in Polykey library and Polykey CLI. This issue therefore a like a "reason" to do the larger asynchronous architecture which should be specced out. The title of this needs to be rewritten. |
vaults share
should fail in a less opaque manner
I just renamed this to "Asynchronous Notification Architecture for Delay-Tolerant Notifications". So it's more obvious what this entails. |
Will |
Is |
Also when printing out a notification, what is the default human format? Just a block of text? Given a structured document - I'd suggest that our human formatting should provide it more like a dictionary. With metadata above. Especially in terms of showing up as a inbox or outbox notification. |
I'll be following the existing inbox read command for the outbox |
i think the function in |
NotesBlockingNone TIme EstimatesAbout 3 days Identify Uncertainties
|
Can you involve @CryptoTotalWar here to user-test this. |
I think these new commands make sense. Looking forward to testing them out in the next release! |
This may still be a problem. Was the fix confirmed @amydevs? Have we just not done a release yet? #183 seems to be showing the same problem again.
I don't think we've released a version of |
Specification
As the sending notifications in the
NotificationsManager
are being made asynchronous, we need to introduce commands that interact with the lifecycle ofNotificationsManager
and theNotification
s.Send
This command will be largely the same, but will no longer immediately error. Instead, errors are logged on the Polykey agent, and attempts to send a notification are retried.
Options
--retries [number] // the amount of retries that should be attempted for a notification.
Read
The
notifications read
command has now been renamed toinbox read
. Theoutbox read
command now also exists for checking what notifications are pending in the outbox. ThenotificationIdEncoded
field is now available on the output so that the user can be given an index to remove a specific notification by.Options
Clear
Still the same, but
outbox clear
also cancels the deleted outbox notifications from being sent.Remove
Removes a specific notification by the notificationIdEncoded that is returned from
polykey notifications * read
.Additional context
#163
MatrixAI/Polykey#703
Tasks
The text was updated successfully, but these errors were encountered: