Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mismatched default avatar colours #2449

Closed
ara4n opened this issue Oct 11, 2016 · 15 comments · Fixed by matrix-org/matrix-react-sdk#6393
Closed

Mismatched default avatar colours #2449

ara4n opened this issue Oct 11, 2016 · 15 comments · Fixed by matrix-org/matrix-react-sdk#6393
Assignees

Comments

@ara4n
Copy link
Member

ara4n commented Oct 11, 2016

It's rather unintuitive that the colour of the room avatar doesn't match the user's avatar:

screen shot 2016-10-11 at 14 50 01

@ara4n ara4n added T-Defect S-Tolerable Low/no impact on users I18n P2 and removed I18n labels Oct 11, 2016
@rubo77
Copy link
Contributor

rubo77 commented Dec 16, 2016

can this be fixed easily?

maybe use an md5 hash on the comlete username and always create the colour from that?

@t3chguy
Copy link
Member

t3chguy commented Jun 27, 2019

This should also include matching the colour with the username colour in timeline

@waclaw66
Copy link
Contributor

Another related problem is that avatar is not correcly depictured within browser notifications. There is shown only the solid color fill. I would suggest to use pre-rendered png avatar as another services do. That would solve both problems.

@waclaw66
Copy link
Contributor

@t3chguy Do you have better solution?

@t3chguy
Copy link
Member

t3chguy commented Dec 25, 2020

I'm simply not a fan of the default avatars apps normally use, a colour and initial is much better for instant recognition than a random silhouette

@waclaw66
Copy link
Contributor

waclaw66 commented Dec 25, 2020

I'm not talking about random silhouette, I'm in favour of current appearance too. But html representation as img and span doesn't work for notifications as I mentioned. In case of pre-rendered png (color+initial) you don't need to care about platforms (web, notification, android...).

@t3chguy
Copy link
Member

t3chguy commented Dec 25, 2020

So you want to pre-render every possible colour+letter permutation? Given that Displaynames are unicode that is a very large set of images.

@t3chguy
Copy link
Member

t3chguy commented Dec 25, 2020

Plus given that users are in control of the font their Element uses, the pre-rendered images would not be able to make use of system fonts and be fixed at just one font.

@waclaw66
Copy link
Contributor

I just want to fix web notifications, that's it. If the way how other services (like Google) do that (pre-rendered png) is not feasible, then please propose better solution.

@t3chguy
Copy link
Member

t3chguy commented Dec 25, 2020

Well services like google are centralised and not end-to-end-encrypted, and don't allow you to change the font. They can just have a single copy of all pre-rendered avatars. Here you would need each Element instance to host a copy of those 100,000 * Number of Colours PNG files and you still have issues.

This is completely off-topic for this issue. This issue is about the default avatar colour generated for rooms being based on a hash of the Room ID but the one for Users is on the User ID so for DMs with a default avatar those can drift apart.

@waclaw66
Copy link
Contributor

No, that's not what I say. Yes, notification image bug is offtopic. But my suggestion would fix it too. You don't need to have thousands pre-rendered images. You just pre-render the default avatar for each user on homeserver (when user is created or name changed) and save it in the same way as normal avatar picture, that's it. This is a common technique for default avatars.

@t3chguy
Copy link
Member

t3chguy commented Dec 25, 2020

Sure, you could do that. But the avatar colours are themable by the client. Like right now you could load up an Element theme and have different default avatar colours: https://github.com/aaronraimist/element-themes - this is important for branding and accessibility (colour-blindness and whatnot)

Docs: https://github.com/vector-im/element-web/blob/develop/docs/theming.md#custom-themes avatar-background-colors

Edit: I guess the point re branding is moot if it is at least configurable on the HS

@t3chguy
Copy link
Member

t3chguy commented Dec 25, 2020

Nothing to stop a Matrix homeserver doing this auto-generation, but it'd need to be specced with some way to signal to the client that their avatar is a generated one otherwise their client would continuously show a Remove button next to their avatar. Your proposal should probably go on the matrix-doc repo.

@waclaw66
Copy link
Contributor

I wasn't aware of local default avatar theming (same theme for default avatars from another homeservers). This is the only obstacle for my solution. Remove button is not a problem, you can add column "custom_avatar" to the db and show/hide remove button according that. I think it's time to stop the discussion, thanks for explanation. I will create new issue regarding notification image bug.

@t3chguy
Copy link
Member

t3chguy commented Dec 25, 2020

Remove button is not a problem, you can add column "custom_avatar" to the db and show/hide remove button according that.

I'm talking about using the existing spec, there's either an avatar or there isn't one, if the server is generating a default then there always would be one so there would need to be a spec extension, not merely client/server work.

@robintown robintown self-assigned this Jul 16, 2021
williamkray pushed a commit to williamkray/matrix-react-sdk that referenced this issue Aug 2, 2021
* Sanitize untrusted variables from message previews before translation
Fixes element-hq/element-web#18314
* Fix editing of `<sub>` & `<sup`> & `<u>`
[\matrix-org#6469](matrix-org#6469)
Fixes element-hq/element-web#18211
* Zoom images in lightbox to where the cursor points
[\matrix-org#6418](matrix-org#6418)
Fixes element-hq/element-web#17870
* Avoid hitting the settings store from TextForEvent
[\matrix-org#6205](matrix-org#6205)
Fixes element-hq/element-web#17650
* Initial MSC3083 + MSC3244 support
[\matrix-org#6212](matrix-org#6212)
Fixes element-hq/element-web#17686 and element-hq/element-web#17661
* Navigate to the first room with notifications when clicked on space notification dot
[\matrix-org#5974](matrix-org#5974)
* Add matrix: to the list of permitted URL schemes
[\matrix-org#6388](matrix-org#6388)
* Add "Copy Link" to room context menu
[\matrix-org#6374](matrix-org#6374)
* 💭 Message bubble layout
[\matrix-org#6291](matrix-org#6291)
Fixes element-hq/element-web#4635, element-hq/element-web#17773 element-hq/element-web#16220 and element-hq/element-web#7687
* Play only one audio file at a time
[\matrix-org#6417](matrix-org#6417)
Fixes element-hq/element-web#17439
* Move download button for media to the action bar
[\matrix-org#6386](matrix-org#6386)
Fixes element-hq/element-web#17943
* Improved display of one-to-one call history with summary boxes for each call
[\matrix-org#6121](matrix-org#6121)
Fixes element-hq/element-web#16409
* Notification settings UI refresh
[\matrix-org#6352](matrix-org#6352)
Fixes element-hq/element-web#17782
* Fix EventIndex double handling events and erroring
[\matrix-org#6385](matrix-org#6385)
Fixes element-hq/element-web#18008
* Improve reply rendering
[\matrix-org#3553](matrix-org#3553)
Fixes element-hq/element-web#9217, element-hq/element-web#7633, element-hq/element-web#7530, element-hq/element-web#7169, element-hq/element-web#7151, element-hq/element-web#6692 element-hq/element-web#6579 and element-hq/element-web#17440
* Fix CreateRoomDialog exploding when making public room outside of a space
[\matrix-org#6493](matrix-org#6493)
* Fix regression where registration would soft-crash on captcha
[\matrix-org#6505](matrix-org#6505)
Fixes element-hq/element-web#18284
* only send join rule event if we have a join rule to put in it
[\matrix-org#6517](matrix-org#6517)
* Improve the new download button's discoverability and interactions.
[\matrix-org#6510](matrix-org#6510)
* Fix voice recording UI looking broken while microphone permissions are being requested.
[\matrix-org#6479](matrix-org#6479)
Fixes element-hq/element-web#18223
* Match colors of room and user avatars in DMs
[\matrix-org#6393](matrix-org#6393)
Fixes element-hq/element-web#2449
* Fix onPaste handler to work with copying files from Finder
[\matrix-org#5389](matrix-org#5389)
Fixes element-hq/element-web#15536 and element-hq/element-web#16255
* Fix infinite pagination loop when offline
[\matrix-org#6478](matrix-org#6478)
Fixes element-hq/element-web#18242
* Fix blurhash rounded corners missing regression
[\matrix-org#6467](matrix-org#6467)
Fixes element-hq/element-web#18110
* Fix position of the space hierarchy spinner
[\matrix-org#6462](matrix-org#6462)
Fixes element-hq/element-web#18182
* Fix display of image messages that lack thumbnails
[\matrix-org#6456](matrix-org#6456)
Fixes element-hq/element-web#18175
* Fix crash with large audio files.
[\matrix-org#6436](matrix-org#6436)
Fixes element-hq/element-web#18149
* Make diff colors in codeblocks more pleasant
[\matrix-org#6355](matrix-org#6355)
Fixes element-hq/element-web#17939
* Show the correct audio file duration while loading the file.
[\matrix-org#6435](matrix-org#6435)
Fixes element-hq/element-web#18160
* Fix various timeline settings not applying immediately.
[\matrix-org#6261](matrix-org#6261)
Fixes element-hq/element-web#17748
* Fix issues with room list duplication
[\matrix-org#6391](matrix-org#6391)
Fixes element-hq/element-web#14508
* Fix grecaptcha throwing useless error sometimes
[\matrix-org#6401](matrix-org#6401)
Fixes element-hq/element-web#15142
* Update Emojibase and Twemoji and switch to IamCal (Slack-style) shortcodes
[\matrix-org#6347](matrix-org#6347)
Fixes element-hq/element-web#13857 and element-hq/element-web#13334
* Respect compound emojis in default avatar initial generation
[\matrix-org#6397](matrix-org#6397)
Fixes element-hq/element-web#18040
* Fix bug where the 'other homeserver' field in the server selection dialog would become briefly focus and then unfocus when clicked.
[\matrix-org#6394](matrix-org#6394)
Fixes element-hq/element-web#18031
* Standardise spelling and casing of homeserver, identity server, and integration manager
[\matrix-org#6365](matrix-org#6365)
* Fix widgets not receiving decrypted events when they have permission.
[\matrix-org#6371](matrix-org#6371)
Fixes element-hq/element-web#17615
* Prevent client hangs when calculating blurhashes
[\matrix-org#6366](matrix-org#6366)
Fixes element-hq/element-web#17945
* Exclude state events from widgets reading room events
[\matrix-org#6378](matrix-org#6378)
* Cache feature_spaces\* flags to improve performance
[\matrix-org#6381](matrix-org#6381)
williamkray pushed a commit to williamkray/element-web that referenced this issue Aug 2, 2021
* Sanitize untrusted variables from message previews before translation
Fixes element-hq#18314
* Fix editing of `<sub>` & `<sup`> & `<u>`
[\element-hq#6469](matrix-org/matrix-react-sdk#6469)
Fixes element-hq#18211
* Zoom images in lightbox to where the cursor points
[\element-hq#6418](matrix-org/matrix-react-sdk#6418)
Fixes element-hq#17870
* Avoid hitting the settings store from TextForEvent
[\element-hq#6205](matrix-org/matrix-react-sdk#6205)
Fixes element-hq#17650
* Initial MSC3083 + MSC3244 support
[\element-hq#6212](matrix-org/matrix-react-sdk#6212)
Fixes element-hq#17686 and element-hq#17661
* Navigate to the first room with notifications when clicked on space notification dot
[\element-hq#5974](matrix-org/matrix-react-sdk#5974)
* Add matrix: to the list of permitted URL schemes
[\element-hq#6388](matrix-org/matrix-react-sdk#6388)
* Add "Copy Link" to room context menu
[\element-hq#6374](matrix-org/matrix-react-sdk#6374)
* 💭 Message bubble layout
[\element-hq#6291](matrix-org/matrix-react-sdk#6291)
Fixes element-hq#4635, element-hq#17773 element-hq#16220 and element-hq#7687
* Play only one audio file at a time
[\#6417](matrix-org/matrix-react-sdk#6417)
Fixes element-hq#17439
* Move download button for media to the action bar
[\element-hq#6386](matrix-org/matrix-react-sdk#6386)
Fixes element-hq#17943
* Improved display of one-to-one call history with summary boxes for each call
[\element-hq#6121](matrix-org/matrix-react-sdk#6121)
Fixes element-hq#16409
* Notification settings UI refresh
[\element-hq#6352](matrix-org/matrix-react-sdk#6352)
Fixes element-hq#17782
* Fix EventIndex double handling events and erroring
[\element-hq#6385](matrix-org/matrix-react-sdk#6385)
Fixes element-hq#18008
* Improve reply rendering
[\element-hq#3553](matrix-org/matrix-react-sdk#3553)
Fixes element-hq#9217, element-hq#7633, element-hq#7530, element-hq#7169, element-hq#7151, element-hq#6692 element-hq#6579 and element-hq#17440
* Improve performance of room name calculation
[\element-hq#1801](matrix-org/matrix-js-sdk#1801)
* Fix browser history getting stuck looping back to the same room
[\element-hq#18053](element-hq#18053)
* Fix space shortcuts on layouts with non-English keys in the places of numbers
[\element-hq#17780](element-hq#17780)
Fixes element-hq#17776
* Fix CreateRoomDialog exploding when making public room outside of a space
[\element-hq#6493](matrix-org/matrix-react-sdk#6493)
* Fix regression where registration would soft-crash on captcha
[\element-hq#6505](matrix-org/matrix-react-sdk#6505)
Fixes element-hq#18284
* only send join rule event if we have a join rule to put in it
[\element-hq#6517](matrix-org/matrix-react-sdk#6517)
* Improve the new download button's discoverability and interactions.
[\element-hq#6510](matrix-org/matrix-react-sdk#6510)
* Fix voice recording UI looking broken while microphone permissions are being requested.
[\element-hq#6479](matrix-org/matrix-react-sdk#6479)
Fixes element-hq#18223
* Match colors of room and user avatars in DMs
[\element-hq#6393](matrix-org/matrix-react-sdk#6393)
Fixes element-hq#2449
* Fix onPaste handler to work with copying files from Finder
[\element-hq#5389](matrix-org/matrix-react-sdk#5389)
Fixes element-hq#15536 and element-hq#16255
* Fix infinite pagination loop when offline
[\element-hq#6478](matrix-org/matrix-react-sdk#6478)
Fixes element-hq#18242
* Fix blurhash rounded corners missing regression
[\element-hq#6467](matrix-org/matrix-react-sdk#6467)
Fixes element-hq#18110
* Fix position of the space hierarchy spinner
[\element-hq#6462](matrix-org/matrix-react-sdk#6462)
Fixes element-hq#18182
* Fix display of image messages that lack thumbnails
[\element-hq#6456](matrix-org/matrix-react-sdk#6456)
Fixes element-hq#18175
* Fix crash with large audio files.
[\element-hq#6436](matrix-org/matrix-react-sdk#6436)
Fixes element-hq#18149
* Make diff colors in codeblocks more pleasant
[\element-hq#6355](matrix-org/matrix-react-sdk#6355)
Fixes element-hq#17939
* Show the correct audio file duration while loading the file.
[\element-hq#6435](matrix-org/matrix-react-sdk#6435)
Fixes element-hq#18160
* Fix various timeline settings not applying immediately.
[\element-hq#6261](matrix-org/matrix-react-sdk#6261)
Fixes element-hq#17748
* Fix issues with room list duplication
[\element-hq#6391](matrix-org/matrix-react-sdk#6391)
Fixes element-hq#14508
* Fix grecaptcha throwing useless error sometimes
[\element-hq#6401](matrix-org/matrix-react-sdk#6401)
Fixes element-hq#15142
* Update Emojibase and Twemoji and switch to IamCal (Slack-style) shortcodes
[\element-hq#6347](matrix-org/matrix-react-sdk#6347)
Fixes element-hq#13857 and element-hq#13334
* Respect compound emojis in default avatar initial generation
[\element-hq#6397](matrix-org/matrix-react-sdk#6397)
Fixes element-hq#18040
* Fix bug where the 'other homeserver' field in the server selection dialog would become briefly focus and then unfocus when clicked.
[\element-hq#6394](matrix-org/matrix-react-sdk#6394)
Fixes element-hq#18031
* Standardise spelling and casing of homeserver, identity server, and integration manager
[\element-hq#6365](matrix-org/matrix-react-sdk#6365)
* Fix widgets not receiving decrypted events when they have permission.
[\element-hq#6371](matrix-org/matrix-react-sdk#6371)
Fixes element-hq#17615
* Prevent client hangs when calculating blurhashes
[\element-hq#6366](matrix-org/matrix-react-sdk#6366)
Fixes element-hq#17945
* Exclude state events from widgets reading room events
[\element-hq#6378](matrix-org/matrix-react-sdk#6378)
* Cache feature_spaces\* flags to improve performance
[\element-hq#6381](matrix-org/matrix-react-sdk#6381)
BBaoVanC added a commit to boba-best/element.boba.best that referenced this issue Aug 3, 2021
* Sanitize untrusted variables from message previews before translation
Fixes element-hq#18314
* Fix editing of `<sub>` & `<sup`> & `<u>`
[\element-hq#6469](matrix-org/matrix-react-sdk#6469)
Fixes element-hq#18211
* Zoom images in lightbox to where the cursor points
[\element-hq#6418](matrix-org/matrix-react-sdk#6418)
Fixes element-hq#17870
* Avoid hitting the settings store from TextForEvent
[\element-hq#6205](matrix-org/matrix-react-sdk#6205)
Fixes element-hq#17650
* Initial MSC3083 + MSC3244 support
[\element-hq#6212](matrix-org/matrix-react-sdk#6212)
Fixes element-hq#17686 and element-hq#17661
* Navigate to the first room with notifications when clicked on space notification dot
[\element-hq#5974](matrix-org/matrix-react-sdk#5974)
* Add matrix: to the list of permitted URL schemes
[\element-hq#6388](matrix-org/matrix-react-sdk#6388)
* Add "Copy Link" to room context menu
[\element-hq#6374](matrix-org/matrix-react-sdk#6374)
* 💭 Message bubble layout
[\element-hq#6291](matrix-org/matrix-react-sdk#6291)
Fixes element-hq#4635, element-hq#17773 element-hq#16220 and element-hq#7687
* Play only one audio file at a time
[\#6417](matrix-org/matrix-react-sdk#6417)
Fixes element-hq#17439
* Move download button for media to the action bar
[\element-hq#6386](matrix-org/matrix-react-sdk#6386)
Fixes element-hq#17943
* Improved display of one-to-one call history with summary boxes for each call
[\element-hq#6121](matrix-org/matrix-react-sdk#6121)
Fixes element-hq#16409
* Notification settings UI refresh
[\element-hq#6352](matrix-org/matrix-react-sdk#6352)
Fixes element-hq#17782
* Fix EventIndex double handling events and erroring
[\element-hq#6385](matrix-org/matrix-react-sdk#6385)
Fixes element-hq#18008
* Improve reply rendering
[\element-hq#3553](matrix-org/matrix-react-sdk#3553)
Fixes element-hq#9217, element-hq#7633, element-hq#7530, element-hq#7169, element-hq#7151, element-hq#6692 element-hq#6579 and element-hq#17440
* Improve performance of room name calculation
[\element-hq#1801](matrix-org/matrix-js-sdk#1801)
* Fix browser history getting stuck looping back to the same room
[\element-hq#18053](element-hq#18053)
* Fix space shortcuts on layouts with non-English keys in the places of numbers
[\element-hq#17780](element-hq#17780)
Fixes element-hq#17776
* Fix CreateRoomDialog exploding when making public room outside of a space
[\element-hq#6493](matrix-org/matrix-react-sdk#6493)
* Fix regression where registration would soft-crash on captcha
[\element-hq#6505](matrix-org/matrix-react-sdk#6505)
Fixes element-hq#18284
* only send join rule event if we have a join rule to put in it
[\element-hq#6517](matrix-org/matrix-react-sdk#6517)
* Improve the new download button's discoverability and interactions.
[\element-hq#6510](matrix-org/matrix-react-sdk#6510)
* Fix voice recording UI looking broken while microphone permissions are being requested.
[\element-hq#6479](matrix-org/matrix-react-sdk#6479)
Fixes element-hq#18223
* Match colors of room and user avatars in DMs
[\element-hq#6393](matrix-org/matrix-react-sdk#6393)
Fixes element-hq#2449
* Fix onPaste handler to work with copying files from Finder
[\element-hq#5389](matrix-org/matrix-react-sdk#5389)
Fixes element-hq#15536 and element-hq#16255
* Fix infinite pagination loop when offline
[\element-hq#6478](matrix-org/matrix-react-sdk#6478)
Fixes element-hq#18242
* Fix blurhash rounded corners missing regression
[\element-hq#6467](matrix-org/matrix-react-sdk#6467)
Fixes element-hq#18110
* Fix position of the space hierarchy spinner
[\element-hq#6462](matrix-org/matrix-react-sdk#6462)
Fixes element-hq#18182
* Fix display of image messages that lack thumbnails
[\element-hq#6456](matrix-org/matrix-react-sdk#6456)
Fixes element-hq#18175
* Fix crash with large audio files.
[\element-hq#6436](matrix-org/matrix-react-sdk#6436)
Fixes element-hq#18149
* Make diff colors in codeblocks more pleasant
[\element-hq#6355](matrix-org/matrix-react-sdk#6355)
Fixes element-hq#17939
* Show the correct audio file duration while loading the file.
[\element-hq#6435](matrix-org/matrix-react-sdk#6435)
Fixes element-hq#18160
* Fix various timeline settings not applying immediately.
[\element-hq#6261](matrix-org/matrix-react-sdk#6261)
Fixes element-hq#17748
* Fix issues with room list duplication
[\element-hq#6391](matrix-org/matrix-react-sdk#6391)
Fixes element-hq#14508
* Fix grecaptcha throwing useless error sometimes
[\element-hq#6401](matrix-org/matrix-react-sdk#6401)
Fixes element-hq#15142
* Update Emojibase and Twemoji and switch to IamCal (Slack-style) shortcodes
[\element-hq#6347](matrix-org/matrix-react-sdk#6347)
Fixes element-hq#13857 and element-hq#13334
* Respect compound emojis in default avatar initial generation
[\element-hq#6397](matrix-org/matrix-react-sdk#6397)
Fixes element-hq#18040
* Fix bug where the 'other homeserver' field in the server selection dialog would become briefly focus and then unfocus when clicked.
[\element-hq#6394](matrix-org/matrix-react-sdk#6394)
Fixes element-hq#18031
* Standardise spelling and casing of homeserver, identity server, and integration manager
[\element-hq#6365](matrix-org/matrix-react-sdk#6365)
* Fix widgets not receiving decrypted events when they have permission.
[\element-hq#6371](matrix-org/matrix-react-sdk#6371)
Fixes element-hq#17615
* Prevent client hangs when calculating blurhashes
[\element-hq#6366](matrix-org/matrix-react-sdk#6366)
Fixes element-hq#17945
* Exclude state events from widgets reading room events
[\element-hq#6378](matrix-org/matrix-react-sdk#6378)
* Cache feature_spaces\* flags to improve performance
[\element-hq#6381](matrix-org/matrix-react-sdk#6381)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants