Commit graph

605 commits

Author SHA1 Message Date
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
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
David Baker
8ac62f8c12 Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-29 16:20:45 +00:00
David Baker
b59b8b7fca Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-25 17:42:46 +01:00
Travis Ralston
d7367a7cfd Merge branch 'develop' into travis/permalink-routing 2018-10-24 09:12:14 -06: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
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
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
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
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
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
David Baker
fa30707eae Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-02 16:59:15 +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
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
David Baker
5ba45a71e8 Remove SuggestKeyRestoreHandler
Didn't end up using it for this iteration
2018-09-18 15:32:33 +01:00
David Baker
292b1f09af WIP e2e key backups
Continues from Matthew's work: adds a feature flag & panel in
user settings to create a backup.

Can't restore a backup yet, nor even continue backing up to the same
backup after a refresh.
2018-09-13 17:11:46 +01:00
David Baker
f62e92a07b Merge remote-tracking branch 'origin/develop' into matthew/e2e_backups 2018-09-11 11:37:22 +01:00
David Baker
fa669bf096 Error on splash screen if sync is failing
Display an error on the splash screen with the spinner if the sync
request is not working, rather than just sitting there with a spinner
as if nothing is wrong.

Fixes https://github.com/vector-im/riot-web/issues/7148
2018-09-07 12:18:25 +01:00
David Baker
27fa21e403 Replace view_set_mxid with require_registration
To put all the other flows through the to-ilag-or-not-to-ilag flow
2018-09-05 18:08:49 +01:00
David Baker
a042f4d0af Do full registration if HS doesn't support ILAG
ILAG only works on HSes that allow registering without an email
address, so whenever we redirect to the ILAG flow, check what
registration flows the server supports, and if it doesn't offer one
that's ILAG-compatible, prompt the user to go through the full
registration process instead.

This doesn't change all the entry points into ILAG, I'll do that
in a separate commit.
2018-09-05 17:07:39 +01:00
Bruno Windels
5c395e4db7 wait for room creation, to go to home page in case of failure 2018-09-04 14:26:36 +02:00
David Baker
8fd7c4a66b Merge remote-tracking branch 'origin/develop' into matthew/e2e_backups 2018-08-24 14:07:16 +01:00
Bruno Windels
07083e61b7
Merge pull request #2058 from matrix-org/t3chguy/hide_logout_warning_whilst_logging_out
while logging out ignore `Session.logged_out` as it is intentional
2018-08-07 10:31:29 +02:00
Michael Telatynski
923de17b91
allow passing initial is_url like hs_url in query params
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-24 16:10:46 +01:00
Michael Telatynski
ffe0b35504
while logging out ignore Session.logged_out as it is intentional
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-15 22:33:00 +01:00
Luke Barnard
5af8ddcf10 Fix import 2018-07-06 11:00:39 +01:00
Luke Barnard
d53c836fd7 Implement aggregation by error type for tracked decryption failures 2018-07-05 13:54:44 +01:00
Luke Barnard
0dd3a77432 Track an event name when tracking a decryption failure
Otherwise piwik will not agregate the failures correctly for all views.
2018-07-02 09:45:32 +01:00
Luke Barnard
01dd387970 Track UISIs in bulk
Piwik supports sending an event value, which we can use to indicate
cardinality of UISIs to be tracked instead of tracking them individually.

This means we can track them at a lower frequency of (fairly arbitrary)
60s.
2018-06-28 15:07:27 +01:00
David Baker
210d920a92
Merge pull request #1949 from matrix-org/luke/track-uisis-piwik
Track decryption success/failure rate with piwik
2018-06-18 10:12:26 +01:00
Luke Barnard
b0a2772889 Use more consistent start/stop pattern 2018-06-15 17:58:43 +01:00
Luke Barnard
488cc416cf For now, shelve persistance across sessions 2018-06-15 17:08:11 +01:00
Luke Barnard
7489d7d531 Fix incorrect call to DFT 2018-06-15 16:50:52 +01:00
Luke Barnard
f08274585e Persist tracked event ID hash using localStorage 2018-06-15 15:30:54 +01:00
Luke Barnard
cfe52a2888 Instead of passing dft.eventDecrypted, call it instead
So that `this` has the correct reference.
2018-06-15 15:15:05 +01:00
Luke Barnard
62601d657d Implement DecryptionFailureTracker for less agressive tracking
Instead of pinging Analytics once per failed decryption, add the failure
to a list of failures and after a grace period, add it to a FIFO for
tracking. On an interval, track a single failure from the FIFO.
2018-06-15 13:42:18 +01:00
Luke Barnard
3cadbd3974 Include decryption error in decryption failure metrics 2018-06-13 11:21:26 +01:00
Luke Barnard
230de44071 Adjust comment 2018-06-13 09:38:57 +01:00
Luke Barnard
64b86108d0 Only track decryption failures 2018-06-13 09:38:23 +01:00
Michael Telatynski
175f1aa15c
don't set the displayname on registration as Synapse now does it
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-12 16:43:54 +01:00
Luke Barnard
0934006817 Track decryption success/failure rate with piwik
Emit a piwik event when a decryption occurs in the category "E2E" with
the action "Decryption result" and the name either "failure" or
"success".

NB: This will cause Riot to a lot of networking when decrypting many
events. One HTTP request per decrypted event should be expected.
2018-06-12 14:13:09 +01:00
David Baker
bea99e07b3
Merge pull request #1940 from matrix-org/luke/exit_settings
Fix click on faded left/right/middle panel -> close settings
2018-06-05 10:36:58 +01:00
Luke Barnard
6a317569d7 Add null-guard to support browsers that don't support performance
Like Tor.

Fixes https://github.com/vector-im/riot-web/issues/6781
2018-06-04 09:38:21 +01:00
Luke Barnard
404c071f2a Remove lie from docs 2018-05-29 13:19:56 +01:00
Luke Barnard
da9fe9917b Fix click on faded left/right/middle panel -> close settings
- implement generic dispatch to close user/room/group settings
 - use dispatch to allow clicks on disabled left/right/middle panel to
   close settings

A much more maintainable approach would be to use dedicate routing
instead of doing different things depending on what page of the app is
currently being viewed. At the very least we could make the concept of a
settings page generic.
2018-05-29 13:16:39 +01:00
Matthew Hodgson
25216d4660 Merge branch 'develop' into matthew/e2e_backups 2018-05-28 00:46:05 +01:00