* Migrate labs displayName translations to IDs
```
./node_modules/matrix-web-i18n/scripts/rekey.js "Video rooms" "labs|video_rooms"
./node_modules/matrix-web-i18n/scripts/rekey.js "New Notification Settings" "labs|notification_settings"
./node_modules/matrix-web-i18n/scripts/rekey.js "Let moderators hide messages pending moderation." "labs|msc3531_hide_messages_pending_moderation"
./node_modules/matrix-web-i18n/scripts/rekey.js "Report to moderators" "labs|report_to_moderators"
./node_modules/matrix-web-i18n/scripts/rekey.js "Render LaTeX maths in messages" "labs|latex_maths"
./node_modules/matrix-web-i18n/scripts/rekey.js "Message Pinning" "labs|pinning"
./node_modules/matrix-web-i18n/scripts/rekey.js "Rich text editor" "labs|wysiwyg_composer"
./node_modules/matrix-web-i18n/scripts/rekey.js "Render simple counters in room header" "labs|state_counters"
./node_modules/matrix-web-i18n/scripts/rekey.js "New ways to ignore people" "labs|mjolnir"
./node_modules/matrix-web-i18n/scripts/rekey.js "Support adding custom themes" "labs|custom_themes"
./node_modules/matrix-web-i18n/scripts/rekey.js "Offline encrypted messaging using dehydrated devices" "labs|dehydration"
./node_modules/matrix-web-i18n/scripts/rekey.js "Show HTML representation of room topics" "labs|html_topic"
./node_modules/matrix-web-i18n/scripts/rekey.js "Show info about bridges in room settings" "labs|bridge_state"
./node_modules/matrix-web-i18n/scripts/rekey.js "Jump to date (adds /jumptodate and jump to date headers)" "labs|jump_to_date"
./node_modules/matrix-web-i18n/scripts/rekey.js "Sliding Sync mode" "labs|sliding_sync"
./node_modules/matrix-web-i18n/scripts/rekey.js "Element Call video rooms" "labs|element_call_video_rooms"
./node_modules/matrix-web-i18n/scripts/rekey.js "New group call experience" "labs|group_calls"
./node_modules/matrix-web-i18n/scripts/rekey.js "Allow screen share only mode" "labs|allow_screen_share_only_mode"
./node_modules/matrix-web-i18n/scripts/rekey.js "Live Location Sharing" "labs|location_share_live"
./node_modules/matrix-web-i18n/scripts/rekey.js "Dynamic room predecessors" "labs|dynamic_room_predecessors"
./node_modules/matrix-web-i18n/scripts/rekey.js "Voice broadcast" "labs|voice_broadcast"
./node_modules/matrix-web-i18n/scripts/rekey.js "Rust cryptography implementation" "labs|rust_crypto"
./node_modules/matrix-web-i18n/scripts/rekey.js "Hide notification dot (only display counters badges)" "labs|hidebold"
./node_modules/matrix-web-i18n/scripts/rekey.js "Enable intentional mentions" "labs|intentional_mentions"
./node_modules/matrix-web-i18n/scripts/rekey.js "Enable ask to join" "labs|ask_to_join"
./node_modules/matrix-web-i18n/scripts/rekey.js "Under active development, new room header & details interface" "labs|new_room_decoration_ui"
```
* Migrate video rooms beta translations to IDs
```
./node_modules/matrix-web-i18n/scripts/rekey.js "A new way to chat over voice and video in %(brand)s." "labs|video_rooms_a_new_way_to_chat"
./node_modules/matrix-web-i18n/scripts/rekey.js "Video rooms are always-on VoIP channels embedded within a room in %(brand)s." "labs|video_rooms_always_on_voip_channels"
./node_modules/matrix-web-i18n/scripts/rekey.js "How can I create a video room?" "labs|video_rooms_faq1_question"
./node_modules/matrix-web-i18n/scripts/rekey.js "Use the “+” button in the room section of the left panel." "labs|video_rooms_faq1_answer"
./node_modules/matrix-web-i18n/scripts/rekey.js "Can I use text chat alongside the video call?" "labs|video_rooms_faq2_question"
./node_modules/matrix-web-i18n/scripts/rekey.js "Yes, the chat timeline is displayed alongside the video." "labs|video_rooms_faq2_answer"
```
* i18n & `./node_modules/matrix-web-i18n/scripts/rekey.js --copy "labs|voice_broadcast" "Voice broadcast"`
* Port more labs strings to translation keys
* Move avatar to new compound implementation
* Make space avatars square
* Remove reference to the avatar initial CSS class
* remove references to mx_BaseAvatar_image
* Fixe test suites
* Fix accessbility violations
* Add ConfirmUserActionDialog test
* Fix tests
* Add FacePile test
* Fix items clipping in members list
* Fix user info avatar sizing
* Fix tests
* Add Voice and Video call in room header
* Add thread icon in room header
* Add room notification icon to room header
* Fix linting
* Add tests for buttons in room header
* Add JSDoc
* micro optimisations
* Fix call disabled when hanging up
* Fix disabled state change on members count update
* Exclude functional members from members count optionally
* i18n
* Add mechanism to check only one instance of the app is running
This isn't used yet, but will form part of the solution to
https://github.com/vector-im/element-web/issues/25157.
* disable instrumentation for SessionLock
* disable coverage reporting
* exclude SessionLock in sonar.properties
* Revert "disable coverage reporting"
This reverts commit 80c4336f76ec8e47e376b6744ef612a73299d14f.
* only disable session storage
* use pagehide instead of visibilitychange
* Add `checkSessionLockFree`
* Give up waiting for a lock immediately when someone else claims
* Update src/utils/SessionLock.ts
* Use Intl for names of languages
* Tweak Intl language style from "American English" -> "US English"
* Update tests
* Fix tests
* Consolidate languageHandler-test files
* Improve coverage
* Consistent casing for languages in dropdown
* Update LanguageDropdown.tsx
* Delint & update snapshot
* Fix tests
* Improve coverage
`of` will fallback to the given code with fallback=code (default)
* util for account url
* test cases
* disable multi session selection on device list
* remove sign out all from context menus when oidc-aware
* comment
* remove unused param
* typo
* dont show account deactivation for externally managed accounts
* Update snapshots - field ID changed
---------
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
* util for account url
* test cases
* disable multi session selection on device list
* remove sign out all from context menus when oidc-aware
* comment
* remove unused param
* redirect to auth provider when signing out
* open auth provider in new tab, refresh sessions on return
* correct comment
* fix bad copy paste
* try to make sonar happy
* Update for latest revision of MSCs
* Update SessionManagerTab-test.tsx
* Make InteractiveAuthCallback async and await it
---------
Co-authored-by: Hugh Nimmo-Smith <hughns@matrix.org>
Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
* util for account url
* test cases
* disable multi session selection on device list
* remove sign out all from context menus when oidc-aware
* comment
* remove unused param
* typo
* Use Intl to generate better internationalised date formats
* Get `Yesterday` and `Today` from Intl also
* Correct capitalisation blunder
* Fix formatTime include weekday
* Iterate
* Fix tests
* use jest setSystemTime
* Discard changes to cypress/e2e/settings/general-user-settings-tab.spec.ts
* Discard changes to res/css/_components.pcss
* Discard changes to res/css/views/elements/_LanguageDropdown.pcss
* Discard changes to src/components/views/elements/LanguageDropdown.tsx
* Add docs & tests for getDaysArray & getMonthsArray
* Discard changes to test/components/structures/__snapshots__/MatrixChat-test.tsx.snap
* Consolidate consts
* Improve testing & documentation
* Update snapshot
* Apply suggestions from code review
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Iterate
* Clarify comments
* Update src/DateUtils.ts
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Specify hourCycle
* Discard changes to test/components/views/settings/devices/DeviceDetails-test.tsx
* Update comments
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Iterate search public spaces UX
* Tweak iconography in spotlight
* Delabs `Exploring public spaces`
* Tweak msc3827 v1.4 support discovery
* i18n
* Delete stale test
* Fix tests
* Iterate
* Iterate PR based on review
* Improve types
* Add shortcut to search for public spaces to create space menu
* Update import
* Add org.matrix.msc3827.stable filtering
* Fix tests
* silence some errors
* Remove last instance of componentWillMount
* Load SAS Emoji translations from @matrix-org/spec
* Fix import
* Test normalisation on both sides
* update comment for @richvdh
* Delint
* Supply '--network slirp4netns:allow_host_loopback=true' argument when launching via Podman
This means that the host.containers.internal address will work as a way
to access the host machine's network from within the container in
Podman. This is eqivalent to '--add-host
host.docker.internal:host-gateway' in Docker.
* Log the locations of generated files for Cypress tests
* Use 'host.containers.internal' to access the host network when using Podman
* Support Podman in email Cypress tests too
* Restrict code that decides between Docker and Podman to run in Cypress plugins
Because it can't run in the browser - it needs to run a command line
command to find out.
* Move logic for HOST_DOCKER_INTERNAL into cfgDirFromTemplate
* Treat lists with a single empty item as plain text, not Markdown.
This allows users to send simple messages such as `-`, `+`, `*` and
`2021.` without Element Web mangling them into a nonsensical empty list.
As soon as any non-whitespace content is added to the item, it switches
back to treating it as a list of one item.
Fixesvector-im/element-web#7631.
* Fix type errors.
* Lint.
---------
Co-authored-by: Michael Weimann <michaelw@matrix.org>
Co-authored-by: Johannes Marbach <johannesm@element.io>
* Let scrollable dialogs shrink to the size of the content
Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
* Pin the action buttons to the bottom of the scrollable dialogs
Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
---------
Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
* Update Jest to more recent release
I want to use things like `jest.advanceTimersByTimeAsync`
* more jest updates
* add dep on types/prettier
* fix LegacyRoomHeader-test
* fix MatrixChat-test
* fix RoomView-test
* fix PollHistory-test
* update SidebarUserSettingsTab-test
* fix PipContainer-test
* fix UserOnboardingPage-test
* fix WidgetContextMenu-test.tsx
* Avoid `mockImplementation` for mock `matchMedia` impl
`mockImplementation` is (now) reset by `jest.resetAllMocks` and
`jest.restoreAllMocks`, which we don't really want here.
Fixes `theme-test`
* Move `mediaDevices` mock out of `setupManualMocks`
This doesn't work well in test suites with multiple tests, because the
`mockReturnValue` is reset for subsequent tests.
In any case, having it mocked out automagically is *magical*. Let's make it
opt-in.
* fix FormattingButtons-test.tsx
* fix DeviceListenerTest
* fix RoomTile-test
* Move `mediaDevices` mock out of `setupManualMocks`
This doesn't work well in test suites with multiple tests, because the
`mockReturnValue` is reset for subsequent tests.
In any case, having it mocked out automagically is *magical*. Let's make it
opt-in.
* clarify ts-ignore