Commit Graph

780 Commits (d8a38e6b74b185724ecbc7a13c0cb24341a46dc9)

Author SHA1 Message Date
Travis Ralston 24705d02b7 Replace DM logic in `view_start_chat_or_reuse`
Part of https://github.com/vector-im/riot-web/issues/10416

This code is used by the welcome bot logic and the groups/communities section of the app. goHomeOnCancel can be removed because no matter what happens we'll end up in a room with the user (and we aren't showing a dialog anymore).
2019-08-07 12:13:59 -06:00
Bruno Windels ceb53dc0bb Revert "remove unnessary manual focussing of composer"
This reverts commit 57abbc4273.
2019-07-23 09:13:51 +02:00
Bruno Windels 57abbc4273 remove unnessary manual focussing of composer
now that composer is focused automatically when no other shortcuts
apply, remove the manual focusing we have in place where it's not needed
2019-07-15 18:21:10 +02:00
Travis Ralston 041379fa3c Don't refuse the soft logout page if the user is soft logged out 2019-07-09 23:44:14 -06:00
Travis Ralston 1eb60ef1c4 Support SSO for rehydrating a soft-logged-out session.
Fixes https://github.com/vector-im/riot-web/issues/10238
2019-07-09 20:16:44 -06:00
Travis Ralston 7b869f2824
Merge pull request #3182 from matrix-org/travis/soft-logout-rehydrate
Ask for the user's password to rehydrate their soft logged out session
2019-07-09 11:31:51 -06:00
Travis Ralston 03cbd7e8bb Ensure links off the forgot password page land you at soft logout 2019-07-04 16:51:55 -06:00
Travis Ralston 89131be438 Require that users go to the soft logout page if they're soft logged out
Fixes https://github.com/vector-im/riot-web/issues/10234
2019-07-04 15:14:00 -06:00
Travis Ralston 8ea46a8c4d Remove unneeded page types 2019-07-04 09:59:20 -06:00
Travis Ralston 5e5bf21281 Remove irrelevant debugging 2019-07-04 09:59:07 -06:00
Travis Ralston 42e6287bdb Implement basic soft logout handling
Fixes https://github.com/vector-im/riot-web/issues/10235

CSS and copy are left as an exercise for a later iteration.

Login page handling is left for https://github.com/vector-im/riot-web/issues/10236

This implementation reuses as much of the Lifecycle flow as it can without causing problems. Most importantly, it requires https://github.com/matrix-org/matrix-js-sdk/pull/975 to be able to detect a soft logout and react to it. When it comes time to starting/stopping the Lifecycle, additional parameters are provided so that the auxiliary services can (re)start themselves without the client starting to sync.
2019-07-03 16:46:37 -06:00
David Baker 6eddce8c32 lint 2019-06-19 12:13:17 +01:00
David Baker edd43a2706 Fix favicon/title badge count
This was using a separate function (in MatrixChat) that didn't
take into account whether we were supposed to be hiding the badge
for rooms so would include notifs that were hidden everywhere else.

Also make it a function & put it in RoomNotifs with all its friends.

Fixes https://github.com/vector-im/riot-web/issues/3060
2019-06-19 12:06:32 +01:00
David Baker c8e121dc70 Restore warning for if you're already logged in
...when clicking an email link. Although now we can complete the
registration because we can do so without replacing your session.
2019-06-18 18:43:14 +01:00
David Baker 4c036c98ee Fix double-spinner
On registering, we showed a spinner, and then another spinner on
top of the spinner, which led to an interesting spinner-in-box
effect.

Suppress the second type of spinner when we know we already have one.
2019-06-14 17:21:07 +01:00
David Baker 794b04b89a take the debugging out 2019-06-14 16:41:30 +01:00
David Baker 30726d6cf9 Pull out welcome user chat code to a separate function
also expand on comment
2019-06-14 16:29:26 +01:00
David Baker 929e9dc653 Don't forget to show the homepage if no welcome user 2019-06-14 16:04:09 +01:00
David Baker 8fa50b26a6 Fix welcome user
https://github.com/matrix-org/matrix-react-sdk/pull/3101 meant we
don't get logged straight in after registering if using an email
address, but this was the point at which we made a chat with the
welcome user. Instead, set a flag in memory that we should try &
make a chat with the welcome user for that user ID if we get a
session for them.

Of course, if the user logs in on both tabs, this would mean each
would make a chat with the welcome user (although actually this
was a problem with the old code too). Check our m.direct to see if
we've started a chat with the welcome user before making one (which
also means we have to make sure the cached sync is up to date...
see comments).
2019-06-14 15:31:19 +01:00
David Baker 1139f68de8 Pass in object of the right type 2019-06-12 18:11:58 +01:00
David Baker 10377b42e9 Fix registration with email + non-default HS
We were ignoring the hs/is from the query parameters so after
clicking the link, the new client tried to use the wrong server.

Broken by https://github.com/matrix-org/matrix-react-sdk/pull/2941
Fixes https://github.com/vector-im/riot-web/issues/9659
2019-06-12 17:42:09 +01:00
David Baker 80812db466 Remember we were trying to accept an invite
When the user was on an invite page and clicked the sign up/sign in
buttons, remember that invite so we can show it again after they're
done signing up/in.

https://github.com/vector-im/riot-web/issues/9816
2019-06-10 10:24:06 +01:00
Travis Ralston 7ecab35062 Add a null guard for serverConfig
This is often null while the component is on its first render, and is called during that render. It is eventually populated by React, and the function re-called - we just have to be patient.
2019-05-20 20:10:10 -06:00
Travis Ralston 34719b9a2e Only expose the fallback_hs_url if the homeserver is the default HS
See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 13:10:02 -06:00
Travis Ralston 4c1ac38dd4 Merge branch 'develop' into travis/feature/wellknown2 2019-05-14 10:53:01 -06:00
David Baker c11d26d809 Fix email registration, pt. 2
Regressed in https://github.com/matrix-org/matrix-react-sdk/pull/2768
where we check for an existing stored account first and restore that
instead if it exist, telling the user. We usually make a guest account
when the user first hits the page though, so this just restored this
guest account.

Don't restore the account if it's just a guest account (which, as per
comment, is not perfect, but is definitely better than the current
behaviour).

Fixes https://github.com/vector-im/riot-web/issues/9581
2019-05-14 11:59:38 +01:00
David Baker a0ecd89c94 Fix email registration: pt. 1
We look to see if there's already a user logged in and if there is,
restore that session instead of logging the user in as their new
account. We still set this 'is_registered' flag though, even though
in that case it's not a newly registered account that's being restored,
so don't set in that case.
2019-05-14 11:44:00 +01:00
Travis Ralston 58b9eb4cb2 Add a serverConfig property to MatrixChat for unit tests 2019-05-03 16:25:54 -06:00
Travis Ralston a4b6464902 Appease the linter 2019-05-03 11:34:30 -06:00
Travis Ralston 1f527e71b1 Bring server config juggling into MatrixChat
This way the server config is consistent across login, password reset, and registration. This also brings the code into a more generic place for all 3 duplicated efforts.
2019-05-03 11:34:30 -06:00
Travis Ralston 35ad68751b Remove unused skipServerDetails prop from registration 2019-05-03 11:13:36 -06:00
Travis Ralston 5a204edf90 Remove timeline explosion rageshake prompt
Concludes https://github.com/vector-im/riot-web/issues/8593

We are no longer seeing this error being triggered, and are considering it fixed. As a result, the dialog can be removed to reduce the amount of dead code in the project.
2019-05-01 13:37:57 -06:00
Bruno Windels 190143ca6c dispatch for user screen 2019-04-17 18:26:07 +02:00
Bruno Windels d5cc835a93 PR feedback 2019-04-17 18:23:49 +02:00
Bruno Windels 22874f62ab Merge branch 'develop' into bwindels/stylepreviewbar 2019-04-17 11:06:21 +02:00
Bruno Windels 86620839ae make username clickable 2019-04-17 10:57:45 +02:00
Thomas Karner e256dd6b05 use SdkConfig brand name instead of static "Riot"
Signed-off-by: Thomas Karner <thomas.karner@bytepoets.com>
2019-04-15 09:13:18 +02:00
Bruno Windels 6ca1a879c9 remove hacks, now that emitting show_right_panel is centralized 2019-04-10 13:22:31 +02:00
Travis Ralston 12a9416741
Merge pull request #2895 from matrix-org/travis/return-client
Always return a client from onRegistered
2019-04-09 09:06:33 -06:00
Travis Ralston 7407950c75 Always return a client from onRegistered
Fixes https://github.com/vector-im/riot-web/issues/9406

The return value of onRegistered eventually ends up in the pusher setup, which means we were passing undefined through the stack.
2019-04-08 12:49:14 -06:00
David Baker a04c15d131 consistent comments 2019-04-08 19:10:20 +01:00
David Baker 670f6e4f99 Simplify settings dialog CSS
Stop the settings dialogs from requiring special styles on the
mx_Dialog which required passing in a classname from anywhere the
settings dialogs were opened (although this still requires
static=true). Some of the things have now been adopted for all dialogs
(border-radius), others have been moved to within the dialog content.
2019-04-08 16:48:42 +01:00
Travis Ralston 650185e578 Remove 'try the app' link from login
Fixes https://github.com/vector-im/riot-web/issues/8384

This will be re-addressed in https://github.com/vector-im/riot-web/issues/9388 or similar. Because the implementation is undefined, the dead code is being removed instead of just left dead.
2019-04-05 10:35:11 -06:00
J. Ryan Stinnett 6e79cbc092 Delay `Notifier` check until we have push rules
The `Notifier` class expects push rules to be available, so it can explode in
strange ways if called too early. This changes to wait until the sync is in the
`PREPARED` state (when push rules should be ready) before using the `Notifier`.

Fixes https://github.com/vector-im/riot-web/issues/9323
2019-03-29 15:19:39 +00:00
Bruno Windels a326c83016
Merge pull request #2842 from matrix-org/bwindels/bacat-scrolling-merged-develop
BACAT Scrolling
2019-03-29 14:02:15 +00:00
Bruno Windels f157838864 dispatch supports async dispatching on its own 2019-03-29 14:32:26 +01:00
Bruno Windels adf263c4af Merge branch 'develop' into bwindels/bacat-scrolling-merged-develop 2019-03-27 11:46:28 +01:00
Travis Ralston d8edf2e3fb Handle all the segments of a v3 event ID
They may contain slashes, so it is not suitable to just pull the first segment after the room ID. Instead, we just recompile the event ID from known source, assuming everything afterwards is an event ID.

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

This will need adapting to support https://github.com/vector-im/riot-web/issues/9149
2019-03-25 23:02:49 -06:00
Travis Ralston 79ea873717
Merge pull request #2820 from matrix-org/travis/timeline-explosion-workaround
Ask the user for debug logs when the timeline explodes
2019-03-25 12:09:16 -06:00
Travis Ralston e5f7563dec Ask the user for debug logs when the timeline explodes
Fixes https://github.com/vector-im/riot-web/issues/9260
Workaround for https://github.com/vector-im/riot-web/issues/8593
Requires https://github.com/matrix-org/matrix-js-sdk/pull/869

We check if any dialogs are open before moving forward because we don't want to risk showing so many dialogs that the user is unable to click a button. We're also not overly concerned if the dialog being shown is irrelevant because whatever the user is doing will likely be unaffected, and we can scream in pain when they're finished.
2019-03-22 20:23:35 -06:00
Travis Ralston 389abed574 Define a title for generic error 2019-03-22 19:03:52 -06:00
Travis Ralston 4fd48988e9 Check for any errors leaving the room, not just the top level 2019-03-22 17:39:42 -06:00
Travis Ralston a34a8bb425 Use leaveRoomChain when leaving a room
Requires https://github.com/matrix-org/matrix-js-sdk/pull/868
Fixes https://github.com/vector-im/riot-web/issues/8539

We don't need to use leaveRoomChain when rejecting invites because we won't have the references needed. This leaves the couple spots where we do actually leave a room, and use the new function for that.
2019-03-22 17:36:54 -06:00
Bruno Windels 4795625cee emit resize event when banners are shown/hidden to restore scroll pos 2019-03-15 10:16:21 +01:00
Bruno Windels 1bdbf3086f emit timeline_resize in MatrixChat based on ResizeNotifier
as it's used in PersistentElement which could be used at various places
2019-03-15 10:16:21 +01:00
Bruno Windels 891e343df6 create ResizeNotifier to derive which areas of the app resize and emit 2019-03-15 10:16:21 +01:00
Travis Ralston 0e16f3a0cc Don't trample over existing sessions when verifying email addresses
Fixes https://github.com/vector-im/riot-web/issues/6875

Instead of overwriting what we have, we'll load the session we have and try to warn the user that they have verified an address for someone else.
2019-03-07 17:09:47 -07:00
Travis Ralston 0978ab3da0 Support stacking dialogs to prevent unmounting
Fixes https://github.com/vector-im/riot-web/issues/8371
2019-02-28 15:55:58 -07:00
J. Ryan Stinnett ca5c7b03d3
Merge pull request #2675 from jryans/default-hs-to-form
Skip server details on registration with a default HS
2019-02-22 10:19:53 +00:00
J. Ryan Stinnett fe141412b6 Skip server details on registration with a default HS
If Riot has been configured with a `default_hs_url` (or `default_server_name`,
which then sets a default HS URL), then skip the server details on registration
by default.

Fixes https://github.com/vector-im/riot-web/issues/8840
2019-02-21 18:11:23 +00:00
Bruno Windels ab9bf4c0e0
Merge pull request #2666 from matrix-org/bwindels/userview
Bring back user view
2019-02-21 16:05:03 +01:00
Bruno Windels d9b8b0f988 fix indentation 2019-02-21 10:51:09 +01:00
J. Ryan Stinnett f4b7180087 Display default server name in login
If a default server name is set and the current HS URL is the default HS URL,
we'll display that name in the "sign in to" text on the login form.

This can be a bit more user friendly, especially when the HS is delegated to
somewhere such as Modular, since you'll then see "example.com" instead of
"example.modular.im", which you have no direct relationship with as a user.

This is the key bit of https://github.com/vector-im/riot-web/issues/8763 for
login.
2019-02-20 17:33:59 +00:00
J. Ryan Stinnett 91f56a4447 Display default server name in registration
If a default server name is set and the current HS URL is the default HS URL,
we'll display that name in the "your account" text on the registration form.

This can be a bit more user friendly, especially when the HS is delegated to
somewhere such as Modular, since you'll then see "example.com" instead of
"example.modular.im", which you have no direct relationship with as a user.

This is the key bit of https://github.com/vector-im/riot-web/issues/8763 for
registration.
2019-02-20 12:17:51 +00:00
Bruno Windels f11505a9de bring back user page
Adds a UserView that contains a MainSplit with an empty div
and a RightPanel, preset to the given member.

UserView fetches the profile and creates a fake member, which
it passed on to the RightPanel.

this doesn't use the view_user action on purpose, to avoid any
interference of the UserView when trying to view a room member.
2019-02-20 12:45:55 +01:00
David Baker b242d03f7f lint 2019-02-14 12:52:38 +00:00
David Baker e5e355ed2d Remove the white screen of welcome
If there's no home page configured, view the first room.
2019-02-14 12:35:09 +00:00
J. Ryan Stinnett f5e56708d5 Re-enable dynamic theme changes 2019-02-13 10:44:01 +00:00
J. Ryan Stinnett 4101d4e9de Always change to LOGGED_IN view to show a room 2019-02-11 14:19:05 +00:00
J. Ryan Stinnett 477d5ac0dc View welcome behind modals when not showing logged in view 2019-02-11 13:31:27 +00:00
J. Ryan Stinnett 5977859dd9 Call isGuest correctly 2019-02-08 18:28:39 +00:00
J. Ryan Stinnett 5701bf89de Direct some flows to the welcome page 2019-02-08 12:12:43 +00:00
J. Ryan Stinnett 843f86fc1c Add separate welcome view 2019-02-07 16:25:09 +00:00
Travis Ralston b2c161c7c1 Merge branch 'develop' into travis/settings/delete-the-old 2019-02-06 11:02:21 -07:00
J. Ryan Stinnett 6549ae1ce5 Remove unused props from login 2019-02-05 16:11:32 +00:00
J. Ryan Stinnett a73e3dcd4c Remove unused props from registration 2019-02-05 07:11:29 +00:00
Travis Ralston eac50aa800 Remove old user and room settings
This takes out the old user and room settings, replacing the paths with the new dialog editions. The labs setting has been removed in order to support this change.

In addition to removing the old components outright, some older components which were only used by the settings pages have been removed. The exception is the ColorSettings component as it has a high chance of sticking around in the future.

Styles that were shared by the settings components have been broken out to dedicated sections, making it easier to remove the old styles entirely.

Some stability testing of the app has been performed to ensure the app still works, however given the scope of this change there is a possibility of some broken functionality.
2019-02-04 13:40:21 -07:00
Travis Ralston 728748c9cd Disable old settings, making tabbed settings the default
This is intentionally not removing the labs flag or other supporting structures of the old settings to make a revert as easy as possible in the event that needs to happen. All of the cruft left behind (TempTab, temp styles, labs flag, old components, etc) will be removed in the very near future.
2019-02-01 10:29:13 -07:00
J. Ryan Stinnett cfe19d710b Avoid hsName for auth headers which can be outdated
`hsName` uses only the default HS, so that can easily be outdated if the HS URL
is customized.
2019-01-31 10:05:39 -06:00
Bruno Windels 0450f43267 clarify how lhs collapsed state is stored 2019-01-31 10:19:05 +01:00
Travis Ralston 190b763c5d Render the home page when viewing the directory
The only time this happens is if someone goes to #/directory without previously visiting a page (ie: fresh landing).
2019-01-29 23:25:07 -07:00
Bruno Windels 855dbd7d2b Merge branch 'experimental' into bwindels/roomdirectory-makeover 2019-01-29 18:33:03 +01:00
Bruno Windels 7c0f463c91 fix lint 2019-01-29 15:40:19 +01:00
Bruno Windels 9f1b4ac4cc room directory makeover 2019-01-29 15:34:58 +01:00
Travis Ralston db34666583 Implement leave room button and URL preview settings 2019-01-28 13:54:56 -07:00
David Baker b4f02844a8 Merge remote-tracking branch 'origin/experimental' into dbkr/sas 2019-01-28 09:36:39 +00:00
J. Ryan Stinnett 20b7debcaf Remove support for team servers 2019-01-25 16:13:30 -06:00
Travis Ralston 5dc75e2d3c Have the settings dialog be fixed in size
This also brings out some classes that aren't solely applicable to the user settings and will be applicable to the room settings as well.
2019-01-24 19:12:09 -07:00
J. Ryan Stinnett e0e873d0a8 Remove create account from forgot password 2019-01-23 15:50:44 -06:00
David Baker 6a90625d36 Merge remote-tracking branch 'origin/experimental' into dbkr/sas 2019-01-23 17:32:18 +00:00
Travis Ralston 5ef9015133 Add labs flag for tabbed settings 2019-01-22 10:28:33 -07:00
Travis Ralston a488304410 Appease the linter
Appease the linter round 2

Appease the linter round 3

Appease the linter round 4

Appease the linter round 5
2019-01-21 18:41:49 -07:00
Travis Ralston a8ec40a8b0 Add a temporary tab for visiting the old settings
For debugging purposes
2019-01-21 16:51:43 -07:00
Travis Ralston 5adfc09237 Bring in TabbedView nearly verbatim from prior work
Sourced from https://github.com/matrix-org/matrix-react-sdk/pull/1644 and related PRs.
2019-01-21 16:51:43 -07:00
Travis Ralston 0e42c0892e Early modalization of UserSettings
Basically just shove it into a modal and call it good.
2019-01-21 16:51:43 -07:00
J. Ryan Stinnett 29be3ee4b5 Rename login directory to auth 2019-01-21 17:45:55 -06:00
David Baker 970880737e Merge remote-tracking branch 'origin/experimental' into dbkr/sas 2019-01-18 18:33:11 +00:00
J. Ryan Stinnett 989227d435 Fix line length lint warnings
I am about to run some code replacements that might make lines too long, so with
this change I know we're starting from 0 line length warnings.
2019-01-17 22:06:49 -06:00
Bruno Windels 8c30d05eb8 Revert "Merge pull request #2348 from matrix-org/bwindels/roomgridview-experimental"
This reverts commit ece5cb1fcc, reversing
changes made to 64a3d2521c.
2019-01-17 10:29:37 +01:00
David Baker 1d2538a7bc First working version of SAS 2019-01-15 18:08:13 +00:00