From 41feecdf968064d4b37f62d9ccab922a6cd0e31b Mon Sep 17 00:00:00 2001 From: Martin Saposnic Date: Mon, 11 Aug 2025 13:29:26 -0300 Subject: [PATCH 1/2] LSPS5: clarify per-method cooldown to minutes. Adjusts rate limiting guidance to be on the order of minutes. Rationale is that devices can miss one wake and be available shortly after, so several notifications per hour should be acceptable. --- blip-0055.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/blip-0055.md b/blip-0055.md index ee4151e..39f4e3a 100644 --- a/blip-0055.md +++ b/blip-0055.md @@ -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 From 670ce7004b5dfa603c20b74583ec401373f24484 Mon Sep 17 00:00:00 2001 From: Martin Saposnic Date: Mon, 11 Aug 2025 13:29:43 -0300 Subject: [PATCH 2/2] Fix tiny typos on LSPS5 spec --- blip-0055.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/blip-0055.md b/blip-0055.md index 39f4e3a..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.