Commit graph

31 commits

Author SHA1 Message Date
Andy Balaam
8b7f49e74e
Rewrite doesRoomOrThreadHaveUnreadMessages to use the receipt rewrite from js-sdk (#11903)
* Rewrite doesRoomOrThreadHaveUnreadMessages to use the receipt rewrite from js-sdk

* Remove unit tests that rely on receipt timestamps

Previously, if we found a receipt for an unknown event, we would use the
receipt timestamp and declare all events before that time to be read.
Now, we ignore such "dangling" receipts until we find the event they
refer to.

This new behaviour is more correct, but does lead to more messages being
considered unread.

This commit deletes tests that checked for the old behaviour.

* Check for a missing thread in determineUnreadState

* Fix incorrect way to find room timeline

* More realistic test setup to support new receipt code

* Update snapshot to expect a room to be unread when there are no receipts

* Formatting fixes

* Update snapshot to show menu and notif button

* Disable some flaky tests

* Disable some flaky tests

* Fix test to make a threaded receipt for an event that is actually in the thread

---------

Co-authored-by: Florian Duros <florianduros@element.io>
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
2023-11-29 13:36:52 +00:00
Andy Balaam
8c759a9655 Disable 'Looking in thread view to find old threads...' because of flakes 2023-11-10 15:31:54 +00:00
Andy Balaam
9b40b8f225 Disable test 'Paging up to find old threads' on Rust due to flakes 2023-11-10 11:08:00 +00:00
Andy Balaam
f57dae0926
Enable tests fixed by https://github.com/matrix-org/matrix-js-sdk/pull/3817 (#11781) 2023-11-09 14:47:14 +00:00
Florian Duros
b1e283dc42
Fill cypress test high-level.spec.ts > A receipt for the last unimportant event makes the room read, even if all are unimportant (#11830)
* Fill cypress test `high-level.spec.ts` > `A receipt for the last unimportant event makes the room read, even if all are unimportant`

* Test on `room2` instead of `room1`
2023-11-08 08:59:38 +00:00
Kerry
238ff8d665
Cypress flake: disable Paging up through old messages after a room is read leaves the room read (#11801)
* disable flaky cypress test `Paging up through old messages after a room is read leaves the room read`

* Update cypress/e2e/read-receipts/high-level.spec.ts

---------

Co-authored-by: Michael Weimann <michaelw@matrix.org>
2023-10-26 07:30:51 +00:00
Florian Duros
a306a08780
Disable After marking room as read, paging up to find old threads that were never read leaves the room read for new crypto (#11795) 2023-10-25 09:10:21 +00:00
Andy Balaam
fa559cddbe
Skip flaky test 'Looking in thread view to find old threads' (#11724) 2023-10-19 11:06:57 +00:00
Richard van der Hoff
7ff2b02364
Disable a bunch of flaky cypress tests (#11719) 2023-10-05 15:30:49 +01:00
Andy Balaam
ff1057fb0a Share code for room initialisation between read receipt tests 2023-10-02 16:59:38 +01:00
Andy Balaam
966d8bd695
Ensure the bot has joined the correct room before we start the test (#11693) 2023-10-02 12:51:56 +00:00
Andy Balaam
506f286a3e
Tests for paging up to find old messages (#11650)
* Use longer numbers for many() messages to avoid substring clashes

* Tests for paging up
2023-09-29 08:26:47 +00:00
Andy Balaam
4097844fed Fix flake in high-level tests by not using markAsRead 2023-09-25 09:55:37 +01:00
Andy Balaam
1c2d604abe
Split the read-receipt tests into logical units (#11649)
* Split the read-receipt tests into logical units

* Move read-receipt docs into a readme file

* Provide doc comments for exported functions in read-receipt tests
2023-09-22 11:57:40 +00:00
Andy Balaam
8ac25758b3
Cypress tests for redacted messages in threads and thread roots (#11629)
* Tests for redacted messages in threads and thread roots

* Cache redacted events and enable tests that refer to them
2023-09-20 10:57:24 +00:00
Andy Balaam
d46d4b3d04
More tests for reactions to messages in threads (#11612)
* Tests for redacting messages not increasing unreads

* Comment explaining tips for writing high level rr tests

* Test for restarting with a receipt pointing at a redacted thread root

* Two failing tests for counting correctly when a thread message was redacted

* Test for reading a thread containing an earlier redaction

* Failing tests for redacted messages in threads

* More tests for reactions to messages in threads

* Wait before looking for the thread list, to let the room settle
2023-09-19 13:29:04 +00:00
Andy Balaam
e887c6d71f
Cypress tests for redactions in threads (#11594)
* Tests for redacting messages not increasing unreads

* Comment explaining tips for writing high level rr tests

* Test for restarting with a receipt pointing at a redacted thread root

* Two failing tests for counting correctly when a thread message was redacted

* Test for reading a thread containing an earlier redaction

* Failing tests for redacted messages in threads
2023-09-18 15:01:05 +00:00
Andy Balaam
5a3c32e26c
More assertions about threads being read (#11505) 2023-09-18 09:09:47 +00:00
Andy Balaam
b1f455eb2d
Assert that the thread is unread after an edit (#11504)
* Expand a thread reply test to be more explicit

* Add an assertion that the thread is read after I read it

* Assert that the thread is unread after an edit
2023-09-12 11:41:04 +00:00
Andy Balaam
a4156add49
Tests for thread roots and reading history (#11588)
* Minor improvements to unread tests

* Test for reading an older message in a room

* Test for reading an old message in a thread

Also a mostly-trivial test for read status being preserved over
restarts.

* Give the reason for a failing test

* Fix a failing test by making it wait for a thread to be read

* More tests for thread roots
2023-09-12 03:22:04 +00:00
Andy Balaam
a621dfa6c1
Expand a thread reply test to be more explicit (#11502) 2023-09-09 06:45:48 +00:00
Andy Balaam
a4b861637f
Avoid using markAsRead where we don't need it (#11517)
* Avoid using markAsRead where we don't need it

* Review response
2023-09-08 13:07:26 +00:00
Andy Balaam
493d5083a8
Tests for reacting to thread roots (#11586) 2023-09-08 13:06:44 +00:00
Andy Balaam
728a3a751a
Tests for redactions in the main timeline (#11587) 2023-09-08 13:06:25 +00:00
Andy Balaam
77b681eed9
Add a (failing for unrelated reasons) test for reading a thread root (#11534) 2023-09-08 00:32:16 +00:00
Andy Balaam
f8ff95349a
Add a 'm.relates_to' to edits in receipt tests and disable failing tests (#11501)
* Add a 'm.relates_to' to edits in receipt tests

* Disable a test that fails with real edits

* Wait for the room to be read after we mark it as read

* Skip tests that are failing because of inconsistencies between local and CI behaviour
2023-09-04 16:08:03 +00:00
Andy Balaam
c7b0850ffe
Improve comments in unread tests (#11491) 2023-08-31 13:08:37 +00:00
Andy Balaam
aaea42c626
Use a single synapse for all unread tests. (#11489)
Saves about 30 seconds per run.
2023-08-30 15:15:47 +00:00
Andy Balaam
5b290196cd
Fix read receipt tests with incorrect read counts (#11465)
These counts were transiently correct if the client was slow enough, so
the tests usually passed, but actually they were wrong.
2023-08-25 09:20:43 +00:00
Michael Telatynski
beafe686a9
Wire up more high level read receipt tests (#11408)
* Improve existing tests

* Wire up more tests

* Wire up more tests

* Wire up more tests

* Wire up more tests
2023-08-15 14:08:53 +00:00
Andy Balaam
c55400de18
Tests for read/unread status (#11301)
* Add some fantasy tests

* Turn commented code into pretend-real code

* First pass at a list of all the cases we should test

* List test cases related to redactions

* Add testcases about paging up

* Add a case about notification counts

* More test cases related to replies, notifications, room list

* Iterate tests

* Wire up additional tests

* Wire up more tests

* Tidy

* Wire up more tests

* Wire up more tests

* Wire up more tests

* Wire up more tests

* Mute browser

* Silence electron warnings

* Iterate

* revert

* Wire up more tests

* Try to stabilise tests

* Try to stabilise tests

* Validate that the notification dot is missing as well as the count

* Skip a test that is failing for unknown reasons

* Use markAsRead in 'marking as read' test and add related test

* Fix incorrect comment

* Extract tests to their own suite

* Attempt to fix test

* Wire up more tests

* Wire up more tests

* Wire up more tests

* Wire up more tests

* Iterate

* Add comments

* Iterate

* Fix comments

* Update cypress/e2e/read-receipts/high-level.spec.ts

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

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-08-10 12:59:01 +00:00