Commit graph

11501 commits

Author SHA1 Message Date
Bruno Windels
fba1158700
Merge pull request #5079 from matrix-org/bwindels/alert-file-panel-empty-state
Add title and icon to empty state of file and notification panel
2020-08-03 12:58:13 +00:00
Michael Telatynski
25499fc687
Merge pull request #5045 from matrix-org/t3chguy/fix/10818
Mass redact ignore room creation events
2020-08-03 13:52:21 +01:00
Michael Telatynski
0a700bc8e4 Iterate copy on download logs button 2020-08-03 13:21:04 +01:00
Michael Telatynski
cbcac9dd49 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into travis/download-logs
 Conflicts:
	package.json
2020-08-03 12:54:06 +01:00
Bruno Windels
5a3bda7eea Add title and icon to empty state of file and notification panel 2020-08-03 13:30:56 +02:00
Travis Ralston
e8d1024c45
Merge pull request #5076 from matrix-org/travis/cleanup/1
Clean up documentation of Whenable + fix other code concerns
2020-07-31 11:27:19 -06:00
Travis Ralston
3443761007
Merge pull request #5062 from matrix-org/travis/settings/ts
Convert SettingsStore to TypeScript
2020-07-31 11:07:07 -06:00
Bruno Windels
a3ca80b206 move the reply preview one level higher so the buttons and avatar don't get centered with it 2020-07-31 18:27:07 +02:00
Travis Ralston
7645fe6b23 Update context transaction states 2020-07-31 10:00:02 -06:00
Bruno Windels
5c05b494df remove emoji icons in autocomplete/reply by designer request 2020-07-31 14:14:37 +02:00
Bruno Windels
d24ddc415b Notify the timeline it's height has changed, so it can keep being at the bottom
this way new messages will appear in the timeline without needing to scroll
2020-07-31 14:02:40 +02:00
Bruno Windels
01d624fdaf Make the reply preview not an overlay on the timeline anymore
As users can't scroll down all the way down to the timeline like this to
see the last message (and perhaps adjust their reply to it)

This also remove the wrapper div as it is not needed anymore
2020-07-31 13:47:40 +02:00
J. Ryan Stinnett
af49639bd8
Merge pull request #5065 from matrix-org/travis/echo/audit
Add local echo for notifications in the new room list
2020-07-31 12:20:20 +01:00
J. Ryan Stinnett
76293970f4
Merge pull request #5070 from matrix-org/travis/room-list/regressions
Fix various small regressions in the room list's behaviour
2020-07-31 11:46:30 +01:00
Travis Ralston
49abfc1fb2 Ensure sublists are updated when rooms are removed from them
Fixes https://github.com/vector-im/riot-web/issues/14798 (part 2)

This is in two parts itself: The `RoomSublist` needs to break its references to the `RoomListStore`, so it now clones the room arrays. The `Algorithm` is the other part, which is slightly more complicated.

It turns out that we weren't handling splicing as a change in the `ImportanceAlgorithm`, therefore the `Algorithm` wasn't really feeling like it needed to change anything. Further, the `Algorithm` was using the wrong reference to where it should be dumping rooms (`this.cachedRooms` is a getter which returns a different object depending on conditions), so having fixed that we need to ensure that the filtered and sticky maps are also updated when we remove a room. Because we send the new tag through a Timeline update, we'll end up updating the tag later on and don't need to update the filter and sticky collections.
2020-07-30 15:06:04 -06:00
Travis Ralston
5b15d12865 Ensure list visibility changes get counted as list changes
Fixes https://github.com/vector-im/riot-web/issues/14799

We were checking to see if the tags were visible at render time, but we needed to ensure that they were(n't) included when checking for diffs. This introduces a new kind of object cloning for semantic reasons.

This also fixes the selection indicator being a bit off on custom tags.
2020-07-30 14:18:54 -06:00
Travis Ralston
e953bfbf88 Replace flawed objectHasValueChange usage with objectHasDiff
Fixes https://github.com/vector-im/riot-web/issues/14782

We need to check if the keys changed, not just the values.
2020-07-30 14:08:18 -06:00
David Baker
f3320f5041 Fix key backup warning on soft logout page
It always showed the warning (if you had at least one session key
in your store) because flagAllGroupSessionsForBackup returns the
number of keys pending backup after flagging them all for backup,
ie. all of them. Seems like the intention was to only show the
warning if there were keys that had not yet been backed up.

Fixes https://github.com/vector-im/riot-web/issues/14829
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1429
2020-07-30 19:09:47 +01:00
Travis Ralston
968fbd5cba Merge branch 'develop' into travis/echo/audit 2020-07-30 10:18:30 -06:00
Travis Ralston
7522380763 Update copy 2020-07-30 10:17:47 -06:00
Travis Ralston
fca6def588 Rename and document what local echo is 2020-07-30 09:15:19 -06:00
Travis Ralston
9bbb7a5310 Merge branch 'develop' into travis/settings/ts 2020-07-30 08:51:42 -06:00
Jorik Schellekens
b1f8fe40d6
Merge pull request #5036 from swapnilraj/swapnilraj/right-panel-ts
Convert right_panel to TS
2020-07-30 13:37:01 +01:00
Swapnil Raj
1b4b594f92 Change public to protected for onAction 2020-07-30 16:13:13 +05:30
Swapnil Raj
d0e2695114 Add access specifier to class methods 2020-07-30 15:58:07 +05:30
Swapnil Raj
fbc341a2f5 Clean up types properly 2020-07-30 11:51:10 +05:30
Swapnil Raj
9aa128a6e8 Revert "Cleanup types"
This reverts commit 97cef335e8.
2020-07-30 11:45:49 +05:30
Swapnil Raj
97cef335e8 Cleanup types 2020-07-30 11:27:53 +05:30
Travis Ralston
c5574219bb Implement dialog for resending local echo transactions 2020-07-29 20:36:04 -06:00
Travis Ralston
14b0def143 Fix echo handling and show a barebones toast on error
The EchoTransaction was wrongly assuming that it knew better than the caller for when the success condition was met, so the echo marking has been left an exercise for the caller. In this case, we mark when we finally receive the sync with the updated rules.

We also have to cancel previous transactions otherwise if the user mashes buttons we could forever show the toast, and that would be bad.
2020-07-29 19:11:24 -06:00
Travis Ralston
0f1b9937a9 Connect RoomTile's notification volume to local echo
This presumes success as we don't yet have a UI for failures.
2020-07-29 16:54:33 -06:00
Travis Ralston
14757cacd5 Introduce a concept of "non-urgent" toasts
This is somewhat expected to be temporary.
2020-07-29 12:43:35 -06:00
Swapnil Raj
b8e51076a8 Fix private functions for RoomHeaderButtons 2020-07-29 23:58:32 +05:30
Travis Ralston
9c8682428f Fix various TypeScript linting issues 2020-07-29 11:03:43 -06:00
Swapnil Raj
8120a26135 A bit more cleanup 2020-07-29 17:35:55 +05:30
Swapnil Raj
aa160095fa Cleanup 2020-07-29 17:26:51 +05:30
Swapnil Raj
bf450ad075 Fix the type for SetRightPanelPhasePayload
Fix uses of it as well
2020-07-29 16:59:29 +05:30
Travis Ralston
4969cfe9de Appease the linter 2020-07-28 16:37:09 -06:00
Travis Ralston
1f7f40736b Fix imports for SettingLevel to point at new file 2020-07-28 11:53:43 -06:00
Jorik Schellekens
f64ef65f97 Use StyledRadioGroup 2020-07-28 17:13:58 +01:00
J. Ryan Stinnett
79348b44cb
Merge pull request #4075 from MarcoZehe/SuppressSpeechWhenSending
Don't speak the outgoing message if it is in the Sending state.
2020-07-28 16:24:28 +01:00
Michael Telatynski
2d918a6dfc
Merge pull request #5052 from matrix-org/t3chguy/fix/14501
Remove poorly contrasted "dark style" heading in Room Preview Bar
2020-07-28 16:13:43 +01:00
Jorik Schellekens
4f55ef685d
Merge pull request #4989 from matrix-org/joriks/resize-handlebars-2.0
Fix handlebar interaction
2020-07-28 14:30:00 +01:00
Jorik Schellekens
4ab3ea395a lint 2020-07-28 13:56:18 +01:00
Travis Ralston
3561de3f8a
Merge pull request #5054 from matrix-org/travis/perf6
Minor improvements to filtering performance
2020-07-28 06:37:27 -06:00
Jorik Schellekens
9cd232617d Unify composer and room header icons 2020-07-28 13:19:11 +01:00
Michael Telatynski
e7ec34e61e Fix TextWithTooltip "leaking" tooltip wrappers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-28 10:13:13 +01:00
Travis Ralston
2a8881f753 Fix typing error 2020-07-27 17:41:23 -06:00
Travis Ralston
900c234434 Internalize notification state handling for lists
This reduces the update cost of rooms changing, and fixes a bug where when a sublist became filtered it would change the notification count of the sublist.

This does change the expected usage of the state store to ensuring that only one place updates the rooms on the list states, which is currently the room list store. Ideally the state store could listen to the room list store to update itself, however due to a complicated require() loop it is not possible.
2020-07-27 17:33:27 -06:00
Travis Ralston
517c93a7d5 Move expand-on-filter into the sublist
It's a bit more complicated this way, but helps reduce some of the latency involved in remounting the entire room list.
2020-07-27 16:35:48 -06:00
Travis Ralston
c6033b9410 Move search out of RoomList and LeftPanel, into RoomSearch
This prevents the entire left panel from having to re-mount whenever the search query changes.
2020-07-27 16:35:48 -06:00
Travis Ralston
42498d32cc Move community filtering into the sublist
This is a step towards the room list not having to concern itself with the search parameters.
2020-07-27 16:35:48 -06:00
Jorik Schellekens
447ef63950 Replace old checkboxes 2020-07-27 16:36:31 +01:00
Jorik Schellekens
d55699211e Update copy icon on pre block and share dialogues 2020-07-27 15:13:02 +01:00
Michael Telatynski
992d7215c7 Remove poorly contrasted "dark style" heading in Room Preview Bar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-27 14:59:00 +01:00
Michael Telatynski
a74470aff0 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/desync
 Conflicts:
	src/components/views/rooms/RoomTile.tsx
2020-07-27 14:42:26 +01:00
Michael Telatynski
368d1bf699 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-27 14:40:41 +01:00
Michael Telatynski
1085d89e11 RoomList listen to notificationState updates for bolding
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-27 14:39:30 +01:00
Travis Ralston
8e7b60b11e Remove useless if statement 2020-07-24 14:07:37 -06:00
Travis Ralston
593b472e50 Ensure notification badges stop listening when they unmount 2020-07-24 14:02:43 -06:00
Travis Ralston
46f9d44e64 Use PureComponent instead
It ranges wildly between 10 and 50ms while ours is stable at 30-40ms, but the effort doesn't need to be duplicated.
2020-07-24 13:58:21 -06:00
Travis Ralston
e3800dba0e Remove debug logging 2020-07-24 13:23:51 -06:00
Travis Ralston
c3623f439c Rip hover support out of the RoomTile component
It's all handled by CSS and this literally does nothing but spam renders.
2020-07-24 13:10:39 -06:00
Travis Ralston
37035f945b Move message previews into RoomTile's state
Now that it doesn't re-render without state updates, we should just wedge it into state.
2020-07-24 13:09:26 -06:00
Travis Ralston
09808fa7be Only update RoomTiles when they change significantly 2020-07-24 12:58:10 -06:00
Travis Ralston
d26fcb7f16
Update src/components/views/rooms/RoomList.tsx
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-07-24 11:16:40 -06:00
Travis Ralston
4d7980eb07 Ensure references to the room list store are broken for diffing
See commit diff for details.
2020-07-24 10:38:04 -06:00
Travis Ralston
0a31bd169c Skip updates in collapsed lists too 2020-07-24 10:20:00 -06:00
Travis Ralston
82f90c4734 Do the faster length change check first
... because it's faster. Also we don't need to diff the array here.
2020-07-23 22:31:52 -06:00
Travis Ralston
fd15fc3984 Ensure message previews update when needed
In 9969b01c5f we stopped updating the sublist whenever we felt like it, which indirectly froze message previews for room tiles (badges, unread state, etc were unaffected because that is managed by a different store). To fix this, we simply have to listen for changes and perform an update.
2020-07-23 22:24:07 -06:00
Travis Ralston
7e50464eeb Fix filtering causing sticky header artifacts
In 7b97c3032b we reduced the RoomList updates to just added/removed sublists, but didn't consider that we might also have to handle lengths of those sublists changing enough for us to fix the sticky headers.
2020-07-23 22:19:16 -06:00
Travis Ralston
9969b01c5f Only render sublists when they change significantly
We can ignore off-screen updates, so do that. See diff for more details on what we're doing.
2020-07-23 22:13:32 -06:00
Travis Ralston
ad92e6ba00 Don't constantly re-mount the sublists with a new addRoomFn
Any time we though that the room list had to re-render we were dynamically creating a new addRoomFn, which would signal to the sublist that it needed to re-render. 

The only reason we wrap the function from the aesthetics is to provide theoretical tiling/multiaccount support through use of different dispatchers, however considering that's not a reality yet we can just use a default dispatcher when none is supplied.
2020-07-23 22:12:10 -06:00
Travis Ralston
7b97c3032b Make the sublists aware of their own list changes
This cuts the render time in half (from ~448ms to ~200ms on my account) per received event, as we're no longer re-mounting the entire room list and instead just the section(s) we care about.
2020-07-23 21:36:43 -06:00
Michael Telatynski
c1d2e27f9c Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into SuppressSpeechWhenSending 2020-07-24 00:03:55 +01:00
Michael Telatynski
862856d3be Also add aria-atomic=true
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-24 00:03:42 +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
Travis Ralston
2abec8b100 Disable lint in InviteDialog 2020-07-23 15:58:06 -06:00
Michael Telatynski
253d4abb49 Mass redact ignore room creation events
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-23 21:30:49 +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
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
Swapnil Raj
5ea7be5d53 Cleanup comments 2020-07-22 21:17:58 +05:30
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
Michael Telatynski
7c1935a44e Key EventTile's using txnId if it is set to prevent a remount
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-22 11:10:55 +01:00
Swapnil Raj
d7728881a3 lint 2020-07-22 15:22:16 +05:30
Swapnil Raj
8ae11ce886 Fix shadow-variable errors in EncryptionPanel 2020-07-22 15:14:50 +05:30
Swapnil Raj
0f0b4035b7 Fix shadow variable errors 2020-07-22 15:14:50 +05:30
Swapnil Raj
5ddae04fb0 lint 2020-07-22 15:14:50 +05:30
Swapnil Raj
8fac7a8167 Convert VerificationPanel to TS 2020-07-22 15:14:50 +05:30
Swapnil Raj
3e64ec11c0 lint 2020-07-22 15:14:50 +05:30
Swapnil Raj
36974c4231 Convert EncryptionPanel to TS 2020-07-22 15:14:50 +05:30
Swapnil Raj
dac19cffce Convert EncryptionInfo to TS 2020-07-22 15:14:50 +05:30
Swapnil Raj
a4959f43d2 Convert GroupHeaderButtons to TS
Fix typo in SetRightPanelPhasePayload
2020-07-22 15:14:50 +05:30
Swapnil Raj
887d507772 Fix key to match SetRightPanelPhasePayload's key
member -> members
2020-07-22 15:14:50 +05:30
Swapnil Raj
23e4b67a69 Convert HeaderButton to TS 2020-07-22 15:14:50 +05:30
Swapnil Raj
0f59e34a3a Nest groupId in refireParams to match types 2020-07-22 15:14:50 +05:30
Swapnil Raj
1c913b85e2 Replace strings action with correspoding type 2020-07-22 15:14:50 +05:30
Swapnil Raj
2c8b5b49ed lint 2020-07-22 15:14:50 +05:30
Swapnil Raj
1d3635e1c8 Replaced string actions with their corresponding types 2020-07-22 15:14:50 +05:30
Swapnil Raj
344185a375 Translate right panel stuff to ts
Add actions for right panel
2020-07-22 15:14:50 +05:30