Commit graph

12302 commits

Author SHA1 Message Date
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
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
J. Ryan Stinnett
2b14f2af5c Clean up when new key backup version fails to backup
If creating a new key backup version succeeds but backing up to it fails, delete
the version to avoid surprises. In addition, this converts the creation of a new
key backup to async / await style.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-18 10:20:12 +00:00
Travis Ralston
c6da61f1de
Make sure to grab the InlineSpinner object 2018-12-17 18:47:33 -07:00
J. Ryan Stinnett
1c4621c98e Link to CONTRIBUTING from JS SDK
The JS SDK's CONTRIBUTING file is a bit simpler to read. The Synapse version previously used includes mentions of Python lint tools that don't apply here.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-18 01:24:33 +00:00
Willem Mulder
d304c35b38 Allow widgets to autoplay media
This is useful for e.g. webcam streams in widgets.

Signed-off-by: Willem Mulder <willemmaster@hotmail.com>
2018-12-18 00:43:37 +00: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
576bfedfb5 Remove global flag
Regular expression objects are stateful, and the global flag interferes badly with the expression. A valid call can cause it to act like a flip flop instead of a stateless test.
2018-12-13 22:00:06 -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
bae9996c64
Merge pull request #2352 from matrix-org/travis/fix-notification-bell
Fix translation error on notification icon
2018-12-13 16:36:18 -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
J. Ryan Stinnett
15366fbb0a Change room recovery reminder button style
Change the button to a transparent background so that it's less prominent and
you focus on the primary button instead.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-13 16:36:55 +00: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
Travis Ralston
bc9c08b11a
Merge pull request #2338 from matrix-org/travis/validate-emails
Check to make sure email addresses look roughly valid before inviting them to rooms
2018-12-12 08:12:15 -07:00
J. Ryan Stinnett
2ca7477406 Fix typo in push rules comment
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-12 01:46:48 +00:00
J. Ryan Stinnett
bea551f52e
Merge pull request #2346 from jryans/expose-push-rules
Expose hidden notification rules in UI
2018-12-12 02:44:32 +01:00
J. Ryan Stinnett
04c30181c6 Expose hidden notification rules in UI
Adds UI control for 3 hidden notification rules:

* Messages containing @room
* Encrypted one-to-one messages
* Encrypted group messages

This should help to clarify some mysterious notification behavior, as it wasn't
obvious that these rules existed.

Fixes vector-im/riot-web#7833.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-12 01:41:27 +00:00
J. Ryan Stinnett
ab6566980f Remove unused string left behind after #2259
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-11 19:15:08 +00:00
Bruno Windels
566e03568e
Merge pull request #2340 from matrix-org/rav/no_preserve_hs_url
Avoid preserving HS url at logout
2018-12-11 16:40:46 +00: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
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
David Baker
f578bc6f87 Merge branch 'master' into develop 2018-12-10 13:44:52 +00:00
David Baker
37c984e195 v0.14.7 2018-12-10 13:43:59 +00:00
David Baker
9d456b2d0d Prepare changelog for v0.14.7 2018-12-10 13:43:58 +00:00
David Baker
5444a61e6f Released js-sdk 2018-12-10 13:39:35 +00:00
Travis Ralston
780315817c
Merge pull request #2339 from matrix-org/travis/speed-up-room-list
Speed up room unread checks by not hitting the SettingsStore so often
2018-12-08 12:16:30 -07:00
Travis Ralston
ebdba32393
Add a comment about the SettingsStore being slow 2018-12-08 12:06:37 -07:00
Travis Ralston
f2468f562d Speed up room unread checks by not hitting the SettingsStore so often
This was noticed as a problem after `Unread.doesRoomHaveUnreadMessages` started being called a lot more frequently. Down the call stack, `shouldHideEvent` is called which used to call into the `SettingsStore` frequently, causing performance issues in many cases. The `SettingsStore` tries to be as fast as possible, however there's still code paths that make it less than desirable to use as the first condition in an AND condition. By not hitting the `SettingsStore` so often, we can shorten those code paths.

As for how much this improves things, I ran some profiling before and after this change. This was done on my massive 1200+ room account. Before it was possible to see nearly 2 seconds spent generating room lists where 20-130ms per room was spent figuring out if the room has unread messages. Afterwards, the room list was generating within ~330ms and each unread check taking 0-2ms. There's still room for improvement on generating the room list, however the significant gains here seem worth it.
2018-12-07 20:15:21 -07: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
Travis Ralston
d062e2c2f4 Check to make sure email addresses look roughly valid before inviting them to room
Fixes https://github.com/vector-im/riot-web/issues/6854
2018-12-07 15:03:58 -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
David Baker
d40225bf55
Merge pull request #2337 from jryans/rm-outdated-skin-info
Remove outdated info about custom skins
2018-12-07 18:08:38 +00:00
David Baker
8f217dc3a4
Merge pull request #2333 from matrix-org/travis/callbox-hidden
Show the IncomingCallBox if the call is for the RoomSubList
2018-12-07 18:00:53 +00:00
Travis Ralston
482e6b57da
Merge pull request #2331 from matrix-org/travis/mto-via
Don't consider ACL'd servers as permalink candidates
2018-12-07 10:59:50 -07:00
David Baker
d7319d7e4f
Merge pull request #2330 from matrix-org/travis/fix-pinned-rooms
Fix pinning of rooms without badges
2018-12-07 17:44:36 +00:00
David Baker
6d58296fa6
Merge pull request #2329 from matrix-org/travis/sort-i18n-2
Sort translations by file name
2018-12-07 17:43:57 +00: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
J. Ryan Stinnett
0b65a1ee1a Remove outdated info about custom skins
It has been marked outdated for several years. Since it appears on the repo home
page, it makes the project feel unmaintained.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-06 19:25:07 -06: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
Matthew Hodgson
245c839962
Merge pull request #2335 from jryans/react-style-guide
Update React guide in code style
2018-12-06 23:12:30 +00:00
J. Ryan Stinnett
757181c322 Update React guide in code style
This updates React guidance to prefer JS classes and adds additional info about
how to handle specific situations when using them.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-06 16:34:54 -06: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
Travis Ralston
31b7a0ddcb
Merge pull request #2259 from matrix-org/t3chguy/account_deactivation_preferences
Remove temporary account_deactivation_preferences
2018-12-06 10:45:04 -07:00
David Baker
a82b54f25a v0.14.7-rc.2 2018-12-06 12:39:24 +00:00
David Baker
c94d8d6f68 Prepare changelog for v0.14.7-rc.2 2018-12-06 12:39:23 +00:00
David Baker
c6d22cbc83
Merge pull request #2332 from matrix-org/dbkr/ship_babelrc
Ship the babelrc file to npm
2018-12-06 12:29:38 +00:00