Commit graph

12860 commits

Author SHA1 Message Date
Bruno Windels
fb4a441341 fix navigation to room info in group view 2018-12-10 16:52:45 +01:00
Bruno Windels
75925f6192 room sublist seems to get rendered w/o _scroll element
when loading the page from a community url
2018-12-10 16:51:32 +01:00
Bruno Windels
ab728ead72 give group header some padding 2018-12-10 16:51:19 +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
Bruno Windels
fe76287035 style communities button, make it visible again 2018-12-10 15:43:48 +01:00
Bruno Windels
10a989a003 make icon optional in action button
as we'll draw the icon with css
2018-12-10 15:33:35 +01: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
David Baker
77c51aff2d Ship the babelrc file to npm
We ship the source files, so it probably makes sense to ship the
babelrc that tells you how to compile them.
2018-12-06 11:44:00 +00:00
David Baker
58ab9a0995 v0.14.7-rc.1 2018-12-06 11:18:37 +00:00
David Baker
e2c01445d3 Prepare changelog for v0.14.7-rc.1 2018-12-06 11:18:37 +00:00
David Baker
870825b180 js-sdk rc.1 2018-12-06 11:15:36 +00:00
Travis Ralston
45bc1f7dbd Appease the linter 2018-12-05 18:14:22 -07:00
Travis Ralston
f08a54ed1e Don't consider ACL'd servers as permalink candidates
and fix the bug where it was picking 4 servers instead of 3. This was due to `<=` instead of `<` in the `MAX_SERVER_CANDIDATES` loop. Added tests for all the things.

Fixes https://github.com/vector-im/riot-web/issues/7752
Fixes https://github.com/vector-im/riot-web/issues/7682
2018-12-05 18:00:09 -07:00
Travis Ralston
93c90896b5 Regenerate en_EN.json 2018-12-05 14:00:09 -07:00
Travis Ralston
79ad95c853 Merge remote-tracking branch 'origin/develop' into travis/sort-i18n-2 2018-12-05 13:58:18 -07:00
Travis Ralston
daa0ddd21d
Merge pull request #2306 from matrix-org/travis/cors-on-join
Suppress CORS errors in the 'failed to join room' dialog
2018-12-05 13:53:24 -07:00
Travis Ralston
216fc6412a Fix pinning of rooms without badges
Fixes https://github.com/vector-im/riot-web/issues/7723

This adds consideration for rooms that are "mentions only" (or "unread-muted" as internally referenced).
2018-12-05 13:52:27 -07:00
Travis Ralston
a2b825ba92 Sort translations by file name
This keeps the strings close together and roughly in the same area as the others, and makes it easier to maintain the translation file.
2018-12-05 11:52:10 -07:00
Travis Ralston
c06d42d560
Merge pull request #2317 from matrix-org/travis/invite-errors
Check if users exist before inviting them and communicate errors
2018-12-05 11:50:03 -07:00
Travis Ralston
c46bae59b2
Merge branch 'develop' into travis/cors-on-join 2018-12-05 11:30:19 -07:00
Travis Ralston
7e817f4aa9
Add a helpful comment 2018-12-05 11:29:53 -07:00
Travis Ralston
28f4752c5b Rename returned completion states to be something sensible 2018-12-05 11:27:48 -07:00
Travis Ralston
0f348a7c78 Merge branch 'develop' into travis/invite-errors 2018-12-05 11:25:45 -07:00