* Validate room upgrade relationships properly
Ensures only correctly related rooms are left when leaving the latest version of a room.
Ensures the room list does not wrongly hide rooms which have not yet been upgraded.
Ensures the breadcrumbs store finds the correct latest version of a room for a given stored room.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Don't show release announcements while toasts are displayed
Otherwise they can clash and look like a mess.
* Dismiss the toast in the e2e test
* Update screenshot
* Add decline button to call notification toast (use new notification event)
- This make EW incompatible with the old style notify events.
Signed-off-by: Timo K <toger5@hotmail.de>
* update styling for call toast
Signed-off-by: Timo K <toger5@hotmail.de>
* skip lobby on join button click / dont skip lobby on toast click
Signed-off-by: Timo K <toger5@hotmail.de>
* dismiss toast on remote decline
Signed-off-by: Timo K <toger5@hotmail.de>
* fixup docstring and event_id
Signed-off-by: Timo K <toger5@hotmail.de>
* Add tests
Signed-off-by: Timo K <toger5@hotmail.de>
* remove unused var
Signed-off-by: Timo K <toger5@hotmail.de>
* test that decline event gets sent
Signed-off-by: Timo K <toger5@hotmail.de>
* make "go to lobby" accessible via keyboard (fix sonar cloud)
Signed-off-by: Timo K <toger5@hotmail.de>
* remove keyboard input
Signed-off-by: Timo K <toger5@hotmail.de>
* fix lint
Signed-off-by: Timo K <toger5@hotmail.de>
* use actual button
Signed-off-by: Timo K <toger5@hotmail.de>
* review style + toggle for join immediately
Signed-off-by: Timo K <toger5@hotmail.de>
* fix `getNotificationEventSendTs`
Signed-off-by: Timo K <toger5@hotmail.de>
* use story component
Signed-off-by: Timo K <toger5@hotmail.de>
* english text
Signed-off-by: Timo K <toger5@hotmail.de>
* dont use legacy toggle
Signed-off-by: Timo K <toger5@hotmail.de>
* fix lint
Signed-off-by: Timo K <toger5@hotmail.de>
* review
Signed-off-by: Timo K <toger5@hotmail.de>
* review (mostly docs)
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
* Hold Electron toasts until after the client starts
as otherwise they won't be shown and will be reset out of existence
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Lint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Default to new room list and enforce in config for app and develop
* Update jest tests
* Update LandmarkNavigation and e2e test
* Update viewRoomByName helper
* lint
* Update Add -> New Room flow
Keep legacy viewRoomByName until we delete the olds tests.
* Update e2e test to use Add -> Start Chat
* Update screenshots
* Fix viewRoomByName, can't use option as it contains more that just the room name. Using title which should be exact.
* Fix knocking tests
* fix layout.spec.ts and pstn.spec
* timeline snapshots
* Fix spotlight.spec
* TAC spaces and media preview settings
* Fix more screenshots and mark as unread tests
* Fix leftpanel test
* Bugfix for knocking use case. We should check EffectiveMembership when remove rooms from the new room list, so that knocking is handled
* Fix openCreateRoomDialog to new room list specifics to fix create-knock-room.spec.ts
* lint
* Fix Landmark navigation from left panel search to the next landmark
* lint
* Update window-12px-linux.png
* Update apps-drawer-linux.png
* Update sliding sync e2e tests
* Update some screenshots
* Revert change to the space create screenshot
* Use actual screenshot
as focused elements are different when generated locally
* Fix test selectors
* Morfe test screenshot selector / update
* Add test for landmark navigation
* Replace screenshots
* Fix another test that just got added an hour ago
* Not sure why this was changed, doesn't seem necessary
* Disambiguate selector
* Another screenshot that's now changed in width by 1px
* Revert changes to config files
It's being turned on by default so these are unnecessary
* Convert read.unread assertions to new room list
removing support for checking for activity in assertUnread which was
unused.
* Update room list order tests
that feel a bit like they ought to be in room-list rather than read-receipts but whatever
* Fix room titles in read receipts test
---------
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
* Add mechanism for Electron to render toasts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix enabling key backup not working if there is an untrusted key backup on the server.
* lint
* Add test for trust situations.
* remove conditional
* Update src/components/viewmodels/settings/encryption/KeyStoragePanelViewModel.ts
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Update src/components/viewmodels/settings/encryption/KeyStoragePanelViewModel.ts
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* add variant of ResetIdentityBody for when the user has no verif. methods
* no longer distinguish between the using having a passphrase or not
* use vertical stack of buttons via EncryptionCard
and update wording
* swap logic order to match rendering order
* use the same dialog when no verification options available
* make it agree with the design more
* allow signing out on initial login
* apply styling changes and remove duplicate elements
* fix and add tests
* add missing snapshot
* Apply suggestions from code review
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* use a boolean property to disable blurring instead of adding a class
* change string identifiers
* apply changes from review -- simplify logic
* change class name to avoid confusion
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Start to implement intents for DM calls.
* Refactor and fix intent bugs
* Do not default skipLobby in Element Web
* Remove hacks
* cleanup
* Don't template skipLobby or returnToLobby but inject as required
* Revert "Don't template skipLobby or returnToLobby but inject as required"
This reverts commit 35569f35bb254462dd86c16438dab38188db6fbc.
* lint
* Fix test
* lint
* Use other intents
* Ensure we test all intents
* lint
* cleanup
* Fix room check
* Update imports
* update test
* Fix RoomViewStore test
* Make landmark navigation work with new room list
Split out from https://github.com/element-hq/element-web/pull/30640
* Fix landmark selection to work with either room list
* Add test for landmark navigation
* Add test
* Fix test
* Clear mocks between runs
* fix: avoid to render `AudioPlayerViewModel` when `MAudioBody` is inherited
* fix: avoid `Playback.prepare` to fail when called twice
* fix: add `decoding` to playback type
* refactor: fix circular deps
* refactor: extract `MockedPlayback` from `AudioPlayerViewModel`
* test: add `MAudioBody` basic test
* test: add tests for `MVoiceMessageBody`
* fix: lint
* Use configured URL for link to desktop app in message search settings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix history visibility when creating space rooms
This line was here which made history visibility different for space
rooms vs normal rooms, making history world readable for public rooms
and shared from the point of invite (rather than joining) for any other
rooms.
I can't see any reason this makes sense, or why space rooms should
have different history visibility defaults to other rooms. It wasn't
commented. Let's just remove the line and make them consistent.
* Fix import
* Add some tests
to asert that we don't randomly change the options that createRoom
passes to the HS.
* Fix local room encryption status always not enabled
* refactor: put back the e2e test after merge
* fix: look at e2eStatus in composer of local room
* doc: add docs to `LocalRoom.isEncryptionEnabled`
* test(e2e): check composer doesn't display unencrypted state
* test: update existing tests
* test(e2e): update existing tests
* refactor: move room encryption check in a dedicated function
* refactor: make `isEncryptionEnabled` cleaner
* test: add tests for `LocalRoom.isEncrypted`
* doc: fix `useIsEncrypted` comment
---------
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
* Add tests for axe violations for the new room list
* axe doesn't like a ul/li with roles listbox/option. Changing to div/button as we have elsewhere like RoomListitemView.
* Fix RoomListPrimaryFilters test
* Justify the items in the primary filter container
to get the dropdown button on the right again
* Update snapshot
* Make the room list itself focusable
As the comment said, there was no real reason it needed to be, except
that there was because of axe. Probably having the children focusable
would be better, but Virtuoso wraps them in more divs which doesn't
satisfy axe's requirements since those inner divs are not the scrollable
ones. I can't see a better option than this right now.
* Update snapshot
---------
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
* Refactor StyledRadioButton to provide proper labels.
* Automatically change history settings to members only if room is made private
* Add tests
* lint
* lint further
* Fix clickable buttons
* Revert functional component-ing
* text tweaks
* update snapshots
* Add unit test for history vis changes
* lint
* Update snapshots
* Fix flakes
* lint
* fix: make url in topic in room intro clickable
* chore: remove extra line
* refactor: use tag instead variable
* test: add topic tests
* fix: update i18n key
* Block change recovery key button while a change is ongoing.
* Add disable check
* lint
* Ensure we test that spamming the button doesn't break it.
* Mock out modals
* lint
* add two more clicks
* lint
---------
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
* [create-pull-request] automated change
* Update tests
Hold back one source translation due to inconsistency with related keys
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Update all non-major dependencies
* Make knip happy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make parseUserAgent happy
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>
* fix: improve aria role and label on pinned message banner
* fix: change pinned message badge background for contrast
* fix: link pinned message button to content
* test: update tests
* fix: add aria-describedby on pinned message badge
* feat: use `aria-describedby` instead of `aria-description`
* test: update room view snapshot
* test: update snapshot
* fix: put id only textual body upper div
* fix: use lodash uniqueId
* test: update snapshots
* Always show media from your own user
* Update usages of useMediaVisible
* lint
* Add a test for HideActionButton
* Improve docs
* Document the event
* fixup test
* Allow users to hide their own media if they wish.
* Update tests
* remove a check\
* tweak
* tweak
* Fix room joining over federation not specifying vias or using aliases
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Be consistent with viaServers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Simplify modules
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Only consider canAskToJoin on 403 as per spec
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unused helper which I only just added =(
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remember whether sidebar is shown for calls when switching rooms
Stores the sidebar state per-room in LegacyCallHandler, along with other details about calls.
* Hide the Show/Hide Sidebar from the Picture-in-Picture preview
The toggle sidebar button currently does nothing in PIP mode, since PIP mode never shows a sidebar (even when the call is made fullscreen from the PIP preview)
* Add test for Show/Hide Sidebar feature
* Add more tests for LegacyCallView and LegacyCallViewForRoom
Also, fix issue where LegacyCallViewForRoom used roomId and not callId for checking for sidebar state
* Update vector-im
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make BaseDialog's div keyboard focusable and fix test.
* Update more e2e tests to use switch instead of checkbox
* fix useParticipants incorrectly returning an array when a map is expected
* Try again to fix calParticipants
* try fix RoomHeader tests again by also mocking useParticipants
* Revert "try fix RoomHeader tests again by also mocking useParticipants"
This reverts commit f83093cc44586b881d0918e4e4dee60d3263d44b.
* Try with no dependencies
* try mocking useCall rather than just useParticipantCount
* Mock the call store rather than the hook
* Only mock the call object for tests that expect it.
* Revert "Only mock the call object for tests that expect it."
This reverts commit 043d812b1defe75eb7d9c56546317f176b4ba34e.
* Revert "Mock the call store rather than the hook"
This reverts commit 644be3155c434a309fcfd90a21370a732bb7bdd5.
* Revert "try mocking useCall rather than just useParticipantCount"
This reverts commit 92034aaff9b46fd135ee4dbcd93dd62ad5985e5e.
* Revert "Try with no dependencies"
This reverts commit fb502a68a08bd0227ace807fdaf394ed8719d92a.
* Reapply "try fix RoomHeader tests again by also mocking useParticipants"
This reverts commit e456782efd5ea860cb6679be3adf440788fe40a4.
* Revert "try fix RoomHeader tests again by also mocking useParticipants"
This reverts commit f83093cc44586b881d0918e4e4dee60d3263d44b.
* Revert "Try again to fix calParticipants"
This reverts commit c45ad3063f97cad6989ec3fe44dacf6f0904a4e1.
* Revert "fix useParticipants incorrectly returning an array when a map is expected"
This reverts commit e06d76e3f74d8f77e33247e9f4708bb39aebdce0.
* bump compound-web
* Update snapshots
* Fix bad merge, we don't need the second call to escape. The comment a couple of lines up explains things.
* Trigger build to fix licence/cla check
---------
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>
Co-authored-by: David Langley <davidl@element.io>
Previously we were watching for changes to the room state to know when you become connected to a call. However, the room state might not change if you had a stuck membership event prior to re-joining the call. It's going to be more reliable to watch for the 'join' action that Element Call sends, and use that to track the connection state.