Commit Graph

26910 Commits (c22cb6c32576b1aa73a88626168938520a6eac35)

Author SHA1 Message Date
Travis Ralston c22cb6c325 Short-circuit room list store dispatch handling if not ready
We were taking 0.2ms to handle the registration of a timer per event during startup, even before the app is visible to the user. These timers would be short-circuited too, leading to a bunch of wasted time.

0.2ms isn't a lot of time, but multiplied by thousands of events at startup it's pretty significant.

On my account this reduces the full page spinner time from ~50 seconds to just over 20 seconds.
2020-07-22 13:35:41 -06:00
Travis Ralston f27afc6ff8 Fix message previews not updating on their own 2020-07-22 12:43:10 -06:00
Travis Ralston 0ef6696c0a Don't re-freeze AsyncStore's state all the time 2020-07-22 10:52:45 -06:00
Travis Ralston d593d24aea Switch to an internal Map for previews
This means we're abusing the AsyncStoreWithClient to get access to a lifecycle, but overall that seems like a minor crime compared to the time spend abusing the store's state as a map.

With thousands of rooms shown, we can save on average 743ms per preview. The new preview time is 0.12ms on average.
2020-07-22 10:50:54 -06:00
Travis Ralston 67fd6e6122
Merge pull request #5034 from matrix-org/travis/fix-perf
Mixed bag of performance improvements: ScrollPanel and notifications
2020-07-22 08:24:04 -06:00
Travis Ralston 61c5b4f9bf deunderscore 2020-07-22 08:23:47 -06:00
Michael Telatynski 6bb9be56cd
Merge pull request #5025 from matrix-org/t3chguy/room-list/14662
Update message previews
2020-07-22 10:03:30 +01:00
Travis Ralston 685e1c51d6
Merge pull request #5035 from robintown/translate-create-room
Translate create room buttons
2020-07-21 22:05:24 -06:00
Robin Townsend 83ab151d96 Translate create room buttons
Signed-off-by: Robin Townsend <robintown@tcakoi.dev>
2020-07-22 03:54:15 +00:00
Travis Ralston cd77434a69 Appease the linter 2020-07-21 20:59:33 -06:00
Travis Ralston c9da1e1874 Remove even more tags from the notification state fetching for a room 2020-07-21 20:58:59 -06:00
Travis Ralston 97739c9a73 Add more statements to avoid layout changes 2020-07-21 20:56:07 -06:00
Travis Ralston 507fa01ade Remove missed area for notification state fetching 2020-07-21 20:51:40 -06:00
Travis Ralston dd16ec070c Replace countRoomsWithNotif with a dedicated NotificationState
Fixes https://github.com/vector-im/riot-web/issues/14694

Instead of spending 10-1000ms in a function iterating over a whole lot of room events, we can use our cached state from the Notification State Store. 

This commit sets up a structure that could be applied to communities in the TagPanel too, as that could probably use a similar optimization.

This reduces the updateStatusIndicator() time to just 4ms on average.
2020-07-21 20:24:44 -06:00
Travis Ralston 6a29cd33c1 Remove tag specificity from notification states
We don't need this complexity now that we aren't doing per-tag logic.
2020-07-21 19:59:17 -06:00
Travis Ralston 928acbdc11 Wrap ScrollPanel layout changes in if statements
These conditions are rarely true, but when they are it saves ~28ms of forced layout changes.
2020-07-21 19:52:50 -06:00
Travis Ralston 5dd5d4922f
Merge pull request #5033 from robintown/escape-composer-placeholder
Escape single quotes in composer placeholder
2020-07-21 19:06:10 -06:00
Robin Townsend 951570a97f Escape single quotes in composer placeholder
Signed-off-by: Robin Townsend <robintown@tcakoi.dev>
2020-07-22 00:47:48 +00:00
Travis Ralston bcc6c96030
Merge pull request #5032 from matrix-org/travis/perf/blur-bg
Don't hammer on the layout engine with avatar updates for the background
2020-07-21 15:07:58 -06:00
Travis Ralston 0a846cb1b5 Don't hammer on the layout engine with avatar updates for the background
Changing the property on every render of the left panel (which is basically all the time) is super bad on the GPU and for our CPU. We should only do that when something changes.
2020-07-21 15:02:59 -06:00
Travis Ralston ba73ce16e6
Merge pull request #5031 from matrix-org/travis/room-list/a-z-order
Ensure incremental updates to the ImportanceAlgorithm trigger A-Z order
2020-07-21 14:28:46 -06:00
Travis Ralston 6a38833a2b Ensure incremental updates to the ImportanceAlgorithm trigger A-Z order
Fixes https://github.com/vector-im/riot-web/issues/14475

Background: Sticky rooms are actually a pair of lies to the underlying algorithm as a combination of REMOVE_ROOM/NEW_ROOM calls so they don't get considered as needing to be sorted. When a room is added under the importance algorithm, it is expected that the category it is being added to will be re-sorted to account for the change, however we weren't doing that since we optimized the NewRoom path to be a splice operation.
2020-07-21 14:12:58 -06:00
Hubert Chathi cbe4f04cd7
Merge pull request #5029 from uhoreg/sanitize_language
don't syntax highlight languages that begin with "_"
2020-07-21 13:12:51 -04:00
Michael Telatynski e54eea0c51
Merge pull request #4956 from matrix-org/t3chguy/ts/1
Convert Modal to TypeScript
2020-07-21 17:55:20 +01:00
Hubert Chathi 2ce493307e don't syntax highlight languages that begin with "_" 2020-07-21 12:47:40 -04:00
Jorik Schellekens 8ac2c7219f
Merge pull request #4815 from matrix-org/joriks/eslint-config
Use new eslint dependency and remove tslint
2020-07-21 16:29:55 +01:00
Jorik Schellekens 22994bddf4
Update src/indexing/BaseEventIndexManager.ts
Co-authored-by: Travis Ralston <travpc@gmail.com>
2020-07-21 16:22:17 +01:00
Jorik Schellekens a06cc77411 Remove unused imports 2020-07-21 15:34:00 +01:00
Jorik Schellekens 501e0c29ca Merge remote-tracking branch 'origin' into joriks/eslint-config 2020-07-21 15:32:50 +01:00
Travis Ralston 37aed54d12
Merge pull request #5024 from matrix-org/travis/room-list/custom-tags
Support custom tags in the room list again
2020-07-21 06:46:50 -06:00
Michael Telatynski a1effe04ad
Merge pull request #5028 from matrix-org/t3chguy/fix/14671
Fix the tag panel context menu
2020-07-21 13:26:05 +01:00
Michael Telatynski ae069576f6 Fix the tag panel context menu
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-21 10:33:30 +01:00
Jorik Schellekens be5db851ca Revert unsafe rename and use boolean coercion 2020-07-21 10:29:05 +01:00
Michael Telatynski 193a0d89af Prefix message previews for emotes with a *
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-21 09:31:22 +01:00
Michael Telatynski eb0e9ecab4 Remove message previews for state events
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-21 09:28:27 +01:00
Travis Ralston de35e0dfcd Update i18n 2020-07-20 16:56:41 -06:00
Travis Ralston a0b2859436 Support custom tags in the room list again
Fixes https://github.com/vector-im/riot-web/issues/14091

Design needs work, however this is behind labs anyways. This re-implements the behaviour of the old room list.

The implementation ended up being a lot easier due to early confusion with what the TagOrderStore and TagPanel take care of. Turns out they don't deal with tags, but groups. As such, we don't need to do anything with filtering (though we keep some sanity checks in place for safety), and just have to wire up the CustomRoomTagPanel and CustomRoomTagStore.
2020-07-20 16:51:16 -06:00
Travis Ralston 4de1645ac7
Merge pull request #5021 from matrix-org/t3chguy/room-list/14631
Tag Watcher don't create new filter if not needed, confuses references
2020-07-20 15:13:09 -06:00
Jorik Schellekens 6219e67a8a add dep eslint-config-matrix-org 2020-07-20 21:19:49 +01:00
Jorik Schellekens 6433e163f7 Use variable name instead of _ 2020-07-20 20:55:35 +01:00
Jorik Schellekens 3cf8dff70d FIx coment 2020-07-20 20:50:12 +01:00
Jorik Schellekens d86eb5eb9e Lint new new code 2020-07-20 20:48:27 +01:00
Jorik Schellekens c0ce6e8161 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into joriks/eslint-config 2020-07-20 20:44:52 +01:00
Jorik Schellekens 4ba1f91a2b Fix lint issues in new code 2020-07-20 20:43:55 +01:00
Jorik Schellekens c3ffbdbdbc Fix naming format errors 2020-07-20 20:02:21 +01:00
Michael Telatynski e0ac956442
Merge pull request #4978 from matrix-org/t3chguy/ts/2
Convert editor to TypeScript
2020-07-20 17:34:53 +01:00
Michael Telatynski 7a05476c50 add missing types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-20 17:10:08 +01:00
Michael Telatynski 9fca422de7 Merge branches 'develop' and 't3chguy/ts/2' of github.com:matrix-org/matrix-react-sdk into t3chguy/ts/2 2020-07-20 17:07:18 +01:00
Michael Telatynski 06cc76f7d8 mark some things as public
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-20 16:34:52 +01:00
Michael Telatynski ed0d9973b7 Switch to a discriminated unions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-20 16:33:53 +01:00