SchildiChat / SchildiChat-android

Matrix client / Element Android fork
https://schildi.chat/android/
Apache License 2.0
386 stars 50 forks source link

"unread messages" counter on menu icon for non-text-events but nothing shown in unread messages tab or spaces list. #110

Closed dreirund closed 1 year ago

dreirund commented 2 years ago

Describe the bug SchildiChat-Android shows an "unread messages" counter on the menu icon, but on the tab for unread notifications and also in the list of my spaces I don't see them.

To get this counter removed, I manually have to open each room in order to find the one which has caused this; if I open the correct room it get's removed.

Messages which are text from a user show up in the "unread notifications" tab; and the messages which trigger this notifications which do not show up are, I think, stuff like message deletion or avatar change or other meta information.

It goes away if I switch off
"Menu" → "Settings" → "Preferences" → "Count muted messages",
however, since I have not muted any room or user, I would not expect that this would make any influence here.

I have set
"Menu" → "Settings" → "Labs" → "Add a dedicated tab for unread notifications on main screen."
to on.

Smartphone (please complete the following information):

Additional context

Upstream relevance

Screenshots:
SchildiChat unread messages tab SchildiChat spaces list

SpiritCroc commented 2 years ago

The "notifications" tab, by design, does not include silent messages (such as from muted chats, but also other events such as bot messages). Element does not counted muted messages at all, so their behavior should match the "Count muted messages" setting turned to off.

however, since I have not muted any room or user, I would not expect that this would make any influence here.

The unread messages counter may also count chats that are marked as unread without any notifications e.g. due to "silent" events, such as bot notices.

I think, for your scenario, it would be sufficient to disable "Count muted messages", wouldn't it? Or would you prefer a setting to also include mute unreads in the notifications tab, or even another "unread" tab?

dreirund commented 2 years ago

Hey,

I think, for your scenario, it would be sufficient to disable "Count muted messages", wouldn't it?

So "Count muted messages" does exactly turn off the counter on the menu button, but does not change anything else?

Or would you prefer a setting to also include mute unreads in the notifications tab, or even another "unread" tab?

That would be a nice additional feature, yes.

But, what I complain about here is that if muted messages are counted, it is not easy to find out where they did occur. I would expect that then the counters are also on the spaces and rooms where the muted messages did appear.

Regards!

-- Planung ist der Ersatz des Zufalls durch den Irrtum.

SpiritCroc commented 2 years ago

So "Count muted messages" does exactly turn off the counter on the menu button, but does not change anything else?

It basically hides all the unread counters with gray background, and keeps the green and red ones.

But, what I complain about here is that if muted messages are counted, it is not easy to find out where they did occur. I would expect that then the counters are also on the spaces and rooms where the muted messages did appear. Regards!

That sounds like a bug, these unread counters should show for spaces (and they do for me). For rooms, these counts show if your homeserver actually reports unread message counts for chats (which current versions of synapse do, but I don't know what homeserver you use) - but, if the room shows as unread (i.e. there is a colored bar on the left of the chat in the overview) without any server-reported count, the counting algorithm just assumes there is "1" unread message in there. Sometimes, if the app hasn't fetched enough history of some rooms to know whether you actually read the latest message, it will also show it as unread. In this case, it helps to just open those chats manuall, and afterwards, unread counts should be and remain accurate.

dreirund commented 2 years ago

But, what I complain about here is that if muted messages are counted, it is not easy to find out where they did occur. I would expect that then the counters are also on the spaces and rooms where the muted messages did appear. Regards!

That sounds like a bug, these unread counters should show for spaces (and they do for me).

For me not; tell me if there is anything I can help to track this down.

For rooms, these counts show if your homeserver actually reports unread message counts for chats (which current versions of synapse do, but I don't know what homeserver you use) - but, if the room shows as unread (i.e. there is a colored bar on the left of the chat in the overview) without any server-reported count, the counting algorithm just assumes there is "1" unread message in there. Sometimes, if the app hasn't fetched enough history of some rooms to know whether you actually read the latest message, it will also show it as unread. In this case, it helps to just open those chats manuall, and afterwards, unread counts should be and remain accurate.

All that does not help if no room is marked where the counted "muted" message did occur. (And, if I open a chat, the unread count does go away anyway.) For me it makes no sense if those messages are counted globally but there is no hint where that count came from (either as an accurate count on the space and room or just a hint on the space and room that something is there).

For not-muted messages all that works.

-- Vernunft, der Erfahrung wie des Nachdenkens soll man nur mündlich verhandeln. Das ausgesprochene Wort ist sogleich tot, wenn es nicht durch ein folgendes, dem Hörer gemäßes, am Leben erhalten wird. Man merke nur auf ein geselliges Gespräch! Gelangt das Wort nicht schon tot zu dem Hörer, so ermordet er es alsogleich durch Widerspruch, Bestimmen, Bedingen, Ablenken, Abspringen und wie die tausendfältigen Unarten des Unterhaltens auch heißen mögen. Mit dem Geschriebenen ist es noch schlimmer. Niemand mag lesen als das, woran er schon einigermaßen gewöhnt ist; das Bekannte, das Gewohnte verlangt er unter veränderter Form. Doch hat das Geschriebene den Vorteil, dass es dauert und die Zeit abwarten kann, wo ihm zu wirken gegönnt ist. -- Goethe, Maximen und Reflektionen, Nr. 583

SpiritCroc commented 2 years ago

For me not; tell me if there is anything I can help to track this down.

What homeserver are you using?

All that does not help if no room is marked where the counted "muted" message did occur. (And, if I open a chat, the unread count does go away anyway.) For me it makes no sense if those messages are counted globally but there is no hint where that count came from (either as an accurate count on the space and room or just a hint on the space and room that something is there). For not-muted messages all that works.

So, just to confirm I understand this issue correctly:

Is that right?

You say there is no counter in the spaces list, does this also mean that there is no counter for the "home" entry above the spaces list?

Since you're running a slightly outdated app version (according to your initial report), it makes also sense to test again on 1.3.12.*, just to make sure.

dreirund commented 2 years ago

For me not; tell me if there is anything I can help to track this down.

What homeserver are you using?

I would rather not tell publicly because of privacy issues (it is not matrix.org). Can I tell you somehow privately?

So, just to confirm I understand this issue correctly:

  • the total unread counter on the top left of the top bar shows a count > 0 for unread notifications, and

yes,

  • none of your chats show up as unread (i.e. there is no colored bar on the left of any of your chats in the list (any space or no space, really check all your chats))

yes, I did check. Just a coloured green bar left of that space which I have currently open, whichever it is, which seems to indicate just that.

You say there is no counter in the spaces list, does this also mean that there is no counter for the "home" entry above the spaces list?

Correct.

Btw., the counters for messags (green background) are shown own the spaces and sub-spaces and room.

Since you're running a slightly outdated app version (according to your initial report), it makes also sense to test again on 1.3.12.*, just to make sure.

I use what ever is up to date on F-Droid. Sorry, I won't use Google Play Store, and I also can't manually install an .apk without having to uninstall the F-Droid app first, which would invalidate my settings (also settings I did for that app in other apps, like Autostarts and X Privacy Lua). So, I can only test what is newest on F-Droid.

-- Sie sägten die Äste ab, auf denen sie saßen und schrien sich zu ihre Erfahrungen wie man schneller sägen könnte, und fuhren mit Krachen in die Tiefe, und die ihnen zusahen, schüttelten die Köpfe beim Sägen, und sägten weiter. -- Bertolt Brecht, Exil, III

SpiritCroc commented 2 years ago

I would rather not tell publicly because of privacy issues (it is not matrix.org). Can I tell you somehow privately?

Server software (synapse, conduit, dendrite?) and version would be all I'm interested in in this case.

I use what ever is up to date on F-Droid. Sorry, I won't use Google Play Store, and I also can't manually install an .apk without having to uninstall the F-Droid app first, which would invalidate my settings (also settings I did for that app in other apps, like Autostarts and X Privacy Lua). So, I can only test what is newest on F-Droid.

Not using Google Play is totally fine. I don't see why you would need to uninstall F-Droid for installing an apk manually. In case you didn't know, I'm also providing my own F-Droid repos, which have SchildiChats with different package names, so you can easily install them next to the one in the official F-Droid repo, without having to uninstall that one. More info here: https://schildi.chat/android/

dreirund commented 2 years ago

I would rather not tell publicly because of privacy issues (it is not matrix.org). Can I tell you somehow privately?

Server software (synapse, conduit, dendrite?) and version would be all I'm interested in in this case.

An admin of the server told me:

Synapse 1.51 + matrix_ldap_registration_proxy.

And they are actively updating; should be always up to date +- one minor version. If needed, a config can also be provided.

In case you didn't know, I'm also providing my own F-Droid repos

I did not know, thanks, so I now just switched to that permanently!

I can confirm that what I reported is also valid for versions

-- Vernunft, der Erfahrung wie des Nachdenkens soll man nur mündlich verhandeln. Das ausgesprochene Wort ist sogleich tot, wenn es nicht durch ein folgendes, dem Hörer gemäßes, am Leben erhalten wird. Man merke nur auf ein geselliges Gespräch! Gelangt das Wort nicht schon tot zu dem Hörer, so ermordet er es alsogleich durch Widerspruch, Bestimmen, Bedingen, Ablenken, Abspringen und wie die tausendfältigen Unarten des Unterhaltens auch heißen mögen. Mit dem Geschriebenen ist es noch schlimmer. Niemand mag lesen als das, woran er schon einigermaßen gewöhnt ist; das Bekannte, das Gewohnte verlangt er unter veränderter Form. Doch hat das Geschriebene den Vorteil, dass es dauert und die Zeit abwarten kann, wo ihm zu wirken gegönnt ist. -- Goethe, Maximen und Reflektionen, Nr. 583

SpiritCroc commented 2 years ago

An admin of the server told me: Synapse 1.51

Sounds fine. I guess I'll drop you a custom apk or implement some extra debugging switch to get some logs where the unread counts come from.

SpiritCroc commented 2 years ago

Hi, sorry for not coming back to you earlier. I'm planning to add a couple more debugging settings to the app later. Do you still have the issue on 1.4.4-based beta releases?

github-actions[bot] commented 1 year ago

This issue is stale because it has been open 150 days with no activity. Remove stale label or comment or this will be closed in 14 days.

dreirund commented 1 year ago

This issue is stale because it has been open 150 days with no activity. Remove stale label or comment or this will be closed in 14 days.

Replying in order to prevent automatic stale-ing.

I find automatic stale-ing bad practise, since some issues might be resolved only after years, depending on capacity of developers or relevance.

If an issue not to be resolved intentionally, then it should be closed as such explicitly.

SpiritCroc commented 1 year ago

I don't keep track of all issues, since many concern the upstream codebase, and can thus be fixed without me noticing. So it makes sense to me to not keep them open forever, which can lead to confusion.

You didn't even reply to my last question, so how am I supposed to know if this is still an issue in that case. 5 month sounds sensible to me to close stale issues, or require users to report it's still an issue. Seems to me like sensible user-side effort to make my life easier. Note we also exempt some issue labels from automatic staling, so I can add one of those if it makes sense to me.

dreirund commented 1 year ago

Hi, sorry for not coming back to you earlier. I'm planning to add a couple more debugging settings to the app later. Do you still have the issue on 1.4.4-based beta releases?

Sorry, somehow this comment "slipped through" my inbox.

Of course, the reporter not reacting to a request for a while is a good reason to close an issue. So, sorry for me for beeing expecting while beeing non-cooperative.

SchildiChat.Beta[f] Version: v1.5.13.sc63-test13

Now the unread messages counter appears also in the list of spaces at the correct place, but still not on the actual chat. But only if it is a "gray" counter, not if it is a "green" counter (the latter appears correctly).

I attach screenshots.

menu chats

SpiritCroc commented 1 year ago

The screenshot looks like intended to me. As you can see in the chats screenshot, there is a grey "unread" bar at the left of the chat, which means that the app found some muted message content in there that hasn't been read yet (such as bot notices), or it didn't fetch enough timeline to ensure everything is read. If you want to have the actual unread number there, please make sure your homeserver supports MSC2654 (e.g. in synapse, you can add msc2654_enabled: true to the experimental_features section to do that). If you do not like this feature, disable "Count muted messages" in settings.

So sounds to me like the original issue as of following description no longer exists and this can be closed?

  • the total unread counter on the top left of the top bar shows a count > 0 for unread notifications, and

  • none of your chats show up as unread (i.e. there is no colored bar on the left of any of your chats in the list (any space or no space, really check all your chats))

dreirund commented 1 year ago

So sounds to me like the original issue as of following description no longer exists and this can be closed?

  • the total unread counter on the top left of the top bar shows a count > 0 for unread notifications, and
  • none of your chats show up as unread (i.e. there is no colored bar on the left of any of your chats in the list (any space or no space, really check all your chats))

Yes.

So I am closing now.