Commit Graph

79 Commits (b8bb8f163a89cb6f2af0ac1cfc97e89deb938368)

Author SHA1 Message Date
kegsay a3133fa907
bugfix: fix in-reply-to previews not disappearing when swapping rooms (#9278)
* bugfix: fix in-reply-to previews not disappearing when swapping rooms

This was caused by the fix for another issue:
  - https://github.com/vector-im/element-web/issues/21462

Both bugs are now fixed with cypress regression tests.

* Linting

* Ensure the reply-to reappears when you click back

* Add jest test for replyTo in RVS

* Linting
2022-09-15 12:09:16 +00:00
Justin Carlson 348a006c6b
Allow integration managers to remove users (#9211)
* Add kick action to Scalar Messaging API

* Fix docs

* Fix membership check

* Update style

* Update i18n

* Add e2e tests

* Fix test flakiness

* Fix variable type

* Check for when bot has joined

* Add missing semicolon

* Not a real token

Co-authored-by: Travis Ralston <travpc@gmail.com>

* Improve test description

Co-authored-by: Travis Ralston <travpc@gmail.com>

* Look for room kick message instead of checking room state

* Expand event summaries before checking for message

Co-authored-by: Travis Ralston <travisr@matrix.org>
Co-authored-by: Travis Ralston <travpc@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-09-13 08:59:04 -06:00
Michael Telatynski 6be85e7146
Prevent sliding sync from showing a room under multiple sublists (#9266)
* Prevent sliding sync from showing a room under multiple sublists

* Add tests

(cherry picked from commit 96656e4e17)
2022-09-12 16:16:37 +00:00
Michael Telatynski d87f4b0336
Revert "Add tests"
This reverts commit 96656e4e17.
2022-09-08 18:15:34 +01:00
Michael Telatynski 96656e4e17
Add tests 2022-09-08 18:13:03 +01:00
Michael Telatynski c76cc9aee1
Handle M_INVALID_USERNAME on /register/available (#9237)
* Handle M_INVALID_USERNAME on /register/available

* Add tests

* Make typescript check happier
2022-09-07 21:47:20 +00:00
kegsay a215027c6b
Implement MSC3575: Sliding Sync (#8328)
* Add labs flag for sliding sync; add sliding_sync_proxy_url to config.json

* Disable the labs toggle if sliding_sync_proxy_url is not set

* Do validation checks on the sliding sync proxy URL before enabling it in Labs

* Enable sliding sync and add SlidingSyncManager

* Get room subscriptions working

* Hijack renderSublists in sliding sync mode

* Add support for sorting alphabetically/recency and room name filters

* Filter out tombstoned rooms; start adding show more logic

list ranges update but the UI doesn't

* update the UI when the list is updated

* bugfix: make sure the list sorts numerically

* Get invites transitioning correctly

* Force enable sliding sync and labs for now

* Linting

* Disable spotlight search

* Initial cypress plugins for Sliding Sync Proxy

* Use --rm when running Synapse in Docker for Cypress tests

* Update src/MatrixClientPeg.ts

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/components/views/rooms/RoomSublist.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/settings/controllers/SlidingSyncController.ts

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/components/views/rooms/RoomSublist.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* WIP add room searching to spotlight search

* Only read sliding sync results when there is a result, else use the local cache

* Use feature_sliding_sync not slidingSync

* Some review comments

* More review comments

* Use RoomViewStore to set room subscriptions

* Comment why any

* Update src/components/views/rooms/RoomSublist.tsx

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix cypress docker abstraction

* Iterate sliding sync proxy support

* Stash mostly functional test

* Update sliding sync proxy image

* i18n

* Add support for spaces; use list ID -> index mappings

- Mappings are more reusable and easier to understand than
  racing for index positions.
- Register for all spaces immediately on startup.

* When the active space is updated, update the list registration

* Set spaces filter in the correct place

* Skeleton placeholder whilst loading the space

* Filter out spaces from the room list

* Use the new txn_id promises

* Ensure we actually resolve list registrations

* Fix matrix-org/sliding-sync#30: don't show tombstoned search results

* Remove unused imports

* Add SYNCV3_SECRET to proxy to ensure it starts up; correct aliases for SS test

* Add another basic sliding sync e2e test

* Unbreak netlify

* Add more logging for debugging duplicate rooms

* If sliding sync is enabled, always use the rooms result even if it's empty

* Drop-in copy of RoomListStore for sliding sync

* Remove conditionals from RoomListStore - we have SlidingRoomListStore now

* WIP SlidingRoomListStore

* Add most sliding sync logic to SlidingRoomListStore

Still lots of logic in RoomSublist. Broken things:
 - Join count is wrong completely.
 - No skeleton placeholder when switching spaces.

* Migrate joined count to SS RLS

* Reinstate the skeleton UI when the list is loading

* linting

* Add support for sticky rooms based on the currently active room

* Add a bunch of passing SS E2E tests; some WIP

* Unbreak build from git merge

* Suppress unread indicators in sliding sync mode

* Add regression test for https://github.com/matrix-org/sliding-sync/issues/28

* Add invite test flows; show the invite list

The refactor to SS RLS removed the invite list entirely.

* Remove show more click as it wasn't the bug

* Linting and i18n

* only enable SS by default on netlify

* Jest fixes; merge conflict fixes; remove debug logging; use right sort enum values

* Actually fix jest tests

* Add support for favourites and low priority

* Bump sliding sync version

* Update sliding sync labs to be user configurable

* delint

* To disable SS or change proxy URL the user has to log out

* Review comments

* Linting

* Apply suggestions from code review

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/stores/room-list/SlidingRoomListStore.ts

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Review comments

* Add issue link for TODO markers

* Linting

* Apply suggestions from code review

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* More review comments

* More review comments

* stricter types

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-09-07 15:42:39 +00:00
Robin 4524291331
Fix the picture-in-picture component being off screen (#9246) 2022-09-06 04:28:01 +00:00
Michael Telatynski 4c94155ff0
Improve Cypress & Percy stability (#9217)
* Improve Cypress & Percy stability

* Update percy snapshot width
2022-08-25 10:46:43 +01:00
Janne Mareike Koschinski 94d292a6ec
Reduce amount of requests done by the onboarding task list (#9194)
* Significantly reduce work of useUserOnboardingContext
* Wrap UserOnboardingButton to avoid unnecessary work when it's not shown
* Remove progress from user onboarding button
2022-08-22 13:48:54 +02:00
Janne Mareike Koschinski e8eefeb937
Avoid hardcoding branding in user onboarding (#9206)
* Avoid hardcoding branding in user onboarding
* Make spotlight test more reliable
2022-08-22 12:11:24 +02:00
maheichyk ef0ba77f14
End jitsi call when member is banned (#8879)
* Jitsi call is ended when member is banned

* cypress tests for widget PIP close on leave/kick/ban

* copyright updated

* import changes

* import changes, lint fixed

* import changes

* smaller spec changes to fix problems

* stale import removed, win.matrixcs.RoomStateEvent.Events is used

* fixed problem with kick, smaller test optimisations

* comment removed

Co-authored-by: mikhail.aheichyk <mikhail.aheichyk@nordeck.net>
Co-authored-by: Oliver Sand <oliver.sand@nordeck.net>
2022-08-19 15:09:26 +01:00
Michael Telatynski e269c6895d
Fix url preview AXE and layout issue & add percy test (#9189) 2022-08-17 16:07:18 +00:00
Janne Mareike Koschinski 9eaf48b176
The Welcome Home Screen: Return Button (#9089)
* Implement button to return to user onboarding screen
* Add analytics events
* Increase stability of lazy loading test
2022-08-12 12:55:31 +02: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
Travis Ralston d21498de94
Add even more stability to view source test case (#9176)
Follow-on from https://github.com/matrix-org/matrix-react-sdk/pull/9156 after seeing more failures from the test case.
2022-08-11 15:26:22 -06:00
kegsay ed4286aa93
cypress: up the rate limit values for the synapse container (#9166)
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-08-11 14:08:41 +01:00
Travis Ralston 988cd335db
Set Synapse log level to `DEBUG` for cypress tests temporarily (#9173)
Until we narrow down the remaining flake cases this will give us a chance at identifying real-world flake issues.

`DEBUG` is the noisiest level.
2022-08-11 06:19:51 +00:00
Michael Telatynski 4e30d3c0fc
Fix space panel subspace indentation going missing (#9167)
* Fix space panel subspace indentation going missing

* Add cypress test around subspaces in space panel

* Add cypress test around subspaces in space panel

* Fix bad selector

* Fix aria axe violation heading-order

* Fix test

* Remove it.only
2022-08-10 16:29:53 +01:00
Michael Telatynski fdde6b1428
Cypress test stability improvements (#9156)
* Make cypress hidden event test more reliable

* Make timeline tests more stable
2022-08-10 09:40:17 +01:00
Michael Telatynski e63072e21f
Fixes around URL tooltips and in-app matrix.to link handling (#9139)
* Add regression test for tooltipify exposing raw HTML

* Handle m.to links involving children better

* Comments

* Fix mistaken assertion
2022-08-09 15:37:55 +01:00
kegsay 147ec49ff5
cypress: log stdout/stderr when docker exec fails (#9154)
Otherwise you cannot debug anything with errors like:
```
> Command failed: docker exec 134c9a0afd7dadd0b82ce69b4d72d3d6d8ca1b211540d4390a88357b68fa03b9 pg_isready -U postgres
```
Now we include the stdout/err prior to logging this.
2022-08-09 15:22:32 +01:00
Travis Ralston 32478db57e
Migrate the hidden read receipts flag to new "send read receipts" option (#9141)
* Migrate the hidden read receipts flag to new "send read receipts" option

For safety.

* Appease linter & ignore guests

* `void`
2022-08-08 13:48:28 -06:00
Michael Telatynski e08b11b9c9
Make Spaces cypress tests less flaky (#9138) 2022-08-08 16:07:55 +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
Johannes Marbach 4a14882938
Move pin drop out of labs (PSG-664) (#9135)
* Move pin drop out of labs (PSG-664)

Signed-off-by: Johannes Marbach <johannesm@element.io>

* Regenerate strings

Signed-off-by: Johannes Marbach <johannesm@element.io>
2022-08-08 10:57:38 +02:00
Michael Telatynski e864dbfacf
Fix highlights not being applied to plaintext messages (#9126)
* Fix highlights not being applied to plaintext messages

* Add percy test for search result highlighting

* Fix percy target

* Update timeline.spec.ts
2022-08-05 07:08:56 +00: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 6796375b10
Fix dismissing edit composer when change was undone (#9109)
* Fix dismissing edit composer when change was undone

* Add tests
2022-08-02 14:54:40 +01:00
Šimon Brandner 3991ce96e4
Don't enumerate Cypress tests (#9123) 2022-08-01 17:59:20 +00: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
Suguru Hirahara 82fb21aff5
Apply inline start padding to selected lines on modern layout only (#9006) 2022-08-01 08:19:22 +02:00
Šimon Brandner fb25b3729d
Peek into world-readable rooms from spotlight (#9115) 2022-07-29 16:25:28 +02:00
Michael Telatynski f566c600e2
Port remaining Puppeteer tests over to Cypress (#9104)
* Port remaining Puppeteer tests over to Cypress

* Remove puppeteer support files

* Fix lifecycle matrixclientpeg setup race condition

* Alternative solution to the lifecycle problem

* Dismiss the notifications toast
2022-07-29 14:03:25 +00:00
Janne Mareike Koschinski 1e4c336fed
New User Onboarding Task List (#9083)
* Improve type of AccessibleButton to accurately represent available props
* Update analytics events
2022-07-29 11:43:29 +00:00
Michael Telatynski ca1d9729fd
Extract dockery bits from Cypress' synapsedocker plugin (#9103)
* Extract dockery bits from Cypress' synapsedocker plugin

* Update cypress/plugins/docker/index.ts

Co-authored-by: David Baker <dbkr@users.noreply.github.com>

Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2022-07-27 15:22:14 +00:00
Kerry 19eb491c93
skip flaky can reply with voice message test case (#9105) 2022-07-26 16:36:43 +00:00
Šimon Brandner 60696d78ca
Support for sending voice messages as replies and in threads (#9097)
* Support for sending voice messages as replies and in threads

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add tests

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-07-26 10:38:05 +02:00
Šimon Brandner b4b146f551
Show a back button when viewing a space member (#9095) 2022-07-25 11:46:19 +00:00
Suguru Hirahara 92fce71e39
Align the right edge of info tile lines with normal ones on IRC layout (#9058)
* Apply inline start margin to info event tile line to align the right edge with normal event tile lines

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

* Rename the variable

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

* Add a test to check inline start margin

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

* Rerun CI

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

* Improve tests a little bit

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2022-07-25 10:05:32 +01:00
Kerry 0a8adb6bfe
Add e2e tests for pin drop location share (#9081)
* pin drop location test case

* own static location test

* remove unused bots

* lint

* enable labs flag

* remove own location test bc geolocation perms are hard
2022-07-25 08:13:47 +00:00
Šimon Brandner 787ace9dc5
Add `Reply in thread` button to the right-click message context-menu (#9004) 2022-07-23 12:13:49 +00:00
Šimon Brandner dca4b8b291
Fix wrong buttons being used when exploring public rooms (#9062) 2022-07-20 12:48:31 +02:00
Kerry be0f4a1fe5
add cypress test case for simple poll flow (#9073)
* add cypress test case for simple poll flow

* tidy comments

* actually correct comments

* add polls x thread test

* tweak comments

* pr improvements
2022-07-20 07:56:52 +00:00
Michael Telatynski 42ff9d6dc8
Move Lazy Loading tests from Puppeteer to Cypress (#8982)
* Remove Puppeteer Lazy Loading tests

* Remove Puppeteer Lazy Loading tests

* Remove Puppeteer Lazy Loading tests

* Stash lazy loading cypress tests

* Stash lazy loading cypress tests

* Update cypress-real-events

* Stash offline-less test

* Add offline/online'ing
2022-07-18 13:16:44 +01:00
Suguru Hirahara 38a913488f
Improve clickability of view source event toggle button (#9068)
* Improve clickability of view source event toggle button

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

* Fix compression

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

* Make it easy to select subsequent events

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2022-07-18 09:41:01 +02:00
Suguru Hirahara b90ea87d11
Re-add inline start padding to EventTile_line of GenericEventListSummary (#9063) 2022-07-16 12:15:12 +00:00
Suguru Hirahara 161a333a51
Improve clickability of "collapse" link button on bubble layout (#9037) 2022-07-16 09:31:29 +00:00
Janne Mareike Koschinski f5f79158ed
Implement Use Case Selection screen (#8984)
* Introduce new splash page wrapper
* Introduce new use case selection screen
2022-07-13 15:43:44 +02:00