* 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
* Resolve race condition between opening settings & well-known check in OIDC mode
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add OIDC-aware and OIDC-native tests using MAS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* 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
* Extract Postgres Docker to its own class
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Don't specify docker `--rm` in CI as it makes debugging harder
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve docker commands and introspection
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove `HOST_DOCKER_INTERNAL` magic in favour of `host.containers.internal`
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Always pipe
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Re-add pipe flag to silence pg_isready and podman checks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move mailhog fixture to element-web-test.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove spurious debug log
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Lazily set up ElementAppPage subfixtures to avoid conflicting on network routing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update playwright/e2e/crypto/utils.ts
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use h1 as first heading in dialogs
The dialog should be modal and therefore the only content active
on the screen, so the title of the dialog should be the top level.
Update snapshots & tests appropriately.
* Just customise the letter spacing on dialog titles
* 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
* Enable redirected media by default
See https://github.com/matrix-org/matrix-js-sdk/pull/4007
* Update the tests
* Update tests
* Update end-to-end tests too
* Update linkifier to use Media customisation endpoint
* Fix tests for new js-sdk behaviour
* Fix unchanged file
* Fix linkifier
* Fix lint
* 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
* Fix StorageManager checks for rust migration manual opt-in
* fix restricted imports
* Moved utility to check db internals into js-sdk
* fix typos and test names
* more timeout for migration test
* Refactor ElementCall to use the widget lobby.
- expose skip lobby
- use the widget.data to build the widget url
Signed-off-by: Timo K <toger5@hotmail.de>
* Use shiftKey click to skip the lobby
Signed-off-by: Timo K <toger5@hotmail.de>
* remove Lobby component
Signed-off-by: Timo K <toger5@hotmail.de>
* update tests + remove EW lobby related tests
Signed-off-by: Timo K <toger5@hotmail.de>
* remove lobby device button tests
Signed-off-by: Timo K <toger5@hotmail.de>
* i18n
Signed-off-by: Timo K <toger5@hotmail.de>
* use voip participant label
Signed-off-by: Timo K <toger5@hotmail.de>
* update tests
Signed-off-by: Timo K <toger5@hotmail.de>
* fix rounded corners in pip
Signed-off-by: Timo K <toger5@hotmail.de>
* allow joining call in legacy room header (without banner)
Signed-off-by: Timo K <toger5@hotmail.de>
* Introduce new connection states for calls.
And use them for integrated lobby.
Signed-off-by: Timo K <toger5@hotmail.de>
* New room header call join
Fix broken top container element call.
Signed-off-by: Timo K <toger5@hotmail.de>
* i18n
Signed-off-by: Timo K <toger5@hotmail.de>
* Fix closing element call in lobby view.
(should destroy call if there the user never managed to connect (not clicked join in lobby)
Signed-off-by: Timo K <toger5@hotmail.de>
* all cases for connection state
Signed-off-by: Timo K <toger5@hotmail.de>
* add correct LiveContentSummary labels
Signed-off-by: Timo K <toger5@hotmail.de>
* Theme widget loading (no rounded corner)
destroy call when switching room while a call is loading.
Signed-off-by: Timo K <toger5@hotmail.de>
* temp
Signed-off-by: Timo K <toger5@hotmail.de>
* usei view room dispatcher instead of emitter
Signed-off-by: Timo K <toger5@hotmail.de>
* tidy up
Signed-off-by: Timo K <toger5@hotmail.de>
* returnToLobby + remove StartCallView
Signed-off-by: Timo K <toger5@hotmail.de>
* comment cleanup
Signed-off-by: Timo K <toger5@hotmail.de>
* disconnect ongoing calls before making widget sticky.
Signed-off-by: Timo K <toger5@hotmail.de>
* linter + jitsi as videoChannel
Signed-off-by: Timo K <toger5@hotmail.de>
* stickyPromise type
Signed-off-by: Timo K <toger5@hotmail.de>
* fix legacy call (jistsi, cisco, bbb) reopen
when clicking call button
Signed-off-by: Timo K <toger5@hotmail.de>
* fix tests and connect resolves
Signed-off-by: Timo K <toger5@hotmail.de>
* fix "waits for messaging when connecting" test
Signed-off-by: Timo K <toger5@hotmail.de>
* Allow to skip awaiting Call session events.
This option is used in tests to spare mocking the
events emitted when EC updates the room state
Signed-off-by: Timo K <toger5@hotmail.de>
* add sticky test
Signed-off-by: Timo K <toger5@hotmail.de>
* add test for looby tile rendering
Signed-off-by: Timo K <toger5@hotmail.de>
* fix flaky test
Signed-off-by: Timo K <toger5@hotmail.de>
* add reconnect after disconnect test (video room)
Signed-off-by: Timo K <toger5@hotmail.de>
* add shift click test to call toast
Signed-off-by: Timo K <toger5@hotmail.de>
* test for allowVoipWithNoMedia in widget url
Signed-off-by: Timo K <toger5@hotmail.de>
* fix e2e tests to search for the right element
Signed-off-by: Timo K <toger5@hotmail.de>
* destroy call after test so next test does not fail
Signed-off-by: Timo K <toger5@hotmail.de>
* new call test (connection failed)
Signed-off-by: Timo K <toger5@hotmail.de>
* reset to real timers
Signed-off-by: Timo K <toger5@hotmail.de>
* dont use skipSessionAwait for tests
Signed-off-by: Timo K <toger5@hotmail.de>
* code quality (sonar)
Signed-off-by: Timo K <toger5@hotmail.de>
* refactor call.disconnect tests (dont use skipSessionAwait)
Signed-off-by: Timo K <toger5@hotmail.de>
* miscellaneous cleanup
Signed-off-by: Timo K <toger5@hotmail.de>
* only send call notify after the call has been joined (not when just opening the lobby)
Signed-off-by: Timo K <toger5@hotmail.de>
* update call notify tests to expect notify on connect.
Not on widget creation.
Signed-off-by: Timo K <toger5@hotmail.de>
* Update playwright/e2e/room/room-header.spec.ts
Co-authored-by: Robin <robin@robin.town>
* Update src/components/views/voip/CallView.tsx
Co-authored-by: Robin <robin@robin.town>
* review
rename connect -> start
isVideoRoom not dependant on feature flags
rename allOtherCallsDisconnected -> disconnectAllOtherCalls
Signed-off-by: Timo K <toger5@hotmail.de>
* check for EC widget
Signed-off-by: Timo K <toger5@hotmail.de>
* dep array
Signed-off-by: Timo K <toger5@hotmail.de>
* rename in spyOn
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Robin <robin@robin.town>
* Show a progress bar during migration of crypto data
* playwright: add new `pageWithCredentials` fixture
* Add a playwright test for migration progress
* Add documentation for `idbSave`
* Update dependency @vector-im/compound-web to v2
* Update Tooltip props
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Include TooltipProvider in MatrixChat
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix pillify & tooltipify
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests to use TooltipProvider where necessary
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tooltips in Modals, ContextMenus, PersistedElements, Spoiler, HtmlExport
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tooltips in HTMLExport
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Don't pass mountAsChild to DOM
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Ensure backup settings in playwright
* Fix verification by pass causing backup reset
* fix force backup setup by default
* fix test
* clarify when we need to bootstrap
* jslint
* post merge fix
* post rebase missing files
* fix bad merge
* update test
* Fix import
* test user forgot passkey
* better usage of locator
* fix snapshot
* remove getDialogByTitle
* Update src/async-components/views/dialogs/security/CreateKeyBackupDialog.tsx
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* unneeded permission
* code review
* cleaning
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* 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>
* Force `initialEventId` in `RoomView`
* Remove Force `initialEventId` in `RoomView`
* Add e2e tests to verify we memorize the timeline position
* Fill `viewRoomOpts` in `viewRoom`
* Reset jest mock in sliding sync test
* Add comments
* Implement method to wait for next sync
* Add timeline coded to app page
* Convert network plugin
* Add createBot fixture
* Convert lazy-loading test
* Remove cypress test
* Remove converted files
* Remove imports
* Fix date in copyright header
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix date in copyright header
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Use proper method to send messages
* Fix sliding-sync test
* Address comments
* Move code to timeline
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
It appears the bug with these tests was just that the MessageBuilder
wasn't setting the thread relation on the reply messages as this didn't
happen trying to repro it manually, so fix the builder and re-enable
the tests.
The flip side of this is that it implies buggy clients that don't
set thread relations properly will cause stuck notifs in Element Web.
I've filed this as https://github.com/element-hq/element-web/issues/26787
* Fix incorrect type annotation on `cacheSecretStorageKey`
`cacheSecretStorageKey` is passed a `SecretStorageKeyDescription` (aka a
`ISecretStorageKeyInfo`), and has done ever since
https://github.com/matrix-org/matrix-js-sdk/pull/1502.
`AddSecretStorageKeyOpts`is something else, though until recently some of the
properties on `AddSecretStorageKeyOpts` were incorrectly marked as optional, so
this went unnoticed since it was broken by
https://github.com/matrix-org/matrix-react-sdk/pull/11217.
* playwright has the same problem