Commit graph

26908 commits

Author SHA1 Message Date
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
Jorik Schellekens
b3fa855bd8 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into joriks/eslint-config 2020-07-20 16:22:32 +01:00
Michael Telatynski
6ef9a2474c Merge branches 'develop' and 't3chguy/ts/1' of github.com:matrix-org/matrix-react-sdk into t3chguy/ts/1
 Conflicts:
	src/@types/global.d.ts
2020-07-20 15:38:48 +01:00