Commit Graph

2039 Commits

Author SHA1 Message Date
Robin
0d6a550c33 Prepare for Element Call integration (#9224)
* 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
2022-08-30 15:13:39 -04:00
Michael Telatynski
6407cd4c0d Reuse empty string & space string logic for event types in devtools (#9218)
* Reuse empty string & space string logic for event types in devtools

* Fix edge case behaviours

* Make tsc quality higher

* Make remainder of tsc happy
2022-08-25 11:08:52 +00:00
Michael Telatynski
3461573df9 Standardise sane capitalisation in verification modal (#9198) 2022-08-17 14:05:20 +01:00
Travis Ralston
8db7766a40 Add safety to the spotlight search dialog (#9177)
* Add safety to the spotlight search dialog

Fixes https://github.com/vector-im/element-web/issues/22851

This test was triggering the mentioned bug only occasionally because it was dependent on when the search settled: if it settled early then the length was wrong. In testing, the dialog was caught multiple times to have passed the length chat but update to show duplicated results before the test closed the client, indicating a race condition within the tests.

To fix this, we just make sure everything settles before moving on. We do this on unaffected tests too to ensure they don't regress later.

The affected test was "should find group DMs by usernames or user ids".

* Update cypress/e2e/spotlight/spotlight.spec.ts

Co-authored-by: Robin <robin@robin.town>

Co-authored-by: Robin <robin@robin.town>
2022-08-11 22:26:25 +00:00
Kerry
7b52145461 Device manager - device security recommendation card (PSG-637) (#9158)
* add security card and style

* deprecate warning and verified svgs that use hard coded color

* style icons, test

* i18n

* stylelint

* redo lost lint fixes

* fix svg ref

* actually fix svg

* fix stupid copy pasting

* use rgba for e2e light variations

* add security card and style

* deprecate warning and verified svgs that use hard coded color

* style icons, test

* i18n

* stylelint

* fix svg ref

* actually fix svg

* fix stupid copy pasting

* use rgba for e2e light variations

* use device security card in current session section

* lint

* update snapshot test after dev merge
2022-08-11 10:39:14 +00:00
Michael Telatynski
3d0982e9a6 Space panel accessibility improvements (#9157)
* Move the UserMenu out of the SpacePanel ul list

* Apply aria-selected to the spacepanel treeview

* Fix typing
2022-08-10 12:14:54 +00:00
Kerry
ed67aec334 Device Manager - add new labsed session manager screen (PSG-636) (#9119)
* add feature_new_device_manager labs flag

* add generic settings tab container

* settingstab section styles

* add session manager tab to user settings

* add sessions tab case to UserSettingDialog test

* fussy import ordering

* remove posthog tracking

* i18n
2022-08-08 13:51:00 +00:00
Janne Mareike Koschinski
cb15222594 Make percy snapshots for user onboarding more reliable (#9132)
* Make percy snapshots for user onboarding more reliable
* Increase stability of lazy loading test

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-08-08 13:17:04 +02:00
Michael Weimann
ed8ccb5d80 Start DM on first message (#8612) 2022-08-04 08:19:52 +02:00
Janne Mareike Koschinski
b62413d725 The Welcome Home Screen: Dedicated Download Apps Dialog (#9120)
* Implement new download apps dialog
* Added screenshot test for app download dialog
2022-08-02 16:08:02 +02:00
Michael Telatynski
d5db131eef Spike AXE A11Y testing in Cypress (#9111)
* Spike AXE A11Y testing in Cypress

* Fix NewRoomIntro breaking html/aria list rules

* Fix HeaderButtons breaking aria role semantics rules

* missing type

* Switch left panel from aside to nav and include space panel

* Give the page a main heading of the room name when viewing a room

* Use header landmark on RoomHeader

* Improve aria attributes on composer when autocomplete is closed

* Fix aria-owns on RoomHeader

* Give Spinner an aria role

* Give server picker help button an aria label

* Improve auth aria attributes and semantics

* Improve heading semantics in use case selection screen

* Fix autocomplete attribute to be valid

* Fix heading semantics on login page

* Improve Cypress axe testing

* Add axe tests

* Stop synapse after the timeline tests

* Await spinners to fade before percy snapshotting timeline tests

* Improve naming of plugin

* Update snapshots

* Fix accidental heading change

* Fix double synapse stoppage

* Fix Cypress timeline avatar assertions to be DPI agnostic

* Fix aria attributes on date separators

* delint

* Update snapshots

* Revert style change

* Skip redundant call
2022-08-01 08:31:14 +01:00
Kerry
05cc5f62dd test UserSettingsDialog (#9118) 2022-08-01 06:47:13 +00:00
Šimon Brandner
fb25b3729d Peek into world-readable rooms from spotlight (#9115) 2022-07-29 16:25:28 +02:00
Michael Telatynski
45f6c32eb6 Make sonar happier (#9114)
* Make sonar happier

* Rename method
2022-07-29 11:01:15 +00:00
Michael Weimann
c5eaeafe8e Prepare utils for local rooms (#9084)
* Prepare utils for local rooms

* Split up direct-messages module
2022-07-25 10:17:40 +02:00
Šimon Brandner
dca4b8b291 Fix wrong buttons being used when exploring public rooms (#9062) 2022-07-20 12:48:31 +02:00
Michael Weimann
fa1bff67cf Wire local room logic (#9078)
* Wire local room logic

* Migrate to testling-lib; update test descriptions
2022-07-20 09:26:25 +02:00
Will Hunt
7842d5165c Prefer using the canonical alias in spotlight search (#9055)
* Prefer using the canonical alias in spotlight search

Public rooms on other homeservers are not joinable via the roomId if they haven't been joined by other users on your homeserver.

* Ensure we call the action with the room_alias

* lint

* Drop display

* Always provide roomId

* Add rationale to room_id, room_alias

* whoops

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-07-15 11:22:40 +00:00
Michael Weimann
742b21ca46 Extract ValidatedServerConfig (#9054) 2022-07-14 15:03:34 +02:00
Kerry
bda272dce4 Live location share - handle insufficient permissions in location sharing (PSG-610) (#9047)
* handle insufficient permissions in location sharing

* reformat ternaries
2022-07-13 10:55:08 +00:00
Janne Mareike Koschinski
780a903e2f Improve spotlight accessibility by adding context menus (#8907)
* 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
2022-07-12 15:03:08 +02:00
Robin
17699dfcd0 Don't unnecessarily persist the host signup dialog (#9043)
https://github.com/matrix-org/matrix-react-sdk/pull/8747 made it more evident that the host signup dialog was relying on some quirks in how PersistedElement sizes and positions things that it probably shouldn't have been relying on. As far as I can tell, this dialog doesn't *need* to be a PersistedElement at all since it's mounted manually as part of LoggedInView, and so it doesn't look like there's any way for it to unexpectedly disappear on the user.

According to Travis this is supposed to be a bespoke widget in a proper dialog, but this is intended as a more short-term fix.
2022-07-11 16:50:13 -04:00
Janne Mareike Koschinski
a9d6896502 Correct accessibility labels for unread rooms in spotlight (#9003)
* Correct accessibility labels for unread rooms in spotlight
* Improve public room result accessibility
* Improve room result accessibility
2022-07-11 11:34:23 +00:00
Janne Mareike Koschinski
32c008b3f0 Add additional metadata to feedback submitted through spotlight dialog (#9024) 2022-07-11 12:00:40 +02:00
Šimon Brandner
19e514d83c Remove dead code (#9035) 2022-07-11 07:52:44 +02:00
Travis Ralston
644b841591 Replace MSC3244 support with in-client room version checking (#9018)
* Replace MSC3244 support with in-client room version checking

* Fix irrelevant ternary

* It helps to use Jest correctly
2022-07-08 00:32:38 -06:00
Šimon Brandner
e65409861a Don't show the same user twice in Spotlight (#8978)
Co-authored-by: Janne Mareike Koschinski <janne@kuschku.de>
2022-07-06 12:07:10 +00:00
Kerry
7afc8c5869 Task - replace img icons with svg components (#8963)
* add role=presentation to backdrop panle image

* replace img icons with svg components in InviteDialog

* replace img icon with svg component

* img icons to svg icons in MImageBody

* remove log

* img icon to svg in SecurityRoomSettingsTab

* use shared error message for media message tiles

* remove nbsp

* dont snapshot test entire rtl render response

* use aria-describedby for uploadconfirm preview

* use aria-labelledby instead
2022-07-06 13:29:26 +02:00
Travis Ralston
7f5bb61a79 Support a module API surface for custom functionality (#8246)
* Early implementation of module API surface + functions for ILAG module

* Wire up dialog functions and ILAG-needed surface

* Ensure component renders for modules get overridden

* Respond to changes from module API interface

* Use a real module-api dependency

* Update for new Dialogs interface

* Add support for getConfigValue from module API

* Update the remainder of the module API interface

* Docs & cleanup

* Add some unit tests around module stuff

Needs end-to-end tests still.

* Appease early linters

* Break import cycles by not directly depending on Lifecycle

* Appease the linter

* Fix bad merge
2022-07-05 12:26:44 -06:00
Robin
2dd683a42f Adjust encryption copy when creating a video room (#8989)
* Adjust encryption copy when creating a video room

* Adjust wording
2022-07-05 18:22:36 +00:00
Šimon Brandner
a4701ccff1 Dismiss the search dialogue when starting a DM (#8967) 2022-07-04 09:11:06 +02:00
Janne Mareike Koschinski
c3f26d619e Improve high-contrast support for spotlight (#8948) 2022-06-30 16:17:30 +02:00
Janne Mareike Koschinski
d4a4eeaf63 Allow finding group DMs by members in spotlight (#8922) 2022-06-30 11:44:56 +02:00
Michael Weimann
7e47749ce2 Migrate crypto test to cypress (#8833) 2022-06-30 10:59:25 +02:00
Suguru Hirahara
731776d189 Improve link buttons and inline link buttons styling (#8238)
* Set padding: 0 to both "link" and "link_inline"

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - _SpotlightDialog.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - JoinRuleSettings

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - _ViewSourceEvent.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - _RoomDirectory.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - _InviteDialog.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - ServerOfflineDialog

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - UpdateCheckButton

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - NonUrgentEchoFailureToast

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - CallView

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove unused styles - _RoomSettingsDialogBridges.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Replace "link" with "link_inline" for inline links

- src/components/structures/UserMenu.tsx
- src/components/views/dialogs/BetaFeedbackDialog.tsx
- src/components/views/dialogs/FeedbackDialog.tsx
- src/components/views/rooms/NewRoomIntro.tsx
- src/components/views/settings/tabs/room/NotificationSettingsTab.tsx
- src/components/views/settings/tabs/user/PreferencesUserSettingsTab.tsx
- src/components/views/spaces/SpaceCreateMenu.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Replace "link_inline" with "link" for links not inline

- src/async-components/views/dialogs/security/CreateKeyBackupDialog.tsx
- src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx
- src/components/structures/auth/ForgotPassword.tsx
- src/components/structures/auth/Registration.tsx
- src/components/views/auth/InteractiveAuthEntryComponents.tsx
- src/components/views/dialogs/security/AccessSecretStorageDialog.tsx
- src/components/views/dialogs/security/RestoreKeyBackupDialog.tsx
- src/components/views/messages/TileErrorBoundary.tsx
- src/components/views/messages/ViewSourceEvent.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a redundant declaration - _SetupEncryptionBody.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a redundant declaration - _ReplyChain.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a redundant declaration - _EventTile.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove an obsolete style block - _RoomPreviewCard.scss

The block was transferred from _SpaceRoomView.scss with ec24dc661edb6979ba901936067e5bc731dafa59

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a redundant declaration - _SecurityUserSettingsTab.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove element='span' - NewRoomIntro.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant declarations - _ServerPicker.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Replace 'link' with 'link_inline' - AnalyticsToast.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2022-06-29 22:37:34 +00:00
Šimon Brandner
68c94c6400 Update MSC3827 implementation to not change the default behaviour (#8936) 2022-06-29 16:37:23 +00:00
Janne Mareike Koschinski
8b841951db Move New Search Experience out of beta (#8859) 2022-06-28 12:02:08 +02:00
Janne Mareike Koschinski
e1d6356927 Remove tabindex from filter remove button (#8919)
Filters can already be removed via backspace
Removing the tabindex ensures the search input is focused by default instead
2022-06-28 11:44:36 +02:00
Suguru Hirahara
4b2a922e2e Remove mx_GroupLayout (#8876) 2022-06-25 13:51:07 +02:00
Šimon Brandner
663bca559f Implement MSC3827: Filtering of /publicRooms by room type (#8866) 2022-06-24 15:08:00 +00:00
Kerry
b51ef246ab Live location share - forward latest location (PSF-1044) (#8860)
* handle beacon location events in ForwardDialog

* add transformer for forwarded events in MessageContextMenu

* remove canForward

* update snapshots for beacon model change

* add comments

* fix bad copy pasted test

* add test for beacon locations
2022-06-17 15:27:08 +02:00
Janne Mareike Koschinski
f9100d5fb6 Fix issues with the Create new room button in Spotlight (#8851)
* Correct label of create new room button
* Capitalize suggested name for new room
2022-06-15 16:16:40 +00:00
Suguru Hirahara
1b426ce0c8 Organize style rules of AccessSecretStorageDialog to avoid visual bugs (#8395)
* .mx_AccessSecretStorageDialog

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* .mx_AccessSecretStorageDialog_primaryContainer

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* .mx_AccessSecretStorageDialog_titleWithIcon

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Adopt BEM style

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* yarn run lint:style --fix

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2022-06-15 09:47:25 -06:00
Janne Mareike Koschinski
5096e7b992 Integrate searching public rooms and people into the new search experience (#8707)
* Implement searching for public rooms and users in new search experience
* Implement loading indicator for spotlight results
* Moved spotlight dialog into own subfolder
* Extract search result avatar into separate component
* Build generic new dropdown menu component
* Build new network menu based on new network dropdown component
* Switch roomdirectory to use new network dropdown
* Replace old networkdropdown with new networkdropdown
* Added component for public room result details
* Extract hooks and subcomponents from SpotlightDialog
* Create new hook to get profile info based for an mxid
* Add hook to automatically re-request search results
* Add hook to prevent out-of-order search results
* Extract member sort algorithm from InviteDialog
* Keep sorting for non-room results stable
* Sort people suggestions using sort algorithm from InviteDialog
* Add copy/copied tooltip for invite link option in spotlight
* Clamp length of topic for public room results
* Add unit test for useDebouncedSearch
* Add unit test for useProfileInfo
* Create cypress test cases for spotlight dialog
* Add test for useLatestResult to prevent out-of-order results
2022-06-15 16:14:05 +02:00
Michael Telatynski
3c5c2bef6d Remove Piwik support (#8835)
* Remove all mentions of Piwik

* Kill off all consumer of the old Piwik Analytics module

* Simplify ModalManager interface

* i18n

* Attempt to fix old e2e tests

* Remove unused component

* Iterate PR
2022-06-14 17:51:51 +01:00
Suguru Hirahara
12dd5a7ef0 Name lists on invite dialog (#8046)
* Place room tiles with grid

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Set padding inside of name stack

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove overflow:hidden (to be cancelled)

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Replace text-align with margin

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Style invite failure dialog with display:grid

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Merge style rules of room tiles and tiles on invitation failure dialog

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Normalize avatar size for multiInviterError

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Set text overflow with ellipsis

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Use spacing variables

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Set narrow gap to nameStack

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Rename mx_InviteDialog_inviterErrorTile_error

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Create mx_InviteDialog_tile

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Set padding to room tiles only

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove space between name / userID and time (there is gap by default)

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove the margin from the last child

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2022-06-09 13:45:33 +01:00
Eric Eastwood
298b672cd2 Clarify logout key backup warning dialog (#8741)
Added details to the logout key backup warning dialog on
why access to encrypted messages will be lost.

Fix https://github.com/vector-im/element-web/issues/15565

Co-authored-by: notramo <notramo@protonmail.com>
2022-06-08 10:22:30 -05:00
Michael Telatynski
8036985204 Update matrix-analytics-events to @matrix-org/analytics-events (#8778)
* Update matrix-analytics-events to @matrix-org/analytics-events

* Update install-deps.sh

* Update layered.sh

* Update BeaconMarker-test.tsx.snap

* Update BeaconStatus-test.tsx.snap
2022-06-07 20:08:36 +01:00
Faye Duxovni
527da1c5e7 Followup type-check fixes for bootstrapCrossSigning callback (#8753) 2022-06-03 17:24:25 +00:00
Faye Duxovni
2f7f36ac85 Ensure the first device on a newly-registered account gets cross-signed properly (#8750) 2022-06-03 08:57:52 -04:00