Commit graph

91 commits

Author SHA1 Message Date
Till
d073b3b47c
sliding sync: Add test to verify we send unsubscribe_rooms for every room switch (#9784)
This adds a test to verify that we send unsubscribe_rooms for every room switch.
2022-12-22 15:19:45 +00:00
Germain
134e3d7ae8
Make threads disabled by default (#9810)
* Make threads disable by default

* restore e2ee tests

* fix threads e2e spec for beta joining
2022-12-21 15:53:23 +00:00
Justin Carlson
6585fb1f55
Add actions for integration manager to send and read certain events (#9740)
* Add send_event action

* Add read_events action

* Add e2e tests for send_event

* Allow more event types to be read

* Fix error message

* Add e2e tests for read_events

* Run i18n

* Improve error messages

* Fix types

* Remove unused test helpers

* Fix more type errors

* Run prettier

* Fix more type errors

* Fix validation

Since typeof null is "object"

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-12-20 14:13:37 -07:00
Richard van der Hoff
ad7c002f4d Merge remote-tracking branch 'origin/develop' into rav/edited_events 2022-12-20 11:20:03 +00:00
Richard van der Hoff
dc29317445 Improve display of edited events 2022-12-20 11:19:47 +00:00
Kerry
0485b74acb
Device manager - design tweaks (#9768)
* hover style on dropdown

* hover states

* device details spacing

* device details h3 -> h4

* missing fullstops

* update snapshots for new copy

* device details expand icon bigger

* hide current session security card when details expanded

* filter dropdown padding and hover state

* update cypress selector for device detail heading
2022-12-20 01:17:05 +00:00
Richard van der Hoff
ddfa627ce6
Cypress: add a way to specify the prefix for userIDs (#9787)
This helps a lot with debugging tests where there are multiple users.
2022-12-19 13:12:01 +00:00
Richard van der Hoff
e3f591e7d2 Return the password from getBot
... so that we can use it to log in for a second time
2022-12-17 23:52:55 +00:00
Faye Duxovni
4724506320
Improve decryption error UI by consolidating error messages and providing instructions when possible (#9544)
* Improve decryption error UI by consolidating error messages and providing instructions when possible

* Fix TS strict errors

* Rename .scss to .pcss

* Avoid accessing clipboard, Cypress doesn't like it

* Display DecryptionFailureBar alongside other AuxPanel bars

* Add comments

* Add small margin off-screen for visible decryption failures

* Fix some more TS strict errors

* Add unit tests for DecryptionFailureBar

* Add button to resend key requests manually

* Remove references to matrix-js-sdk crypto internals

* Add hysteresis to visible decryption failures

* Add comment

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Add comment

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Don't create empty div if we're not showing resend requests button

* cancel updateSessions on unmount

* Update unit tests

* Fix lint and implicit any

* Simplify visible event bounds checking

* Adjust cypress test descriptions

* Add percy snapshots

* Update src/components/structures/TimelinePanel.tsx

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Add comments on TimelinePanel IState

* comment

* Add names to percy snapshots

* Show Resend Key Requests button when there are sessions that haven't already been requested via this bar

* We no longer request keys from senders

* update i18n

* update expected text in cypress test

* don't download keys ourselves, update device info in response to updates from client

* fix ts strict errors

* visibledecryptionfailures undefined handling

* Fix implicitAny errors

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-12-15 17:24:33 +00:00
Kerry
9f795a4c5f
Regression test: switch between dm rooms without loader (#9752)
* switching dm rooms without loader regression test

* lint

* more specific js-sdk import

* add wait for room list to settle before asserting

* dont use js-sdk enum
2022-12-15 01:30:53 +00:00
Germain
2d2755d145
🧵 Enable threads by default (#9736)
* Delabs threads

* remove threads reload when labs is toggled

* Fix ts strict

* fix rebase mistake

* remove .only

* fix pr comments

* re-introduce backwards compat

* Fix export test

* Fix SearchREsultTile test

* strict ts
2022-12-13 15:09:15 +00:00
Michael Weimann
526645c791
Apply prettier formatting 2022-12-12 12:24:14 +01:00
Kerry
888e69f39a
Device manage - handle sessions that don't support encryption (#9717)
* add handling for unverifiable sessions

* test

* update types for filtervariation

* strict fixes

* avoid setting up cross signing in device man tests
2022-12-08 21:52:00 +00:00
Richard van der Hoff
4b3705d3f0
Add a test for verifying without existing DM (#9619)
A regression test for https://github.com/vector-im/element-web/issues/23819.
2022-11-30 13:03:47 +00:00
Michael Telatynski
7136c23aa7
Stub out calls to vector.im and matrix.org in Cypress (#9652) 2022-11-30 11:16:37 +00:00
Germain
40cbee60db
Consolidate public room search experience (#9605) 2022-11-22 15:05:09 +00:00
Kerry
caac059479
Device manager - add tooltip to device details toggle (#9594)
* add hide/show tooltip to dm details toggle

* use named export, update tests
2022-11-21 08:24:56 +13:00
Justin Carlson
8e42497e81
Fix integration manager get_open_id_token action and add E2E tests (#9520)
* Fix missing await

* Fix get openID token action requiring room ID and user ID

* Add e2e test for integration manager get openID token

* Remove outdated comment

* Update test description

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Fix type

* Fix types again

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-11-15 10:03:47 -07:00
Michael Weimann
f2f00f68ba
Fix sliding sync cypress spec (#9569) 2022-11-11 10:10:42 +01:00
Michael Telatynski
097ca43420
Add cypress test for the composer emoji picker (#9505) 2022-10-26 13:58:40 +01:00
Germain
249474b430
Only render NotificationBadge when needed (#9493) 2022-10-25 14:31:38 +01:00
Kerry
d473b4ac4a
Device manager - confirm sign out of other sessions (PSG-921) (#9487)
* change testid attribute for dialog buttons to rtl friendly

* add confirm dialog for signing out sessions

* cleanup commented

* update cypress tets

* clear modals before test

* missing modal in jest tests on ci only
2022-10-25 10:39:48 +02:00
Germain
9eb4f8d723
Add thread notification with server assistance (MSC3773) (#9400)
Co-authored-by: Janne Mareike Koschinski <janne@kuschku.de>
2022-10-24 07:50:21 +01:00
Kerry
9ab8e330fe
stabilise polls cypress test (#9472) 2022-10-20 13:04:05 +00:00
Travis Ralston
6fe8744e4d
Remove performance metrics from cypress (#9467)
They are unfortunately unreliable and have been broken since June anyways.
2022-10-20 00:52:17 -06:00
Andy Balaam
e0ab0ac5c9
Allow pressing Enter to send messages in new composer (#9451)
* Allow pressing Enter to send messages in new composer

* Cypress tests for composer send behaviour
2022-10-19 03:07:21 +00:00
Johannes Marbach
26f3d107fd
Set relations helper when creating event tile context menu (#9253)
* Set relations helper when creating event tile context menu

Fixes vector-im/element-web#22018

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

* Add e2e tests

* Use idiomatic test names

Signed-off-by: Johannes Marbach <johannesm@element.io>
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-10-18 13:06:43 -06:00
Michael Telatynski
2cf8a9a2f7
Stabilise Cypress login tests (#9446)
* Attempt to stabilise login tests

* More stability

* Stabilise s'more

* don't clear LS as we rely on it for enablements

* Add small delay

* Iterate

* Update login.ts
2022-10-18 17:07:23 +01:00
Kerry
17fce6ccb2
Device manager - device tile main click target (#9409)
* change device tile click to toggle details instead of selection

* lint

* test current device section click

* stuck cypress
2022-10-14 12:43:20 +01:00
Kerry
3a39dfc851
Cypress - fix device manager test (#9408) 2022-10-13 19:33:55 +00:00
Michael Telatynski
aa9f8eac52
Fix flakiness of kick.spec.ts due to cy.get(...).contains(...).should(...); anti-pattern (#9411)
* Update kick.spec.ts

* Update kick.spec.ts
2022-10-13 13:50:38 +01:00
Kerry
28bd58e551
Device manager - cypress test (#9398)
* test new device manager

* Update cypress/e2e/settings/device-management.spec.ts

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

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-10-13 07:27:48 +00:00
Michael Telatynski
8b54be6f48
Move from browser-request to fetch (#9345) 2022-10-12 18:59:07 +01:00
Kerry
13458250bc
Cypress - stabilise "creating a DM should work" test (#9373)
* better error message for failed bot room join

* wait for room invite before attempting bot join

* remove sent receipt assertion

* lint

* remove debug formatting

* use RoomMemberEvent enum from window
2022-10-07 13:34:28 +02:00
Michael Weimann
7fd2fb9359
Increase timeout in Cypress register test (#9371) 2022-10-07 11:29:04 +00:00
Michael Weimann
20ce0e6c8c
Increase timeout waiting for home screen after login in cypress test (#9370)
* Increase timeout waiting for home screen after login in cypress test
2022-10-07 10:50:57 +02:00
Michael Weimann
c4432a8a97
Fix flaky polls test (#9369) 2022-10-07 08:17:08 +00:00
Robin
06dbea6255
New group call experience: Room header and PiP designs (#9351)
* Update our cancel icon

The cancel icon we're using in the app has drifted out of sync with the ones used in our designs. We also had two identical-looking icons, so this consolidates them into one.

I've simultaneously updated our chevron icons, since in the case of the 'jump to unread' timeline button, it became clear that the weight of the new close icon did not match the thinner chevron.

* Don't squish bottom/top-aligned tooltips near the edge of the screen

* Close the timeline panel when returning to the fullscreen timeline view

* Add layout switching capabilities to ElementCall

* Bring the room header in line with the group call designs

* Bring the PiP header in line with the group call designs

* Fix lints

* Clarify tooltip CSS calculations

* Test PipView

* Expand RoomHeader test coverage

* Test PipView more
2022-10-07 02:27:28 +00:00
Kerry
20f5adc9a9
avoid autojoin latency in "should be usable for a conversation" (#9364) 2022-10-06 14:09:40 +00:00
Kerry
0ec8d0ff56
cypress - maybe improve "should close spotlight after starting a DM" stability (#9363)
* explicity join bot to room instead of inviting

* remove pause
2022-10-06 12:31:04 +00:00
Oliver Sand
191b0a1517
Fix applying programmatically set height for "top" room layout (#9339)
* Fix applying programmatically set height for "top" room layout

When applying a room layout automatically (e.g. via `io.element.widgets.layout` state event), in cases the layout mode container it set to "top", the height was previously not correctly updated.

Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>

* Add cypress tests

Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>
2022-10-05 14:58:27 -06:00
Janne Mareike Koschinski
a704a2fbb7
Reduce flakiness of spotlight tests (#9310) 2022-09-30 10:54:47 +02:00
Michael Telatynski
4a23630e06
Fix soft crash around inviting invalid MXIDs in start DM on first message flow (#9281)
* Fix soft crash around inviting invalid MXIDs

* Make ts --strict happier

* Prevent suggesting invalid MXIDs

* Add tests

* Fix coverage

* Fix coverage

* Make tsc --strict happier

* Fix test

* Add tests
2022-09-16 09:03:17 +01:00
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