stuck notification badge with element x on ios #1966

Open
opened 2026-07-12 02:15:23 +00:00 by numinara · 7 comments

when element x on ios gets a notification, the notification badge goes to 1, and then even after the message is read, and every client of mine (element x, element classic, fluffychat, iamb; all of them verified) removes the notification and/or says there are no unread messages, the badge still stays. only re-logging seems to be able to clear it.

my homeserver (still running on 0.5.10 due to nixpkgs being slow to update, but this has been going on for a long time) sends 0 for unread notifications and highlights on both the classic and simplified sliding sync endpoints.

all my pushers seem to be registered with format: event_id_only, and iirc element x doesn't do any local badge calculation, so the badge seems to depend entirely on the unread count in the last notify event.

i'm guessing that the server doesn't properly send events to reset the unread count to 0; since every new proper notification has at least 1 as the unread count, if that event is missing, the badge will never clear (and if my memory holds, this badge-update notify is exactly what synapse sends when the read receipts change the counts, and i haven't heard of this issue there).
just speculating though!

happy to grab any logs or help however i can!

when element x on ios gets a notification, the notification badge goes to 1, and then even after the message is read, and every client of mine (element x, element classic, fluffychat, iamb; all of them verified) removes the notification and/or says there are no unread messages, the badge still stays. only re-logging seems to be able to clear it. my homeserver (still running on 0.5.10 due to nixpkgs being slow to update, but this has been going on for a long time) sends 0 for unread notifications and highlights on both the classic and simplified sliding sync endpoints. all my pushers seem to be registered with `format: event_id_only`, and iirc element x doesn't do any local badge calculation, so the badge seems to depend entirely on the unread count in the last notify event. i'm guessing that the server doesn't properly send events to reset the unread count to 0; since every new proper notification has at least 1 as the unread count, if that event is missing, the badge will never clear (and if my memory holds, this badge-update notify is exactly what synapse sends when the read receipts change the counts, and i haven't heard of this issue there). just speculating though! happy to grab any logs or help however i can!
Owner

this appears to be an Element X [iOS] bug, as I have the same issue on my phone. Actually, I have a notification badge stuck at 4, not 1, but the second instance of Element X is itself stuck on 1. Those two apps are logged into Synapse, so I can only assume it's a bug with the app.

this appears to be an Element X [iOS] bug, as I have the same issue on my phone. Actually, I have a notification badge stuck at 4, not 1, but the second instance of Element X is itself stuck on 1. Those two apps are logged into Synapse, so I can only assume it's a bug with the app.
Author

oh, then my memory didn't hold!

awesome on the extra data, and will bombard their trackers with this instead.

should i close this issue or is it useful in case it turns out to be partially server-side or such?

oh, then my memory didn't hold! awesome on the extra data, and will bombard their trackers with this instead. should i close this issue or is it useful in case it turns out to be partially server-side or such?
Owner

We can keep it open in case other people have the same problem too, we're generally aware of some obscure bug that causes notification counts to get stuck, so my assumption may be based on coincidence

We can keep it open in case other people have the same problem too, we're generally aware of some obscure bug that causes notification counts to get stuck, so my assumption may be based on coincidence
Author

i've checked the element x issue trackers too, and there are multiple closed issues that were supposedly fixed, but there's an open one describing this exact problem, and someone said it happens with fluffychat too (although personally i haven't seen this), so it might be a server-side thing, made server-agnostic by the spec itself being bad, idk. leaving open as you suggested either way

i've checked the element x issue trackers too, and there are multiple closed issues that were supposedly fixed, but there's an [open one](https://github.com/element-hq/element-x-ios/issues/3151) describing this exact problem, and someone said it happens with fluffychat too (although personally i haven't seen this), so it might be a server-side thing, made server-agnostic by the spec itself being bad, idk. leaving open as you suggested either way
Owner

https://github.com/element-hq/element-x-ios/issues/3151#issuecomment-4891570750 this might be interesting. I'll have to take a look and see where we're incrementing the count

https://github.com/element-hq/element-x-ios/issues/3151#issuecomment-4891570750 this might be interesting. I'll have to take a look and see where we're incrementing the count
Author

okay yeah this seems to be happening with fluffychat too. i joined the continuwuity support channel, got 91 notifs while away, and now both apps are stuck on that number

okay yeah this seems to be happening with fluffychat too. i joined the continuwuity support channel, got 91 notifs while away, and now both apps are stuck on that number

I have the same problem, which is why I'm currently using Element Classic for iOS again.

I have the same problem, which is why I'm currently using Element Classic for iOS again.
Sign in to join this conversation.
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
continuwuation/continuwuity#1966
No description provided.