* Fix e2e icon rendering
Regressed by change to compound icons, due to it relying on a hack of rendering icons atop each other to draw a background.
Also fixes a nested tooltip which became annoying during testing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
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 `EditInPlace` out of `Form`
If it is part of the form saving will submit the inner form of
EditInPlace and reload EW.
* add tests and comments
* update snapshot
* fix playwright
* Use EditInPlace for identity server picker.
* Update test
* Add a test for setting an ID server.
* fix tests
* Reformat other :not sections
* forgot a comma
* Update Apperance settings to use toggle switches.
* Remove unused checkbox setting.
* Remove unused import.
* Update tests
* lint
* update apperance screenshot
* Begin replacing settings
* Refactor RoomPublishSetting
* Remove LabelledToggleSwitch
* Refactor SettingsFlag to use SettingsToggleInput
* Refactor CreateRoomDialog to use SettingsToggleInput
* Refactor DeclineAndBlockInviteDialog to use SettingsToggleInput
* Update DevtoolsDialog
* Refactor ReportRoomDialog to use SettingsToggle
* Update RoomUpgradeWarningDialog to use SettingsToggleInput
* Update WidgetCapabilitiesPromptDialog to use SettingsToggleInput
* Update trivial switchovers
* Update Notifications settings to use SettingsFlag where possible
* Update RoomPublishSetting and SpaceSettingVisibilityTab to use SettingsToggleInput with a warning
* revert changes to field
* Updated screenshots
* Prevent accidental submits
* Replace test ID tests
* Create new snapshot tests
* Add screenshot test for DeclineAndBlockDialog
* Add screenshot for create room dialog.
* Add devtools test
* Add upgrade rooms test
* Add widget capabilites prompt test
* Fix spec
* Add a test for the live location sharing prompt.
* fix copyright
* Add tests for notification settings
* Add tests for user security tab.
* Add test for room security tab.
* Add test for video settings tab.
* remove .only
* Test creating a video room
* Mask the IM name in the header.
* Add spaces vis tab test.
* Fixup unit tests to check correct attributes.
* Various fixes to components for tests.
* lint
* Update compound
* update setting names
* Cleanup tests
prettier
Updates some more playwright tests
Update more snapshots
Update switch
more fixes
drop .only
last screenshot round
fix video room flake
Remove console.logs
Remove roomId from devtools view.
lint
final screenshot
* Add playwright tests
* import pages/ remove duplicate create-room
* Update screenshots
* Fix accessibility for devtools
* Disable region test
* Fixup headers
* remove extra test
* Fix permissions dialog
* fixup tests
* update snapshot
* Update jest tests
* Clear up playwright tests
* update widget screenshot
* Fix wrong snaps from using wrong compound version
* Revert mistaken s/checkbox/switch/
* lint lint
* Update headings
* fix snap
* remove unused
* update snapshot
* update tab screenshot
* Update snapshots
* Fix margins
* 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>
* Delint
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>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Update vector-im
* Update Jest snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix playwright styling overrides
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Hold back Compound Design Tokens as threads icons unexpectedly grew a dot in the top corner where we conditionally draw a dot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update Compound Design Tokens to 6.4.1
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak bubble
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update storybook snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update jest snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update jest snapshots
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 handling of SVGs
1. Ensure we always include thumbnails for them
2. Show `m.file` handler if we cannot render the SVG
3. When opening ImageView use svg thumbnail if the SVG cannot be rendered
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix UploadConfirmDialog choking under React devmode
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix 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>
* Tweak rendering of icons in dropdowns
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak rendering of icons in composer format bar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak rendering of icons in jump to bottom button
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak rendering of icons in quick settings button
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak rendering of icons in left panel search
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix margin
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak rendering of icons in security user settings tab
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak rendering of icons in space hierarchy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Simplify
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tidy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add test
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>
* Rename callback on E2eSetup component
`BaseDialog.onFinished` is unused when `hasCancel=false`, so this callback is
only used when the user clicks cancel. For clarity, rename it.
* Test for cancellation behaviour
* Update jest to v30
* Update jest to v30
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Apply jsdom patch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tests
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>
* Apply aria-hidden to emoji in SAS verification
So that for screen readers the canonical emoji description is preferred & we avoid the user being read each emoji twice.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* strip mentions from forwarded messages
fixeselement-hq/element-web#30883
* call attachMentions() for empty m.mentions in forwarded messages
As there is no EditorModel, attachMentions() currently does nothing
* fix lint and typecheck
* update test "should be navigable using arrow keys"
* update test "forwards pin drop event"
add empty mentions to expected content
* add doc to transformEvent() & elaborate on attachMentions()
* add test "strips mentions from forwarded messages"
* fix lint
* update source of `attachMentions()` import
---------
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
* Move ResizerNotifier into SDKContext
so we don't have to pass it into RoomView
* Fix test
* Unused import
* Add tests
* Remove a bunch of resizeNotifier props
* Remove more resizeNotifier props
* Add resizenotifier to test
* Add more sdkcontext wrappers in tests
* More sdkcontext wrappers
* Even more sdkcontext wrappers
* Add test to make sonarcloud happy
* Context isn't always there unlike props
* Test actual resizing too
* Remove commented line
* Change 'Verify Session' to 'Start Verification'
* Update strings for the verification dialog
This completes the Element Web part of
https://github.com/element-hq/element-meta/issues/2898
* fixup! Update strings for the verification dialog
Remove separate _unsent string
* Test that VerificationRequestDialog updates when phase changes
* Change the title of VerificationRequestDialog when a request is cancelled
Part of implementing
https://github.com/element-hq/element-meta/issues/2898 but split out as
a separate change because it involves making VerificationRequestDialog
listen for changes to the verificationRequest so it can update based on
changes to phase.
* Tests for VerificationRequestDialog
* Fix theoretical bug where VerificationRequestDialog uses an outdated request
We were passing on `this.props.verificationRequest` to `EncryptionPanel` but we
should be passing on the request in `this.state`. This would not cause a problem
in practice because the `EncryptionPanel` immediately overwrites the request if
you supply a `verificationRequestPromise`.
* refactor: move `humanize` in shared components
* feat: add `RichItem` component
* feat: add `RichList` component
* refactor: use `RichList` and `RichItem` in `InviteDialog`
* fix: exclude `InviteDialog` button to css override
* test: update selector in invite dialog
* test(e2e): update crypto test to use correct selector
* test(e2e): update invite dialog
* test: add test for `humanize.ts`
* fix: add space between the list and the input when the list is scrollable
* test(e2e): update screenshots
* 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>
* 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>
* InviteDialog: show some words and a spinner while invites are being sent
* MultiInviter-test: avoid building unhandled rejected promises
If we don't handle rejected promises, jest gets confused by them. Instead,
let's create them on-demand.
* Open a "progress" dialog while invites are being sent
* Inhibit invite progress dialog when RoomUpgradeWarning dialog is kept open
... otherwise the `RoomUpgradeWarning` dialog disappears during the invites,
and the tests that assert that it is showing the correct thing fail.
enter the commit message for your changes. Lines starting
* Switch to compound CSS variables instead of old pcss vars
* update playwright screenshots
* Revert "update playwright screenshots"
This reverts commit b0a15d97f35a088fe5b67009085eab46be1316fd.
* Another go at updating screenshots
* Address review comments
* remove redundant Props
* Show a blue lock instead of a grey shield for unencrypted rooms
* Update screenshots and snapshot
* Update snapshots and fix e2e test that used to expect the grey shield
* lint and add tests for shield
* Update more screen shots
* finish unit test for left icon
* Remove unneeded check
* Don't bother adding stray props to E2EIcon for data-testid
* Upate snapshots
* Update for compatibility with v12 rooms
Stop using powerLevelNorm and reading PL events manually.
To support https://github.com/matrix-org/matrix-js-sdk/pull/4937
* Add test for leave space dialog
* Don't compute stuff if we don't need it
* Use room.client
* Use getSafeUserId
* Remove client arg
* Use getJoinedMembers
and add doc
* Fix tests
* Fix more tests
* Fix other test
* Clarify comment
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Work around jest bug that swallows console output
Hacky workaround for https://github.com/jestjs/jest/issues/15747
* Fix unit test
* Only write logs if there are some to write
* Another test fix
* remove resetCrossSigning flag, which is no longer in use
* drop unnecessary check for cross-signing
The only place where verifyUser is called already checks that cross-signing is
set up. (The function name is also incorrect, since it checks for the
cross-signing key, and not for 4S.)
* avoid calling accessSecretStorage to set up cross-signing or 4S
Send the user to the Encryption settings tab instead
* only create secret storage when specifically asked to
* deprecate using accessSecretStorage to create new 4S
* also remove the obsolete snapshot
* add tests
* Tweak comment
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>
* Submit filtered settings to rageshakes and sentry.
* Add flag to omit some settings from being exported.
* Hide user timezone
* Hide recent searches and media event ids
* Lint
* use better wording
* lint
* Prevent language from being sent
* Add tests to check keys are prevented from being uploaded.
* don't export invite rules
* Update tests
* Show indicator in settings dialog when user doesn't have recovery set up
* Update settings headers to use red dot for recommended settings
* update recovery setup toast and remember if the user dismisses it
* update playwright snapshots
* use typed event emitters
* reverse logic for the account data flag
* fix comment and type
* AccessSecretStorageDialog: clear notice when input is empty
* AccessSecretStorageDialog: Simplify logic for calculating feedback
No functional changes, just simplification
* AccessSecretStorageDialog: use the right icon
Should be a ! in a circle, not an X. Also requires use of `Flex` to fix the
vertical alignment.
* AccessSecretStorageDialog: fix resizing when key is correct
* AccessSecretStorageDialog: remove confirmation on dialog close
Per discussion on https://github.com/element-hq/element-web/issues/30024, we
don't want this any more.
* BaseDialog: fix documentation, and make `onFinished` optional
Since `onFinished` isn't used if `hasCancel` is false, it's a bit silly to make
it mandatory.
* AccessSecretStorageDialog: fix inability to enter recovery key
Wrap AccessSecretStorageDialog in a `BaseDialog`. The main thing this achieves
is a `FocusLock`.
* playwright: factor out helper for verification
We have two copies of the same code, and we're about to add a third...
* playwright: test for verifying from Settings
* Add a unit test for BaseDialog
* initial application of recovery key input redesign
* update styling to agree more with design, and fix jest tests
* look for the right element for entering the key
* fix more playwright tests
* use return value of validation function instead of state
* Assert that we set backup_disabled when turning off key storage
* Prompt the user when key storage is unexpectedly off
* Playwright tests for the Turn on key storage toast