Skip to content

Commit a833e7b

Browse files
LSPS5: clarify per-method cooldown to minutes (#64)
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.
1 parent 7d97847 commit a833e7b

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

blip-0055.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ push notifications to be sent to actual mobile devices.
7373
Depending on architecture, the 'notification delivery service'
7474
and the 'mobile OS server' may not exist.
7575
For instance, a client running on a desktop environment might
76-
be able to periodically wake up and pool a 'notification
76+
be able to periodically wake up and poll a 'notification
7777
delivery service' without help from any kind of 'mobile OS
7878
server'.
7979
A client running on an environment where some DNS-resolvable
@@ -274,12 +274,12 @@ via the `lsps5.remove_webhook` call, which takes the parameters:
274274

275275
```JSON
276276
{
277-
"app_name": "Another Wallet With The Same Signig Device"
277+
"app_name": "Another Wallet With The Same Signing Device"
278278
}
279279
```
280280

281281
The following error is defined for `remove_webhook` (error
282-
`code` in parantheses):
282+
`code` in parentheses):
283283

284284
* `app_name_not_found` (1010) - The specified `app_name` was
285285
not found.
@@ -626,16 +626,22 @@ For example, if a payment arrives and the LSP thus
626626
wants to send `lsps5.payment_incoming` notification to a
627627
registered webhook, and another payment arrives before the
628628
client comes online, the LSP must not send another
629-
`lsps5.payment_incoming` notification.
629+
`lsps5.payment_incoming` notification within its cooldown window.
630630

631631
If the client does not come online after some time that a
632632
particular `method` was sent via a webhook, then the LSP
633633
may raise it again.
634-
This timeout must be measurable in hours or days.
634+
This timeout should be on the order of minutes.
635635

636636
The timeout should be reset once the client comes online
637637
and then goes offline.
638638

639+
> **Rationale** Mobile devices and networks are transient.
640+
> A device might ignore a wakeup due to battery or connectivity,
641+
> then accept one a short time later.
642+
> A cooldown on the order of minutes protects
643+
> against floods while improving delivery in practice.
644+
639645
[LSPS0.ln_signature]: ./blip-0050.md#link-lsps0ln_signature
640646
[LSPS0.datetime]: ./blip-0050.md#link-lsps0datetime
641647
[RFC 1738]: https://datatracker.ietf.org/doc/html/rfc1738

0 commit comments

Comments
 (0)