Commit graph

2846 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
David Baker
37b3644fd9 React-sdk changes to support sandboxed electron 2018-12-18 17:40:30 +00:00
Bruno Windels
8df139bfab
Merge pull request #2369 from matrix-org/bwindels/rhsdefaultsize
Redesign: give right panel default width
2018-12-18 16:20:51 +00:00
Bruno Windels
23f24a987c
Merge pull request #2367 from matrix-org/bwindels/selectqueryonclick
Redesign: select search query on focus
2018-12-18 16:19:24 +00:00
Bruno Windels
5e2ee883aa
Merge pull request #2366 from matrix-org/bwindels/fixrhscollapse
Redesign: fix remaining right panel collapse issues.
2018-12-18 16:19:02 +00:00
Bruno Windels
fd5ad56886 give right panel default width of 350px 2018-12-18 17:12:32 +01:00
Bruno Windels
dd6dd7a4fc select search query on focus 2018-12-18 16:37:37 +01:00
Travis Ralston
66f5d0612c
Merge pull request #2363 from matrix-org/travis/fix-group-view
Make sure to grab the InlineSpinner object
2018-12-18 07:57:46 -07:00
Bruno Windels
92c598dbcf remove group header expand right panel button 2018-12-18 15:38:15 +01:00
Bruno Windels
acba36c975
Merge pull request #2364 from matrix-org/bwindels/fixresizepersistenceandscrollindicator-again
Redesign: left panel fixes
2018-12-18 14:23:38 +00:00
Bruno Windels
31c13adaba cleanup: do initialization in componentDidMount instead of render 2018-12-18 15:10:57 +01:00
Bruno Windels
e67d9c6d4f forward checkOverflow to AutoHideScrollbar, fix over/underflow detection
the overflow/underflow events are not always reliable in nooverlay
browsers (FF), so forward the checkOverflow call we need anyway
for the scroll indicator gradients to see if we need to do the
margin trick for the on-hover scrollbar we use in nooverlay browsers.

this fixes on hover jumping in a subroomlist
2018-12-18 14:29:42 +01:00
J. Ryan Stinnett
acc2e98355 Add New Recovery Method dialog
Adds a New Recovery Method dialog which is shown when key backup fails because
of a version mismatch / version not found error.

The set up button in the dialog currently only marks a device as verified (via a
verification prompt) instead of the eventual restore and cross-sign flow, since
those pieces don't exist yet.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-18 10:20:12 +00:00
Bruno Windels
b359a2edee call header clicked callback after rerendering, so resizer has DOM nodes 2018-12-18 10:56:00 +01:00
Bruno Windels
f6727c5724 add collapsedRhs to propTypes 2018-12-18 10:34:26 +01:00
Travis Ralston
c6da61f1de
Make sure to grab the InlineSpinner object 2018-12-17 18:47:33 -07:00
Bruno Windels
b7c353d0a6 persist and load collapsed rhs globally 2018-12-17 15:56:35 +01:00
Bruno Windels
f744374d1d read collapsedRhs from props when mounting main split 2018-12-17 15:56:17 +01:00
Bruno Windels
a734fb9d35 dont set initial phase, show panel when collapsed 2018-12-17 15:55:26 +01:00
Bruno Windels
f7b6e9c6fc name collapsedRhs consistently everywhere 2018-12-17 15:30:39 +01:00
Bruno Windels
510cec1ebf disabling setting theme without breaking the build 2018-12-17 12:49:38 +01:00
Bruno Windels
649910139a disable setting theme completely 2018-12-17 12:27:42 +01:00
Bruno Windels
3ea0fd1a2f fix overflow indicators not being updated when searching 2018-12-14 17:06:51 +01:00
Bruno Windels
7b6c863377 fix lint 2018-12-14 15:53:52 +01:00
Travis Ralston
7ed9559ad7
Merge pull request #2351 from matrix-org/travis/fix-username-requirements
Standardize errors about localpart structure
2018-12-13 22:09:49 -07:00
Travis Ralston
8592e76e12 Standardize errors about localpart structure
Fixes https://github.com/vector-im/riot-web/issues/5833

This also includes changing some Jira references that aren't searchable anymore, and a thing to replace the spinner on the SetMxidDialog as per https://github.com/vector-im/riot-web/issues/5833#issuecomment-445323177
2018-12-13 16:45:30 -07:00
Travis Ralston
49769a405d Fix translation error on notification icon
Introduced by https://github.com/matrix-org/matrix-react-sdk/pull/2336
2018-12-13 16:12:56 -07:00
Travis Ralston
366f343432
Merge pull request #2327 from matrix-org/travis/well-known-improvements
Introduce a default_server_name for aesthetics and rework .well-known
2018-12-13 14:55:04 -07:00
Travis Ralston
5f434cd31c Don't break the UI when something goes wrong 2018-12-13 14:45:08 -07:00
Travis Ralston
96300b45b7
Merge pull request #2336 from matrix-org/travis/notif-button
Show the number of unread notifications above the bell on the right
2018-12-13 08:16:48 -07:00
Bruno Windels
1810c17d24 remove trace, add comment, ... 2018-12-13 13:02:35 +01:00
Bruno Windels
c8243357ea disable editor history/persistence when in grid to avoid pesky bug 2018-12-13 13:01:59 +01:00
Bruno Windels
f593bff3c3 show right panel tabs inside panel instead of room header in grid mode 2018-12-13 13:01:59 +01:00
Bruno Windels
74becf71d8 add right panel back to grid view 2018-12-13 13:01:59 +01:00
Bruno Windels
44200a6f78 only listen and dispatch to room-local dispatcher in room view, composer 2018-12-13 13:01:59 +01:00
Bruno Windels
9a24249fb5 emit focus_composer after updating the active room in GroupGridView
also change the active room from there so RoomView is oblivious
to grid view stuff
2018-12-13 13:01:59 +01:00
Bruno Windels
fbfbefe4fe also forward actions from room dispatcher to global one
avoiding replay if the action would be forwarded back to
the same room dispatcher

also some fixing & renaming in OpenRoomsStore
2018-12-13 13:01:59 +01:00
Bruno Windels
36decaf70b also give empty tiles a key 2018-12-13 13:01:59 +01:00
Bruno Windels
cf0f75cad4 allow changing active room in grid by clicking it 2018-12-13 13:01:59 +01:00
Bruno Windels
b68df0420b fix errors when trying to switch room 2018-12-13 13:01:59 +01:00
Bruno Windels
399d3c5c24 wire up view_group_grid action from community context menu to new view 2018-12-13 13:01:59 +01:00
Bruno Windels
d4748c91df add first draft of RoomGridView 2018-12-13 13:01:59 +01:00
Bruno Windels
78d5d7ac0c correctly detected collapsed rhs 2018-12-13 13:01:59 +01:00
Bruno Windels
df8539d6bc pass the RoomViewStore down with a prop instead of global var.
this will allow to have more than 1 RoomView further on
2018-12-13 12:59:18 +01:00
Bruno Windels
9f5a0250bf
Merge pull request #2345 from matrix-org/bwindels/jumptofirstunread-rebased
Redesign: restyle jump to first unread message & rework read marker logic (rebased)
2018-12-12 10:13:51 +00:00
Bruno Windels
f49e8b0bda reduce in-view timeout to 1s 2018-12-12 11:13:09 +01:00
Bruno Windels
2b0c2eff1e Implement 10s in-view/30s out-of-view timeout for moving RM.
Uses Timer & changed UserActivity promise based api
2018-12-11 16:19:22 +01:00
Bruno Windels
ac9902e52a apply redesign to topunreadmessagebar
with placeholder for message count
2018-12-11 15:43:00 +01:00
Bruno Windels
48cfd08ea6 move logout dialog to own component so we can reuse it 2018-12-11 12:42:52 +01:00
Bruno Windels
84044fca1c fix lint 2018-12-11 11:09:11 +01:00
Richard van der Hoff
010a31dbd1 Merge remote-tracking branch 'origin/develop' into rav/no_preserve_hs_url 2018-12-10 16:47:54 +00:00
Bruno Windels
dbe5449d0c bring invite buttons back in group member / room list
also put filter field on bottom
2018-12-10 17:21:55 +01:00
Bruno Windels
fb4a441341 fix navigation to room info in group view 2018-12-10 16:52:45 +01:00
Richard van der Hoff
36dd43f734 Avoid preserving HS url at logout
When I was talking to Matthew about this the other day, we couldn't think of a
good reason why we should preserve the HS URL at logout. It introduces the
problem that, if a client is redirected after login as per MSC1730, and then
you log out, you'll then get a login screen for the wrong server.

So basically there's no reason to have an mx_hs_url/mx_is_url without an access
token, and we can remove the stuff which preserves it, and the stuff that
attempts to restore it.
2018-12-10 14:44:12 +00:00
Bruno Windels
f987a50fef make add community icon themeable and give it background so it's visible 2018-12-10 15:43:57 +01:00
Travis Ralston
a969237dc0 Disable the submit button while .well-known is underway
To give the user a little feedback about something happening. This definitely needs to be improved in the future though.
2018-12-07 15:37:20 -07:00
Travis Ralston
6707186edc Change how the default server name and HS URL interact
They are now independent of each other. If both are specified in the config, the user will see an error and be prevented from logging in. The expected behaviour is that when a default server name is given, we do a .well-known lookup to find the default homeserver (and block the UI while we do this to prevent it from using matrix.org while we go out and find more information). If the config specifies just a default homeserver URL however, we don't do anything special.
2018-12-07 15:36:49 -07:00
Travis Ralston
0a32570026 Merge branch 'develop' into travis/well-known-improvements 2018-12-07 15:08:19 -07:00
J. Ryan Stinnett
a92d2902c4 Add an in-room reminder to set up key recovery
This adds an in-room reminder above the message timeline to set up Secure
Message Recovery so that your keys will be backed up. If you try to ignore it,
an additional dialog is shown to confirm.

Fixes vector-im/riot-web#7783.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-07 14:13:02 -06:00
Travis Ralston
95d15b7863 Fix tinting of notification icon and use a more reliable notification source
The js-sdk's placement of the notification change was unreliable and could cause stuck notifications. The new location (piggybacking the Notifier) is a lot more reliable.

The tinting has been changed fairly invasively in order to support the changing of the `fill` attribute. What was happening before was the `fill` property would happily get set to the forced color value, but when it came time to reset it it wouldn't be part of the colors array and fail the check, therefore never being changed back. By using a second field we can ensure we are checking the not-forced value where possible, falling back to the potentially forced value if needed. 

In addition to fixing which color the Tinter was checking against, something noticed during development is that `this.colors` might not always be a set of hex color codes. This is problematic when the attribute we're looking to replace is a rgb color code but we're only looking at `keyHex` - the value won't be reset. It appears as though this happens when people use custom tinting in places as `this.colors` often gets set to the rgb values throughout the file. To fix it, we just check against `keyHex` and `keyRgb`.
2018-12-06 22:26:51 -07:00
Travis Ralston
173669b375 Show the number of unread notifications above the bell on the right
Fixes https://github.com/vector-im/riot-web/issues/3383

This achieves the result by counting up the number of highlights across all rooms and setting that as the badge above the icon. If there are no highlights, nothing is displayed. The red highlight on the bell is done by abusing how the Tinter works: because it has access to the properties of the SVG that we'd need to override it, we give it a collection of colors it should use instead of the theme/tint it is trying to apply. This results in the Tinter using our warning color instead of whatever it was going to apply.

The RightPanel now listens for events to update the count too, otherwise when the user receives a ping they'd have to switch rooms to see the change.
2018-12-06 16:18:02 -07:00
Travis Ralston
ca1313099f Show the IncomingCallBox if the call is for the RoomSubList
Fixes https://github.com/vector-im/riot-web/issues/4369

Previously the RoomSubList would filter its list of rooms to verify that the incoming call belongs to it. This causes problems when the sub list is being told some rooms don't exist (ie: the list is filtered). It is trivial for the RoomList to instead track which RoomSubList (tag) it should be handing the call off to so we do that instead now. The RoomSubList trusts that the caller has already filtered it and will render the IncomingCallBox if it has an incoming call.
2018-12-06 11:45:58 -07:00
David Baker
dad8e6a261
Merge pull request #2326 from jryans/group-users-error
Allow group summary to load when /users fails
2018-12-05 10:56:32 +00:00
Travis Ralston
633be5061c Introduce a default_server_name for aesthetics and rework .well-known
Fixes https://github.com/vector-im/riot-web/issues/7724

The `default_server_name` from the config gets displayed in the "Login with my [server] matrix ID" dropdown when the default server is being used. At this point, we also discourage the use of the `default_hs_url` and `default_is_url` options because we do an implicit .well-known lookup to configure the client based on the `default_server_name`. If the URLs are still present in the config, we'll honour them and won't do a .well-known lookup when the URLs are mixed with the new server_name option. Users will be warned if the `default_server_name` does not match the `default_hs_url` if both are supplied. Users are additionally prevented from logging in, registering, and resetting their password if the implicit .well-known check fails - this is to prevent people from doing actions against the wrong homeserver.

This relies on https://github.com/matrix-org/matrix-js-sdk/pull/799 as we now do auto discovery in two places. Instead of bringing the .well-known out to its own utility class in the react-sdk, we might as well drag it out to the js-sdk.
2018-12-04 23:34:57 -07:00
J. Ryan Stinnett
5fc25fd6ba Only mark group as failed to load for summary
Currently, any error in the `GroupStore`s several requests can cause the whole
`GroupView` component to hide and be mark the group as failed to load.

Since it is known that group members may fail to load in some cases, let's only
show failed to load for the whole group when the summary fails.

This also strengthens the `GroupView` test by ensuring we wait for multiple
updates for checking results.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-04 18:32:16 -06:00
Bruno Windels
541b0011ac actually persist right panel width on resize 2018-12-03 10:43:35 +01:00
Will Hunt
2b077b4f5d Merge remote-tracking branch 'upstream/develop' into hs/upload-limits 2018-12-01 16:24:43 +00:00
Bruno Windels
0212df922a dont render who is typing tile when no room available (like in notif panel) 2018-11-30 13:59:00 +01:00
Travis Ralston
015af7d771 Use sensible logging 2018-11-27 13:41:34 -07:00
Bruno Windels
8f4292399b
Merge pull request #2297 from matrix-org/bwindels/roomlistsizingimprovements
Redesign: improve room sub list sizing & persist sizes
2018-11-27 13:40:48 +00:00
Bruno Windels
887defda9c temp solution to make room settings usable
make mx_fadable not do anything anymore, and make room settings
full size.

Room settings haven't been designed yet, so all of this will
have a full pass when we have a go at it.
2018-11-26 17:58:51 +01:00
Bruno Windels
35fc5307b6 remove unneeded params (as we're going to change their meaning) 2018-11-26 16:45:55 +01:00
Bruno Windels
8e77a6716c don't set initial size based on item count anymore 2018-11-26 14:49:30 +01:00
Bruno Windels
67e0030ccd Merge branch 'develop' into experimental 2018-11-26 13:10:29 +01:00
Travis Ralston
5600a9d02a Validate the identity server 2018-11-21 14:14:08 -07:00
Travis Ralston
4cfefe4c3c Introduce an onUsernameBlur and fix hostname parsing 2018-11-21 14:13:56 -07:00
Travis Ralston
6f0f930e0a Merge branch 'develop' into travis/well-known 2018-11-21 13:30:57 -07:00
David Baker
d714176fcd
Merge pull request #2169 from matrix-org/dbkr/e2e_backups
Online incremental megolm backups (v2)
2018-11-21 18:37:43 +00:00
David Baker
985966f8be Update async dialog interface to use promises
Hopefully makes the syntax a bit nicer. Also uses ES6 async import
rather than require.ensure which is now deprecated. Also also
displays an error if the component fails to load rather than falling
over in a heap, which is nice.
2018-11-21 16:56:44 +00:00
David Baker
8ccaf53d20 Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-11-20 18:08:39 +00:00
Richard van der Hoff
c61031d3e1
Merge pull request #2279 from matrix-org/rav/sso_login_type
Support for m.login.sso
2018-11-19 14:14:21 +01:00
Travis Ralston
7df003ef74 Be more positive in property naming 2018-11-16 12:15:44 -07:00
Richard van der Hoff
90f22c7b43 Support for m.login.sso
Adds support for the m.login.sso login type, which is handled the same way as
CAS, and also makes it look a bit nicer.
2018-11-15 19:05:39 +00:00
Travis Ralston
2ffc024fab Add a dedicated "Continue" button to the terms auth stage
The button itself is conditionally enabled because the ILAG dialog already has a continue button. It'd be confusing to users to have 2 continue buttons on the same dialog, so this commit adds the structure required to pass along clicks from the dialog's button down to the UI auth component. 

The other place the continue button would appear is on the register page (not ILAG). The button's style is different here, however that will be improved in a later commit. 

Part of https://github.com/vector-im/riot-web/issues/7700
2018-11-14 18:26:35 -07:00
Bruno Windels
04bb9aad3a
Merge pull request #2276 from matrix-org/bwindels/timelinetypingnotif
Redesign: typing notifications in timeline
2018-11-14 10:24:31 +00:00
Bruno Windels
8ddd2dd078 scroll down when showing typing notif and stuck at bottom 2018-11-13 09:15:16 +01:00
Bruno Windels
465d767bf1 remove typing notifications from status bar 2018-11-12 18:11:17 +01:00
Bruno Windels
7df47cbc87 move typing notifications to WhoIsTypingTile, shown in ScrollPanel 2018-11-12 16:09:51 +01:00
Bruno Windels
0f226853f5 add scroll indicator gradients to top and bottom of room sub list 2018-11-12 12:57:21 +01:00
Bruno Windels
883126a528 Merge branch 'experimental' into bwindels/memberqueryfield 2018-11-07 13:29:28 +01:00
Bruno Windels
9e95a1402c
Merge pull request #2269 from matrix-org/bwindels/roomlistpolish
Redesign: room list visual polish
2018-11-07 11:44:47 +00:00
J. Ryan Stinnett
975392cbbb Add visible guest warning to encourage login
If you happen to get logged out, it might not be very clear what has happened
visually. This adds a visible warning to the top of the home page to suggest
logging in.

Fixes vector-im/riot-web#7629.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-11-06 21:08:57 +01:00
Bruno Windels
b0a47da72c fix lint 2018-11-06 15:29:47 +01:00
Bruno Windels
c19b593f5c Merge branch 'develop' into experimental 2018-11-06 15:28:20 +01:00
Bruno Windels
4e773c2665 Make right panel a dark-panel instead of every descendant.
Also move bg color central.
2018-11-06 14:47:58 +01:00
Bruno Windels
ba00c29351 ellipsis class not used anymore 2018-11-06 14:03:29 +01:00
Bruno Windels
3bd0bcde4b align room sub list header with design
also make css more maintainable with less hardcoded dimensions
2018-11-06 14:03:01 +01:00
Bruno Windels
c9dc273cb0 better native scrollbar width compensation for FF
instead of having to offset the padding of children of the
autohiding scrollbar container, which gets fiddly quickly,
add a new child to the scrollbar container that gets a negative
margin of the scrollbar width when needed
(on hover and overflowing when overlay is not supported).

This needs an extra DOM element, but as it doesn't do anything weird
layout-wise (like set position), it shouldn't affect styling at all.

It also makes the auto hide scrollbar workarounds completely transparent
to the rest of the code.
2018-11-06 11:37:49 +01:00
Bruno Windels
665d424758 use svg icon in add room button 2018-11-05 14:25:28 +01:00
Bruno Windels
05935db8fc don't show sublist header badge in collapsed mode
just not enough space
2018-11-05 14:25:07 +01:00
Bruno Windels
c6751e25e0 fix lint 2018-11-05 12:15:03 +01:00
Bruno Windels
6993dc034d always show badges in room sub list header 2018-11-05 10:35:50 +01:00
Bruno Windels
6db81edf6c restyle SearchBox & make it more reusable
as we can reuse it in the room header
2018-11-05 09:35:44 +01:00
Bruno Windels
46389457e3 add input styling for light and dark panels (leftpanel vs room header) 2018-11-05 09:32:37 +01:00
Bruno Windels
1fbfddfa8a hide search field when left panel is collapsed
also remove collapse/expand button in search field
2018-11-02 15:29:18 +01:00
Bruno Windels
e29227db4e bring back "filter rooms" field
this does the filtering in RoomList instead of RoomSubList, so
we can hide sections that don't have any results.

The filtering does happen with every rerender of RoomList,
but only does something while searching, so the performance
implications are probably negligible.
2018-11-02 15:27:17 +01:00
Bruno Windels
9546df609e
Merge pull request #2260 from matrix-org/bwindels/rightpanelbelowheader
Redesign: move right panel below room/group header
2018-11-02 14:12:24 +00:00
Bruno Windels
9be4598a0e use main element for room/group view 2018-11-02 15:05:55 +01:00
Bruno Windels
4c5bd71114 fix lint 2018-11-01 17:56:08 +01:00
Bruno Windels
3e02f247c8 use AutoHideScrollbar in RoomSubList 2018-11-01 17:33:21 +01:00
Bruno Windels
03781e1327 AutoHideScrollbar component
shows scrollbar on hover when needed
has fallback to overflow: overlay
and fiddling with padding to make content not jump on hover.
2018-11-01 16:32:17 +01:00
Travis Ralston
57b99893e5
Merge pull request #1936 from turt2live/travis/pinned-room-list
Add options to pin unread/mentioned rooms to the top of the room list
2018-11-01 08:04:12 -06:00
Bruno Windels
7f72d5145a fix lint 2018-10-31 15:26:18 +01:00
Bruno Windels
b4dd739771 Merge branch 'experimental' into bwindels/rightpanelbelowheader 2018-10-31 14:57:16 +01:00
Bruno Windels
ba83166661 Merge branch 'develop' into experimental 2018-10-31 14:54:22 +01:00
Bruno Windels
bd9c0dc6cf fix lint 2018-10-31 12:20:10 +01:00
Bruno Windels
1948e9bc17 only detach if created before 2018-10-31 12:17:13 +01:00
Bruno Windels
ff383b4aa0 remove right panel from loggedinview
this breaks user view for now but this is not available
through any UI as it is, and we don't know yet what this will
look like in the new design, even if it will be a feature at all.
2018-10-31 12:09:53 +01:00
Bruno Windels
870280c6c7 move rightpanel into group view 2018-10-31 12:09:24 +01:00
Bruno Windels
d535f60bf6 only create resizer in MainSplit when ref becomes available 2018-10-31 12:08:41 +01:00
Bruno Windels
a40f1933f2 put RightPanel as sibling of .mx_RoomView_body instead of RoomView 2018-10-30 18:13:17 +01:00
Bruno Windels
790299f2d2 introduce MainSplit, to split between room/group body and right panel 2018-10-30 18:12:21 +01:00
Bruno Windels
e80a1c5051 move room/group panel header buttons into room/group header 2018-10-30 17:15:19 +01:00
Bruno Windels
4972b1ba7c move aux panel into room body
to put a resize handle between the body and the right panel later on
2018-10-30 13:25:06 +01:00
David Baker
8ac62f8c12 Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-29 16:20:45 +00:00
Aaron Raimist
49ce4ef117
eslint --fix src/
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-26 22:50:38 -05:00
Travis Ralston
ef8c9246aa Maybe fix UserSettings? 2018-10-26 10:07:21 -06:00
Bruno Windels
3d07f45370 remove CreateRoom page, dead code 2018-10-26 17:10:32 +02:00
Bruno Windels
33925b2fd1 fix after merge conflict error 2018-10-26 15:57:57 +02:00
Bruno Windels
2c039483c6 Merge branch 'develop' into experimental 2018-10-26 15:33:39 +02:00
Travis Ralston
9cdb527163
Merge branch 'develop' into travis/pinned-room-list 2018-10-25 10:57:08 -06:00
David Baker
b59b8b7fca Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-25 17:42:46 +01:00
Travis Ralston
6ee495b912 Merge remote-tracking branch 'origin/develop' into travis/permalink-routing 2018-10-24 16:36:39 -06:00
Will Hunt
def0b2d8fb Add developertools option to UserSettings 2018-10-24 18:20:16 +01:00
Travis Ralston
d7367a7cfd Merge branch 'develop' into travis/permalink-routing 2018-10-24 09:12:14 -06:00
Bruno Windels
30e6fdc122 fix lint 2018-10-24 14:36:08 +02:00
Bruno Windels
25b55b2801
Merge pull request #2245 from matrix-org/bwindels/memberlistmakeover
Redesign: memberlist basic makeover
2018-10-24 12:23:30 +00:00
Bruno Windels
0038d6d219
Merge pull request #2234 from matrix-org/bwindels/roomsectionfixcollapsedsize
Redesign: Fix room lists sizing
2018-10-24 12:23:05 +00:00
Bruno Windels
8c62dddb32 one big commit, sorry
changing looks of input & buttons
changing background color of right panels
moving invite button around
change margins and paddings in memberlist
2018-10-24 13:50:58 +02:00
Bruno Windels
8a5c46ead0 Merge branch 'experimental' into bwindels/memberlistmakeover 2018-10-24 11:06:08 +02:00
Bruno Windels
6b14d61816 fix import path 2018-10-24 11:04:14 +02:00
Aaron Raimist
fe901142aa
Split long string over two lines
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-23 17:20:57 -05:00
Bruno Windels
56ed38ad13 WIP 2018-10-23 21:38:04 +02:00
Bruno Windels
466062e872
Merge pull request #2239 from matrix-org/bwindels/topleftmenu1
Redesign: 1st go at top left menu & restyling context menus
2018-10-23 19:37:05 +00:00
Aaron Raimist
92bfb42784
Use one string instead of two
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-23 13:11:36 -05:00
Aaron Raimist
a6c78ace4f
Add warning when administrator leaves community
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-23 12:25:12 -05:00
Bruno Windels
4b90fd5c11 move TopLeftMenu to context_menus folder 2018-10-23 15:42:28 +02:00
Bruno Windels
cad0fa05e5 hide name when collapsed 2018-10-23 15:33:45 +02:00
Bruno Windels
97789a8858 event handlers need to be bound with es6 react classes 2018-10-23 15:33:24 +02:00
Bruno Windels
8b38af856a put settings and sign out in top left menu for now 2018-10-23 15:25:20 +02:00
Bruno Windels
863d89f6fd show profile in topleftmenu button for now (will be current community) 2018-10-23 15:25:10 +02:00
Bruno Windels
7b8e96723e support contextual menus without chevron 2018-10-23 15:21:30 +02:00
Bruno Windels
5f1cf07543 rename TopLeftMenu to TopLeftMenuButton
so the former can be the actual menu
2018-10-23 13:29:44 +02:00
Travis Ralston
8ff1da11ed
Merge pull request #2237 from aaronraimist/camel-case
lint: make colorScheme camel case
2018-10-22 22:44:14 -06:00
Aaron Raimist
1aa3085958
Oh right, can't change these
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-22 23:33:38 -05:00
Aaron Raimist
cb033bcadd
Why not change it everywhere while we're at it
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-22 23:16:07 -05:00
Aaron Raimist
4b3c865959
lint: make colorScheme camel case
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-22 23:07:47 -05:00
Aaron Raimist
41bd6e4366
Change leave room button text, OK -> Leave
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-22 20:55:24 -05:00
Bruno Windels
521e035bf0 add vertical space above and below room section 2018-10-22 18:17:14 +02:00
Bruno Windels
91a2ee1779 tweak badges 2018-10-22 18:16:36 +02:00
Bruno Windels
a69463e7fa clear height flexbox properties when collapsing
so item doesn't maintain height given by resizing
2018-10-22 15:57:56 +02:00
David Baker
c677dd8a24
Merge pull request #2225 from matrix-org/travis/join-room-text
Add a bit of text to explain the purpose of the RoomPreviewSpinner
2018-10-22 13:11:09 +01:00
David Baker
b8153dcec7
Merge pull request #2219 from matrix-org/travis/login-register-composer
Move the login box from the left sidebar to where the composer is
2018-10-22 13:05:19 +01:00
Bruno Windels
5c843acc10 fix room lists growing taller than screen height in FF
sections with flex-basis don't seem to shrink smaller in FF,
so use flexGrow which is unitless/proportional but works as well
2018-10-22 11:16:33 +02:00
Bruno Windels
f42ab32e05 Merge branch 'experimental' into bwindels/roomsectionheadercleanup 2018-10-22 10:31:07 +02:00
Travis Ralston
7383133846 Support parsing matrix.to links in the timeline with ?via= in them
This ends up being translated to ?server_name= in the matrix-js-sdk, although that has a bug at the time of writing. It converts `server_name: ['a', 'b']` to `?server_name=a,b` instead of `?server_name=a&server_name=b`

For reference: the `viaServers` option is routed through the 'join_room' action to RoomViewStore#_joinRoom which is passed directly to the js-sdk http-api#joinRoom function.

Next steps:
* Fix the js-sdk parsing
* Make the SDK generate matrix.to links with ?via=
2018-10-19 13:31:18 -06:00
Bruno Windels
73d9a71b29
Merge pull request #2226 from matrix-org/bwindels/resizeroomsublists
Redesign: 1st go at resizing room sublists
2018-10-19 13:33:28 +00:00
Bruno Windels
f2ee8307dc
Merge pull request #2224 from matrix-org/bwindels/removedndmore
Redesign: remove room list truncation and DND
2018-10-19 13:30:18 +00:00
Bruno Windels
7ece134b4e dont cause rerender with anon func 2018-10-19 15:22:28 +02:00
Bruno Windels
e4276d9378 don't show notification count in expanded room section header 2018-10-19 14:50:35 +02:00
Bruno Windels
acd383c6a9 move closer to usage 2018-10-19 14:44:37 +02:00
Bruno Windels
d48f19bc19 remove alwaysShowHeader, as now onAddRoom prop determines this 2018-10-19 14:43:02 +02:00
Bruno Windels
5091aa3b43 get rid of emptyContent, also cleanup sublist render method
also assume empty list in css by default and add nonEmpty class
2018-10-19 14:41:51 +02:00
Bruno Windels
57a9d3ca98 remove obsolete resizer 2018-10-19 14:37:23 +02:00
Bruno Windels
14cdd723f7 only show chevron for non-empty lists 2018-10-19 14:33:51 +02:00
Bruno Windels
0386a1e048 get rid of obsolete showEmpty prop 2018-10-19 14:32:49 +02:00
Bruno Windels
ae8723451a remove onShowMoreRooms, as room tiles & scrollbar rendered at same level 2018-10-19 14:27:36 +02:00
Bruno Windels
07799f609f fix lint 2018-10-19 12:34:55 +02:00
Bruno Windels
798be2d514 remove room count leftovers 2018-10-19 12:08:05 +02:00
Bruno Windels
6af61ebb09 add plus button for rooms and people 2018-10-19 12:07:36 +02:00
Travis Ralston
71a97170d7 Linting 2018-10-18 17:06:47 -06:00
Travis Ralston
0030ba7015 Support .well-known discovery
Fixes https://github.com/vector-im/riot-web/issues/7253
2018-10-18 16:42:54 -06:00
Bruno Windels
197dd57461 also set max-height so you can't make a sublist bigger than the content 2018-10-18 16:58:23 +02:00
Bruno Windels
44b92eb071 set sub list height with flex-basis to make it ... well, grow less 2018-10-18 16:58:17 +02:00
Bruno Windels
d264687796 don't scroll sub list header 2018-10-18 16:25:22 +02:00
Bruno Windels
0b615b21e2 fix lint 2018-10-18 15:53:27 +02:00
Travis Ralston
af8dfda9a7 Add a bit of text to explain the purpose of the RoomPreviewSpinner
Fixes https://github.com/vector-im/riot-web/issues/5869
2018-10-17 13:53:12 -06:00
Bruno Windels
3552326003 more lint fixes 2018-10-17 16:20:38 +02:00
Bruno Windels
6906d5a5f9 remove DND for room tiles 2018-10-17 16:02:35 +02:00
Bruno Windels
874ef50273 don't truncate room lists 2018-10-17 14:45:36 +02:00
Bruno Windels
c926aa2bfe remove .collapsed class on mx_LeftPanel as the container already has it 2018-10-17 14:01:45 +02:00
Bruno Windels
110e4526b8 store/load lhs & rhs sizes to/from localStorage 2018-10-16 18:43:40 +02:00
Bruno Windels
1d2e1d4b6b make it work for now, probably want to rename this back later on 2018-10-16 17:45:53 +02:00
Travis Ralston
06764c2bab
Merge pull request #2220 from matrix-org/travis/peek-invite-nag
Don't show the invite nag bar when peeking
2018-10-16 09:30:09 -06:00
Bruno Windels
30003d8f91 turn resizer into class to make programmatic interaction/cleanup easier 2018-10-16 15:16:10 +02:00
Bruno Windels
c095e30ae4 provide collapsed callback to also collapse on react side of things 2018-10-16 14:56:49 +02:00
Bruno Windels
c56975d93d dont base collapse toggle size on min-width, as it's not available in collapsed state 2018-10-16 12:26:08 +02:00
Bruno Windels
01471abdc5 Merge branch 'bwindels/redesign' into bwindels/resizehandles 2018-10-16 11:57:59 +02:00
Bruno Windels
6878ce3c6a Merge branch 'develop' into bwindels/redesign 2018-10-16 11:57:44 +02:00
Travis Ralston
6323d78b0c Move tinter init to MatrixChat
This is a much better place for it to live
2018-10-15 14:41:00 -06:00
Travis Ralston
2d62fda862 Don't show the invite nag bar when peeking 2018-10-15 14:35:36 -06:00
Travis Ralston
94aac62f25 Move the login box from the left sidebar to where the composer is
Fixes https://github.com/vector-im/riot-web/issues/4227

This includes removing the collapse button that isn't needed anymore.
2018-10-15 14:26:24 -06:00
Will Hunt
5a72a5863f Merge remote-tracking branch 'upstream/develop' into hs/upload-limits 2018-10-15 19:20:55 +01:00
Travis Ralston
3d8f0adf56 Move pinned rooms check to the RoomListStore 2018-10-12 14:35:54 -06:00
Travis Ralston
103ed71eb5 Merge branch 'develop' into travis/pinned-room-list 2018-10-12 14:09:52 -06:00
Bruno Windels
4f006b033e collapse left panel when 50px past min-width 2018-10-11 15:40:59 +02:00
Bruno Windels
bba04a6820
Merge pull request #2205 from matrix-org/dbkr/lazy_load_check_before_sync
Handle InvalidStoreError from js-sdk
2018-10-10 18:35:36 +02:00
David Baker
655627209a unused function 2018-10-10 17:25:32 +01:00
David Baker
0abcb5c78d Handle InvalidStoreError from js-sdk
js-sdk now emits sync state ERROR with an InvalidStoreError if the
store needs to be cleared before it can be used.

Requires https://github.com/matrix-org/matrix-js-sdk/pull/759
2018-10-10 17:07:17 +01:00
Bruno Windels
dfb4c594a8
Merge pull request #2204 from matrix-org/bwindels/rrfallbackavatars
Fall back to default avatar in RR when member isn't loaded yet
2018-10-10 16:58:59 +02:00
Bruno Windels
5128386160 allow read receipts without an existing member in MessagePanel 2018-10-10 16:15:20 +02:00
Bruno Windels
0767c278e7 put userId next to member in read receipt, fall back when member missing 2018-10-10 16:14:09 +02:00
David Baker
97ed4ed0bb
Merge pull request #2202 from matrix-org/dbkr/update_slate
Update to new version of slate
2018-10-10 11:10:20 +01:00
David Baker
6f9d673b79 Focus composer after closing room settings
For some reason the slate update means the composer doesn't
have the focus after closing the room settings, and the end to end
tests pick this up!
2018-10-09 17:35:40 +01:00
David Baker
41bc42e7d7
Merge pull request #2194 from pvagner/more_accessible_buttons
More accessible buttons - take 2
2018-10-09 11:04:50 +01:00
David Baker
387128ed1e Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-05 14:01:50 +01:00
David Baker
a81589ffb5 Silence bluebird warnings 2018-10-05 12:15:03 +01:00
Travis Ralston
93d32f97fc
Merge pull request #2183 from matrix-org/travis/settings-no-sniping
Track how far the user travels before dismissing their user settings
2018-10-04 13:29:00 -06:00
Peter Vágner
2b394c1869
Address review comments and fix lint errors 2018-10-02 20:32:54 +02:00
David Baker
fa30707eae Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-02 16:59:15 +01:00
Peter Vágner
ded35e43a0
A11y: repurpose more divs into AccessibleButtons.
With this more of the
controls that look like buttons can be operated via the keyboard and
navigated to by screen reader users. This includes editor buttons such
as File upload, Audio / Video call, Right pannel hide button, Jump to
the bottom timeline button, and some more buttons found in the user
settings.
Also I have added alt texts to some images that in turn label buttons
which these happen to be packed in and removed some untranslated alt
texts from decorative non-actionable images that might add more
verbosity when talking about screen reader user experience.
2018-10-02 13:55:24 +02:00
Matthew Hodgson
bccfb5dafc better englishing 2018-10-01 13:27:32 +01:00
David Baker
3751074244
Merge pull request #2180 from matrix-org/travis/3pid-required
Communicate early that a 3pid is required during registration if needed
2018-10-01 11:55:53 +01:00
Travis Ralston
a1cb6d64cf
Merge pull request #2182 from matrix-org/travis/warn-disconnect-early
Show the 'homeserver unavailable' warning when the first sync fails
2018-09-28 07:55:07 -06:00
Bruno Windels
5765d59132
Merge pull request #2083 from matrix-org/t3chguy/is_url
allow passing initial is_url like hs_url in query params
2018-09-28 13:20:50 +01:00
Travis Ralston
d74efd09ab Track how far the user travels before dismissing their user settings
Fixes https://github.com/vector-im/riot-web/issues/7158

Because the onClick was on a fullpage div, the browser was firing it regardless of how far the mouse moved. The onClick event itself doesn't give us any sort of travel distance, or a start point we can use to determine if they clicked a scrollbar or something. This means we have to rely on good ol' fashioned mouse down and up events to see if the user moved their mouse during their click. 

If the user's click starts in a valid container, we record the coordinates. This is so we can easily identify when the user clicks inside something like the settings container itself. When the user releases their mouse, we determine how far they moved their mouse - if the distance is within some threshold (~5 pixels in this case) then we can count it as a click. Because we've already filtered on the component they started their click in, we can safely rely on the presence of coordinates as a flag that they are in the right container, combined with the fact that they can't stray too far before their click not counting anyways.
2018-09-27 16:13:51 -06:00
Travis Ralston
16b2fb7fe6 Show the 'homeserver unavailable' warning when the first sync fails
Fixes https://github.com/vector-im/riot-web/issues/7380
2018-09-27 14:31:55 -06:00
Travis Ralston
de132a8f8e Communicate early that a 3pid is required during registration if needed
Fixes https://github.com/vector-im/riot-web/issues/7297
2018-09-27 11:53:45 -06:00
Bruno Windels
928b6d47c8 add resize handles between 3 main app columns 2018-09-24 16:07:42 +01:00
Bruno Windels
91ec96c8d3 Merge branch 'develop' into bwindels/redesign 2018-09-21 12:44:44 +02:00
David Baker
5ba45a71e8 Remove SuggestKeyRestoreHandler
Didn't end up using it for this iteration
2018-09-18 15:32:33 +01:00
Bruno Windels
e8b4770940 fix lint 2018-09-17 20:01:55 +02:00
Bruno Windels
841aa4b800 check LL with client as this takes server support into account 2018-09-17 19:28:06 +02:00
Bruno Windels
0ce7bb8995 pass membersLoaded state to TimelinePanel to force it to re-render
... once the members are loaded.
2018-09-17 19:27:25 +02:00
Bruno Windels
473f2dd72b pass room to _loadMembersIfJoined, it's called when newState not applied
_loadMembersIfJoined is called from
_onRoomLoaded < _onRoomViewStoreUpdate, before incoming state
from the store is applied to this.state, so looking up the room
with this.state.roomId doesn't always work, which would cause
the members not to be loaded. Pass in the room instead.
2018-09-17 19:24:34 +02:00
Bruno Windels
2ed414494f use Room.myMembership event instead of RoomMember.membership for me
This is more reliable with LL enabled as the syncing user is
only known when it was active in the current timeline
or when the members have been loaded
2018-09-17 19:14:52 +02:00