element-web/src
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
..
@types Convert inputs on Export/Import Room Key dialogs to be real Fields (#9350) 2022-10-04 23:28:57 -06:00
accessibility Fix quote shortcut for most keyboard layouts (#9298) 2022-09-29 15:51:50 +00:00
actions Device manager - promote to beta (#9380) 2022-10-11 11:10:55 +02:00
async-components/views/dialogs Convert inputs on Export/Import Room Key dialogs to be real Fields (#9350) 2022-10-04 23:28:57 -06:00
audio Fix voice broadcast recording limit (#9478) 2022-10-22 13:07:39 +02:00
autocomplete Use "frequently used emojis" for autocompletion in composer (#8998) 2022-07-21 15:27:11 +02:00
components sliding-sync: spider all rooms on the user's account for search (#9514) 2022-11-01 10:27:03 +00:00
contexts Store refactor: convert WidgetPermissionStore (#9458) 2022-10-19 22:00:53 +02:00
customisations Move from browser-request to fetch (#9345) 2022-10-12 18:59:07 +01:00
dispatcher Show thread notification if thread timeline is closed (#9495) 2022-10-25 16:53:31 +00:00
editor Fix soft crash around unknown room pills (#9301) 2022-09-20 17:00:31 +00:00
effects Remove dead code (#9035) 2022-07-11 07:52:44 +02:00
emojipicker Auto fix 2021-10-22 17:23:37 -05:00
events Voice Broadcast live state / extract RelationsHelper (#9432) 2022-10-17 13:31:03 +01:00
hooks Sliding Sync: improve sort order, show subspace rooms, better tombstoned room handling (#9484) 2022-10-26 14:04:03 +01:00
i18n/strings Translations update from Weblate (#9531) 2022-11-01 14:33:52 +00:00
indexing Document what all of our "Pegs" are (just singletons) (#8510) 2022-05-09 21:34:27 -05:00
integrations Remove Piwik support (#8835) 2022-06-14 17:51:51 +01:00
mjolnir Send stable m.policy.rule.* events instead of mjolnir-prefixed unstable ones (#8300) 2022-04-13 09:10:55 +01:00
models Fix embedded Element Call screen sharing (#9485) 2022-10-24 18:54:24 +01:00
modules Support a module API surface for custom functionality (#8246) 2022-07-05 12:26:44 -06:00
notifications Remove dead code (#9035) 2022-07-11 07:52:44 +02:00
performance Add basic performance testing via Cypress (#8586) 2022-05-17 15:38:45 +01:00
rageshake Consolidate random string generation to make Sonar happier (#8675) 2022-05-24 09:05:11 +01:00
resizer Apply corrections identified by SonarQube (#8457) 2022-05-03 22:04:37 +01:00
settings Support for login + E2EE set up with QR (#9403) 2022-10-19 13:31:20 +01:00
stores Change ListNotificationState to store room ids (#9518) 2022-11-01 20:56:40 +00:00
toasts Device manager - silence call ringers when local notifications are silenced (#9420) 2022-10-17 09:16:04 +00:00
usercontent Eslint - require copyright header rule (#8514) 2022-05-06 09:09:28 +00:00
utils Loading threads with server-side assistance (#9356) 2022-10-28 13:48:15 +02:00
voice-broadcast Display voice broadcast total length (#9517) 2022-10-31 17:35:02 +00:00
widgets Implement MSC3819: Allowing widgets to send/receive to-device messages (#8885) 2022-08-10 08:57:56 -04:00
workers Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/ts/c4 2021-07-14 18:36:12 +01:00
AddThreepid.ts Move from browser-request to fetch (#9345) 2022-10-12 18:59:07 +01:00
AsyncWrapper.tsx Step 3.2: Stop using getComponent in code 2022-03-28 14:02:31 -06:00
Avatar.ts Wire local room logic (#9078) 2022-07-20 09:26:25 +02:00
BasePlatform.ts Add support for disabling spell checking (#8604) 2022-07-28 08:10:04 +00:00
BlurhashEncoder.ts add valuable ts-ignore 2021-07-14 19:16:34 +01:00
boundThreepids.ts Apply corrections identified by SonarQube (#8457) 2022-05-03 22:04:37 +01:00
call-types.ts Step 8.5: Move call event type 2022-03-28 14:02:31 -06:00
ContentMessages.ts Store refactor: use non-global stores in components (#9293) 2022-10-19 13:07:03 +01:00
createRoom.ts Move from browser-request to fetch (#9345) 2022-10-12 18:59:07 +01:00
DateUtils.ts Include a file-safe room name and ISO date in chat exports (#9440) 2022-10-17 19:54:10 -06:00
DecryptionFailureTracker.ts Fix all megolm error reported as unknown (#8916) 2022-06-30 08:55:05 +01:00
DeviceListener.ts Device manager - remove client information events when disabling setting (#9384) 2022-10-10 19:00:46 +00:00
Editing.ts Fix issue with redacting via edit composer flow causing stuck editStates (#8184) 2022-03-29 13:33:11 +01:00
email.ts
emoji.ts Upgrade emojibase and twemoji (#7286) 2022-03-23 17:08:34 +00:00
HtmlUtils.tsx Attempt to fix Failed to execute 'removeChild' on 'Node' (#9196) 2022-08-17 13:35:33 +00:00
IConfigOptions.ts Remove piwik config fallback for privacy policy URL (#9390) 2022-10-12 10:08:39 -04:00
identifiers.ts
IdentityAuthClient.tsx Make sonar happier (#9114) 2022-07-29 11:01:15 +00:00
ImageUtils.ts Run a minor code quality checker over the repo (#8524) 2022-05-09 22:52:05 +00:00
index.ts Step 6: Refactor event rendering to stop using getComponent 2022-03-28 14:02:31 -06:00
KeyBindingsDefaults.ts Apply corrections identified by SonarQube (#8457) 2022-05-03 22:04:37 +01:00
KeyBindingsManager.ts Apply corrections identified by SonarQube (#8457) 2022-05-03 22:04:37 +01:00
Keyboard.ts Remove dead code (#9035) 2022-07-11 07:52:44 +02:00
languageHandler.tsx Remove unused packages and fix invariant violation on AsyncStore onNotReady (#9404) 2022-10-13 09:22:32 +01:00
LegacyCallHandler.tsx Device manager - silence call ringers when local notifications are silenced (#9420) 2022-10-17 09:16:04 +00:00
Lifecycle.ts Stores refactor: convert TypingStore; rename TestStores to TestSdkContext (#9454) 2022-10-19 14:14:14 +01:00
linkify-matrix.ts Delete the remainder of groups (#9357) 2022-10-05 17:44:46 +00:00
Livestream.ts Use & enforce snake_case naming convention on config.json settings (#8062) 2022-03-18 10:12:36 -06:00
Login.ts Fully move auth types to js-sdk (#9499) 2022-10-25 17:00:23 -06:00
Markdown.ts Apply corrections identified by SonarQube (#8457) 2022-05-03 22:04:37 +01:00
MatrixClientPeg.ts sliding-sync: spider all rooms on the user's account for search (#9514) 2022-11-01 10:27:03 +00:00
MediaDeviceHandler.ts Fix device selection in pre-join screen for Element Call video rooms (#9321) 2022-09-30 17:28:53 +01:00
Modal.tsx Add Voice Broadcast labs setting and composer button (#9279) 2022-09-16 09:10:33 +00:00
NodeAnimator.tsx Eslint - require copyright header rule (#8514) 2022-05-06 09:09:28 +00:00
Notifier.ts Show thread notification if thread timeline is closed (#9495) 2022-10-25 16:53:31 +00:00
PageTypes.ts Delete the remainder of groups (#9357) 2022-10-05 17:44:46 +00:00
PasswordReset.ts Allow user to control if they are signed out of all devices when changing password (#8259) 2022-04-22 18:15:38 +01:00
phonenumber.ts Migrate CountryDropdown to TypeScript 2021-07-15 15:42:11 +02:00
PlatformPeg.ts Fix PlatformSettingsHandler always returning true due to returning a Promise (#8954) 2022-06-30 14:48:21 +00:00
PosthogAnalytics.ts Update matrix-analytics-events to @matrix-org/analytics-events (#8778) 2022-06-07 20:08:36 +01:00
PosthogTrackers.ts Delete the remainder of groups (#9357) 2022-10-05 17:44:46 +00:00
Presence.ts Auto fix 2021-10-22 17:23:37 -05:00
Registration.tsx Remove Piwik support (#8835) 2022-06-14 17:51:51 +01:00
Resend.ts Cancel pending events in virtual room when call placed (#7583) 2022-01-20 09:32:15 +00:00
Roles.ts Reset custom power selector when blurred on empty (#9508) 2022-10-26 16:14:33 +00:00
RoomAliasCache.ts
RoomInvite.tsx Remove Piwik support (#8835) 2022-06-14 17:51:51 +01:00
RoomNotifs.ts Add thread notification with server assistance (MSC3773) (#9400) 2022-10-24 07:50:21 +01:00
Rooms.ts Remove dead code (#9035) 2022-07-11 07:52:44 +02:00
ScalarAuthClient.ts Send Content-Type: application/json header for integration manager /register API (#9490) 2022-10-24 15:30:49 +01:00
ScalarMessaging.ts Store refactor: use non-global stores in components (#9293) 2022-10-19 13:07:03 +01:00
SdkConfig.ts Set voice broadcast defaults (#9471) 2022-10-20 15:41:10 +02:00
Searching.ts Auto fix 2021-10-22 17:23:37 -05:00
SecurityManager.ts Remove Piwik support (#8835) 2022-06-14 17:51:51 +01:00
SendHistoryManager.ts Auto fix 2021-10-22 17:23:37 -05:00
sendTimePerformanceMetrics.ts Mandate use of js-sdk/src/matrix import over js-sdk/src (#7933) 2022-03-01 20:42:05 +00:00
sentry.ts Use & enforce snake_case naming convention on config.json settings (#8062) 2022-03-18 10:12:36 -06:00
shouldHideEvent.ts Fix regression of edits showing up in the timeline with hidden events shown (#8260) 2022-04-08 12:10:10 +01:00
SlashCommands.tsx Store refactor: use non-global stores in components (#9293) 2022-10-19 13:07:03 +01:00
SlidingSyncManager.ts sliding-sync: spider all rooms on the user's account for search (#9514) 2022-11-01 10:27:03 +00:00
Terms.ts Remove Piwik support (#8835) 2022-06-14 17:51:51 +01:00
TextForEvent.tsx Add notifications and toasts for Element Call calls (#9337) 2022-10-06 14:27:12 +00:00
theme.ts Add unit tests 2022-09-28 12:46:41 +02:00
Unread.ts Add thread notification with server assistance (MSC3773) (#9400) 2022-10-24 07:50:21 +01:00
UserActivity.ts
UserAddress.ts Remove dead code (#9035) 2022-07-11 07:52:44 +02:00
verification.ts Prepare utils for local rooms (#9084) 2022-07-25 10:17:40 +02:00
Views.ts Implement Use Case Selection screen (#8984) 2022-07-13 15:43:44 +02:00
VoipUserMapper.ts Prepare for Element Call integration (#9224) 2022-08-30 15:13:39 -04:00
WhoIsTyping.ts