Commit graph

21361 commits

Author SHA1 Message Date
Jorik Schellekens
d55699211e Update copy icon on pre block and share dialogues 2020-07-27 15:13:02 +01:00
Michael Telatynski
c578026474 Merge branches 'develop' and 't3chguy/fix/13641' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/13641
 Conflicts:
	src/editor/parts.ts
2020-07-24 08:18:20 +01:00
Michael Telatynski
60a6b13f4b
Merge pull request #5026 from matrix-org/t3chguy/room-list/14440
Put low priority xor toggle back in the room list context menu
2020-07-24 00:02:50 +01:00
Michael Telatynski
55b9ba23c2
Merge pull request #5040 from matrix-org/t3chguy/community-autocomplete
Fix autocompletion of Community IDs
2020-07-24 00:01:48 +01:00
Travis Ralston
2abec8b100 Disable lint in InviteDialog 2020-07-23 15:58:06 -06:00
David Baker
6fb257df7a Add dismiss button to rebrand toast
Fixes https://github.com/vector-im/riot-web/issues/14575
2020-07-23 17:33:14 +01:00
Michael Telatynski
c8832f5582 Fix autocompletion of Community IDs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-23 14:47:42 +01:00
Michael Telatynski
4db0d94fb6
Merge pull request #5039 from matrix-org/t3chguy/fix/14684
Fix Firefox composer regression exception
2020-07-23 10:11:02 +01:00
Michael Telatynski
ff8f1af01e
Merge pull request #5037 from matrix-org/t3chguy/room-list/14705
Fix BaseAvatar wrongly using Buttons when it needs not
2020-07-23 09:27:20 +01:00
Michael Telatynski
adba9415b3 Fix Firefox composer regression exception
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-23 09:25:01 +01:00
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
Michael Telatynski
6546f98e18 Fix BaseAvatar wrongly using Buttons when it needs not
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-22 20:01:14 +01: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
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
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
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
Michael Telatynski
0075ae2187 update emoji provider regex
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-21 17:53:16 +01:00
Michael Telatynski
93884cb89b Update PlainBasePart to only split on space boundaries
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-21 17:50:24 +01:00
Hubert Chathi
2ce493307e don't syntax highlight languages that begin with "_" 2020-07-21 12:47:40 -04: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
29c984455e tidy up
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-21 13:43:42 +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
aaad18c9c2 i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-21 09:55:22 +01:00
Michael Telatynski
fe0c660fac Put low priority xor toggle back in the room list context menu
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-21 09:50:20 +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
6433e163f7 Use variable name instead of _ 2020-07-20 20:55:35 +01:00