Commit Graph

1632 Commits

Author SHA1 Message Date
Michael Telatynski 9743852380 Improve typescript null checking in places (#10073 (#10073
* Improve typescript null checking in places

* Iterate

* Fix Timer.ts
2023-02-03 15:27:47 +00:00
Andy Balaam add23e4d5d Pass the dynamic predecessor feature flag when listing rooms (#10068) 2023-02-03 14:09:31 +00:00
Germain 6dd578e5a7 Devtools for stuck notifications (#10042) 2023-02-03 11:07:24 +01:00
Andy Balaam b7cd28bd29 Support MSC3946 in RoomListStore (#10054) 2023-02-03 09:14:44 +00:00
Andy Balaam b416e15cbd Tests for RoomListStore's predecessor handling (#10046) 2023-02-02 13:22:30 +00:00
Germain 703587b8e9 Cleanup pre MSC3773 thread unread notif logic (#10023) 2023-01-31 16:59:24 +00:00
Clark Fischer 431afaafc6 Unify unread notification state determination (#9941)
* Add tests for unread notification facilities

Add some tests to guarantee some consistency in `useUnreadNotifications` and
`RoomNotificationState`.

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

* Add RoomNotifs#determineUnreadState

Intended as a singular replacement for the divergent implementations before.

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

* Unify room unread state determination

Have both the class-based facility and the hook use the new unified logic in
`RoomNotifs#determineUnreadState`.

Addresses https://github.com/vector-im/element-web/issues/24229

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

---------

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-01-31 09:58:17 +00:00
Kegan Dougal 8e774e1924 Prettier 2023-01-20 10:45:55 +00:00
Kegan Dougal 66d4715e84 Remove accidental import 2023-01-20 10:41:32 +00:00
Kegan Dougal 769fd4a786 TS errors 2023-01-20 10:32:53 +00:00
Kegan Dougal 186938d32a prettier 2023-01-19 11:02:43 +00:00
Kegan Dougal 21f0825703 refactor: sliding sync: convert to lists-as-keys rather than indexes
Sister PR to https://github.com/matrix-org/matrix-js-sdk/pull/3076
2023-01-18 17:19:12 +00:00
Michael Weimann 6d354e3e10 Add test coverage (#9928) 2023-01-18 15:49:34 +01:00
maheichyk 53a3f3861e Merge branch 'develop' into widget_state_no_update_invitation_room 2023-01-16 11:31:08 +03:00
Travis Ralston badb2c4b27 Use js-sdk imports for poll event types instead of events-sdk (#9904)
* Use js-sdk imports for poll event types instead of events-sdk

* Attempt to appease some tsc --strict errors

* Manually create poll response in cypress test
2023-01-13 10:02:33 -07:00
maheichyk 0ba903715a Merge branch 'develop' into widget_state_no_update_invitation_room 2023-01-12 17:58:25 +03:00
Michael Telatynski 0c30b577e0 Fix reply action in message context menu notif & file panels (#9895) 2023-01-12 14:52:52 +00:00
Michael Telatynski 030b7e90bf Enable @typescript-eslint/explicit-function-return-type in /src (#9788)
* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier

* Enable `@typescript-eslint/explicit-function-return-type` in /src

* Fix types

* tsc strict fixes

* Delint

* Fix test

* Fix bad merge
2023-01-12 13:25:14 +00:00
Mikhail Aheichyk 4f68742076 excluded 'leave' membership to fix the issue that events are not received by widget after re-invite 2023-01-12 14:37:23 +03:00
Mikhail Aheichyk 73a8c5bcc4 Merge branch 'develop' into widget_state_no_update_invitation_room 2023-01-12 10:06:51 +03:00
Mikhail Aheichyk f726314fa2 Merge branch 'develop' into widget_state_no_update_invitation_room 2023-01-11 23:15:08 +03:00
Germain 7ca1b385d9 Force enable threads labs flag 2023-01-09 12:38:19 +00:00
Michael Weimann 91e078d96b Show room broadcast when ending a recording (#9841) 2023-01-02 11:05:51 +00:00
Michael Weimann 539a50ae30 Pause non-live broadcast from other room (#9825) 2022-12-28 09:29:42 +01:00
Michael Weimann 5912c7a637 Replace broadcast instance with SDKContext (#9824) 2022-12-27 08:39:26 +01:00
mikhail.aheichyk f1f61cb40d ts error fix 2022-12-20 13:41:13 +03:00
mikhail.aheichyk 7f0621e84d ts error fix 2022-12-20 12:52:31 +03:00
mikhail.aheichyk e0b6e52d9c prettier 2022-12-20 12:20:40 +03:00
mikhail.aheichyk 71d06b4d59 Widget receives updated state events if user is re-invited into the room. 2022-12-20 11:03:50 +03:00
Germain 3ec75fdd3c Remove RoomList sorting settings (#9781) 2022-12-19 11:57:57 +00:00
Germain 8541e1c4b5 Change room list sorting to activity and unread first by default (#9773) 2022-12-19 10:42:58 +00:00
Michael Weimann 35a187a231 Handle starting a call while listen to a broadcast (#9764) 2022-12-19 08:44:19 +00:00
Michael Telatynski f1e8e7f140 Enable @typescript-eslint/explicit-member-accessibility on /src (#9785)
* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier
2022-12-16 12:29:59 +00:00
Michael Weimann 51554399fb Implement broadcast message preview (#9762) 2022-12-16 11:01:16 +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
Germain 3a501003e2 Add setting to hide bold notifications (#9705) 2022-12-06 09:59:17 +00:00
Robin d2109de4ca Remove unused Element Call capabilities (#9653)
As of 44e22e268420bd4b24a110840e2edaca46653407 in the Element Call repo, Element Call widgets no longer request the capability to start calls.
2022-11-30 13:54:18 +00:00
Michael Telatynski d258402186 Typescript updates (#9658)
* Typescript updates

* Update @types/node

* Fix more types
2022-11-30 11:32:56 +00:00
Richard van der Hoff f642765149 Pass a client into RoomNotifs.getRoomNotifsState (#9631)
Pass an explicit client into `RoomNotifs.getRoomNotifsState`, rather than
relying on `MatrixClientPeg`. This resolves a race condition where we have a
component which thinks it is using a particular component, but
`MatrixClientPeg` has been updated.
2022-11-29 10:55:15 +00:00
Robin 2c612d5aa1 Use native js-sdk group call support (#9625)
* Use native js-sdk group call support

Now that the js-sdk supports group calls natively, our group call implementation can be simplified a bit. Switching to the js-sdk implementation also brings the react-sdk up to date with recent MSC3401 changes, and adds support for joining calls from multiple devices. (So, the previous logic which sent to-device messages to prevent multi-device sessions is no longer necessary.)

* Fix strings

* Fix strict type errors
2022-11-28 16:37:32 -05:00
Michael Weimann e38c59c535 Pause voice broadcast on calls (#9623) 2022-11-28 11:43:59 +00:00
Michael Weimann a8e15ebe60 Add voice broadcast playback pip (#9603) 2022-11-24 09:08:41 +01:00
kegsay acdcda78f0 sliding sync: add lazy-loading member support (#9530)
* sliding sync: add lazy-loading member support

Also swap to `$ME` constants when referring to our own member event.

* Hook into existing LL logic when showing the MemberList

* Linting

* Use consts in js sdk not react sdk

* Add jest tests

* linting

* Store the room in the test

* Fix up getRoom impl

* Add MemberListStore

* Use the right context in MemberList tests

* Fix RightPanel-test

* Always return members even if we lazy load

* Add MemberListStore tests

* Additional tests
2022-11-18 19:05:00 +00:00
Michael Telatynski e66027cd0c Deduplicate string compare utility (#9579) 2022-11-15 10:20:36 +00:00
Arne Wilken 1e65dcd0aa Change ListNotificationState to store room ids (#9518)
* Changed ListNotificationState to store room ids

ListNotificationState stores a reference to a rooms array which is later
used for comparing the stored array with new arrays. However, the
comparison may fail since the stored array can be changed outside the
class. This PR proposes to instead store only the room ids, which
hopefully allows to avoid the issue by copying the room ids into
a new array, while still being performant.

Signed-off-by: Arne Wilken arnepokemon@yahoo.de

* Change ListNotificationState to shallow clone rooms

Instead of using room ids like in the previous commit,
shallow clone the rooms array instead.

Signed-off-by: Arne Wilken arnepokemon@yahoo.de
Co-authored-by: Robin <robin@robin.town>
2022-11-01 20:56:40 +00:00
Janne Mareike Koschinski d92fdc1f5b Loading threads with server-side assistance (#9356)
* Fix bug with message context menu
* fix bug where ThreadSummary failed if no last reply is available
* Fix relations direction API
* Use same API for threads as for any other timeline
* Determine if event belongs to thread on jumping to event
* properly listen to thread deletion
* Add thread redaction tests
* Add fetchInitialEvent tests
* Paginate using default TimelinePanel behaviour
* Remove unused threads deleted code

Co-authored-by: Germain <germain@souquet.com>
Co-authored-by: Germain <germains@element.io>
2022-10-28 13:48:15 +02:00
Germain 750ca78e98 Fix room list sorted by recent on app startup (#9515) 2022-10-28 10:53:50 +01:00
Germain 07003a5bc1 Make thread replies trigger a room list re-ordering (#9510) 2022-10-27 13:50:05 +01:00
kegsay 0453b264e3 Sliding Sync: improve sort order, show subspace rooms, better tombstoned room handling (#9484)
* Add support for include_old_rooms and by_notification_level

* Include subspaces when apply spaces filter

* Remove stray is_tombstoned

* tests: add SlidingRoomListStore jest tests; update proxy version in cypress

* Add additional tests

* Additional tests

* Linting

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

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-10-26 14:04:03 +01:00