Commit Graph

10636 Commits (313bbaaeaac981bd35fbb14c5e38cc449587f8a3)

Author SHA1 Message Date
David Baker 9903c61a21 Fix lint errors in MessageComposerInput
and remove from ignored files

Missed a load of the async arrows functions when changing them because
they were in the ignored files, so trying to chip away at this.

A lot of these were unused imports / variables. Probably the only
interesting one was a 'this' in a non-member function which I've moved
to be a member function.
2019-01-10 09:41:26 +00:00
David Baker 3555b02f34 Merge remote-tracking branch 'origin/experimental' into dbkr/fix_recovery_reminder_cancel 2019-01-10 09:39:57 +00:00
David Baker c45ffb6733
Merge pull request #2422 from matrix-org/dbkr/eslint_async_space
Add spaces back to async arrow functions
2019-01-10 09:35:58 +00:00
David Baker b9719abbc2 Oops, missed some asyncs 2019-01-09 19:36:34 +00:00
David Baker f269b5fbbc Fix spaceless async in ignored files too 2019-01-09 19:14:30 +00:00
David Baker 8e4d8ccca7 Add spaces back to async arrow functions
As per https://github.com/matrix-org/matrix-js-sdk/pull/821

Requires https://github.com/matrix-org/matrix-js-sdk/pull/821
2019-01-09 18:10:35 +00:00
J. Ryan Stinnett 365a7273d8 Move initial key backup to background
Since the initial key backup can take several minutes for some users, this moves
the upload step to the background.  The create key backup flow now only marks
all sessions for backup synchronously, with the actual backup happening later.

The key backup panel in Settings gains a new row to show a summary of upload
status.  Users are directed there if they wish to know if the backup is done.

The text in various related dialogs has also been tweaked to fit the new flow.
2019-01-09 12:04:17 -06:00
J. Ryan Stinnett 731f9ee7df Display key backup upload progress in Settings
This adds a summary of the keys currently waiting for backup, which may be
useful for following a large upload as it progresses.
2019-01-09 12:04:17 -06:00
J. Ryan Stinnett 7dbc970347 Mark KeyBackupPanel as a pure component
KeyBackupPanel depends only on its own state and its children are pure, so it
can be pure as well. This avoids some unnecessary re-renders.
2019-01-09 12:04:17 -06:00
J. Ryan Stinnett 2bfe6e7500 Fix React nesting error in create key backup 2019-01-09 12:04:17 -06:00
J. Ryan Stinnett 91a7c146e4 Fix lint warning in create key backup 2019-01-09 12:04:17 -06:00
Bruno Windels ece5cb1fcc
Merge pull request #2348 from matrix-org/bwindels/roomgridview-experimental
Tiled room UI
2019-01-09 17:25:08 +00:00
David Baker 7381879e3a Fix a few things with cancelling recovery reminder
* Put a cancel button on the first page of the create key backup
   dialog
 * Move settings logic into the room reminder: I know this is moving
   logic *into* a view but RoomView is quite heavyweight as it is.
 * Give the recovery reminder an explicit 'onDontAskAgainSet' rather
   than onFinished which was getting called with false when the last
   screen of the dialog was closed with the cancel 'x' rather than
   the 'close' button.

https://github.com/vector-im/riot-web/issues/8066
2019-01-09 16:27:41 +00:00
Bruno Windels 51376c5c07 draft room sub list item api 2019-01-09 15:53:04 +01:00
Bruno Windels b82e19b1f7 size header explicitly for content size
otherwise it just grows with max-height
2019-01-09 15:45:47 +01:00
Bruno Windels 254427461d fix PR feedback 2019-01-09 12:48:13 +01:00
J. Ryan Stinnett 1fcafdab30 Allow New Recovery Dialog to be cancelled
Fixes part of https://github.com/vector-im/riot-web/issues/8048.
2019-01-09 04:08:12 -06:00
Bruno Windels 0803ea9158 support collapsed items 2019-01-08 18:17:34 +01:00
Bruno Windels 8352d8c6bd not sure we need this, but adding the padding in _offset container 2019-01-08 18:17:00 +01:00
Bruno Windels b4197059a0 change min size to exactly one room tile + header 2019-01-08 18:16:09 +01:00
Bruno Windels 4bd6ce8e2c WIP2 for making smart resizer work, sort of works now but shows big scrollbar 2019-01-08 16:47:47 +01:00
J. Ryan Stinnett 02a83a7c2b Use per-message string substitutions in key backup panel
Including unused substitutions triggers console logs, so change the key backup
panel to only substitute what's actually used in each message.

Fixes https://github.com/vector-im/riot-web/issues/8047.
2019-01-08 09:31:33 -06:00
Bruno Windels 5eba8210b8 Merge branch 'experimental' into bwindels/smarterresizer 2019-01-08 14:38:46 +01:00
Bruno Windels 9e67dbf008 change icon 2019-01-08 14:35:26 +01:00
Bruno Windels 52c5610660 update copy 2019-01-08 14:35:06 +01:00
Erik Johnston 07c2010cce Use state rather than forceUpdate 2019-01-08 11:14:31 +00:00
Bruno Windels 56726ba8e5 fix lint 2019-01-08 12:10:42 +01:00
Bruno Windels 7227049c2a add right panel toggle button to room header when in grid 2019-01-08 12:05:39 +01:00
Bruno Windels c9272c48e0 undo unneeded changes 2019-01-08 12:05:06 +01:00
Travis Ralston 66cd8475b5 Don't reset cached room list values when they are falsey
`unread` and `unread-muted` store booleans in the cache, and can easily be `false`. Without this patch, both of those cached types would be cleared from the object where a later call to `getRoomState` would try and re-populate them. `getRoomState` is supposed to use the cache where possible to avoid making the more expensive calls required to calculate those booleans.

On my account in a test environment, this brings the `generateRoomLists` execution time down from ~250ms to just ~30ms. 

This still does not solve the whole issue, but should solve the more common case of performance woes for people.
2019-01-07 17:46:32 -07:00
J. Ryan Stinnett bf87547f88 Remove unexpected underline from pills
Fixes vector-im/riot-web#8031.
2019-01-07 09:56:40 -06:00
Bruno Windels c6952ba5b6 fix some more lint warnings, as limit is 16 now 2019-01-07 16:56:35 +01:00
Bruno Windels aedc220b62 fix (some) lint warnings 2019-01-07 16:33:23 +01:00
Bruno Windels c2f6fc381c add feature flag for grid view 2019-01-07 16:13:35 +01:00
Bruno Windels 8fa7ec0fac fix lint 2019-01-07 16:03:24 +01:00
Bruno Windels 81c48f07c7 clear width of right panel container when collapsed in grid view 2019-01-07 15:20:39 +01:00
Bruno Windels b63bd5ea54 allow right panel to be hidden (although container is still visible) 2019-01-07 14:59:00 +01:00
Erik Johnston 4c204e88be Add feature flag for counters 2019-01-07 13:52:13 +00:00
Erik Johnston 712241d710 Add simple state counters to room heading 2019-01-07 13:52:13 +00:00
Bruno Windels 290dc9d8fb Merge branch 'experimental' into bwindels/roomgridview-experimental 2019-01-07 14:17:57 +01:00
David Baker 8fbb0607ff Re-write as full class component
So we can re-use the functions we pass to props
2019-01-07 12:09:19 +00:00
David Baker 522dddbd13 Lint 2019-01-07 10:13:02 +00:00
David Baker 47f303dc9d Make logout warning nag about key backups
https://github.com/vector-im/riot-web/issues/7805
2019-01-07 10:08:57 +00:00
J. Ryan Stinnett 5419b4279b Simplify create key backup maze
The download / copy actions to store the new recovery key now send you forward
(the most likely case) with a Back button in case you wanted to also do the
other storing type.
2019-01-04 17:14:10 -06:00
J. Ryan Stinnett e6b6b463ce
Merge pull request #2401 from christopherjmedlin/name-command
Add slash command for changing room name
2019-01-04 14:22:40 -06:00
Christopher Medlin e102000e58 Change to 'roomname' instead of 'name'. 2019-01-04 11:29:51 -08:00
Travis Ralston 5a2113e1a9 Fix a comparison bug in ordering the MemberList 2019-01-03 21:56:19 -07:00
Travis Ralston 77dfba8a22 Add unit tests for MemberList
Particularly the ordering of the tiles.
2019-01-03 21:55:52 -07:00
Travis Ralston cc8fa7911b Merge remote-tracking branch 'origin/experimental' into travis/fix-memberlist-order 2019-01-03 20:01:28 -07:00
J. Ryan Stinnett 920911c0a1 Room list fixes for custom status 2019-01-03 18:49:15 -06:00
Christopher Medlin c89b6e1e27 Add slash command for changing room name
Signed-off-by: Christopher Medlin <christopherjmedlin@protonmail.com>
2019-01-03 15:42:17 -08:00
Travis Ralston 502288d4cc Merge branch 'travis/room-list-hover' into travis/re-apply-exp-changes 2019-01-03 16:28:05 -07:00
Travis Ralston 1481dcf9d7 Don't re-sort the room list if the user is hovering over it
Fixes vector-im/riot-web#5624
2019-01-03 16:27:59 -07:00
Travis Ralston 643dd5ca47 Add a comment explaining the reason for setting the LOGGED_IN view 2019-01-03 16:26:09 -07:00
Travis Ralston d8f6a7c684 Add missing stopPropagation 2019-01-03 16:26:01 -07:00
Travis Ralston 2e5b3ec0f1 Use the safer way to set the logged in view state 2019-01-03 16:25:55 -07:00
Travis Ralston 8f5e825cd5 Fix browser navigation not working between /home, /login, /register, etc
All of the anchors were pointed at `#` which, when clicked, would trigger a hash change in the browser. This change races the change made by the screen handling where the screen handling ends up losing. Because the hash is then tracked as empty rather than `#/login` (for example), the state machine considers future changes as no-ops and doesn't do anything with them.

By using `preventDefault` and `stopPropagation` on the anchor click events, we prevent the browser from automatically going to an empty hash, which then means the screen handling isn't racing the browser, and the hash change state machine doesn't no-op.

After applying that fix, going between pages worked great unless you were going from /login to /home. This is because the MatrixChat state machine was now out of sync (a `view` of `LOGIN` but a `page` of `HomePage` - an invalid state). All we have to do here is ensure the right view is used when navigating to the homepage. 

Fixes https://github.com/vector-im/riot-web/issues/4061

Note: the concerns in 4061 about logging out upon entering the view appear to have been solved. Navigating to the login page doesn't obliterate your session, at least in my testing.
2019-01-03 16:25:51 -07:00
Travis Ralston 01eacfa26a Regenerate en_EN.json 2019-01-03 16:02:36 -07:00
Travis Ralston 8017f0a4a1 Merge remote-tracking branch 'origin/experimental' into travis/develop-for-real 2019-01-03 16:00:23 -07:00
Travis Ralston 6447a60e1f Revert "Merge pull request #2336 from matrix-org/travis/notif-button"
This reverts commit 96300b45b7.
2019-01-03 15:44:07 -07:00
David Baker f928be6f59 Revert "Merge pull request #2395 from matrix-org/dbkr/merge_develop_experimental"
This reverts commit ad47144355.
2019-01-03 15:37:03 -07:00
Travis Ralston d111fe27bb Revert "Merge pull request #2396 from matrix-org/travis/room-list-hover"
This reverts commit 5098b28672.
2019-01-03 15:36:56 -07:00
Travis Ralston 0978687c65 Revert "Merge pull request #2383 from matrix-org/travis/back-button"
This reverts commit 78592286bd.
2019-01-03 15:36:51 -07:00
Travis Ralston 78592286bd
Merge pull request #2383 from matrix-org/travis/back-button
Fix browser navigation not working between /home, /login, /register, etc
2019-01-03 14:37:04 -07:00
Travis Ralston e5192811a1 Add a comment explaining the reason for setting the LOGGED_IN view 2019-01-03 14:23:27 -07:00
Travis Ralston 4c264b87fa Add missing stopPropagation 2019-01-03 14:23:26 -07:00
Travis Ralston 7904b91b58 Use the safer way to set the logged in view state 2019-01-03 14:23:26 -07:00
Travis Ralston 223a49d81f Don't re-sort the room list if the user is hovering over it
Fixes vector-im/riot-web#5624
2019-01-03 13:57:20 -07:00
Travis Ralston 95844ebf9d Comment out debugging statements
They are useful to have around, but not to have enabled all the time.
2019-01-03 12:15:27 -07:00
Travis Ralston 63a7b86eac Flatten and simplify the memberlist sorting algorithm
The previous algorithm had a bug where it was getting stuck on the power level comparison, leaving the memberlist incorrectly ordered. The new algorithm uses less branching to try and walk through the different cases instead. Additionally, the steps used to determine the order have changed slightly to better represent an active member list.

This commit also includes changes to try and re-sort the member list more often during presence changes. Events are not always emitted, however. This may be a js-sdk bug but appears to happen prior to these changes as well.

Fixes https://github.com/vector-im/riot-web/issues/6953
2019-01-03 12:15:19 -07:00
Travis Ralston 35c9dce241 Fix browser navigation not working between /home, /login, /register, etc
All of the anchors were pointed at `#` which, when clicked, would trigger a hash change in the browser. This change races the change made by the screen handling where the screen handling ends up losing. Because the hash is then tracked as empty rather than `#/login` (for example), the state machine considers future changes as no-ops and doesn't do anything with them.

By using `preventDefault` and `stopPropagation` on the anchor click events, we prevent the browser from automatically going to an empty hash, which then means the screen handling isn't racing the browser, and the hash change state machine doesn't no-op.

After applying that fix, going between pages worked great unless you were going from /login to /home. This is because the MatrixChat state machine was now out of sync (a `view` of `LOGIN` but a `page` of `HomePage` - an invalid state). All we have to do here is ensure the right view is used when navigating to the homepage. 

Fixes https://github.com/vector-im/riot-web/issues/4061

Note: the concerns in 4061 about logging out upon entering the view appear to have been solved. Navigating to the login page doesn't obliterate your session, at least in my testing.
2019-01-03 12:13:41 -07:00
David Baker 982e037822 Fix merge 2019-01-03 18:05:38 +00:00
David Baker 7d161de35b Partial merge of develop to experimental
Does not include #2336 as the file has been moved out from underneath it:
will do this separately
2019-01-03 15:02:58 +00:00
David Baker c11d0bdf0c
Merge pull request #2394 from jryans/key-backup-unverified-creator
Show in-room reminder when key backup creating device unverified
2019-01-03 10:27:35 +00:00
J. Ryan Stinnett 758e867208
Merge pull request #2389 from christopherjmedlin/consistent-flair-ordering
Consistent flair ordering.
2019-01-02 16:35:50 -06:00
J. Ryan Stinnett 402f58225f Show in-room reminder when key backup creating device unverified
If the current device hasn't verified the device that created the account's
current key backup version, then the current device is won't use the key backup.
This change adjusts an existing in-room reminder to do the right thing for this
case by allowing the user to verify the device that created the key backup.

Fixes vector-im/riot-web#7902.
2019-01-02 15:36:40 -06:00
Travis Ralston 1b8a8e9552
Merge pull request #2385 from matrix-org/travis/7838-logging
Add some logging for riot-web#7838
2018-12-28 19:16:07 -07:00
Christopher Medlin 384320e29f Consistently order flairs based on room configuration. 2018-12-24 14:46:36 -08:00
Travis Ralston f5ff580e35 Add some logging for riot-web#7838
See https://github.com/vector-im/riot-web/issues/7838
2018-12-21 14:51:05 -07:00
Richard van der Hoff 9c781417ff Merge remote-tracking branch 'origin/develop' into rav/well_known_in_login_response 2018-12-21 16:52:02 +00:00
Richard van der Hoff 991104d156 Handle well-known data in the login response
... as per [MSC1730](https://github.com/matrix-org/matrix-doc/pull/1730).
2018-12-21 09:51:03 +00:00
J. Ryan Stinnett 097d6fdede Update room filter focus handling to avoid infinite loop
The classes on the search box input were changed without updating the focusing
loop in the room filter which used one of these classes as a boundary condition.
This led to a case that could loop forever.

Regressed by #2267.
Fixes vector-im/riot-web#7926.
2018-12-20 23:09:28 +00:00
Bruno Windels d558ea1dbf WIP 2018-12-19 23:51:19 +01:00
Travis Ralston 2e1e536d5c
Merge pull request #2347 from matrix-org/travis/custom-status
Custom status messages
2018-12-19 11:11:15 -07:00
J. Ryan Stinnett fd94dc686f Handle errors when fetching commits for changelog
It's possible to get errors when fetching commits (for example, if the rate
limit is exceeded), so this will handle the error case and display it instead of
an infinite spinner.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-19 18:10:21 +00:00
J. Ryan Stinnett 37256d2976 Use primary styling on download / clipboard key actions
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-19 17:46:37 +00:00
J. Ryan Stinnett 24f0123ded Convert pass phrase entry to flexbox
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-19 17:46:37 +00:00
J. Ryan Stinnett a597ad10b0 Add a few more zxcvbn strings
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-19 17:46:37 +00:00
J. Ryan Stinnett 9c4ff4048a Convert show recovery key to flexbox
This allows the buttons to fit on a single line and flows a bit better at low
widths.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-19 17:46:37 +00:00
Travis Ralston a1347add95 Merge branch 'develop' into travis/custom-status 2018-12-19 10:33:34 -07:00
Travis Ralston 45f05092ed Add a comment to describe why we're not using the property we should be 2018-12-19 10:21:43 -07:00
Bruno Windels b3a12867a6 remove extra blank lines 2018-12-19 12:56:08 +01:00
Bruno Windels b826b0d998 Add redesign feedback dialog + button in tag panel 2018-12-19 12:27:05 +01:00
David Baker 1ca91370f3
Merge pull request #2372 from matrix-org/dbkr/electron_sandbox
React-sdk changes to support sandboxed electron
2018-12-19 09:48:05 +00:00
Travis Ralston 04c9fff6ce Add a feature flag for custom status messages 2018-12-18 15:11:08 -07:00
Travis Ralston d20a934642 Appease the linter 2018-12-18 11:04:16 -07:00
David Baker 3a8b9ab850 unused import 2018-12-18 17:57:23 +00:00
Travis Ralston ef60a34180 Clean up and follow code style 2018-12-18 10:53:37 -07:00
David Baker 37b3644fd9 React-sdk changes to support sandboxed electron 2018-12-18 17:40:30 +00:00
Bruno Windels 1d43712a8f Merge branch 'experimental' into nadonomy/icons 2018-12-18 18:22:24 +01:00