* Support the mark as unread flag
* Add mark as unread menu option
and make clering notifications also clear the unread flag
* Mark as read on viewing room
* Tests
* Remove random import
* Don't show mark as unread for historical rooms
* Fix tests & add test for menu option
* Test RoomNotificationState updates on unread flag change
* Test it doesn't update on other room account data
* New icon for mark as unread
* Add analytics events for mark as (un)read
* Bump to new analytics-events package
* Read from both stable & unstable prefixes
* Cast to boolean before checking
to avoid setting state unnecessarily
* Typo
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Doc external interface (and the rest at the same time)
* Doc & rename unread market set function
* Doc const exports
* Remove listener on destroy
* Add playwright test
* Clearer language, hopefully
* Move comment
* Add reference to the MSC
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Expand on function doc
* Remove empty beforeEach
* Rejig badge logic a little and add tests
* Fix basdges to not display dots in room sublists again
and hopefully rename the forceDot option to something that better
indicates what it does, and add tests.
* Remove duplicate license header (?)
* Missing word (several times...)
* Incorporate PR suggestion on badge type switch
* Better description in doc comment
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Update other doc comments in the same way
* Remove duplicate quote
* Use quotes consistently
* Better test name
* c+p fail
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Refine styles of menus, toasts, popovers, and modals
This is a reintroduction of https://github.com/matrix-org/matrix-react-sdk/pull/12247, with the difference that modal styles have now been refreshed as well.
* Restore the fixed heights of some dialogs
* Fix formatting and flaky screenshot
* Integrate compound design tokens
The icons should not be included in this repo, and should live in the compound design token repo, but for simplicity sake at this phase of the integration they will be added here
* Pareto color pass on the light theme
* bugfixes in the light color pass
* Compound color pass dark theme
* Compound color pass high contrast
* Fix typo
* fix tooltip
* Fix PR feedback
* fix composer button mixin
* Normalise some of the auth page colors
* Update based on figma feedback
* lintfix
* regenerate theme index
* Fix cypress tests
Removed the CSS assertions in the room header as it overlaps with the Percy snapshot
* fix more e2e tests
* update colors based on feedback
* fix color pass
* Fix theme overrides
* Restore -transparent
* fix color mapping
* Final colour pass update
* Do not consume compound colors directly
* rethemedex
* Update pass
* Final tweaks
* a11y pass
* scope opacity to checkbox and not label
* Add missing customisations var for theming
* lintfix
* remove unwanted test
* Integrate compound design tokens
The icons should not be included in this repo, and should live in the compound design token repo, but for simplicity sake at this phase of the integration they will be added here
* Delete unused or incorrect - sass variables
* Typography pass
* Deprecate _font-weights.pcss and use Compound instead
* lint fix
* Fix snapshot
* Fix typography pass feedback
* Remove unwanted e2e test
cypress tests should test functionality not visual output. And we should not test visual output by inspecting CSS properties
* lintfix
* Migration script for baseFontSize
* Updates after design review
* Update font scaling panel to use min/max size
* Fix custom font
* Fix font slider e2e test
* Update custom font
* Update new baseFontSizeV2
* Disambiguate heading props
* Fix appearance test
* change max font size
* fix e2ee test
* fix tests
* test baseFontSize migration code
* typescript strict
* Migrate baseFontSize account setting
* Change assertion for font size
* Fix font size controller test
* add destructive option and close on interaction options
* add kebab context menu wrapper
* use kebab context menu in current device section
* use named export
* lint
* sessionman tests
* Improve accessibility and testability of Tooltip
Adding a role to Tooltip was motivated by React Testing Library's
reliance on accessibility-related attributes to locate elements.
* Make the ReadyWatchingStore constructor safer
The ReadyWatchingStore constructor previously had a chance to
immediately call onReady, which was dangerous because it was potentially
calling the derived class's onReady at a point when the derived class
hadn't even finished construction yet. In normal usage, I guess this
never was a problem, but it was causing some of the tests I was writing
to crash. This is solved by separating out the onReady call into a start
method.
* Rename 1:1 call components to 'LegacyCall'
to reflect the fact that they're slated for removal, and to not clash
with the new Call code.
* Refactor VideoChannelStore into Call and CallStore
Call is an abstract class that currently only has a Jitsi
implementation, but this will make it easy to later add an Element Call
implementation.
* Remove WidgetReady, ClientReady, and ForceHangupCall hacks
These are no longer used by the new Jitsi call implementation, and can
be removed.
* yarn i18n
* Delete call map entries instead of inserting nulls
* Allow multiple active calls and consolidate call listeners
* Fix a race condition when creating a video room
* Un-hardcode the media device fallback labels
* Apply misc code review fixes
* yarn i18n
* Disconnect from calls more politely on logout
* Fix some strict mode errors
* Fix another updateRoom race condition
* Extract room general context menu from roomtile
* Create hook to access and change a room’s notification state
* Extract room notification context menu from roomtile
* Add room context menus to rooms in spotlight
* Make arrow movement apply to the whole dialog, not just the input box
* Remove deprecated feature_communities_v2_prototypes
* Update _components
* i18n
* delint
* Cut out a bit more dead code
* Carve into legacy components
* Carve into mostly the room list code
* Carve into instances of "groupId"
* Carve out more of what comes up with "groups"
* Carve out some settings
* ignore related groups state
* Remove instances of spacesEnabled
* Fix some obvious issues
* Remove now-unused css
* Fix variable naming for legacy components
* Update i18n
* Misc cleanup from manual review
* Update snapshot for changed flag
* Appease linters
* rethemedex
* Remove now-unused AddressPickerDialog
* Make ConfirmUserActionDialog's member a required prop
* Remove useless override from RightPanelStore
* Remove extraneous CSS
* Update i18n
* Demo: "Communities are now Spaces" landing page
* Restore linkify for group IDs
* Demo: Dialog on click for communities->spaces notice
* i18n for demos
* i18n post-merge
* Update copy
* Appease the linter
* Post-merge cleanup
* Re-add spaces_learn_more_url to the new SdkConfig place
* Round 1 of post-merge fixes
* i18n
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Fix https://github.com/vector-im/element-web/issues/20801
Regressed in https://github.com/matrix-org/matrix-react-sdk/pull/7339
Relevant styles were first added in https://github.com/matrix-org/matrix-react-sdk/pull/4858
(context behind why the original styles were added)
---
## Cause
Battling CSS specificity between the default and compact styles, https://specificity.keegan.st/
Known good (On `app.element.io` (expected)):
```css
// 0 3 0
.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_AccessibleButton {
padding-top: 12px;
padding-bottom: 12px;
}
// Compact styles override our default rules because they come
// after the other styles (source order) and have the same specificity
// 0 3 0
.mx_IconizedContextMenu.mx_IconizedContextMenu_compact .mx_IconizedContextMenu_optionList > * {
padding: 8px 16px 8px 11px;
}
```
Bad (On `develop` (broken)):
```css
// Default rules always override because they have higher specificity.
// The `:not()` selector doesn't add any extra specificity but the selectors inside the `:not(...)` do.
// 0 4 0
.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_AccessibleButton:not(.mx_AccessibleButton_hasKind) {
padding-top: 12px;
padding-bottom: 12px;
}
// 0 3 0
.mx_IconizedContextMenu.mx_IconizedContextMenu_compact .mx_IconizedContextMenu_optionList > * {
padding: 8px 16px 8px 11px;
}
```
* Move user avatar to Space panel
* Add room list header for 'Home' or 'Space Name' to room list
Add existing Space context menus to room list header
* Re-add pending room join spinner
* Iterate RoomListHeader plus context menu
* Iterate space context menu
* Iterate room list + interactions
* Move DND to new iA model
* Replace composer custom status management with usermenu one
* Cull Quick Actions
* Iterate minimized room list state
* delint
* Merge the RoomListNumResults into the RoomListHeader
* Make the search shortcut prompt semi-bold
* Iterate RoomListHeader based on design review
* Iterate UserMenu based on feedback
* Add name to expanded spacepanel usermenu button
* i18n
* Make room sub list aux button components more generic
* Change left panel explore button to only refer to room directory
* Iterate RoomListHeader
* Fix custom user status input field width in Chrome
* Bring back Notification settings button
* delint
* i18n
* post-merge fix
* iterate pr
* Remove unused state
* update copy
* Apply suggestions from PR review
* delint
* Update invite iconography
* Iterate Space context menu to match Figma
* Fix chevron alignment
* Fix edge case for RoomListHeader on metaspaces
* Wire up general rageshake-driven feedback mechanism
* Add IA1.1 info toast
* add missing alt attribute
* delint
* delint
* tweak ia toast priority
* e2e test account for new toast
* autofocus feedback field and remove old subheading
* tweak copy
* Iterate space panel colours to match Figma
* Iterate PR
* delint
* Fix feedback submission with object setting values
* iterate based on review
* Tweak colours and update splash image
* Tweaks based on review
* Remove room list prompt, made redundant by the big fat `+`
* Fix edge cases around User Menu positioning and dnd
* Add missing import, bad merge?
* Update aria label in e2e test
* Fix room list space rooms context menu explore button behaviour
* Tweak copy
* Revert order of options in the UserMenu
* Tweak copy
* i18n