Open xobs opened 4 years ago
Looks like the thing you have pinned on your task bar is wrong, as it isn't linked to the open window otherwise it'd have the outline at the bottom. This works just fine:
Apologies, I cut off the bottom of the taskbar. Here is the entire thing:
And here's what I get when I mouseover the icon:
Very strange as that should update it as it does for me.
I added this as a suggestion because I have Riot installed on two separate Windows 10 machines, and neither of them changes the taskbar icon when I have unread messages, yet both update their program icon that shows up in the upper-left corner and in alt-tab.
I cannot reproduce on either of my Windows 10 machines
What can I do to troubleshoot this, then? Just grasping at straws here: Might this be caused by the updater somehow not correctly replacing the icon properly, which you won't see if you build it from source yourself?
It has nothing to do with the updater.
It uses the electron BrowserWindow setIcon API https://github.com/vector-im/riot-desktop/blob/develop/src/tray.js#L99-L100 This bit works as expected, as you see it on the top left of your window. Your Windows is not copying that to the taskbar though which mine is
Aha, that's one problem.
With Combine taskbar buttons
set to Never
:
With Combine taskbar buttons
set to Always, hide labels
:
I'm not sure how you're managing to get an icon consistently...
Definitely sounds like some Windows failure/misconfiguration as it works just fine here
I don't think it's a Windows issue, because e.g. Discord is able to show badges just fine, as are Telegram and WhatsApp:
Riot seems to only set the "Urgent" flag, and doesn't actually update its badge.
There is an additional, Windows-specific API, we could be using here but it is a lot of work for something that works for the vast majority of users already. Detailed here https://github.com/vector-im/riot-web/issues/13920
I installed the Riot Nightly mentioned in that issue, and it still didn't work. It looks like I've hit the same issue as @assarbad where Riot doesn't show unread message counts. Except for me it's reliably not showing anything, and across multiple devices.
I'm not sure what else I can do to try and get it working.
Not the same issue as that one at all, the one they were seeing was an inconsistency between the unread count and the icon count in the tray, window and taskbar. You are just seeing it missing it from the taskbar with a specific Windows setting enabled. Given it works for you in the Window icon then issue is different.
From my understanding of why this is hard:
global.mainWindow.setOverlayIcon()
to add a badge to an iconriot-desktop
updates its icon by listening to the page-favicon-updated
eventriot-web
page updates its iconriot-web
canvas
from riot-desktop
since there is no document
objectriot-desktop
I have a terrible hack that reads the number of unread messages from the <title>
tag by monitoring page-title-updated
and pulling it out using a regex. This is reliable, but since I can't render anything with canvas
it doesn't get me very far.
unfortunately i have a bunch of windows users complaining about this too! - for some time i didn't know what they were talking about because on my linux DEs everything works fine. :neutral_face:
is there at least any workaround i can suggest to them?
This was working for a while, then stopped working. It seems inconsistent, and is at a point now where it isn't working again, possibly since the most recent update.
https://github.com/vector-im/element-web/issues/19986 seems to suggest it is related to the Windows configuration option
Set windows taskbar to "Always hide labels" in the taskbar settings
I can confirm the issue still exists in latest release:
Version von Element: 1.9.9 Version von Olm: 3.2.8
No counter is ever shown!
For Thunderbird it works in the same display.
We find the issue can be reproduced when the electron windows(electron 13.6.3) is unfocused sometimes . if we click the electron window to active the window the icon will be OK . (We disabled backgroundThrottling and created a frameless window)
Any Update on this? I ask you to please fix this soon. My users are complaining and while for private use this is more of an inconvenience, for an company environment it is lost money due to productivity loss since they miss that they do have new messages which is quite severe for a messaging app and communication in general.
While I am at it: Thank you guys for your great work! Love the direction and recent Updates!
Using Element on Linux and would also love to have a counter or at least some indication that there is an unread message.
@e00E whether or not there in Linux depends on if Electron supports doing that with your Desktop Environment. Element just uses the Electron badgeCount
API
For folks having this issue: you should be able to get it to work again temporarily by pinning and unpinning Element from the taskbar.
As for actually fixing it, what if we just sent both the composed favicon as well as the badge and raw icon all at once? In theory, element-web can remain agnostic and element-desktop can handle determining which of the images to actually use and how. If this is acceptable I’d be happy to try to open some PRs this weekend. I understand this issue is not high priority, but I’m trying to help some of my friends join Matrix and the possibility that the taskbar badge could disappear inappropriately is troublesome for them, as they sometimes completely miss that they had multiple chats with notifications they did not read.
I could be wrong, but I’m pretty sure not using setOverlayIcon will always be unreliable, because Windows 7+ taskbar blends shortcuts and running apps into one thing, and which determines the icon seems to be somewhat inscrutable.
what if we just sent both the composed favicon as well as the badge and raw icon all at once?
Then they can overlay each other
This has never worked for me, however the icon in the system tray has the badge/number working. Would be ideal if it could use the built-in windows 10/11 badges for the icons. If not simply displaying a red dot without the number would be enough for me.
@t3chguy
what if we just sent both the composed favicon as well as the badge and raw icon all at once?
Then they can overlay each other
Ref vector-im/element-web#16942
Actually, I meant:
@ArtexJay
This has never worked for me, however the icon in the system tray has the badge/number working. Would be ideal if it could use the built-in windows 10/11 badges for the icons. If not simply displaying a red dot without the number would be enough for me.
Unfortunately, it’s no easier to do that than it is to fix the problem fully, that I know of.
There's no vote button, so I'll leave this that I'd also like this to be implemented.
@pyrates999 there's reaction buttons on the issue description
On Windows 11, when you Unpin the icon from taskbar, the unread badge appears. When you Pin the icon to taskbar again, the badge disappears. This seems to be repeatable.
This happens to me with current version: Element version: 1.11.20 Olm version: 3.2.12.
can relate, unpinned icon shows counter in taskbar, pinned - doesn't
i can resp. must confirm both of previous findings:
this happens on Windows 10 and 11 with the setting Combine taskbar buttons
set to Always, hide labels
, when you pin Element to the taskbar. as soon as you unpin it, the badge appears.
stupid idea more or less rooted from desperation (which i unfortunately couldn't check): perhaps it is decisive at which state - with or without a badge - you first pinned Element... i know this would be completely bonkers, but IMHO may be an explanation why many casual users do have this issue but most power users (which much more likely have pending notifications) seem to mostly don't have it.
I think it would legitimately be possible to fix this, it's just a bit awkward because of Element's architecture, wherein the hosted Electron renderer is running essentially the stock web code and icons are handled by handling favicon events. I'm not sure if upstream would accept a PR that adds some Electron IPC where the favicon logic would normally be, or if that could even be done in a terribly non-invasive way. There hasn't been much signal from the project that I can see.
@jchv yes that would be accepted. Originally we had 2 badges overlapped on some environments hence removing the appBadgeCount API which Electron claims is macOS-only but actually works on some Windows envs. The right way is as per - https://github.com/vector-im/element-desktop/issues/762#issuecomment-1513256598
Just want to bring this topic up again... for me it's no matter if Element is pinned or not. Not having my taskbar icons combined matters though.
I'd consider myself as a power user, and I still combine my icons - I have too many windows, not enough real estate, and I'm actually used to it and would prefer to not change that setting.
For comparison: Whatsapp, slack, discord, even the "new outlook pwa" are able to show badges or icons on my win11 taskbar. It can't be that complicated?
It can't be that complicated?
As always, contributions welcome.
Honestly, I'd love to!
Let's just say there are more reasons why I can't do that, one of them being no developer 🙈 I'd be happy to fix container issues or build pipelines in exchange!
Is your suggestion related to a problem? Please describe. Riot currently shows the number of unread messages in the upper-left corner of the window. It would be nice if it showed the number of unread messages in the icon as well.
Describe the solution you'd like Here is a screenshot of both the Riot icon in the upper-left, as well as the taskbar icon:
The taskbar icon should be a larger version of the upper-left icon, indicating that there are unread messages. Alternately, the taskbar icon could simply overlay a dot, indicating that there are unread messages.