* Upgrade to latest compound-web package
* Use a custom render function for jest tests
This way we don't need to manually wrap our components with
<TooltipProvider>
* Pin wrap-ansi to fix broken yarn install
* Add playwright helper to find tooltip from element
and use it in the failing test
* Exclude floating-ui divs/spans from axe testing
This is rendered outside .MatrixChat by compound and contains all the
tooltips.
* Wrap outermost components with TooltipProvider
* Remove onChange and use onSelect for toggle
* Fix jest tests and update snapshots
* Use vector-im/matrix-wysiwig
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Playwright: wait for sync to arrive after joining rooms
Fix a couple of flaky tests which were not waiting for the /sync to complete
after joining a room.
* Playwright: add a comment about a broken helper
* playwright: fix more flakiness in the shields test
This bit can take a while as well.
* Update playwright/pages/client.ts
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
* Add a timeout to `awaitRoomMembership`
---------
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
* Add pinned message badge for Modern Layout
* Add Bubble layout support
* Add thread support
* Add irc support
* Rename event tile badges
* Don't render footer when there is no reactions
* Add a test for `PinnedMessageBadge.tsx`
* Add a test in EventTile-test.tsx
* Add e2e test
* Add extra buttons to room summary card
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove right panel tabs in favour of X button on each panel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update room summary card header to align close button correctly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix typo in pinned messages heading
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
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>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix base card title colours
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>
* Force verification even for refreshed cients
Set a flag on login to remember that the device needs to be verified
so that we don't forget if the user refreshes the page, but still allow
user with an existing unverified session to stay logged in.
* Hopefully make matrixchat tests pass?
Much, much tweaking to make the matrixchat tests pass again. Should
hopefully make them a bit more solid in general with judicious use of
waitFor rather than flushPromises(). Also lots of fun to stop the state
bleeding between tests.
* Manual yarn.lock manipulation
to hopefully resolve infinite package sadness
* Make final test pass(?)
Mock out the createClient method to return the same client, because
we've mocked the peg to always return that client, so if we let the
code make another one having still overridden the peg, everything becomes
cursed.
Also mock out the autodiscovery stuff rather than relying on fetch-mock.
* another waitFor
* death to flushPromises
* Put the logged in dispatch back
Actually it breaks all sorts of other things too, having fixed all the
MatrixChat tests (although this is useful anyway).
* Try displaying the screen in onClientStarted instead
* Put post login screen back in logged in
but move ready transition to avoid flash of main UI
* Rejig more in the hope it does the right thing
* Make hook work before push rules are fetched
* Add test for unskippable verification
* Add test for use case selection
* Fix test
* Add playwright test for unskippable verification
* Remove console log
* Add log message to log line
* Add tsdoc
* Use useTypedEventEmitter
* Remove commented code
* Use catch instead of empty then on unawaited promises
or in one case just await it because the caller was async anyway
* Add new mock
* Remove right panel toggling behaviour on room header buttons
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale test
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>
* Add labs option to exclude unverified devices
Add a labs option which will, when set, switch into the "invisible crypto"
mode of refusing to send keys to, or decrypt messages from, devices that have
not been signed by their owner.
* DecryptionFailureBody: better error messages
Improve the error messages shown for messages from insecure devices.
* playwright: factor out `createSecondBotDevice` utility
* Playwright test for messages from insecure devices
* fixup! DecryptionFailureBody: better error messages
Use compound colour tokens, and add a background colour.
* fixup! DecryptionFailureBody: better error messages
Use compound spacing tokens
* Open room settings on room header avatar click
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix nested interactive elements aria fail
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update things for a11y and update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Factor out `createSecondBotDevice` utility
* Add playwright test for messages from deleted devices
Thanks to MSC4147, we now have information on the devices that sent messages,
even when the device has since been deleted. Test that out.
* Fix when an event is pinned and the banner displays the correct event.
Fix when an event is pinned and the banner displays the good event.
* Update e2e tests
* Move pinned message hooks to a dedicated file
* Add a banner at the top of a room to display the pinned messages
* Put the pinning banner behind labs pinning labs flag
* Add redacted event support
* Handle UTD in pinning message banner
* Add tests for redaction
* Make all the banner clickable
* Add tests for PinnedMessageBanner.tsx
* Add e2e tests for the pinned message banner
* Review changes
* Add drafts to the RTE and tests
* test drafts in threads
* lint
* Add unit test.
* Fix test failure
* Remove unused import
* Clean up wysiwyg drafts and add test.
* Fix typo
* Add timeout to allow for wasm loading.
---------
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
* Add Pin/Unpin action in quick access of the message action bar
* Add tests for `MessageActionBar`
* Add tests for `PinningUtils`
* Fix `MessageContextMenu-test`
* Add e2e test to pin/unpin from message action bar
* Fix pinning event loading after restart
* Update deps
* Replace pinned event list
* Add a dialog to confirm to unpin all messages
* Use `EmptyState` when there is no pinned messages
* Rework `PinnedEventTile` tests
* Add comments and refactor `PinnedMessageCard`
* Rework `PinnedMessageCard` tests
* Add tests for `UnpinAllDialog`
* Add e2e tests for pinned messages
* Replace 3px custom gap by 4px gap
* Use string interpolation for `Pin` action.
* Update playright sceenshot for empty state
* Import base64 utils directly from js-sdk
See comments in code
* Use the authenticated routes (because the service worker said so)
* Revert "Use the authenticated routes (because the service worker said so)"
This reverts commit 835806d253106b36f337e6387e48d740cc8fb1f2.
* Use the authenticated routes (because the service worker said so)
* Continue fighting Playwright
* Document who is at fault if the import breaks (it's us)
* Update playwright/e2e/timeline/timeline.spec.ts
Co-authored-by: Robin <robin@robin.town>
---------
Co-authored-by: Robin <robin@robin.town>
* Rename general user settings to account
Everything 'general' is now elsewhere, so this is ready for its
new name.
* Update snapshots
* Rename & update playwright test
* Rename class & remove unused CSS class
* Change test ID
* rethemendex
* More tests!!
* snapshots
* Put the screenshots back in the new place
* Fix tests with restoreAllMocks
* More screenshot renaming
* More test fixes & screenshot updates
* More test fixes
* un-skip
* Typo
Co-authored-by: Robin <robin@robin.town>
---------
Co-authored-by: Robin <robin@robin.town>
* Fix alignment of RTL messages
Inspired by https://github.com/matrix-org/matrix-react-sdk/pull/5453 but
hopefully with the edited marker in the right place.
This is a PoC: types aren't correct and the style needs pulling
out to a class. Plus it would probably need more visual tests added.
If this looks acceptable, I can make these changes.
* Fix spacing between text and edited annotation
* Update snapshot
* Update more snapshots
* More snapshots
* More more snapshots
* Split out style
* Fix emotes
This will cause them always be right-justified if the display name
is rtl.
* Add playwright test for ltr/rtl message rendering
* Better snapshots
* Await on message sending
* Better waiting, hopefully
* Old snapshot files
* Really hopefully fixed screenshots this time
* Don't include the message action bar in the screenshots
* Extract useIsVideoRoom hook
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move useWidgets hook to WidgetUtils
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Extract Extensions into their own right panel tab
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unused components & classes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove topic from new Room Header
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Hide topic edit in right panel unless user has permission to edit
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Expand right panel room topic by default
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix text align of topic in right panel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix topic colour in right panel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Exclude `Add topic` from text-align
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Don't show `Add topic` if !perms
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests for new unsupported browser view
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add new desktop_builds config options
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>
* Hide tooltips in screenshot tests by default
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Blank out dialog backgrounds by default
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Crop image-upload-preview screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise width of masked user is in user profile
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tidy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Default the room header to on
* Refactor code into helper method
Add a method to open/close the room info panel and use it everywhere.
* Fix broken tests, update snapshots and screenshots
* Update room header tests to make sense with the new header
* Add reusable empty state for the right panel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add test for the unsupported browser screen
Test a handful of APIs that are easy to disable with an init script
and assert that the app display the "Unsupported Browser" screen.
* Oops, test wasn't actually testing anything
* Remove other feature tests
They didn't work because there are two separate screens, one of
which has an iframe and one of which doesn't.
* Add screenshot test
* Rename to ts
* Fix screenshot
* Fix snapshot filename
* Rename file
* rename screenshot again
* rename screenshot again
* 16th time's a charm
* remove file
* please just be in the right place
* Remove SpaceScopeHeader
It is no longer necessary as we no longer offer the ability to open the member list for a space from any random room.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update base card styling to match Compound
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>
* Split up slow Playwright tests
To optimise parallelism
Deals with:
```
Slow test file: read-receipts/redactions.spec.ts (5.4m)
Slow test file: read-receipts/new-messages.spec.ts (3.9m)
Slow test file: read-receipts/high-level.spec.ts (3.6m)
Slow test file: read-receipts/editing-messages.spec.ts (3.1m)
Slow test file: read-receipts/reactions.spec.ts (2.2m)
Slow test file: crypto/crypto.spec.ts (2.4m)
Slow test file: settings/appearance-user-settings-tab/appearance-user-settings-tab.spec.ts (1.2m)
Slow test file: composer/composer.spec.ts (1.1m)
Slow test file: crypto/verification.spec.ts (1.1m)
```
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move around snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add test reporter to prevent stale screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove darwin screenshots which should not have been checked in
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix absolute vs relative path mismatch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert "Remove darwin screenshots which should not have been checked in"
This reverts commit 1e189977fa9ec873339fc02b2b231a314809b2d5.
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert "Revert "Remove darwin screenshots which should not have been checked in""
This reverts commit 5144b9b28e31ca543b2c5d02820c3f957dbd8c04.
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert "Remove stale screenshots"
This reverts commit 9beae9974557c1ffa99c2372da280bb0da407bd1.
* Apply same sanitization as Playwright for file name consistency
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* add dev dep
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Discard changes to playwright/flaky-reporter.ts
* Update end-to-end-tests.yaml
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Hide tooltips for certain playwright screenshots to avoid flakiness
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Typo
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* tsc
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move integrations switch
This is the last thing to move out of 'general' now.
* unused import
* Move tests out to the SetIntegrationManager component
* Only a decade out
* Move playwright test to the new tab
* Update snapshot
* Update other snapshot
* Split up slow Playwright tests
To optimise parallelism
Deals with:
```
Slow test file: read-receipts/redactions.spec.ts (5.4m)
Slow test file: read-receipts/new-messages.spec.ts (3.9m)
Slow test file: read-receipts/high-level.spec.ts (3.6m)
Slow test file: read-receipts/editing-messages.spec.ts (3.1m)
Slow test file: read-receipts/reactions.spec.ts (2.2m)
Slow test file: crypto/crypto.spec.ts (2.4m)
Slow test file: settings/appearance-user-settings-tab/appearance-user-settings-tab.spec.ts (1.2m)
Slow test file: composer/composer.spec.ts (1.1m)
Slow test file: crypto/verification.spec.ts (1.1m)
```
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move around snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>