UnifiedPush / wishlist

New distributor, new lib, more OS, app support etc.
4 stars 0 forks source link

The state of re-registration #27

Open karmanyaahm opened 11 months ago

karmanyaahm commented 11 months ago

Just a survey on how apps deal with:

  1. NEW_ENDPOINT The exact same endpoint
  2. NEW_ENDPOINT Different endpoint
  3. UNREGISTERED
karmanyaahm commented 11 months ago

Tusky:

@inputmice observed that Tusky doesn't retry anything if the connection with the server is bad.

NEW_ENDPOINT: It re-registers every time it receives a NEW_ENDPOINT. Creates new WebPush keys on every NEW_ENDPOINT, even if the endpoint is the same. Mastodon automatically overrides the old endpoint with the new one. UNREGISTERED: It looks like it unregisters properly. Android's notification setting: Does Tusky unregister if notifications are turned off in Android settings?

p1gp1g commented 11 months ago

The issue is Mastodon doesn't override the push endpoint, but add it

karmanyaahm commented 11 months ago

Podverse: Wow it apparently has full aes128gcm webpush decryption support. Didn't know that. The podverse server doesn't do anything when receiving 404's or any status code for that matter.

NEW_ENDPOINT: Appropriately, it doesn't talk to the server at all if the endpoint doesn't change. If the endpoint changes, it creates/updates the device. Doesn't look like there's any retry logic on a bad connection or server outage. UNREGISTERED: Podverse-rn doesn't handle Unregistered. The native part broadcasts UnifiedPushUnregistered, but nothing in JS receives it.

p1gp1g commented 11 months ago

The issue is Mastodon doesn't override the push endpoint, but add it

https://github.com/mastodon/mastodon/pull/27858 the issue with multiple push subscriptions for a single device on mastodon has been fixed