* 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
This changes the styles of buttons, other form controls, and tabs in settings to:
1. Improve their usage of semantic colors, so that they adapt correctly to custom themes
2. Make them more visually coherent with the new Compound design system, as we integrate more of it into the app
This is a re-introduction of https://github.com/matrix-org/matrix-react-sdk/pull/12241 with the difference that we're now using our branding colors again on form colors, and buttons have become rounded to match the appearance of new Compound buttons.
* Fix alignment of user menu avatar
https://github.com/matrix-org/matrix-react-sdk/pull/12267 made the avatar
a couple of pixels out of alignment with the space icons. It just needed
to be moved 2px to the right to match the 18px margin of the space icons
(including the padding from the black border).
Also change elements in the user menu to block elements so they don't
generate extra vertical space in the user menu div, which was causing the
hairline to be too far down.
* Update snapshots
* Typo
Co-authored-by: Robin <robin@robin.town>
* Reference the span by class
* The img wasn't actually necessary here
---------
Co-authored-by: Robin <robin@robin.town>
* Fix the space panel getting bigger when gaining a scroll bar
Just makes the scrollbar gutter stable and removes 8px of padding
to compensate, so it will make the bar slightly larger, but it will
no longer change size weirdly if you have too many spaces in too short
a window.
* Tweak margins to keep space panel the same size
* Try 1px more
* Try 1px more to the left
* Fix sizes and disable flex when in narrow mode
* Update screenshots
* Another screenshot
* Last screenshot hopefully
* WIP Use browser font size instead of hardcoded 16px
* Add font migration to v3
* Remove custom font size input
* Use a dropdown instead of a slider
* Add margin to the font size dropdown
* Fix `UpdateFontSizeDelta` action typo
* Fix `fontScale`in `Call.ts`
* Rename `baseFontSizeV3` to `fontSizeDelta`
* Update playwright test
* Add `default` next to the browser font size
* Remove remaining `TODO`
* Remove falsy `private`
* Improve doc
* Update snapshots after develop merge
* Remove commented import
* Fix gradients spacings on the space panel
Make the gradients two separate ones so they can be fixed pixel widths
from the top & bottom rather than percentages of the height.
Tweak the spacings between the user menu & threads panel to match
the figma and from Gaelle's design.
* Update snapshots
* More screenshots
* remove lowercase (proposal)
Lowercase doesn't make sense here (at least in German). I suggest removing it or creating a new translatable string.
* remove lowercase
Lowercase doesn't make sense here (at least in German). I suggest removing it or creating a new translatable string.
* Update screenshot
---------
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
* Use Compound primary colors for most actions
The "accent" color variable is something we should generally not use anymore: it maps to a Compound text token, which makes its semantics inappropriate for icons and backgrounds, and it clashes with the primary colors present on the Compound components we're now bringing into the app. As discussed with design, we would like to phase out its usage on interactive components in favor of the correct icon and background colors from Compound. This is a best-effort attempt at applying new colors to all the major places that we were previously using "accent": mainly, buttons and form controls are affected.
* Update some more colors
* Update test snapshots
* Fix broken screenshot
* Add `Thread Activity centre` labs flag
* Rename translation string
* WIP Thread Activity Centre
* Update supportedLevels
* css lint
* i18n lint
* Fix labs subsection test
* Update Threads Activity Centre label
* Rename Thread Activity Centre to Threads Activity Centre
* Use compound `MenuItem` instead of custom button
* Color thread icon when hovered
* Make the pop-up scrollable and add a max height
* Remove Math.random in key
* Remove unused class
* Change add comments on `mx_ThreadsActivityRows` and `mx_ThreadsActivityRow`
* Make threads activity centre labs flag split out unread counts
Just shows notif & unread counts for main thread if the TAC is enabled.
* Fix tests
* Simpler fix
* Open thread panel when thread clicke in Threads Activity Centre
Hopefully this is a sensible enough way. The panel will stay open of
course (ie. if you go to a different room & come back), but that's the
nature of the right panel.
* Dynamic state of room
* Add doc
* Use the StatelessNotificationBadge component in ThreadsActivityCentre
and re-use the existing NotificationLevel
* Remove unused style
* Add room sorting
* Fix `ThreadsActivityRow` props doc
* Pass in & cache the status of the TAC labs flag
* Pass includeThreads as setting to doesRoomHaveUnreadMessages too
* Fix tests
* Add analytics to the TAC (#12179)
* Update TAC label (#12186)
* Add `IndicatorIcon` to the TAC button (#12182)
Add `IndicatorIcon` to the TAC button
* Threads don't have activity if the room is muted
This makes it match the computation in determineUnreadState.
Ideally this logic should all be in one place.
* Re-use doesRoomHaveUnreadThreads for useRoomThreadNotifications
This incorporates the logic of not showing unread dots if the room
is muted
* Add TAC description in labs (#12197)
* Fox position & size of dot on the tac button
IndicatorIcon doesn't like having the size of its icon adjusted and
we probably shouldn't do it anyway: better to specify to the component
what size we want it.
* TAC: Utils tests (#12200)
* Add tests for `doesRoomHaveUnreadThreads`
* Add tests for `getThreadNotificationLevel`
* Add test for the ThreadsActivityCentre component
* Add snapshot test
* Fix narrow hover background on TAC button
Make the button 32x32 (and the inner icon 24x24)
* Add caption for empty TAC
* s/tac/threads_activity_centre/
* Fix i18n & add tests
* Add playwright tests for the TAC (#12227)
* Fox comments
---------
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
* Use new semantic tokens for username colors
To match the tokens now used by the Compound Web avatar component
* Fix incorrect lock icon
* Update screenshots
* Convert tests
* Conver tests
* Move type import down
* Remove reference to cypress types
* Update screenshot
* Remove client.evaluate
* More changes
* Use credentials from bot object
* Use credentials
* Remove comment
* Update screenshots
* Use sendMessage method
* Create dummy test
* Use userId from credentials
* Iterate landmarks around the app in order to improve a11y
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add missing aria-label
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots which have changed a fraction due to default heading margins being different in different landmarks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate timeline.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Monospace font for timestamps
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* More expects
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate send_event.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate read_events.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate kick.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate get-openid-token.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate layout.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate events.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate stickers.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate widget-pip-close.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* expect.poll to stabilise test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate permalinks.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix bot MatrixClient being set up multiple times
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate verification.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate crypto.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Record trace on-first-retry
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Don't start client when not needed
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add bot log prefixing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Turns out we need these
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix crypto tests in rust crypto
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate audio-player.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise bot MXID length
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise test user MXID
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise timestamps
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update element-web-test.ts
* Use deterministic monospace font
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise bot MXID length
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise test user MXID
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove old percy media query CSS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise soft_logout.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots using `toMatchScreenshot` assertion with CSS overrides
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix accidentally commented test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate invite-dialog.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove spurious await
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove old percy media query CSS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise soft_logout.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots using `toMatchScreenshot` assertion with CSS overrides
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix accidentally commented test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate room/* from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update labs.ts
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove old percy media query CSS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise soft_logout.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots using `toMatchScreenshot` assertion with CSS overrides
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix accidentally commented test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate spaces.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate file-panel.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate right-panel.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate notification-panel.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test flakes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Try stabilise test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* sleep
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Handle both cases
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix assertion
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Flip
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate user-view.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add bot support & update screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use JSHandle
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update element-web-test.ts
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate location.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate location.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate appearance-user-settings-tab.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate device-management.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate general-room-settings-tab.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate general-user-settings-tab.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate preferences-user-settings-tab.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate security-user-settings-tab.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Deflake
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move settings into subclass
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate location.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate location.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Deflake
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Install playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add foundations for writing tests under Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* .gitignore juggling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add tsconfig and fix eslint rules
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add docker & synapse plugins
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add login.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Wire up fixture which sets up ElementAppPage & bakes config.json
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove launch test, it has served its purpose
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove test which has been ported to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test not cleaning up after itself
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move registerUser to the Homeserver interface
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unused fixture param
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove redundant launch test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add newline
* Run both legacy & rust crypto tests in Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove redundant comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Create plugin for mail-hog
* Move injectAxe into element-web-test.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch out axe-playwright for @axe-core/playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate email.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use Playwright snapshot utility over Percy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove commented our Percy badge as we're unlikely to want to go back
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate user-onboarding-old.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate user-onboarding-new.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix bad merge
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test and re-enable
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Run linters on playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make typescript happier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate register.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update import
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
* Consolidate snapshots between Legacy & Rust crypto in the happy case
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve user-onboarding-new screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>