mirror of
https://github.com/zulip/zulip.git
synced 2025-11-05 22:43:42 +00:00
Fixes zulip/zulip-flutter#1617. It turns out that an APNs token (which is a hex string) is equally valid in lower or upper case. The old app would send the server the lower-case form of the token, but the new app sends the upper-case form. Because we've been treating tokens case-sensitively, if the user upgrades from the old app to the new, that results in the server and bouncer each having two copies of the token (one lower-case and one upper-case), and therefore sending that device two copies of each notification: zulip/zulip-flutter#1617. To fix that immediately, have the bouncer drop duplicate tokens before sending the notifications to APNs. Work is also in progress on fixing this in a better-structured way, by having the database correctly treat tokens as the same when they differ only in case.
59 KiB
59 KiB