Commit graph

6611 commits

Author SHA1 Message Date
J. Ryan Stinnett
20b7debcaf Remove support for team servers 2019-01-25 16:13:30 -06:00
Travis Ralston
535d42684f Initial structure for new room settings 2019-01-25 13:09:44 -07:00
David Baker
2061ce2dbf
Merge pull request #2509 from matrix-org/dbkr/logout_warning_wording
Tweak wording on logout warning
2019-01-25 18:25:37 +00:00
David Baker
47c2ca3384 Tweak wording on logout warning
I further tweaked the wording from Tom's in the bug report to
put passphrases first since they are supposed to be the norm
(and the correct term is "recovery passphrase").

Fixes https://github.com/vector-im/riot-web/issues/8214
2019-01-25 18:01:40 +00:00
David Baker
de9b964490 Fix NPE in RoomRecoveryReminder
Also fix a bug introduced in
https://github.com/matrix-org/matrix-react-sdk/pull/2506
where I failed to set the button caption in one case.

Fixes https://github.com/vector-im/riot-web/issues/8216
2019-01-25 17:49:02 +00:00
Bruno Windels
2d2f9712b5 update layout on window resize 2019-01-25 18:48:25 +01:00
Bruno Windels
cb9ebf8b8b rerender roomlist when banner gets shown/hidden, to update the layout 2019-01-25 18:47:57 +01:00
David Baker
7aa779c160 Remove outdated paragraph promising better verification 2019-01-25 17:31:46 +00:00
J. Ryan Stinnett
939f8b5591
Fullstop
Co-Authored-By: dbkr <dbkr@users.noreply.github.com>
2019-01-25 17:30:59 +00:00
J. Ryan Stinnett
e3cd50da1f
Fullstop
Co-Authored-By: dbkr <dbkr@users.noreply.github.com>
2019-01-25 17:30:47 +00:00
J. Ryan Stinnett
44a5ee3e44
Add fullstop
Co-Authored-By: dbkr <dbkr@users.noreply.github.com>
2019-01-25 17:30:22 +00:00
David Baker
1b5be8603c
Merge pull request #2506 from matrix-org/dbkr/room_recovery_reminder_verifydevice
New text/caption for key backup by verifying device
2019-01-25 17:13:09 +00:00
David Baker
f6bbfd7e0d New text/caption for key backup by verifying device
https://github.com/vector-im/riot-web/issues/8072
2019-01-25 16:25:15 +00:00
Travis Ralston
fb36f7abef Fix imports and quotes 2019-01-25 09:18:00 -07:00
Travis Ralston
f7f23e4dea Merge branch 'experimental' into travis/usettings/tab/security 2019-01-25 09:12:07 -07:00
Travis Ralston
7a2cc3a242
Merge pull request #2503 from matrix-org/travis/settings/placeholders
Default a Field's placeholder to the label
2019-01-25 07:51:07 -07:00
Travis Ralston
3301c35f7d
Merge pull request #2501 from matrix-org/travis/settings/dialog-size
Have the settings dialog be fixed in size
2019-01-25 07:46:36 -07:00
Travis Ralston
cb6f415a05 Be more positive with setting labels
Fixes https://github.com/vector-im/riot-web/issues/6435

This is done through an on-the-fly inverter for the settings. All the settings changed are boolean values, so this should be more than safe to just let happen throughout the SettingsStore. Typically a change like this would be done in the individual handlers (similar to how setting names are remapped to different properties or even different storage locations on the fly), however doing that for this many settings would be a huge nightmare and involve changing *all* the layers. By putting a global "invert this" flag on the setting, we can get away with doing the inversion as the last possible step during a read (or write).

To speed up calculations of the default values, we cache all the inverted values into a lookup table similar to how we represent the defaults already. Without this, the DefaultHandler would need to iterate the setting list and invert the values, slowing things down over time. We invert the value up front so we can keep the generic inversion logic without checking the level ahead of time. It is fully intended that a default value represents the new setting name, not the legacy name.

This commit also includes a debugger for settings because it was hard to visualize what the SettingsStore was doing during development. Some added information is included as it may be helpful for when someone has a problem with their settings and we need to debug it. Typically the debugger would be run in conjunction with `mxSendRageshake`: `mxSettingsStore.debugSetting('showJoinLeaves') && mxSendRageshake('Debugging showJoinLeaves setting')`.
2019-01-24 20:57:40 -07:00
Travis Ralston
d819095a76 Default a Field's placeholder to the label
Fixes https://github.com/vector-im/riot-web/issues/8250

This keeps all fields in line with the design without them having to defining it twice. The option is kept in the first place as some fields might want to override the placeholder to be longer than the label or something.
2019-01-24 19:36:23 -07: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
Travis Ralston
1f10cda5e4 Implement the "Help & About" tab of new user settings 2019-01-24 17:10:35 -07:00
Travis Ralston
b0a8cbf75f Implement the "Security & Privacy" tab of new user settings 2019-01-24 15:47:04 -07:00
Travis Ralston
c5deeeaceb
Merge pull request #2498 from matrix-org/travis/usettings/tab/voice
Implement the "Voice & Video" tab of new user settings
2019-01-24 14:59:32 -07:00
Travis Ralston
87cea5ef09 Fix sizings and margins 2019-01-24 14:41:00 -07:00
Travis Ralston
3e09cd1d2e Appease the linter 2019-01-24 13:43:16 -07:00
Travis Ralston
a4e0796bfe Swap out the media permissions text for a paragraph element
The sizing ratio looks way off when the text is just subtext.
2019-01-24 13:37:20 -07:00
Travis Ralston
27ee6625ee Implement the "Voice & Video" tab of new user settings 2019-01-24 13:33:22 -07:00
Travis Ralston
67ba728457 Add widget screenshots to the Labs section
This is a normal setting and not a real labs setting, however the design calls for it to be here.
2019-01-24 12:38:48 -07:00
Travis Ralston
13e36bcead
Merge pull request #2495 from matrix-org/travis/usettings/tab/preferences
Implement the "Preferences" tab on new user settings
2019-01-24 12:05:25 -07:00
David Baker
8c412b85ee
Merge pull request #2496 from matrix-org/dbkr/target_blank
Add target="_blank" to links that don't have it
2019-01-24 18:15:18 +00:00
Travis Ralston
5479a4dac5 Implement the "Preferences" tab on new user settings 2019-01-24 10:32:29 -07:00
David Baker
ade43c4e5b Lint 2019-01-24 17:19:04 +00:00
Travis Ralston
a9243cf851 Appease the linter 2019-01-24 10:12:25 -07:00
Travis Ralston
06a9ab3a70 Styling to match the other tabs a bit closer
Introduces a new component to reduce code duplication
2019-01-24 10:12:25 -07:00
Travis Ralston
d267f232bc Embed existing notifications settings into the tab 2019-01-24 10:12:25 -07:00
David Baker
4bcb9f12d4 Add target="_blank" to links that don't have it
This is now more of a problem in the Electron app because of
https://github.com/electron/electron/issues/8841 but is still
annoying in the webapp if you're taken away from your chat client.

Exception is the SSO link, as commented (issue filed at
https://github.com/vector-im/riot-web/issues/8247).

Fixes https://github.com/vector-im/riot-web/issues/8226
2019-01-24 16:19:18 +00:00
Travis Ralston
1251f607ef Add missing import 2019-01-24 08:52:45 -07:00
Travis Ralston
d2684638b4 Actually include the lazy loading function 2019-01-24 08:52:45 -07:00
Travis Ralston
f1c1caac62 Implement labs tab in new user settings 2019-01-24 08:52:45 -07:00
Travis Ralston
2a9f6186d7
Merge pull request #2491 from matrix-org/travis/usettings/tab/general
Implement the "General" tab of new user settings
2019-01-24 08:51:11 -07:00
Bruno Windels
636955daef use offsetHeight for consistency with sizer 2019-01-24 16:45:26 +01:00
Bruno Windels
067a861f80 integrate layout/distributor with RoomList 2019-01-24 15:43:49 +01:00
J. Ryan Stinnett
7b5500b9e8
Merge pull request #2493 from jryans/auth-lint
Appease linter in auth related files
2019-01-23 19:04:54 -06:00
J. Ryan Stinnett
41c79a93c0
Merge pull request #2489 from jryans/auth-text-and-links
Update text and links in authentication flows
2019-01-23 18:40:55 -06:00
J. Ryan Stinnett
319369d1be Fix remaining warnings for enabled files 2019-01-23 18:38:49 -06:00
J. Ryan Stinnett
9470424bcb Enable linting for all auth related files 2019-01-23 18:32:36 -06:00
J. Ryan Stinnett
dccc9dc42f Fix linting error 2019-01-23 18:11:34 -06:00
Travis Ralston
6f947ab6d9 Appease the linter 2019-01-23 16:09:58 -07:00
Travis Ralston
7fb0cd6c42 Bring over the deactivate account button 2019-01-23 15:56:58 -07:00
Travis Ralston
3f897468a6 Add a ToggleSwitch and use it for SettingsFlag
Also bring in the compact timeline option.

Without minor CSS changes, the old user settings are completely unusable with this change. As such, minimal effort has been put in to have it be useful. Similarly, the changes drop the use of radio groups and the old theme selector was the only one that used it. See the comments for more details on how/why this was mitigated the way it was.
2019-01-23 15:50:41 -07:00
J. Ryan Stinnett
9f5f552be1 Move LanguageSelector to views
It's too simple to be called a structure.
2019-01-23 16:14:03 -06:00
J. Ryan Stinnett
f4bbfc4aeb Remove unneeded style from forgot password 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
df76a312c2 Add header text to forgot password 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
8241f09b12 Update registration header text 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
f069833ad9 Update text to change auth flows 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
9b3d674a92 Rename links for changing auth flow 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
e0e873d0a8 Remove create account from forgot password 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
e396954a20 Update forgot password link text and style 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
2f89af4fa0 Update login header text 2019-01-23 15:50:44 -06:00
Travis Ralston
97666d39bc Bring in theme and language options 2019-01-23 14:43:45 -07:00
Travis Ralston
d55d145223 Bring over phone number management 2019-01-23 14:16:18 -07:00
David Baker
6a90625d36 Merge remote-tracking branch 'origin/experimental' into dbkr/sas 2019-01-23 17:32:18 +00:00
Travis Ralston
4a819d319e Early de-linting 2019-01-23 09:41:07 -07:00
Travis Ralston
875c0f94d3 Include a ref so that get/set value works again 2019-01-23 09:29:44 -07:00
Travis Ralston
aa7afe819f Bring over email address management 2019-01-23 09:28:53 -07:00
Travis Ralston
fa1ce61a06 Move profile settings to a dedicated component
The tab component is getting a bit hard to navigate
2019-01-23 09:28:53 -07:00
Travis Ralston
19de6694ca Bring in the change password section
This also changes the layout slightly in the user settings, but nothing detrimental.
2019-01-23 09:28:53 -07:00
Travis Ralston
677b3ca7b5 Bring flair into the new settings
Makes the flair options in old settings look broken (cosmetic issues), but it's fine because we're ripping that out in due time.
2019-01-23 09:27:04 -07:00
Travis Ralston
f643d7a143 Finish the box for displayname/avatar changes 2019-01-23 09:27:04 -07:00
Travis Ralston
de81c8d768 Template out remaining sections 2019-01-23 09:27:04 -07:00
J. Ryan Stinnett
05254f0e82 Tweak language selector to match design 2019-01-23 10:18:06 -06:00
J. Ryan Stinnett
f9793fa567 Extract language selector styles 2019-01-23 10:18:06 -06:00
J. Ryan Stinnett
36ebd91f07 Move language selector to auth header 2019-01-23 10:18:06 -06:00
David Baker
6d7e88a84a Fix desktop captcha check
Change gnarly hardcoded protocol to detect running in the electron app

Fixes https://github.com/vector-im/riot-web/issues/8236
2019-01-23 15:06:49 +00:00
Travis Ralston
94b1d739fb
Merge pull request #2476 from matrix-org/travis/modal-tab-settings
Basic structure for tabbed user settings
2019-01-23 07:52:44 -07:00
Bruno Windels
45c4ca3183
Merge pull request #2481 from matrix-org/bwindels/showroomsandpeoplewhenempty
Fix: show rooms and people section when empty while filtering
2019-01-23 09:39:17 +00:00
J. Ryan Stinnett
0f3ee9c786 Extract auth header logo to new component
This will allow `riot-web` to replace only the logo, rather than the whole
header.
2019-01-22 22:41:10 -06:00
Travis Ralston
b83227c035
Merge pull request #2484 from matrix-org/travis/select-field
Support selects on Field
2019-01-22 20:13:06 -07:00
Travis Ralston
2b3c8c4450 Correctly form a select/input element 2019-01-22 20:03:59 -07:00
J. Ryan Stinnett
575cd1e37b Add modal look to authentication flows
This changes the auth screens to use the modal-like style of the redesign.

This does not attempt to style the actual body content of each screen.  Instead,
it covers the header area with logo, footer links, and overall modal container
only.
2019-01-22 20:44:49 -06:00
Travis Ralston
f0e8182ff3 Support selects on Field
Luckily, the styling is copy/paste capable.
2019-01-22 19:25:09 -07:00
Travis Ralston
5ef9015133 Add labs flag for tabbed settings 2019-01-22 10:28:33 -07:00
Bruno Windels
2234a691c6
Merge pull request #2480 from matrix-org/bwindels/typingnotifsmallfix
Fix: apparently room can be null here
2019-01-22 17:04:00 +00:00
Travis Ralston
0deb210fd8 Collapse DOM around tab label icon 2019-01-22 09:54:35 -07:00
Bruno Windels
7d4165802c show rooms and people section when empty while filtering 2019-01-22 17:54:04 +01:00
Bruno Windels
d803005d1c
Merge pull request #2478 from matrix-org/bwindels/jumptobottommakeover
Redesign: pull jump to bottom button out of room status bar
2019-01-22 16:39:54 +00:00
Bruno Windels
1373b2f5e2 apparently room can be null here 2019-01-22 17:34:48 +01:00
Bruno Windels
7301d6a3c3 set default size of 350px for left panel 2019-01-22 16:40:11 +01:00
Bruno Windels
85b55847e1 missing semicolon 2019-01-22 14:52:22 +01:00
Bruno Windels
689df1b506 copyright 2019-01-22 14:51:11 +01:00
Bruno Windels
e5de33ab77 hide RoomStatusBar when not needed again
as it will be shown a lot less now, having the layout
jump up and down won't be so much of a problem.
2019-01-22 14:50:31 +01:00
Bruno Windels
14592b5b57 use JumpToBottomButton in RoomView 2019-01-22 14:50:16 +01:00
Bruno Windels
de4cda4572 remove unread messages and jump to bottom from RoomStatusBar 2019-01-22 14:50:06 +01:00
Bruno Windels
5dd5f4f1dc add JumpToBottomButtom component 2019-01-22 14:49:04 +01:00
Bruno Windels
3c8bd3fc78
Merge pull request #2456 from matrix-org/bwindels/extendtypingbartiming
Avoid "jumpiness" with inline typing indicator
2019-01-22 11:04:25 +00:00
Bruno Windels
f83411ea0b whitespace 2019-01-22 11:46:02 +01:00
Bruno Windels
0e0128c297 if instead of short-circuit and for readability 2019-01-22 11:37:18 +01:00
Bruno Windels
5d45d5dfac formatting 2019-01-22 11:37:09 +01:00
Travis Ralston
881353037e
forgot .length somehow
Co-Authored-By: bwindels <bruno@windels.cloud>
2019-01-22 10:34:54 +00:00
David Baker
ba1aa2037d Merge remote-tracking branch 'origin/experimental' into dbkr/delint_compatpage_loggedinview 2019-01-22 10:13:27 +00:00
Travis Ralston
feed17d9ac Minor code style fix 2019-01-21 20:55:40 -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
J. Ryan Stinnett
1d01ac398c Rename mx_Login_box to mx_AuthPage_modal and fold into AuthPage 2019-01-21 19:11:43 -06:00
J. Ryan Stinnett
3bd765f63f Rename LoginPage, Header, Footer views to Auth* 2019-01-21 19:11:43 -06:00
J. Ryan Stinnett
c7354f483b Rename LoginBox to AuthButtons
This component displays login and register buttons. It's currently used in the
composer when viewing a room as a guest.

The name is confusing because the login flow uses are very similarly named
`mx_Login_box` as a wrapping around forms, which is totally different than these
buttons.

Additionally, the components is moved to `views/auth` since it is very simple
and auth related.
2019-01-21 19:11:43 -06:00
Travis Ralston
15a56fa90b Improve the profile section a bit and add a highlight to the temp tab 2019-01-21 17:27:43 -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
f1e44757f0 Very early work on the "General" tab 2019-01-21 16:51:43 -07:00
Travis Ralston
22435bf8d2 Make the dialog look more like a new dialog 2019-01-21 16:51:43 -07:00
Travis Ralston
a7e3d7df28 Make the tabs look like the design 2019-01-21 16:51:43 -07:00
Travis Ralston
15709040e7 Make tabs be their own panels 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
J. Ryan Stinnett
e714b2aed2 Remove Status theme-specific hacks 2019-01-21 13:59:22 -06:00
David Baker
bd011de1e5 De-lint CompatabilityPage & LoggedInView
and remove from errorfiles
2019-01-21 19:32:57 +00:00
David Baker
eecc37038a
Merge pull request #2469 from matrix-org/dbkr/warn_on_wrong_recovery_key
Error if no sessions decrypted
2019-01-21 19:18:33 +00:00
David Baker
31889ecfad Lint 2019-01-21 19:07:44 +00:00
Bruno Windels
5aff76b49d use css scrollbar styles to make native scrollbars prettier 2019-01-21 19:06:49 +01:00
David Baker
e42b0a9972 Make error string less redundant 2019-01-21 18:02:09 +00:00
David Baker
1a9c3f1ac7 Make error string less technical 2019-01-21 17:41:55 +00:00
David Baker
0a2b79b62d Error if no sessions decrypted
Tell the user if they entered the wrong recovery key

Fixes https://github.com/vector-im/riot-web/issues/8143
2019-01-21 16:51:30 +00:00
Bruno Windels
86357fde51 sort combined typing users by name so order is stable 2019-01-21 17:49:46 +01:00
Bruno Windels
25aa58f29f increase/clear min-height on timeline on new message(s)
depending on whether the typing bar is visible
2019-01-21 17:35:40 +01:00
Bruno Windels
018f3d2a5c use box-sizing: border-box to make clientHeight === actual height 2019-01-21 17:30:02 +01:00
David Baker
4c381c32ee Show verify button when we have a device to verify
rather than when we don't
2019-01-21 11:34:13 +00:00
Travis Ralston
36ffbef010
Tweak comment about field ID
Co-Authored-By: jryans <jryans@gmail.com>
2019-01-19 22:29:57 -06:00
J. Ryan Stinnett
efd5405267 Add a form field component for the redesign
The label moves into the border on focus and after being filled. A valid color
is applied to the label and input border. Other states like invalid can be added
later as needed.

Adapted from @ara4n's experiment into a React component with a CSS only
approach.
2019-01-19 22:13:53 -06:00
David Baker
60a8d560d1 Undo abortive first attempt at factoring out 2019-01-19 11:54:01 +00:00
J. Ryan Stinnett
7c9509ceb8
Merge pull request #2460 from matrix-org/jryans/versioned-img-urls
Load fonts and images via source-relative URLs and requires
2019-01-18 14:27:55 -06:00
David Baker
630a6a479b Lint 2019-01-18 18:43:40 +00:00
David Baker
970880737e Merge remote-tracking branch 'origin/experimental' into dbkr/sas 2019-01-18 18:33:11 +00:00
David Baker
4f2f2f4f4e Move common UI bits out to separate components 2019-01-18 18:24:38 +00:00
Bruno Windels
c9d5c4903b set min-height of messagelist to current height when showing typing bar
this ensures the timeline never shrinks, and avoids jumpiness when
typing bar disappears again.
2019-01-18 18:53:54 +01:00
David Baker
ec2d51cbbb SAS verification screen matching design 2019-01-18 16:56:49 +00:00
David Baker
4b68ca141c
Merge pull request #2455 from matrix-org/dbkr/key_backup_status_unknown_device
Say when backup is signed by unknown device
2019-01-18 10:58:26 +00:00
J. Ryan Stinnett
20e296b20e Convert image URLs in React to require calls
This allows Webpack to insert the proper image URL after builds steps like
adding a hash and so on. The path you supply to `require` is relative to the JS
source file, just like any other would be.
2019-01-17 22:06:49 -06: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
Travis Ralston
7f6ce69c3e Merge branch 'experimental' into travis/develop2 2019-01-17 16:03:45 -07:00
Bruno Windels
2920deaefe better naming 2019-01-17 18:52:22 +01:00
Bruno Windels
146e651dae add comments 2019-01-17 18:52:14 +01:00
Bruno Windels
1db6f1b652 remove logging 2019-01-17 18:32:46 +01:00
Bruno Windels
d787d3d821 clear typing bar when receiving event from user 2019-01-17 18:26:11 +01:00
David Baker
b551d2f43a Say when backup is signed by unknown device
rather than say it isn't signed by any devices

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

Requires https://github.com/matrix-org/matrix-js-sdk/pull/826
2019-01-17 16:45:00 +00:00
Bruno Windels
7df8951efa wait to hide typing bar until event arrives or 5s timeout 2019-01-17 16:30:55 +01:00
Bruno Windels
89b576936b
Merge pull request #2448 from matrix-org/bwindels/searchmakeover
Redesign: search makeover
2019-01-17 12:12:26 +00: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
J. Ryan Stinnett
859f2a8646 Show spinner while waiting on status message to commit
It can take some time to actually set the status message and see it play back as
a committed event.  This adds a spinner for immediate feedback so it's clear
that something is happening.

Fixes https://github.com/vector-im/riot-web/issues/8135.
2019-01-16 09:33:39 -06:00
David Baker
55889d5491 Change wording of 'invite anyway' setting
https://github.com/vector-im/riot-web/issues/7922
2019-01-16 15:07:30 +00:00
David Baker
4da4e0c37a Iminimal lint-fixes to make develop CI build 2019-01-16 13:57:18 +00:00
Bruno Windels
622b11fd91 remove commented out code from shifting things around 2019-01-16 13:04:49 +01:00
Bruno Windels
0229453482
Merge pull request #2440 from matrix-org/bwindels/smarterresizer
Improve room sublist resizing
2019-01-16 10:55:53 +00:00
Bruno Windels
899ee265e3 Merge branch 'experimental' into bwindels/searchmakeover 2019-01-16 11:17:38 +01:00
Bruno Windels
8d16ac1d31 make room name header smaller 2019-01-16 11:14:05 +01:00
Bruno Windels
cbe3afaa1f resubmit query when switching between "This Room" / "All Rooms" 2019-01-16 11:13:35 +01:00
Travis Ralston
28b8ccfdb1
Merge pull request #2445 from matrix-org/develop
Develop->Experimental
2019-01-15 14:35:53 -07:00
Travis Ralston
66a6f9d322
Merge pull request #2438 from Half-Shot/hs/trim-back-lines
Limit line length in the room directory
2019-01-15 12:01:58 -07:00
David Baker
1d2538a7bc First working version of SAS 2019-01-15 18:08:13 +00:00
Bruno Windels
c07470be7b show a spinner while searching 2019-01-15 18:45:56 +01:00
Travis Ralston
731e05cc5d
Merge pull request #2444 from matrix-org/develop
Develop->Experimental
2019-01-15 10:39:34 -07:00
J. Ryan Stinnett
4b13774585 Revert to avatar only when custom status disabled
This returns to the previous behavior of avatar only without a button when the
custom status feature is disabled so that you don't get pointer cursor for
something that does nothing when clicked.

The avatar ring spacing is kept consistent with and without the feature enabled
by using a different class in CSS.
2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
d8de607edc Update RoomTile on status change 2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
77cee8e67e Update MemberTile on status change 2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
443198c180 Fix lints in MemberTile.js 2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
233288475e Use status events for avatar ring
Similar to changes in `StatusMessageContextMenu`, this changes to using the new
status message event emitted in js-sdk to simplify state handling for the avatar
ring when a status is present.
2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
5b88b64950 Rework custom status context menu
This updates the custom status context menu to match the latest comps.  A single
button is used for setting / clearing, depending on what is appropriate.

The state logic is also changed to depend on events and storage from js-sdk for
the committed status message.  This makes it easy to distinguish the value being
edited from what's currently committed.
2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
fc3055f541 Tweak custom status menu size and placement 2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
eae1e4c9aa Tweak custom status avatar ring
Adjusts the appearance of the avatar ring to match the latest comps.

In addition, we now always render the surrounding button element, which
simplifies styling since the same size is now occupied both with and without the
feature.

This improves alignment between text in the composer and text in the message
history (https://github.com/vector-im/riot-web/issues/8111).
2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
c76b273fae Update RoomTiles on custom status change 2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
e08c70b820 Prune unsupported setting RoomSubList.showEmpty
The code reading this setting was previously removed in #2229.
2019-01-15 10:54:29 -06:00
Travis Ralston
6f62158f94 Fix setting label for unknown invites
Fixes https://github.com/vector-im/riot-web/issues/8126
2019-01-15 09:52:06 -07:00
Bruno Windels
77a62b9174 style search bar 2019-01-15 16:20:04 +01:00
Matthew Hodgson
ef78036a72 fix vector-im/riot-web#8105 2019-01-15 14:40:58 +00:00
Bruno Windels
1bbf1502ec Merge branch 'experimental' into bwindels/smarterresizer 2019-01-15 10:23:50 +01:00
Travis Ralston
177d9f245a
Merge pull request #2441 from matrix-org/develop
Merge develop -> experimental
2019-01-14 14:45:20 -07:00
Bruno Windels
7e395f0fb6 cleanup - part II
reshuffle file structure to make more sense
2019-01-14 20:33:33 +01:00
Bruno Windels
9ecb23ce71 cleanup
- move some methods to ResizeItem subclass
- allow distributor to instanciate sizer and resizeitem it needs
  through static factory methods, instead of passing in another ctor
  a distributor can only function with the right item and sizer anyways.
- use consistent import/export style
- remove obsolete code
2019-01-14 20:24:54 +01:00
Will Hunt
cb5ad8d6f9 Limit the length of topics and names in the RoomDirectory 2019-01-13 14:47:08 +00:00
Travis Ralston
a05c0f9214 Rephrase everything to be "invite anyways" rather than "retry"
Also handle profile errors better
2019-01-11 15:46:03 -07:00
David Baker
5c9d41d96b Lint 2019-01-11 13:42:40 +00:00
David Baker
d87d00e4ae Different dialog for new trusted backup
Split the 'new recovery method' into two cases: one where the new
recovery method isn't trusted and you need to verify the device, and
another where it is and the client is using it (where it's more of
an FYI).

https://github.com/vector-im/riot-web/issues/8069
2019-01-11 13:15:09 +00:00
David Baker
e0bc0494fa
Merge pull request #2433 from matrix-org/travis/rver/7992
Recalculate the visible rooms when rooms are upgraded
2019-01-11 10:37:32 +00:00
David Baker
93cf281ff9
Merge pull request #2432 from matrix-org/travis/rver/7998
Navigate to the upgraded room's create event where possible
2019-01-11 10:35:30 +00:00
David Baker
531822394d
Merge pull request #2429 from matrix-org/travis/rver/8076
Don't show rooms with tombstones in the address picker
2019-01-11 10:33:53 +00:00
David Baker
14fe43f74c
Merge pull request #2427 from jryans/recovery-method-removed
Add separate dialog for recovery method removed
2019-01-11 10:27:17 +00:00
Travis Ralston
c351ee3d30 Appease the linter 2019-01-10 21:54:07 -07:00
Travis Ralston
5333114d7b Give a route for retrying invites for users which may not exist
Fixes https://github.com/vector-im/riot-web/issues/7922

This supports the current style of errors (M_NOT_FOUND) as well as the errors presented by MSC1797: https://github.com/matrix-org/matrix-doc/pull/1797
2019-01-10 21:43:21 -07:00
Travis Ralston
33eef6f5ac
Merge pull request #2428 from matrix-org/travis/rver/7991
Set which servers to try and join upgraded rooms through
2019-01-10 16:28:11 -07:00
Travis Ralston
7d4b6add2c Recalculate the visible rooms when rooms are upgraded
We also do this when they are created just in case we missed the tombstone event.

Fixes https://github.com/vector-im/riot-web/issues/7992
2019-01-10 15:43:22 -07:00
Travis Ralston
b09219fe33 Navigate to the upgraded room's create event where possible
Fixes https://github.com/vector-im/riot-web/issues/7998
2019-01-10 15:29:12 -07:00
Travis Ralston
e24d3cd671 Render a tile for tombstone events
Fixes https://github.com/vector-im/riot-web/issues/7997

This isn't super elegant, but it also provides some amount of utility for people. As users might leave the old room, it might be useful to see when exactly a room was upgraded. We should fix the underlying cause for infinite back pagination though.
2019-01-10 15:15:45 -07:00
Travis Ralston
18ba5f6f19 Don't show rooms with tombstones in the address picker
Fixes https://github.com/vector-im/riot-web/issues/8076
2019-01-10 14:44:19 -07:00
Travis Ralston
cec9c908fc Set which servers to try and join upgraded rooms through
Fixes https://github.com/vector-im/riot-web/issues/7991
2019-01-10 14:33:46 -07:00
J. Ryan Stinnett
35af3fc6f7 Add separate dialog for recovery method removed
The "New Recovery Method" dialog would show if either the recovery method had
been changed or removed, but the dialog text didn't make much sense for the
removed case.

This adds a separate dialog customized for the removed case.

Fixes https://github.com/vector-im/riot-web/issues/8046.
2019-01-10 15:18:57 -06:00
David Baker
fc346b2766
Merge pull request #2423 from matrix-org/dbkr/lint_messagecomposerinput
Fix lint errors in MessageComposerInput
2019-01-10 18:33:52 +00:00
Bruno Windels
92b9a8cc1f persist cleared size sublists 2019-01-10 18:40:26 +01:00
Erik Johnston
cbf9ff6aee Merge branch 'experimental' of github.com:matrix-org/matrix-react-sdk into erikj/state_counters 2019-01-10 16:56:47 +00:00
Erik Johnston
fa6b33d629 Only update component state when feature is enabled 2019-01-10 16:54:08 +00:00
David Baker
9903c61a21 Fix lint errors in MessageComposerInput
and remove from ignored files

Missed a load of the async arrows functions when changing them because
they were in the ignored files, so trying to chip away at this.

A lot of these were unused imports / variables. Probably the only
interesting one was a 'this' in a non-member function which I've moved
to be a member function.
2019-01-10 09:41:26 +00:00
David Baker
3555b02f34 Merge remote-tracking branch 'origin/experimental' into dbkr/fix_recovery_reminder_cancel 2019-01-10 09:39:57 +00:00
David Baker
c45ffb6733
Merge pull request #2422 from matrix-org/dbkr/eslint_async_space
Add spaces back to async arrow functions
2019-01-10 09:35:58 +00:00
David Baker
b9719abbc2 Oops, missed some asyncs 2019-01-09 19:36:34 +00:00
David Baker
f269b5fbbc Fix spaceless async in ignored files too 2019-01-09 19:14:30 +00:00
David Baker
8e4d8ccca7 Add spaces back to async arrow functions
As per https://github.com/matrix-org/matrix-js-sdk/pull/821

Requires https://github.com/matrix-org/matrix-js-sdk/pull/821
2019-01-09 18:10:35 +00:00
J. Ryan Stinnett
365a7273d8 Move initial key backup to background
Since the initial key backup can take several minutes for some users, this moves
the upload step to the background.  The create key backup flow now only marks
all sessions for backup synchronously, with the actual backup happening later.

The key backup panel in Settings gains a new row to show a summary of upload
status.  Users are directed there if they wish to know if the backup is done.

The text in various related dialogs has also been tweaked to fit the new flow.
2019-01-09 12:04:17 -06:00
J. Ryan Stinnett
731f9ee7df Display key backup upload progress in Settings
This adds a summary of the keys currently waiting for backup, which may be
useful for following a large upload as it progresses.
2019-01-09 12:04:17 -06:00
J. Ryan Stinnett
7dbc970347 Mark KeyBackupPanel as a pure component
KeyBackupPanel depends only on its own state and its children are pure, so it
can be pure as well. This avoids some unnecessary re-renders.
2019-01-09 12:04:17 -06:00
Bruno Windels
ece5cb1fcc
Merge pull request #2348 from matrix-org/bwindels/roomgridview-experimental
Tiled room UI
2019-01-09 17:25:08 +00:00
David Baker
7381879e3a Fix a few things with cancelling recovery reminder
* Put a cancel button on the first page of the create key backup
   dialog
 * Move settings logic into the room reminder: I know this is moving
   logic *into* a view but RoomView is quite heavyweight as it is.
 * Give the recovery reminder an explicit 'onDontAskAgainSet' rather
   than onFinished which was getting called with false when the last
   screen of the dialog was closed with the cancel 'x' rather than
   the 'close' button.

https://github.com/vector-im/riot-web/issues/8066
2019-01-09 16:27:41 +00:00
Bruno Windels
254427461d fix PR feedback 2019-01-09 12:48:13 +01:00
J. Ryan Stinnett
02a83a7c2b Use per-message string substitutions in key backup panel
Including unused substitutions triggers console logs, so change the key backup
panel to only substitute what's actually used in each message.

Fixes https://github.com/vector-im/riot-web/issues/8047.
2019-01-08 09:31:33 -06:00
Bruno Windels
9e67dbf008 change icon 2019-01-08 14:35:26 +01:00
Bruno Windels
52c5610660 update copy 2019-01-08 14:35:06 +01:00
Erik Johnston
07c2010cce Use state rather than forceUpdate 2019-01-08 11:14:31 +00:00
Bruno Windels
56726ba8e5 fix lint 2019-01-08 12:10:42 +01:00
Bruno Windels
7227049c2a add right panel toggle button to room header when in grid 2019-01-08 12:05:39 +01:00
Bruno Windels
c9272c48e0 undo unneeded changes 2019-01-08 12:05:06 +01:00
J. Ryan Stinnett
bf87547f88 Remove unexpected underline from pills
Fixes vector-im/riot-web#8031.
2019-01-07 09:56:40 -06:00
Bruno Windels
c6952ba5b6 fix some more lint warnings, as limit is 16 now 2019-01-07 16:56:35 +01:00
Bruno Windels
aedc220b62 fix (some) lint warnings 2019-01-07 16:33:23 +01:00
Bruno Windels
c2f6fc381c add feature flag for grid view 2019-01-07 16:13:35 +01:00
Bruno Windels
8fa7ec0fac fix lint 2019-01-07 16:03:24 +01:00
Bruno Windels
81c48f07c7 clear width of right panel container when collapsed in grid view 2019-01-07 15:20:39 +01:00
Bruno Windels
b63bd5ea54 allow right panel to be hidden (although container is still visible) 2019-01-07 14:59:00 +01:00
Erik Johnston
4c204e88be Add feature flag for counters 2019-01-07 13:52:13 +00:00
Erik Johnston
712241d710 Add simple state counters to room heading 2019-01-07 13:52:13 +00:00
Bruno Windels
290dc9d8fb Merge branch 'experimental' into bwindels/roomgridview-experimental 2019-01-07 14:17:57 +01:00
David Baker
8fbb0607ff Re-write as full class component
So we can re-use the functions we pass to props
2019-01-07 12:09:19 +00:00
David Baker
522dddbd13 Lint 2019-01-07 10:13:02 +00:00
David Baker
47f303dc9d Make logout warning nag about key backups
https://github.com/vector-im/riot-web/issues/7805
2019-01-07 10:08:57 +00:00
Travis Ralston
5a2113e1a9 Fix a comparison bug in ordering the MemberList 2019-01-03 21:56:19 -07:00
Travis Ralston
77dfba8a22 Add unit tests for MemberList
Particularly the ordering of the tiles.
2019-01-03 21:55:52 -07:00
Travis Ralston
cc8fa7911b Merge remote-tracking branch 'origin/experimental' into travis/fix-memberlist-order 2019-01-03 20:01:28 -07:00
J. Ryan Stinnett
920911c0a1 Room list fixes for custom status 2019-01-03 18:49:15 -06:00
Travis Ralston
502288d4cc Merge branch 'travis/room-list-hover' into travis/re-apply-exp-changes 2019-01-03 16:28:05 -07:00
Travis Ralston
1481dcf9d7 Don't re-sort the room list if the user is hovering over it
Fixes vector-im/riot-web#5624
2019-01-03 16:27:59 -07:00
Travis Ralston
643dd5ca47 Add a comment explaining the reason for setting the LOGGED_IN view 2019-01-03 16:26:09 -07:00
Travis Ralston
d8f6a7c684 Add missing stopPropagation 2019-01-03 16:26:01 -07:00
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
d111fe27bb Revert "Merge pull request #2396 from matrix-org/travis/room-list-hover"
This reverts commit 5098b28672.
2019-01-03 15:36:56 -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
78592286bd
Merge pull request #2383 from matrix-org/travis/back-button
Fix browser navigation not working between /home, /login, /register, etc
2019-01-03 14:37:04 -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
223a49d81f Don't re-sort the room list if the user is hovering over it
Fixes vector-im/riot-web#5624
2019-01-03 13:57:20 -07:00
Travis Ralston
95844ebf9d Comment out debugging statements
They are useful to have around, but not to have enabled all the time.
2019-01-03 12:15:27 -07:00
Travis Ralston
63a7b86eac Flatten and simplify the memberlist sorting algorithm
The previous algorithm had a bug where it was getting stuck on the power level comparison, leaving the memberlist incorrectly ordered. The new algorithm uses less branching to try and walk through the different cases instead. Additionally, the steps used to determine the order have changed slightly to better represent an active member list.

This commit also includes changes to try and re-sort the member list more often during presence changes. Events are not always emitted, however. This may be a js-sdk bug but appears to happen prior to these changes as well.

Fixes https://github.com/vector-im/riot-web/issues/6953
2019-01-03 12:15:19 -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
982e037822 Fix merge 2019-01-03 18:05:38 +00: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
David Baker
c11d0bdf0c
Merge pull request #2394 from jryans/key-backup-unverified-creator
Show in-room reminder when key backup creating device unverified
2019-01-03 10:27:35 +00:00
J. Ryan Stinnett
758e867208
Merge pull request #2389 from christopherjmedlin/consistent-flair-ordering
Consistent flair ordering.
2019-01-02 16:35:50 -06: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
Christopher Medlin
384320e29f Consistently order flairs based on room configuration. 2018-12-24 14:46:36 -08:00
Travis Ralston
f5ff580e35 Add some logging for riot-web#7838
See https://github.com/vector-im/riot-web/issues/7838
2018-12-21 14:51:05 -07: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
Travis Ralston
2e1e536d5c
Merge pull request #2347 from matrix-org/travis/custom-status
Custom status messages
2018-12-19 11:11:15 -07:00
J. Ryan Stinnett
fd94dc686f Handle errors when fetching commits for changelog
It's possible to get errors when fetching commits (for example, if the rate
limit is exceeded), so this will handle the error case and display it instead of
an infinite spinner.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-19 18:10:21 +00:00
Travis Ralston
a1347add95 Merge branch 'develop' into travis/custom-status 2018-12-19 10:33:34 -07:00
Travis Ralston
45f05092ed Add a comment to describe why we're not using the property we should be 2018-12-19 10:21:43 -07:00
Bruno Windels
b3a12867a6 remove extra blank lines 2018-12-19 12:56:08 +01: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
Travis Ralston
04c9fff6ce Add a feature flag for custom status messages 2018-12-18 15:11:08 -07:00
Travis Ralston
d20a934642 Appease the linter 2018-12-18 11:04:16 -07:00
David Baker
3a8b9ab850 unused import 2018-12-18 17:57:23 +00:00
Travis Ralston
ef60a34180 Clean up and follow code style 2018-12-18 10:53:37 -07:00
David Baker
37b3644fd9 React-sdk changes to support sandboxed electron 2018-12-18 17:40:30 +00:00
Bruno Windels
1d43712a8f Merge branch 'experimental' into nadonomy/icons 2018-12-18 18:22:24 +01:00
Nad Chishtie
074c96cd3e First pass of normalising icons. 2018-12-18 16:48:20 +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
Bruno Windels
4b788fcb7e fix lint 2018-12-18 16:29:31 +01:00
Bruno Windels
c0ab74d5f1 reemit view_right_panel_phase when showing rhs, so right tab is active 2018-12-18 16:27:17 +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
dafc54c434 don't highlight room header buttons when right panel is collapsed 2018-12-18 15:36:54 +01:00
Bruno Windels
a10f0a3267 don't open right panel when switching room again
a view_right_panel_phase is dispatched by RoomHeaderButtons
on view_room, which was triggering this to show the panel again.

Check the fromHeader flag just like when hiding the panel so
only room header buttons can hide or show the right panel
2018-12-18 15:33:45 +01:00
Bruno Windels
2cb817ae26 remove dead code (collapse button was removed) 2018-12-18 15:33:28 +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
2cda6d8f35 fix empty comment line 2018-12-18 15:06:56 +01:00
Bruno Windels
279521cab4 add id to props for completeness 2018-12-18 14:31:38 +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
Bruno Windels
cdcb3c1a55 check overflow and restore sizes in more places inside RoomList:
check overflow on mount
restore size on query change (in case a sublist appeared)
check overflow when updating rooms

avoid duplicating for restoring size and checking overflow
2018-12-18 14:26:33 +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
0676c1b8ad
Merge pull request #2361 from matrix-org/bwindels/collapserhs
Redesign: allow to hide the right panel when clicking already active button & persist
2018-12-18 09:46:30 +00: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
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
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
65f9bc9754 remove expand button in room header 2018-12-17 15:23:46 +01:00
Bruno Windels
bbafd8c2d3 toggle right panel when clicking already active header button 2018-12-17 15:22:02 +01:00
Bruno Windels
242b0c21ac make avatar 24px and tile height 32px 2018-12-17 14:03:48 +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
Travis Ralston
7b0766a303 Apply 50% opacity to the checkmark when there is no status 2018-12-14 13:49:35 -07:00
Travis Ralston
7efd82f713 Disable password managers on the status form 2018-12-14 13:44:40 -07:00
Bruno Windels
3ea0fd1a2f fix overflow indicators not being updated when searching 2018-12-14 17:06:51 +01:00
Bruno Windels
e4d2b6f2b7 fix resize handles being too thick on edge (hopefully) 2018-12-14 17:06:00 +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
63658e0441 Add a missing null check 2018-12-13 14:29:12 -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
0ffd77762a make menu option look somewhat better 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
720bc11aa4 avoid using roomviewstore for detecting selected room 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
43efa29ef8 track active room with OpenRoomsStore 2018-12-13 12:59:18 +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
Travis Ralston
f2649f7807 Use the now-prefixed js-sdk status message API
See 08b3dfa3b5
2018-12-12 23:07:03 -07:00
Travis Ralston
b0b7932f5f Move status context menu to its own component
This fixes a lot of the state bugs such as buttons not updating, etc. 

This commit also adds the border around the avatar to indicate a status is set.
2018-12-12 22:26:39 -07:00
Travis Ralston
99f5b9e39b Misc cleanup of whitespace 2018-12-12 18:18:43 -07:00
Travis Ralston
a91963e5ee Replace the avatar next to the composer with a status entry menu
The checkmark might change, and there appears to be some state tracking mishaps that need to be worked out.

Part of https://github.com/vector-im/riot-web/issues/1528
2018-12-12 18:03:30 -07:00
Travis Ralston
dd382ecb05 Fix a bug with determining 1:1 rooms
We shouldn't consider rooms where people have left or been banned
2018-12-12 13:20:26 -07:00
Travis Ralston
cd9ea2b2d7 Fix alignment of avatars and status messages
also introduce the status message to the MemberInfo pane

Part of https://github.com/vector-im/riot-web/issues/1528
2018-12-12 12:57: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
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
Travis Ralston
ce7969e3d5 Display custom status messages in the UI
Part of https://github.com/vector-im/riot-web/issues/1528
2018-12-11 21:40:11 -07: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
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
a31dacc4bc allow logout dialog to be cancelled (can't see why not?) 2018-12-11 12:43:56 +01:00
Bruno Windels
fc57109c54 use logout dialog in topleft menu instead of dispatching logout 2018-12-11 12:43:17 +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
Bruno Windels
02367742bc bring back autocomplete attribute 2018-12-11 10:54:36 +01:00
Bruno Windels
3040f2d2e2 remove try/catch as the error is already prevented inside resize 2018-12-11 10:51:14 +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
93767fa5f1 fix invite button layout 2018-12-10 17:46:22 +01:00
Bruno Windels
ccf65d5f3c remove background from group room list header button 2018-12-10 17:45:47 +01:00
Bruno Windels
397e44b7ba fix query field width 2018-12-10 17:45:30 +01: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
f4e61b2bf1 fixup for roomsublist fix 2018-12-10 16:53:04 +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
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
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
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
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
Travis Ralston
0f348a7c78 Merge branch 'develop' into travis/invite-errors 2018-12-05 11:25:45 -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
22ff76e6b7 Add error to UI when group member list fails to load
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-04 18:46:15 -06: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
Bruno Windels
13491e797d persists & load collapsed room sub lists 2018-12-03 10:39:31 +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
987ad0b0db Check if users exist before inviting them and communicate errors
Fixes https://github.com/vector-im/riot-web/issues/3283
Fixes https://github.com/vector-im/riot-web/issues/3968
Fixes https://github.com/vector-im/riot-web/issues/4308
Fixes https://github.com/vector-im/riot-web/issues/1597
Fixes https://github.com/vector-im/riot-web/issues/6790

This does 3 things:
* Makes the `MultiInviter` check for a user profile before attempting an invite. This is to prove the user exists.
* Use the `MultiInviter` everywhere to avoid duplicating the logic. Although a couple places only invite one user, it is still worthwhile.
* Communicate errors from the `MultiInviter` to the user in all cases. This is done through dialogs, where some existed previously but were not invoked.

Specifically to the 403 error not working: What was happening was the `MultiInviter` loop was setting the `fatal` flag, but that didn't resolve the promise it stored. This caused a promise to always be open, therefore never hitting a dialog.
2018-11-29 15:05:53 -07:00
Travis Ralston
e3f2e69087
Merge pull request #2227 from matrix-org/travis/well-known
Support .well-known discovery
2018-11-27 13:51:44 -07: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
0c7d51d70d persist room sub list sizes 2018-11-26 16:46:57 +01:00
Bruno Windels
f7a37be6dd support associating an id with a resize item/handle 2018-11-26 16:46:27 +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
8929ff9b5e use room resize classes 2018-11-26 14:42:01 +01:00
Bruno Windels
67e0030ccd Merge branch 'develop' into experimental 2018-11-26 13:10:29 +01:00
David Baker
4f8c4f1c6e Make create key backup dialog async
So we can add zxcvbn to it without inflating the main bundle size
2018-11-23 10:55:18 +00:00
David Baker
d443d6173d Forgot to enable continue button on download 2018-11-22 19:06:58 +00: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