* Move ToastContext and utilities to shared components
* lint
* fix type
* cleanup
* fix broken test
* fix lint
* Add more tests for ToastContext
* Potential fix for pull request finding 'Unused variable, import, function or class'
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
---------
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Don't re-export MainSplitContentType enum
I don't see why this was necessary, importing RoomView pulls in all sort
of stuff, whereas RoomContext is much smaller.
* ts, not tsx
* unintentional change
* Fix long display / user names in UserMenu
And add a playwright test to assert (see playwright screenshot for
after photo).
* Dave installs the oxfmt extension
* snapshots
* Switch from prettier to oxfmt
* Make knip happy
* Make knip happy
* Apply suggestion from @t3chguy
* Rename .oxfmtrc.json to .oxfmtrc.jsonc
* Make oxfmt happier
* Add user status on user profile icon
Currently unstyled & no tests
* Style the user status icon
* Update snapshot
for avatar wrapper
* More snapshot updates
* add if braces
* Split out user status functions
to avoid circular dep which has the weird effect of just breaking
jest's mocking.
* type imports
* Update imports
* Update snapshot
* Tests
* baseline image
* Just snapshot the component itself
* User status in user menu
first pass, unstyled
* fix export
* superstylin'
* snapshots
* Add story & test
* Snapshots
and re-use the repeated rules
* Tests
* Fix jest lcov projectRoot config
* Change tooltip text to just 'clear'
* Add comment & fix console warn
* Remove all options screenshot
as it's not really particularly useful as a preset story
* remove stale screenshot
* fix imports
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* First version of shared component
* Refactor as a functional component
* Add unit tests and more documentation
* Fix problem where wrappedRef was used by parent before assignment was performed.
* Use the shared component in app/web
* Clean up unused styling
* Added scrollbar-gutters as default styling in shared component
* Make sure the legacy mx_AutoHideScrollbar is set in app/web
* Updated snapshots
* Removing default style, scrollbar-gutter: stable;
* Updated snapshots
* useRef on wrapperRef to avoid loop in rendering
* scrollbar-width does not propagate
* Add AutoHideScrollbar to RoomListView
* Fix Prettier issue
* Updated snapshots
* Updated snapshot after merge
* Fix Sonar issue
* Limit width of the display name in user menu
Fixes https://github.com/element-hq/element-web/issues/33726
* Change js-sdk moduleNameMapper to apps/web (#33734)
Turns out the pnpm link has to be set to apps/web to actually work, so update the moduleNameMapper to look there too.
* update screenshots
* Update snapshot
* Update other snapshots
* Snapshot
* More snapshots
* Add user status on user profile icon
Currently unstyled & no tests
* Style the user status icon
* Update snapshot
for avatar wrapper
* More snapshot updates
* add if braces
* Split out user status functions
to avoid circular dep which has the weird effect of just breaking
jest's mocking.
* type imports
* Update imports
* Update snapshot
* Tests
* baseline image
* Just snapshot the component itself
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* PoC Sign in with QR on new EW using generated QR for MSC4108 v2024
* Revert package.json changes
* Prettier
* Fix i18n
* Tidy up
* Remove unused state variable
* Iterate tests
* Partial revert
* Iterate
* Wire up qr_login route
* Iterate UI
* Fix React dev mode double rendering issue
* Fix react key warning
* Hide flow header on login
* Re-roll qr code on channel expiry
* Switch to AbortSignal
* Improve auto-retry QR UX
* Ensure we only show sign in with QR button if enabled
* XXX: enable labs flag on Netlify builds
* Tweak QR code sizing
* Move qr login flow into a dialog to match designs
* Fix null deviceId
* Remove duplicate log
* Iterate
* Fix tests
* Fix types
* Fix tests
* Fix tests
* Make Netlify more useful
* Make Netlify more useful v2
* Update copy
* Refactor QR link flow to use new SDK methods
Requires https://github.com/matrix-org/matrix-js-sdk/pull/5283
For element-hq/wat-internal#188
Split out from https://github.com/element-hq/element-web/pull/33184
* Link to js-sdk branch
* Update tests
* Simplify
* Revert js-sdk linking
* Iterate
* Iterate
* Refactor to handle most of the TODOs
* Remove unused code
* Remove unused code
* Use js-sdk isSignInWithQRAvailable API to simplify code
* Restore app-test.ts
* Improve coverage
* Improve coverage
* Remove unused prop/state
* Iterate
* Fix tests
* Iterate
* Tests
* Handle TODOs
* Docs
* Remove redundant call to crossSignDevice()
* Workaround to remove training slash on the serverName before auto-discovery
* Revert "Workaround to remove training slash on the serverName before auto-discovery"
This reverts commit 0335a8fdd1.
* setLoggedIn not to be used with OIDC flows as it clears storage
as per docs on setLoggedIn we should use restoreSessionFromStorage
* Don't show the security_code_prompt unconditionally(i.e. for the web logging in mobile flow)
* Update LoginWithQRFlow-test.tsx.snap
* Update MatrixChat-test from setLoggedInSpy to restoreSessionSpy
* Add todo for server switch
* Add todo about handling base URL or server name
* Handle server name or base URL being returned
* Format
* Fix loading state height
* Handle the homeserver URL differing during QR code login
* Comments
* Comments
* Register OIDC client ID after homeserver swap
* Make QrLoginDialog async to minimise the impact on bundle size
* Handle unsupported HS earlier in the flow
* Iterate
* Delint
* Fix test
* Discard changes to apps/web/element.io/develop/config.json
---------
Co-authored-by: Hugh Nimmo-Smith <hughns@element.io>
Co-authored-by: David Langley <langley.dave@gmail.com>
* Support MSC4287 m.key_backup stable prefix as well as the unstable prefix
* Update comments to avoid talking about EX since this now applies more widely
* Make comments about m.key_backup more helpful
* Improve comment on recheckBackupDisabled
* Explicitly say backup is disabled only if enabled is actually set to false
* apply new design to logout dialog
* factor out check for other verified devices
* only show recovery warning when user has no other verified devices
* fix playwright tests
* tweak style to better match design
* another playwright test fix
* fix playwright
* Look for the remove button within the dialog
* Use testid to locate 'Remove this device' button
* move rendering to sub-components, rather than embedded functions
* use <Type> element
* use <Text> for the <a> element
---------
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
* Removing the wierd blue border color when focused + adjusted the border to show when squeezed at the end of border
* Update snapshots
* Update edited code block screenshot
* Clean up unused app/web styling for ReactionsRow
* Align shared Storybook theme root with app/web
* Move PlayPauseButton styling into shared component
* Use closest compound icon color for all crypto events in both app/web and Storybook
* Updated snapshot
* Experimental strict color matching threshold for playwright
* Experimental color matching threshold for playwright
* Revert color matching threshold for playwright to the default value
* Updated screenshots after matching icon size in audio player with other media body components
* Changed icon color for crypto events accroding to recommendation from the design team
* Use --cpd-color-icon-primary for all crypto events
* Updated snapshots and screenshots after icon color changes
* Updated app/web snapshots and screenshots
* Move E2ePadlock to shared components
* Add storybook images
* Move translation to shared components
* Fix E2ePadlock story accessibility
* Update E2eMessageSharedIcon test for padlock role
* Tweak new user menu design
* Update screenshots
* More screenshots
* Add story with no avatar
* add story to test
* Expand the menu so it actually shows what it's supposed to show
* Use the open parameter
which is the param to open the menu
* snapshot
* Add test for normal open menu version
* Move menu to the right of the avatar
and make it appear on top of the display name
* Fix user menu layout
* screenshots
* snapshot
* screenshots
* more screenshots
* Shift toasts to the left slightly
So they completely cover the display name of the user menu when
it's expanded. Also down slightly so they're level with the user menu.
* Tweak toast border radius & position
to match & sit on top of the user menu
* Close toasts in cider tests
* Only close the toast if it's actually there
* Fix some toasts to be dismissed & update screenshots
more to come though
* Make closeKeyStorageToast actually optional
* Fix some more toasts & races
* Screenshots again again (again)
* More screenshots
* Convert to rejectToast
* Fix toast rejectors to not wait and update screenshots
* Apparently 1ms is not long enough
* Initial reword of upload to MVVM.
* Update tests
* More incremental improvements
* Refactor tests to use helper method for composer uploads.
* Add drag and drop tests
* lint
* Add commentary
* fixup test
* More precise selector
* Retarget uploads
* lint
* fixup
* one more type
* update snap
* Fixup composerUploadFiles
* fix import
* lint
* Copy and paste fixes too
* Add tests for pasting
* Add tests for pasting files.
* Remove redundant fn
* rm comment
* tidy up
* Test cleanup
* More clean up
* another fix
* Begin fleshing out
* Park changes
* More stuff
* Use condensed version
* Cleanup tests
* more cleaning
* last bity
* Add a test for the composer
* Park up changes
* Rewrite Measured to be a functional component
* Add tests to cover narrow viewports
* lint
* breakpoint is optional
* Cleanup
* Support narrow mode
* fixup
* begone
* Provide default value
* add label
* fixup test
* update copyright
* cleanup
* Be a bit more lazy with FileDropTarget
* remove a debug statement
* Fixup
* fix two snaps
* Update screenshot
* and the other one
* Update snaps
* unfake CIDER
* update screens again
* remove extra test
* Undo accidental snapshots
* Bit of tidyup
* fixup
* even more tidyup
* may drag and drop file
* tidy up again
* snap snap snap
* Use load to make sonarQube happy
* Bunch of refactors
* More cleanup
* cleanup debug code
* tweaks
* remove a test we no longer need
* make it happy
* fix import
* fixup
* Update snaps
* typo
* one off
* Add tests
* lint
* remove only
* Reduce screenshot scope
* fix snapshot usage
* cleanup
* Make sure action bar is not visible when using up/down arrows during editing
* Add a temporary mouse move listener to handle tooltips stealing onMouseLeave events
* Better naming, add comments and test
* Fix test that performs its own hover/pointer movement before clicking.
* Fix playwright test that actually displayed a message time stamp when hover state was stale
* Fixes after merge