* 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>
* 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>
* 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>
* 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>
* Disable "legacy crypto" playwright project
* playwight: Remove crypto stack conditions
We only ever run under the rust stack now, so these conditions are
redundant.
* playwright: remove `cryptoBackend` test option
* playwright: remove redundant `projects`
We don't need this any more
* playwright: remove redundant `TestOptions`
* Send user credentials to service worker for MSC3916 authentication
* appease linter
* Add initial test
The test fails, seemingly because the service worker isn't being installed or because the network mock can't reach that far.
* Remove unsafe access token code
* Split out base IDB operations to avoid importing `document` in serviceworkers
* Use safe crypto access for service workers
* Fix tests/unsafe access
* Remove backwards compatibility layer & appease linter
* Add docs
* Fix tests
* Appease the linter
* Iterate tests
* Factor out pickle key handling for service workers
* Enable everything we can about service workers
* Appease the linter
* Add docs
* Rename win32 image to linux in hopes of it just working
* Use actual image
* Apply suggestions from code review
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Improve documentation
* Document `??` not working
* Try to appease the tests
* Add some notes
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* WIP
* Store the release announcements in the account settings
* Update TAC release announcement description
* Fix settings content comparison
* Add logging in case of failure
* Watch settings changes
* I add release announcement settings to disable it
* Disable release announcement in e2e test
* Add release announcement in e2e test
* Add tests for ReleaseAnnouncementStore.ts
* Update compound-web to `3.3.0`
* Update TAC tests
* Update Labs tests
* Nits
* Add test for ReleaseAnnouncement.tsx
* Update `@vector-im/compound-web`
* Add playwright snapshot
* Delete false playwright screenshot
* Wait for EW to be displayed after reload
* Add screenshot
* Clean util file
* Renaming and comments fixing
* Use second store instead of looking in the store.
---------
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
* Move mailhog fixture to element-web-test.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove spurious debug log
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Lazily set up ElementAppPage subfixtures to avoid conflicting on network routing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update playwright/e2e/crypto/utils.ts
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Show a progress bar during migration of crypto data
* playwright: add new `pageWithCredentials` fixture
* Add a playwright test for migration progress
* Add documentation for `idbSave`
* Add method to send text message
* Add dockerUrl to HomeServerConfig
* Implement sliding sync proxy
* Convert tests
* Reload page after applying labs feature
* Remove converted files
* Remove timeout
* Remove sliding-sync
* Remove proxy import
* Remove reference to proxy
* wait for load
* Update date
* Convert enableLabsFeature to separate fixture
* Enable feature in fixture
* Skip over config and just write to local-storage
* Rename fixture
* Fix room header test
* Use type inference
* Override config instead of setting localstorage
* Set default language
* Always add labs feature
* Put this one test into a separate describe block
* Move labs lag within describe block
* Migrate timeline.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Monospace font for timestamps
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* More expects
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix bot MatrixClient being set up multiple times
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate verification.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate crypto.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Record trace on-first-retry
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Don't start client when not needed
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add bot log prefixing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Turns out we need these
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix crypto tests in rust crypto
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate audio-player.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise bot MXID length
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise test user MXID
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise timestamps
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update element-web-test.ts
* Use deterministic monospace font
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise bot MXID length
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise test user MXID
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove old percy media query CSS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise soft_logout.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots using `toMatchScreenshot` assertion with CSS overrides
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix accidentally commented test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate room/* from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update labs.ts
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate user-view.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add bot support & update screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use JSHandle
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate remaining editing.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* yay
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tests
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>
* Migrate user-view.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add bot support & update screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use JSHandle
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update element-web-test.ts
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate location.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate location.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate appearance-user-settings-tab.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate device-management.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate general-room-settings-tab.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate general-user-settings-tab.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate preferences-user-settings-tab.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate security-user-settings-tab.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Deflake
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move settings into subclass
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate location.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate location.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Deflake
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Install playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add foundations for writing tests under Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* .gitignore juggling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add tsconfig and fix eslint rules
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add docker & synapse plugins
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add login.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Wire up fixture which sets up ElementAppPage & bakes config.json
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove launch test, it has served its purpose
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove test which has been ported to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test not cleaning up after itself
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move registerUser to the Homeserver interface
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unused fixture param
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove redundant launch test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add newline
* Run both legacy & rust crypto tests in Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove redundant comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Create plugin for mail-hog
* Move injectAxe into element-web-test.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch out axe-playwright for @axe-core/playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate email.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use Playwright snapshot utility over Percy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove commented our Percy badge as we're unlikely to want to go back
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate user-onboarding-old.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate user-onboarding-new.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix bad merge
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test and re-enable
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Run linters on playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make typescript happier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate register.spec.ts from Cypress to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update import
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
* Install playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add foundations for writing tests under Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* .gitignore juggling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add tsconfig and fix eslint rules
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add docker & synapse plugins
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add login.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Wire up fixture which sets up ElementAppPage & bakes config.json
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove launch test, it has served its purpose
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove test which has been ported to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test not cleaning up after itself
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move registerUser to the Homeserver interface
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unused fixture param
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove redundant launch test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add newline
* Run both legacy & rust crypto tests in Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove redundant comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
* Install playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add foundations for writing tests under Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* .gitignore juggling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add tsconfig and fix eslint rules
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add docker & synapse plugins
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add login.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Wire up fixture which sets up ElementAppPage & bakes config.json
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove launch test, it has served its purpose
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove test which has been ported to Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test not cleaning up after itself
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move registerUser to the Homeserver interface
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unused fixture param
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove redundant launch test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add newline
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: R Midhun Suresh <hi@midhun.dev>