diff --git a/blip-0055.md b/blip-0055.md index ee4151e..08563d0 100644 --- a/blip-0055.md +++ b/blip-0055.md @@ -73,7 +73,7 @@ push notifications to be sent to actual mobile devices. Depending on architecture, the 'notification delivery service' and the 'mobile OS server' may not exist. For instance, a client running on a desktop environment might -be able to periodically wake up and pool a 'notification +be able to periodically wake up and poll a 'notification delivery service' without help from any kind of 'mobile OS server'. A client running on an environment where some DNS-resolvable @@ -274,12 +274,12 @@ via the `lsps5.remove_webhook` call, which takes the parameters: ```JSON { - "app_name": "Another Wallet With The Same Signig Device" + "app_name": "Another Wallet With The Same Signing Device" } ``` The following error is defined for `remove_webhook` (error -`code` in parantheses): +`code` in parentheses): * `app_name_not_found` (1010) - The specified `app_name` was not found. @@ -626,16 +626,22 @@ For example, if a payment arrives and the LSP thus wants to send `lsps5.payment_incoming` notification to a registered webhook, and another payment arrives before the client comes online, the LSP must not send another -`lsps5.payment_incoming` notification. +`lsps5.payment_incoming` notification within its cooldown window. If the client does not come online after some time that a particular `method` was sent via a webhook, then the LSP may raise it again. -This timeout must be measurable in hours or days. +This timeout should be on the order of minutes. The timeout should be reset once the client comes online and then goes offline. +> **Rationale** Mobile devices and networks are transient. +> A device might ignore a wakeup due to battery or connectivity, +> then accept one a short time later. +> A cooldown on the order of minutes protects +> against floods while improving delivery in practice. + [LSPS0.ln_signature]: ./blip-0050.md#link-lsps0ln_signature [LSPS0.datetime]: ./blip-0050.md#link-lsps0datetime [RFC 1738]: https://datatracker.ietf.org/doc/html/rfc1738