Commit graph

4318 commits

Author SHA1 Message Date
Bruno Windels
86c871f55f
Merge pull request #4088 from matrix-org/bwindels/fixuserpage
Fix user page (missing null check)
2020-02-20 11:01:15 +00:00
Michael Telatynski
16bbea0b59 Fix various leaks due to method re-binding
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-20 02:35:30 +00:00
Michael Telatynski
ffde11ca91 Use Persistent Storage where possible
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-20 00:38:08 +00:00
Michael Telatynski
4278d44059 Merge branches 'develop' and 't3chguy/alpha_room_list' of github.com:matrix-org/matrix-react-sdk into t3chguy/alpha_room_list 2020-02-19 13:30:47 +00:00
Bruno Windels
cb5882d59b add null check 2020-02-19 10:40:00 +01:00
Hubert Chathi
4a204b715d
Merge pull request #4059 from matrix-org/uhoreg/refactor_event_grouping
refactor event grouping into separate helper classes
2020-02-14 10:35:34 -05:00
Michael Telatynski
8087f18bf7 Remove unused props
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-14 10:32:42 +00:00
Marco Zehe
7840aa74fd Fix ID to be namespaced
Signed-off-by: Marco Zehe <marcozehe@mailbox.org>
2020-02-13 19:18:21 +01:00
Marco Zehe
6319407cab Move the sidebar to below the sidebar tab buttons for screen readers.
Do this by aria-owning the sidebar into the header wrapper. aria-owned subtrees get added as the last child after all other child elements that are in the DOM. This way, if a sidebar tab is activated, the aside element now is inserted in a position following the tabs, before the main messages list. The association for screen readers is therefore more logical. This has no bearing on the DOM order or CSS properties. aria-owns simply rearranges the accessibility tree.

Fixes vector-im/riot-web/issues/11319

Signed-off-by: Marco Zehe <marcozehe@mailbox.org>
2020-02-13 16:02:58 +01:00
Hubert Chathi
be70ef44f8 lint 2020-02-11 15:34:14 -05:00
Hubert Chathi
4c5046afd5 refactor event grouping into separate helper classes 2020-02-11 15:19:32 -05:00
Bruno Windels
a84e90df51
Merge pull request #4042 from matrix-org/bwindels/encryptionpaneleverywhere
Use EncryptionPanel everywhere, part I
2020-02-11 15:16:47 +00:00
Michael Telatynski
ee819dfdf8 fix call to SettngsStore.watchSetting, it takes a roomID 2020-02-11 09:32:09 +00:00
Michael Telatynski
b9db0ad013
Merge pull request #4047 from matrix-org/t3chguy/hide_typing_notifs
Add setting to allow hiding of typing indicator
2020-02-10 18:01:52 +00:00
Bruno Windels
8c3004c2ac to_device requests now can include .request so we might need send .ready 2020-02-10 16:19:27 +01:00
Travis Ralston
ea4d97fa73 Hack in a layout option 2020-02-10 16:19:27 +01:00
Bruno Windels
3d91ff23ec cram the EncryptionPanel in CompleteSecurity instead of IncomingSasDialog
so we get QR code support and support phases prior to STARTED
2020-02-10 16:19:27 +01:00
Michael Telatynski
a8da4a3028 allow hiding of who is typing tile 2020-02-08 21:21:30 +00:00
Michael Telatynski
4d0d6cdaa4
Merge branch 'develop' into t3chguy/password_completion 2020-02-05 20:24:37 +00:00
Zoe
f89ae19d76
Merge pull request #4028 from matrix-org/foldleft/12114-less-alarming-on-own-devices
Do not show alarming red shields on large encrypted rooms for your own device
2020-02-04 17:09:16 +00:00
Zoe
41f4b38fe8 Do not show alarming red shields on large encrypted rooms for your own device
Fixes: https://github.com/vector-im/riot-web/issues/12214
2020-02-03 16:53:32 +00:00
Travis Ralston
aa6eabcf57 Don't crash immediately if the room directory chunk is null/empty
Fixes https://github.com/vector-im/riot-web/issues/12197
2020-02-03 15:49:18 +00:00
David Baker
11cb3a60b2 Fix listener leak in TagPanel 2020-02-03 13:33:44 +00:00
David Baker
85489c4ec5
Merge pull request #4014 from matrix-org/dbkr/theme_is_login_override
Add an override for the theme
2020-01-31 13:30:12 +00:00
J. Ryan Stinnett
636b3696ed
Merge pull request #4011 from matrix-org/jryans/comp-sec-title
Add title to complete security loading
2020-01-31 13:22:22 +00:00
David Baker
cb9362456f remove setter 2020-01-31 13:18:01 +00:00
David Baker
2d9b111680 Add an override for the theme
So we can force the light theme on unthemeable pages like the login
& complete security page.

Fixes https://github.com/vector-im/riot-web/issues/12149
Fixes https://github.com/vector-im/riot-web/issues/12157
2020-01-31 12:28:14 +00:00
J. Ryan Stinnett
1a95a1d4ba Add title to complete security loading 2020-01-31 10:47:58 +00:00
David Baker
ea7f160950 lint 2020-01-31 10:38:20 +00:00
David Baker
26c9b64c3b Log exceptions from accessSecretStorage
Rather than ignoring everything assuming the user cancelled
2020-01-31 10:35:05 +00:00
David Baker
39e9bffe1f Make encryption events into bubble-style tiles
Factors out the verification tile stuff into encryption event
styles so we can reuse them betwen all the encryption event tiles.
Also makes the event list summary stuff even more gnarly by
putting the encryption event tile above the group. We really need
to refactor that. :/

Fixes https://github.com/vector-im/riot-web/issues/12006
2020-01-30 20:03:26 +00:00
David Baker
2f4b3272da Send initial device display najme on register
Fixes https://github.com/vector-im/riot-web/issues/12140
2020-01-30 11:27:54 +00:00
J. Ryan Stinnett
786ddb8a7e
Merge pull request #3985 from matrix-org/jryans/relax-account-data-check
Relax secret storage account data check
2020-01-29 20:40:13 +00:00
David Baker
d63bb240aa
those words again
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2020-01-29 17:52:12 +00:00
David Baker
de6ef9ec90
words
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2020-01-29 17:51:51 +00:00
David Baker
e403169e13 Fix various races that prevented the right panel being in the right state for verifications
Fixes https://github.com/vector-im/riot-web/issues/11989
2020-01-29 16:56:12 +00:00
J. Ryan Stinnett
6f0d88a126 Relax secret storage account data check
If the homeserver is confused about account data or otherwise explodes here, we
don't want to block login, so just warn in this case.
2020-01-29 16:54:08 +00:00
J. Ryan Stinnett
067bfe2ee3 Tweaks from PR 2020-01-29 16:10:46 +00:00
J. Ryan Stinnett
81ee27f41e Replace device with session in UI text
This replaces "device" with "session" throughout user-visible text at the React
layer. Variable names and comments are left as-is for now.
2020-01-29 15:52:32 +00:00
Michael Telatynski
cb0392b78d use forms to wrap password fields so Chrome doesn't go wild and prefill all the things
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-29 13:24:45 +00:00
J. Ryan Stinnett
336f623aa9 Check for timeline in pre-join UISI path
Somehow, live events can be missing a timeline, even though that should not
happen... This restores @uhoreg's previous version where we test for this case.

Fixes https://github.com/vector-im/riot-web/issues/12120
2020-01-29 12:00:04 +00:00
David Baker
fa1f2cd7e0
Merge pull request #3966 from matrix-org/dbkr/restore_key_backup_in_complete_security
Restore key backup in Complete Security dialog
2020-01-29 09:55:50 +00:00
Michael Telatynski
2c973f7467
Merge pull request #3950 from matrix-org/t3chguy/cs_verification_decoration
Cross Signing Right Panel Verification Decoration
2020-01-28 23:57:48 +00:00
Michael Telatynski
c632c72f25 tidy up right-panel if-else-if statement 2020-01-28 23:43:09 +00:00
David Baker
4a26a72684 Restore key backup in Complete Security dialog
Fixes https://github.com/vector-im/riot-web/issues/11889
2020-01-28 22:46:21 +00:00
Hubert Chathi
793ff2cccc
Hide pre-join UTDs (#3881) 2020-01-28 15:36:24 -05:00
Michael Telatynski
76e61b9948 Merge branches 'develop' and 't3chguy/cs_verification_decoration' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/cs_verification_decoration 2020-01-28 17:19:59 +00:00
J. Ryan Stinnett
a19cdc9077
Merge pull request #3956 from matrix-org/jryans/trigger-cs-lab-4s
Enable cross-signing lab when key in storage
2020-01-28 14:13:04 +00:00
J. Ryan Stinnett
9cf59ab16d Enable cross-signing lab when key in storage
When we're starting a new session and find the cross-signing keys in secret
storage, auto-enable the lab for the new session.

Fixes https://github.com/vector-im/riot-web/issues/12100
2020-01-28 12:30:41 +00:00
Zoe
06f7842afa
Merge pull request #3949 from matrix-org/foldleft/12079-fix-warnings-on-self
Fix issue where we don't notice if our own devices shouldn't be trusted
2020-01-28 10:16:27 +00:00
J. Ryan Stinnett
89f110f60a Add separate component for post-auth security flows
Instead of twisting `AuthBody`, this adds a new component for the different
styling of post-auth security flows. This also makes them fixed width and
adjusts padding to match designs.
2020-01-27 22:28:07 +00:00
Zoe
1964e18315 Fix issue where we don't notice if our own devices shouldn't be trusted 2020-01-27 16:40:56 +00:00
Michael Telatynski
ddb0f06005 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/cs_verification_decoration
 Conflicts:
	src/components/views/right_panel/VerificationPanel.js
2020-01-27 15:46:38 +00:00
David Baker
1ab91d1d74
Merge pull request #3943 from matrix-org/dbkr/kill_lingering_verification_toast
Stop rogue verification toast if you verify during login
2020-01-27 11:17:55 +00:00
David Baker
6737523b1c
Merge pull request #3942 from matrix-org/dbkr/show_incoming_verifications_in_complete_security
Show incoming verification requests in the 'complete security' phase
2020-01-27 11:17:16 +00:00
David Baker
11de92b9a9 hopefully informative comment 2020-01-27 11:07:55 +00:00
David Baker
086e43e584 comments ftw 2020-01-25 21:30:42 +00:00
David Baker
f851f976e7 Stop rogue verification toast if you verify during login
Fixes https://github.com/vector-im/riot-web/issues/12057
2020-01-25 21:26:43 +00:00
David Baker
9e38c62791 Show incoming verification requests in the 'complete security' phase
If you click to verify your new sign in on another device, actually
show the verification request on the 'complete security' screen.
2020-01-25 20:42:45 +00:00
David Baker
437b45f8a6 Remember password for e2e bootstrapping
Fixes https://github.com/vector-im/riot-web/issues/12046
2020-01-25 15:28:06 +00:00
David Baker
988ae14d35
Merge pull request #3937 from matrix-org/dbkr/e2esetup
Setup flow for cross-signing on login / registration
2020-01-25 12:40:17 +00:00
J. Ryan Stinnett
9991a544aa Resolve default export warnings from Webpack
Webpack was printing several warnings about missing default exports,
particularly from components, where we auto-generate a default import via the
component index.

As part of this, the emoji picker recent handling (which is not a component) is
moved elsewhere to avoid the generated import.
2020-01-24 22:26:34 +00:00
David Baker
3d7137d4ad Setup flow for cross-signing on login / registration
Still outstanding:
 * Keep password from login / registration
 * Confirmation on skip button

Fixes https://github.com/vector-im/riot-web/issues/11902
2020-01-24 19:11:57 +00:00
Michael Telatynski
b67256c7c2 post-merge fix 2020-01-24 16:41:43 +00:00
Michael Telatynski
342fcb09c4 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/cs_verification_decoration
 Conflicts:
	src/components/views/right_panel/VerificationPanel.js
	src/components/views/toasts/VerificationRequestToast.js
2020-01-24 16:19:41 +00:00
Michael Telatynski
7a5e172b88 Apply a huge part of the decorations and copy 2020-01-24 16:16:46 +00:00
Damir Jelić
cbfde4d78f Merge branch 'poljar/seshat-filepanel' into develop 2020-01-24 14:44:24 +01:00
Damir Jelić
3534cd4202 FilePanel: Add comments to explain what's going on with the event index. 2020-01-24 14:23:43 +01:00
Michael Telatynski
2c40b73ff6
Merge pull request #3910 from matrix-org/t3chguy/cross-signing-composer
Cross Signing redesign for composer
2020-01-24 13:18:09 +00:00
Michael Telatynski
210616c737 Phase 1, split out UserInfo into a generic Pane, use for EncInfo 2020-01-24 11:45:39 +00:00
Zoe
1d686fe49e
Merge pull request #3908 from matrix-org/zip/11935-room-list-decoration
Room list reflects encryption state
2020-01-24 11:14:53 +00:00
Zoe
395c82b1e5
Update src/components/structures/RoomView.js
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2020-01-24 11:04:40 +00:00
David Baker
50b05551ba
Merge pull request #3916 from matrix-org/dbkr/security_dialog_noheader
Remove riot logo from the security setup screens
2020-01-24 09:50:25 +00:00
David Baker
74b678d0ff Only say the session is verified if it is now verified 2020-01-23 19:19:12 +00:00
David Baker
a3026277c1 Unused variable 2020-01-23 18:24:03 +00:00
David Baker
5319ee4572 Remove riot logo from the security setup screens
With a little faff to make the rounded borders consistent again
2020-01-23 18:14:08 +00:00
Bruno Windels
ce32c12303
Merge pull request #3912 from matrix-org/bwindels/verifyowndevicechecks
Remove .event property on verification request
2020-01-23 17:02:00 +00:00
Michael Telatynski
661b2415d6
Merge pull request #3911 from matrix-org/t3chguy/a11y_tweak
Attempt to fix Safari + VoiceOver misunderstanding the timeline list
2020-01-23 16:27:58 +00:00
J. Ryan Stinnett
e3027d3086
Merge pull request #3913 from matrix-org/jryans/negotiate-e2e-dms
Enable encryption in DMs with device keys
2020-01-23 16:23:59 +00:00
Bruno Windels
8a523fbb59 remove this log line, so we can remove the .event property
this is likely the error Dave hit last week, because there was
no .request event set yet for some other reasons that have
been fixed already (the event being put in the wrong map, theirs
instead of us) in the VerificationRequest object.
2020-01-23 15:53:54 +01:00
Michael Telatynski
604e244265 Attempt to fix Safari + VoiceOver misunderstanding the timeline list 2020-01-23 14:53:41 +00:00
J. Ryan Stinnett
c25c1878b8 Move control of room initial state into createRoom
This changes `createRoom` so it has more control of the room's initial state,
and appends state for different features, rather resetting the entire state
array. This makes room for also controlling encryption state in the next change.
2020-01-23 13:54:43 +00:00
Michael Telatynski
1747a62118 add missing awaits 2020-01-23 11:55:08 +00:00
Michael Telatynski
6c3ac2d0c4 Add Reject & Ignore user button to invites view 2020-01-23 11:50:59 +00:00
Zoe
d68db74efe Room list reflects encryption state 2020-01-23 10:46:05 +00:00
Michael Telatynski
b7d1c17ad1 simple optimization to bail out of check on first failure 2020-01-22 16:56:27 +00:00
Damir Jelić
c3418df919 FilePanel: Remove whitespace before two function definitions. 2020-01-22 16:31:49 +01:00
Damir Jelić
c5e8753b05 FilePanel: Don't import the whole of the js-sdk. 2020-01-22 16:26:40 +01:00
Damir Jelić
f917c2faea FilePanel: Listen for live events and add them to an open FilePanel. 2020-01-22 16:21:11 +01:00
Damir Jelić
735ba4fd33 EventIndex: Correctly populate events on initial fill requests. 2020-01-22 16:11:54 +01:00
Michael Telatynski
2c6fe78012 Fix roving room list for resizer and ff tabstop a11y 2020-01-22 10:36:20 +00:00
Michael Telatynski
397e116efb Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/roving 2020-01-20 20:48:11 +00:00
Bruno Windels
95a0ebaf06
Merge pull request #3796 from matrix-org/bwindels/verification-right-panel
Initial support for verification in right panel
2020-01-20 17:18:32 +00:00
Damir Jelić
4cf44cf5a5 EventIndex/FilePanel: Allow longer lines. 2020-01-20 12:43:20 +01:00
Damir Jelić
0c854fce9b FilePanel: Remove a stale comment. 2020-01-20 10:09:58 +01:00
Travis Ralston
df3fe5139d Fix error about MessagePanel not being available for read markers
Stacktrace:
```
TimelinePanel.js?b9ae:1139 Uncaught (in promise) TypeError: Cannot read property 'getBoundingClientRect' of null
    at Object._getLastDisplayedEventIndex (TimelinePanel.js?b9ae:1139)
    at Object.updateReadMarker (TimelinePanel.js?b9ae:751)
    at Object._callee$ (TimelinePanel.js?b9ae:613)
    at tryCatch (runtime.js?4422:45)
    at Generator.invoke [as _invoke] (runtime.js?4422:271)
    at Generator.prototype.<computed> [as next] (runtime.js?4422:97)
    at asyncGeneratorStep (asyncToGenerator.js?56ef:3)
    at _next (asyncToGenerator.js?56ef:25)
```
2020-01-17 17:07:37 -07:00
Bruno Windels
a73b7229a7 fix lint 2020-01-17 16:31:38 +01:00
Bruno Windels
5556cb5749 Merge branch 'develop' into bwindels/verification-right-panel 2020-01-17 16:02:51 +01:00
David Baker
d69c5f6a1b Catch exception if passphrase dialog cancelled
As hopefully explained by comment
2020-01-17 14:46:20 +00:00
J. Ryan Stinnett
1a6be3addd
Merge pull request #3860 from matrix-org/jryans/disable-key-request
Disable key request dialogs with cross-signing
2020-01-17 14:24:23 +00:00
David Baker
a525ba57c7
Merge pull request #3859 from matrix-org/dbkr/new_session_toast
Toasts for new, unverified sessions
2020-01-17 14:17:22 +00:00
Zoe
264ca1ecba
Merge pull request #3850 from matrix-org/zip/11225-shields-distinguish-encrypt-from-verify
Room header & message box shields now reflect cross-signing state
2020-01-17 13:49:59 +00:00
J. Ryan Stinnett
fb9962b08e Disable key request dialogs with cross-signing
Cross-signing verification is meant to replace the old key share between devices
flow. This disables it when the cross-signing lab is enabled.

Fixes https://github.com/vector-im/riot-web/issues/11904
2020-01-17 13:09:10 +00:00
David Baker
9e43abaf3a Toasts for new, unverified sessions
Fixes https://github.com/vector-im/riot-web/issues/11218
2020-01-17 11:43:35 +00:00
Zoe
908630c0d9 *rude grumbling noises about @dbkr* 2020-01-17 11:30:45 +00:00
Damir Jelić
ccfe3c7e70 FilePanel/EventIndex: Fix lint errors. 2020-01-17 11:52:20 +01:00
Zoe
d02185e4af whoops, the number of unverified users matters to the logic 2020-01-17 10:22:53 +00:00
Zoe
510b08c88b changed logic to reflect the task 2020-01-17 10:18:50 +00:00
Zoe
8efc45b31a no need to verify our own devices for every room 2020-01-17 10:04:34 +00:00
Damir Jelić
70d394e668 EventIndex: Update the imports for the new build system. 2020-01-17 10:58:31 +01:00
Damir Jelić
49c1dbe421 FilePanel: Implement pagination requesting using the EventIndex. 2020-01-17 10:11:21 +01:00
Damir Jelić
a1cbff3c8c FilePanel: Use the event index in encrypted rooms to populate the panel. 2020-01-17 10:11:21 +01:00
Damir Jelić
d30c46a641 FilePanel: Refactor out the file panel and convert the methods to async ones. 2020-01-17 10:10:21 +01:00
David Baker
83b1505401 Add a ToastStore
To store toast. Rather than them being stored in the state of the
ToastContainer component, they now have a dedicated store. This mostly
fixes problems involving showing toasts when the app loaded because
we would otherwise have a race condition where something tries to
show a toast before the ToastContainer is mounted.
2020-01-16 20:23:47 +00:00
Travis Ralston
d1fcef1211 Merge branch 'develop' into bwindels/verification-right-panel 2020-01-16 13:23:32 -07:00
Zoe
82c5349c4e Updated to properly handle logic 2020-01-16 16:31:50 +00:00
J. Ryan Stinnett
5926e277c4 Avoid logged in event race 2020-01-16 11:52:02 +00:00
Zoe
9ac3cb6fd0 Merge remote-tracking branch 'origin/develop' into zip/11225-shields-distinguish-encrypt-from-verify 2020-01-16 11:23:57 +00:00
Zoe
ff05041a5a Update room shield icons to represent encrypted but unverified chats in less alarmed tones 2020-01-16 11:10:23 +00:00
Michael Telatynski
2230b7732a rearrange
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-16 01:45:16 +00:00
Michael Telatynski
e6ab18c9ba Merge branches 'develop' and 't3chguy/roving' of github.com:matrix-org/matrix-react-sdk into t3chguy/roving
 Conflicts:
	src/components/views/rooms/RoomList.js
2020-01-16 00:31:43 +00:00
J. Ryan Stinnett
71fa3222fe
Fix component index import
Co-Authored-By: Travis Ralston <travpc@gmail.com>
2020-01-15 22:11:22 +00:00
J. Ryan Stinnett
6e027badc0
Tweak comparison
Co-Authored-By: Travis Ralston <travpc@gmail.com>
2020-01-15 22:10:59 +00:00
J. Ryan Stinnett
27ee90cad5 Add post-login complete security flow
This adds a step after login to complete security for your new session. At the
moment, the only verification method is entering your SSSS passphrase, but nicer
paths will be added soon.

This new step only appears when crypto is available and the account has
cross-signing enabled in SSSS.

Fixes https://github.com/vector-im/riot-web/issues/11214
2020-01-15 21:53:36 +00:00
Travis Ralston
7bfb3686cd
Merge pull request #3839 from matrix-org/travis/sourcemaps
Fix sourcemaps by refactoring the build system
2020-01-15 10:11:33 -07:00
Michael Telatynski
dedf1eab31 Iterate to get rid of the magic group and just provide a generic functional render wrapper
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-15 11:37:14 +00:00
Michael Telatynski
5252cf4c45 Implement roving tab index context based magic thing and demo on LeftPanel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-15 02:44:22 +00:00
Michael Telatynski
23633abc10 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/roving 2020-01-15 00:34:27 +00:00
David Baker
fa174512cc
Merge pull request #3837 from matrix-org/dbkr/dont_error_on_unknown_devices
Don't error on unverified/unknown devices.
2020-01-14 17:12:14 +00:00
Travis Ralston
90c7535a69 Export VIEWS from MatrixChat for riot-web tests 2020-01-13 20:15:58 -07:00
David Baker
14501b748b lint again 2020-01-13 21:58:26 +00:00
David Baker
9a1be1a24d Don't try to set crypto options without crypto enabled 2020-01-13 21:54:14 +00:00
Travis Ralston
bf6798e109 Appease the linter 2020-01-13 13:28:33 -07:00
Travis Ralston
5fd27a10bb Merge branch 'develop' into travis/sourcemaps 2020-01-13 11:19:41 -07:00
David Baker
e47240d838 Lint Eastwood 2020-01-13 17:56:40 +00:00
David Baker
76fe87c941 Don't error on unverifie/unknownd devices.
When cross-signing is enabled, we no longer want to fail and
prompt the user to ack every device in the room. All the info should
be conveyed in the shield colour (although isn't fully just yet).

Fixes https://github.com/vector-im/riot-web/issues/11750
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1150
2020-01-13 17:41:58 +00:00
Michael Telatynski
66b55495bb Fix right panel buttons highlighting
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-13 12:40:45 +00:00
Michael Telatynski
9c686bf501 Fix right panel buttons highlighting
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-13 12:15:54 +00:00
David Baker
63942d5200 Fix listener leak on RoomView
It looks like this was causing entire detached DOM trees to leak
in memory by react's internal fibers holding onto them from the
component.
2020-01-10 11:12:52 +00:00
Travis Ralston
727ce892de Fix remaining RoomView conflict
RoomContext was pulled out to its own file.
2020-01-09 14:17:33 -07:00
Travis Ralston
3e5cc9550b Fix import merge conflicts, removing any that aren't needed anymore
Many imports were removed as part of refactoring work, so here we are.
2020-01-09 14:17:33 -07:00
Travis Ralston
fde32f13a5 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-develop 2020-01-09 14:15:09 -07:00
Michael Telatynski
7367c73a37 Searchbox Enter is to clear, tabbing to clear button doesn't work, remove it
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-07 10:50:02 +00:00
Michael Telatynski
d31c863563 Remove all usages of slate in favour of CIDER
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-06 00:15:48 +00:00
Travis Ralston
9edc361afc Use new imports for js-sdk's ContentRepo
Per f4d1c5c006
2020-01-03 12:29:22 -07:00
Bruno Windels
075e42c076 use transactionId as key for react 2020-01-03 13:50:13 +01:00
Bruno Windels
b36df73300 fix for ref refactor pr 2020-01-03 13:47:38 +01:00
Bruno Windels
41cf18701f remove now-unused import 2020-01-03 13:47:38 +01:00
Bruno Windels
d8a38e6b74 WIP 2020-01-03 13:42:17 +01:00
Travis Ralston
c88efa5c2c
Merge pull request #3778 from bit/master
support channel names with slash in name/alias
2020-01-02 09:19:02 -07:00
j
9eed423994 support channel names with slash in name/alias
Signed-off-by: Jan Gerber <j@mailb.org>
2019-12-29 12:10:31 +01:00
Michael Telatynski
e9ebfa100f Do not show Top Unread Messages Bar and Jump to bottom button if searching 2019-12-26 20:32:25 +00:00
Travis Ralston
92ea1157be Reintroduce working resizer code for right panel
Fixes https://github.com/vector-im/riot-web/issues/11674

This re-introduces and adapted version of what was there before, but fixed for the new collapsed logic: https://github.com/matrix-org/matrix-react-sdk/pull/3703/files#diff-633a0248e235d7446a8868a9145efce2L77-L93

We no longer have a collapsedRhs variable and only set the panel when it is opened, so we can accurately track expanded/collapsed state through presence of a panel.
2019-12-23 19:26:59 -07:00
Michael Telatynski
6e9791c950
Merge pull request #3755 from matrix-org/t3chguy/tags_changes
Apply new design to highlighted tags and add toggle mechanic
2019-12-23 17:18:07 +00:00
Michael Telatynski
1098fc939a
Merge pull request #3771 from matrix-org/t3chguy/ReactDOM.findDOMNode
stop using ReactDOM.findDOMNode in componentWillUnmount, use refs
2019-12-23 17:16:47 +00:00
Michael Telatynski
17f5849985 stop using ReactDOM.findDOMNode in componentWillUnmount, use refs 2019-12-23 12:24:49 +00:00
Michael Telatynski
661701f7ca Merge branches 'develop' and 't3chguy/tags_changes' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/tags_changes
 Conflicts:
	src/components/views/elements/TagTile.js
2019-12-23 11:00:42 +00:00
Travis Ralston
615648af13 Fix tabbed view export for component index 2019-12-22 21:23:14 -07:00
Travis Ralston
0d2cb6e731 Import haveTileForEvent() from the right place 2019-12-22 21:23:07 -07:00
Travis Ralston
d002c2ccde Merge branch 'travis/babel7-wp-es6-export' into travis/sourcemaps-es6 2019-12-22 21:20:13 -07:00
Travis Ralston
f1ac3d2f64 Convert imports to ES6 from CommonJS
This is needed because `require()` means something different in webpack - it ends up importing the module as something we didn't expect (and is occasionally async)
2019-12-22 21:16:06 -07:00
Travis Ralston
042bd35d79 Fix MatrixClientPeg imports 2019-12-22 21:15:54 -07:00
Travis Ralston
d56f0f2a25 Convert many imports to handle ES6 exports
Reliant upon https://github.com/matrix-org/matrix-react-sdk/pull/3761
2019-12-22 21:04:42 -07:00
Travis Ralston
4aec432b30 Convert the more complicated CommonJS exports to ES6-style 2019-12-22 21:01:03 -07:00
Travis Ralston
344dac4fb9 Convert CommonJS exports to ES6-compatible exports
We use `export default` begrudgingly here. Ideally we'd use just `export`, though this entire SDK expects things to be exported as a default. Instead of breaking everything, we'll sacrifice our export pattern for a smaller diff - a later commit can always do the default export -> regular export conversion.
2019-12-22 21:01:02 -07:00
Michael Telatynski
3a36d61fab delint 2019-12-19 21:10:22 +00:00
Michael Telatynski
d9ea9b4ad3 Iterate to match design on Zeplin 2019-12-19 20:53:34 +00:00
Michael Telatynski
24d0d0d596
Merge pull request #3743 from matrix-org/t3chguy/react16_contexts
Migrate away from React Legacy contexts API
2019-12-19 20:32:11 +00:00
Michael Telatynski
b2249d0561 Initial rejig 2019-12-19 20:09:05 +00:00
David Baker
290df9f50e
Merge pull request #3753 from matrix-org/dbkr/combine_cross_sig_dm_verif_feature_flags
Combine cross signing and verification over DM feature flags
2019-12-19 17:27:41 +00:00
Michael Telatynski
f3802bfd05
Merge pull request #3746 from matrix-org/t3chguy/emoji_picker
Make EmojiPicker an unmanaged Context Menu as it is too complex to be managed
2019-12-19 16:58:34 +00:00
David Baker
3d8422c88a Combine cross signing and verification over DM feature flags
This means we can just make the new member info panel support
cross-signing exclusively rather than having to try & make it
temporarily support both
2019-12-19 15:23:32 +00:00
Michael Telatynski
3678e64f5d Internationalise M_TOO_LARGE error from Synapse 2019-12-19 13:25:43 +00:00
Michael Telatynski
a1df87a375 Make EmojiPicker an unmanaged Context Menu as it is too complex to be managed 2019-12-19 07:23:05 +00:00
Michael Telatynski
937b32663c Migrate away from Legacy React Contexts 2019-12-17 17:26:12 +00:00
Travis Ralston
590ef79300
Merge pull request #3737 from matrix-org/travis/room-dir
Fix room directory maintaining and error state
2019-12-17 08:07:12 -07:00
Travis Ralston
b2a1a40961 Fix room directory maintaining and error state
Fixes https://github.com/vector-im/riot-web/issues/11665

We weren't clearing the error from a previous lookup, which effectively prevented the UI from working after an error happened.
2019-12-16 16:47:33 -07:00
Michael Telatynski
d28a892bb0 Stop using KeyboardEvent.keyCode as it is deprecated 2019-12-16 17:14:03 +00:00
J. Ryan Stinnett
2df72bfde2 Update room / user decoration for cross-signing 2019-12-13 17:57:26 +00:00
J. Ryan Stinnett
3ac0deebab Use static modals for verification
Verification with cross-signing may requiring asking for your secret storage
passphrase, which is displayed in it's own modal on top of flows. For now while
verification takes in modals also, mark the verification ones as static so they
don't lose state when secret storage appears on top mid-flow.
2019-12-13 13:55:28 +00:00
Travis Ralston
20a615396b Implementation of new potential skinning mechanism
With a switch to Only One Webpack™ we need a way to help developers generate the component index without a concurrent watch task. The best way to do this is to have developers import their components, but how do they do that when we support skins? The answer in this commit is to change skinning.

Skinning now expects to receive your list of overrides instead of the react-sdk+branded components. For Riot this means we send over *only* the Vector components and not Vector+react-sdk. 

Components can then be annotated with the `replaceComponent` decorator to have them be skinnable. The decorator must take a string with the dot path of the component because we can't reliably calculate it ourselves, sadly. 

The decorator does a call to `getComponent` which is where the important part of the branded components not including the react-sdk is important: if the branded app includes the react-sdk then the decorator gets executed before the skin has finished loading, leading to all kinds of fun errors. This is also why the skinner lazily loads the react-sdk components to avoid importing them too early, breaking the app.

The decorator will end up receiving null for a component because of the getComponent loop mentioned: the require() call is still in progress when the decorator is called, therefore we can't error out. All usages of getComponent() within the app are safe to not need such an error (the return won't be null, and developers shouldn't use getComponent() after this commit anyways).

The AuthPage, being a prominent component, has been converted to demonstrate this working. Changes to riot-web are required to have this work.

The reskindex script has also been altered to reflect these skinning changes - it no longer should set the react-sdk as a parent. The eventual end goal is to get rid of `getComponent()` entirely as it'll be easily replaced by imports.
2019-12-12 19:48:45 -07:00
Travis Ralston
225695ab5c Fix exports for rate limited functions and MatrixClientPeg
MatrixClientPeg in particular doesn't work very well with this.
2019-12-12 19:33:08 -07:00
Travis Ralston
7230d51cca
Merge pull request #3703 from matrix-org/travis/right-panel-v2
Refactor RightPanel to match expected behaviour
2019-12-11 10:50:45 -07:00
Michael Telatynski
cb50f5ff5f
Merge pull request #3715 from matrix-org/t3chguy/fix_roomlist_context_menu_regression
Fix remaining context menu regressions
2019-12-11 09:36:45 +00:00
Michael Telatynski
c1b1f98201
Merge pull request #3712 from matrix-org/t3chguy/react16_refs
Migrate away from React Legacy string refs
2019-12-10 17:43:37 +00:00
Travis Ralston
c8c344804e Remove special case RHS resizer logic
It doesn't seem to affect anything by being removed.
2019-12-10 10:01:45 -07:00
Michael Telatynski
52c20db963 Fix chevron offset for toRightOf
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-09 23:58:09 +00:00
Michael Telatynski
2691d1a611 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix_mab_regression 2019-12-09 14:13:11 +00:00
Michael Telatynski
69eeabd99e Fix accessibility to the reaction picker (not of it though)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-09 14:12:30 +00:00
Michael Telatynski
cd73162957
Merge branch 'develop' into t3chguy/react16_refs 2019-12-09 13:47:06 +00:00
Michael Telatynski
702f061341 ref is used earlier so assign it earlier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-08 12:45:59 +00:00
Michael Telatynski
ff71f4ec8d Migrate RoomSubList to ES6 Class due to new/vs old React API incompat
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-08 12:43:06 +00:00
Michael Telatynski
d22985f12e Migrate string refs over to createRef
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-08 12:16:17 +00:00
Michael Telatynski
4c55f3c5b5 Remove unused refs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-08 12:12:06 +00:00
Michael Telatynski
4be8b87869 Add what-input to allow different scoping to focus-visible for MessageActionBar keyboard a11y
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-07 13:07:52 +00:00
Travis Ralston
94ae06db4d Fix cold open of the RightPanel directly to MemberInfo
This requires us to track some of the phase's state in the RightPanelStore, which is not great - trying to get it through the app is a bit difficult.
2019-12-06 15:05:02 -07:00
Travis Ralston
78ce801c25 Fix incorrect function call into RightPanelStore
We dispatch to open, not call directly into the store.
2019-12-06 14:52:31 -07:00
Travis Ralston
814c408e23 Disable the right panel when the app asks us to
Currently this is only used in the GroupView and for forwarding messages.
2019-12-06 14:18:18 -07:00
Travis Ralston
a24bbdffd0 Appease the linter
Mid-PR cleanup.
2019-12-05 23:58:19 -07:00
Travis Ralston
4873b526df Ensure the right panel stays the same between room changes if possible
Fixes https://github.com/vector-im/riot-web/issues/10149
2019-12-05 23:48:05 -07:00
Travis Ralston
bbdff701b4 Actually render the right panel in the new system 2019-12-05 23:40:25 -07:00
Travis Ralston
42898ec414 Rid ourselves of RightPanel.Phases completely 2019-12-05 23:35:12 -07:00
Travis Ralston
d8d8e59002 Don't show/hide the right panel depending on window size
Fixes https://github.com/vector-im/riot-web/issues/8772
2019-12-05 23:30:13 -07:00
Travis Ralston
8b492fdaa5 Remove dead code from GroupView
This was for a caret that is no longer in the app. Instead, the header buttons act as a toggle.
2019-12-05 23:29:43 -07:00
Travis Ralston
6e882251bd Break the right panel completely
This lays a foundation for redirecting all the traffic through the new store, but for now the core parts of the app need to stop caring if the right panel is open.
2019-12-05 17:47:18 -07:00
Travis Ralston
5253f29928 Build out a store for the right panel state machine
This should make it easier to funnel the expected behaviour through a central block of code.
2019-12-05 15:31:01 -07:00
David Baker
fc4926600a Fix propTypes declaration
With this version of babel (via babel-eslint), eslint now fails
with a somewhat confusing, "Unexpected reserved type number"
(from the flow plugin...) if you get this wrong.
2019-12-05 10:42:20 +00:00
Michael Telatynski
d3de792f79 fix bits which missed the review cutting block
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-03 10:53:32 +00:00
Michael Telatynski
901e402a5c apply renames suggested in PR review
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-02 23:23:11 +00:00
Michael Telatynski
757f811126 s/ContextualMenu/ContextMenu/
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-02 23:21:59 +00:00
Michael Telatynski
a062fe0096 Merge branches 'develop' and 't3chguy/context_menus' of github.com:matrix-org/matrix-react-sdk into t3chguy/context_menus 2019-12-02 23:20:47 +00:00
Michael Telatynski
3ad4b0fb64 Do not trap Key ContextMenu into composer for keyboard a11y
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-02 10:01:08 +00:00
Travis Ralston
36f9fab474 Ensure read receipts end up with a valid reference to checkUnmounting
Fixes https://github.com/vector-im/riot-web/issues/11496
Fixes https://github.com/vector-im/riot-web/issues/11385
Fixes https://github.com/vector-im/riot-web/issues/10007
Fixes https://github.com/vector-im/riot-web/issues/9769

React does (kinda) bind `this._isUnmounting` for us in the context of the EventTile, but the EventTile then passes the function straight through to the ReadReceiptMarker component, which then binds it in the context of EventTile. This results in `this._mounted` being falsey all the time, preventing the ReadReceiptMarker from hitting the code where it updates rrInfo in its unmount. 

The velocity stuff is smart enough to realize that it has a read receipt and shuffles everything over by one, but when it goes to check the starting height (which will be null/undefined because the RRMarker didn't update it) it assumes it has never seen the receipt before and appends it again - this is what causes some holes/stacking.

By forcefully binding the `this._isUnmounting` function we ensure that the `this._mounted` variable is correctly referenced in the context of the MessagePanel, allowing the RRMarker to update its position, and therefore allowing the velocity behaviour to be consistent.
2019-11-28 19:45:37 -07:00
Michael Telatynski
bfb5706b4a don't consume all keys
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-11-28 20:51:21 +00:00
Michael Telatynski
3847996b5b transition Tooltips over to deprecated code
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-11-28 20:26:09 +00:00
Michael Telatynski
2daf3a96bf delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-11-28 18:42:38 +00:00
Michael Telatynski
6c5b777a77 Consolidate all except tooltips
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-11-28 18:16:59 +00:00
Michael Telatynski
6d69ec17d9 Merge branches 'develop' and 't3chguy/context_menus' of github.com:matrix-org/matrix-react-sdk into t3chguy/context_menus
 Conflicts:
	src/components/views/context_menus/RoomTileContextMenu.js
2019-11-28 16:25:59 +00:00
Travis Ralston
fbba55ab05
Merge pull request #3670 from matrix-org/travis/toggle-communities
Make the communities button behave more like a toggle
2019-11-27 07:52:05 -07:00
David Baker
dd7b08ec25
Merge pull request #3674 from matrix-org/dbkr/read_marker_css_transition
Change read markers to use CSS transitions
2019-11-27 09:18:53 +00:00
David Baker
a2e3f64963 Change read markers to use CSS transitions
Removes one of the two places we use Velocity, so we're one step
closer to getting rid of it for good.

Should therefore fix the fact that Velocity is leaking data entries
and therefore <hr> elements.

Hopefully also makes the logic in getEventTiles incrementally simpler,
if still somwewhat byzantine.
2019-11-26 19:06:02 +00:00
Matthew Hodgson
9f455fae4b
Merge branch 'develop' into matthew/fix_logging 2019-11-26 10:19:48 +00:00
Matthew Hodgson
9fd45d1f14 console.log doesn't take %s substitutions 2019-11-26 01:14:03 +00:00
Travis Ralston
1ff39f2524 Make the communities button behave more like a toggle
Fixes https://github.com/vector-im/riot-web/issues/10771

Clicking the button should toggle between your last page (room in our case) and the communities stuff.
2019-11-25 16:51:48 -07:00
Bruno Windels
694f2cb1dc make sure the toast container is always in the document 2019-11-25 13:20:20 +01:00
Bruno Windels
422ab81185 a11y adjustments for toasts 2019-11-25 12:31:57 +01:00
Bruno Windels
15b5ad7451
Merge pull request #3662 from matrix-org/bwindels/itsadoubledate
Fix double date separator for room upgrade tiles
2019-11-22 16:52:47 +00:00
Bruno Windels
4a684d01a4
Merge pull request #3661 from matrix-org/bwindels/verif-toasts
Show incoming verification requests in in-app notifications
2019-11-22 16:39:18 +00:00
Bruno Windels
32b6fccbfc fix double date separator 2019-11-22 17:26:14 +01:00
Bruno Windels
8cb362002b show a toast instead of dialog when feature flag is enabled 2019-11-22 16:08:27 +01:00
Bruno Windels
e86d2b616e add ToastContainer 2019-11-22 16:04:51 +01:00
David Baker
7df8ef2f91
Merge pull request #3655 from matrix-org/t3chguy/fix_m.room.create_upgrade_notice
Show m.room.create event before the ELS on room upgrade
2019-11-22 13:41:36 +00:00
David Baker
25ba4c5f71 Fix read markers
init code needs to be a constructor or its run too late
2019-11-22 13:11:36 +00:00
David Baker
3f5a8faf37 PropTypes should be static 2019-11-22 13:01:56 +00:00
David Baker
6d4abeef45 Convert MessagePanel to React class
I was about to add the getDerivedStateFromProps function to change
how read markers worked, but doing that in an old style class
means the statics object, so let;s just convert the thing.
2019-11-22 12:07:25 +00:00
Michael Telatynski
a02a285058 Show m.room.create event before the ELS on room upgrade
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-11-22 10:24:51 +00:00
Michael Telatynski
d3f872bf7a Merge branches 'develop' and 't3chguy/remove_bluebird' of github.com:matrix-org/matrix-react-sdk into t3chguy/remove_bluebird 2019-11-21 11:15:32 +00:00
David Baker
00241a8d0c
Merge pull request #3637 from matrix-org/dbkr/system_dark_mode
Get theme automatically from system setting
2019-11-20 16:32:37 +00:00
Michael Telatynski
6121420113
Merge branch 'develop' into t3chguy/remove_bluebird 2019-11-20 15:21:23 +00:00
Bruno Windels
d1554977a8
Merge pull request #3633 from matrix-org/bwindels/fix-roomstatus-e2e-icon
use general warning icon instead of e2e one for room status
2019-11-20 14:36:30 +00:00
David Baker
5a700b518a Get theme automatically from system setting
Uses CSS `prefers-color-scheme` to get the user's preferred colour
scheme. Also bundles up some theme logic into its own class.
2019-11-20 13:41:06 +00:00
Damir Jelić
44b212bc4c Merge branch 'poljar/seshat-pr' into develop 2019-11-20 13:33:03 +01:00
David Baker
80ee68a42f Use a settings watcher to set the theme
Rather than listening for account data updates manually
2019-11-19 22:36:55 +00:00
Bruno Windels
de0287213e use general warning icon instead of e2e one for room status 2019-11-19 15:06:09 +01:00
Bruno Windels
43884923e8 merge the feature_user_info_panel flag into feature_dm_verification 2019-11-19 14:18:12 +01:00
Damir Jelić
6017473caf EventIndex: Move the event listener registration into the EventIndex class. 2019-11-19 14:05:00 +01:00
Michael Telatynski
f9d1fed74a re-add missing case of codepath 2019-11-18 19:00:22 +00:00
J. Ryan Stinnett
d5d2f7f936
Merge pull request #3588 from matrix-org/jryans/identity-disco-opt
Relax identity server discovery error handling
2019-11-18 17:09:08 +00:00
Michael Telatynski
e144f1c368 remove Promise.config 2019-11-18 10:37:29 +00:00
Michael Telatynski
5c172a383d Merge branch 't3chguy/remove_bluebird_2' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/remove_bluebird
 Conflicts:
	src/components/views/right_panel/UserInfo.js
2019-11-18 10:36:43 +00:00
Michael Telatynski
d4d51dc61f Rip out the remainder of Bluebird 2019-11-18 10:03:05 +00:00
Damir Jelić
5149164010 MatrixChat: Revert the unnecessary changes in the MatrixChat class. 2019-11-18 10:58:40 +01:00
Michael Telatynski
1ab9b82c25
Merge pull request #3618 from matrix-org/t3chguy/remove_bluebird_2
Remove Bluebird: phase 2.1
2019-11-18 09:29:04 +00:00
J. Ryan Stinnett
854b5a7af5
Merge pull request #3617 from matrix-org/jryans/login-server-details-when-dead
Show server details on login for unreachable homeserver
2019-11-14 20:29:32 +00:00
J. Ryan Stinnett
413b90328f Show server details on login for unreachable homeserver
This fixes the login page to be more helpful when the current homeserver is
unreachable: it reveals the server change field, so you have some chance to
progress forward.

Fixes https://github.com/vector-im/riot-web/issues/11077
2019-11-14 15:23:04 +00:00
Michael Telatynski
58d15acf19
Merge pull request #3612 from matrix-org/t3chguy/remove_bluebird_1
Remove Bluebird: phase 1
2019-11-14 14:52:30 +00:00
Michael Telatynski
54dcaf1302 Replace bluebird specific promise things. Fix uses of sync promise code.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-11-14 13:52:17 +00:00
Damir Jelić
cc2ee53824 EventIndex: Add some more docs and fix some lint issues. 2019-11-13 16:21:26 +01:00
Damir Jelić
1316e04776 EventIndexing: Check if there is a room when resetting the timeline. 2019-11-13 15:23:08 +01:00
Damir Jelić
54b352f69c MatrixChat: Fix the limited timeline checkpoint adding. 2019-11-13 10:37:20 +01:00
Travis Ralston
fd28cf7a4c Move notification count to in front of the room name in the page title
Fixes https://github.com/vector-im/riot-web/issues/10943
2019-11-12 15:12:54 -07:00
Michael Telatynski
79ebb9091c
Merge branch 'develop' into t3chguy/remove_bluebird_1 2019-11-12 18:16:34 +00:00
Damir Jelić
d911055f5d MatrixChat: Move the indexing limited room logic to a different event. 2019-11-12 15:39:54 +01:00
Damir Jelić
e296fd05c0 RoomView: Move the search logic into a separate module. 2019-11-12 15:39:26 +01:00
Michael Telatynski
b73d0ca92a delint and run i18n 2019-11-12 12:37:47 +00:00
Damir Jelić
cfdcf45ac6 MatrixChat: Move the event indexing logic into separate modules. 2019-11-12 13:29:07 +01:00
Michael Telatynski
2b34cf4362 Replace Promise.delay with promise utils sleep
(cherry picked from commit 0a21957b2c)
2019-11-12 12:07:56 +00:00
Michael Telatynski
2ea239d192 Replace rest of defer usages using small shim. Add homebrew promise utils
(cherry picked from commit 6850c14739)
2019-11-12 12:07:56 +00:00
Michael Telatynski
7a512f7299 Revert "Replace rest of defer usages using small shim. Add homebrew promise utils"
This reverts commit 6850c147
2019-11-12 11:56:43 +00:00
Michael Telatynski
f9d6ed63f0 Revert "Replace Promise.delay with promise utils sleep"
This reverts commit 0a21957b
2019-11-12 11:56:32 +00:00
Michael Telatynski
168b1b68bb Revert "s/.done(/.then(/ since modern es6 track unhandled promise exceptions"
This reverts commit 09a8fec2
2019-11-12 11:56:21 +00:00
J. Ryan Stinnett
d72dedb0ce Cache room alias to room ID mapping in memory
This adds very basic cache (literally just a `Map` for now) to store room alias
to room ID mappings. The improves the perceived performance of Riot when
switching rooms via browser navigation (back / forward), as we no longer try to
resolve the room alias every time.

The cache is only in memory, so reloading manually or as part of the clear cache
process will start afresh.

Fixes https://github.com/vector-im/riot-web/issues/10020
2019-11-12 11:54:41 +00:00
Michael Telatynski
09a8fec261 s/.done(/.then(/ since modern es6 track unhandled promise exceptions 2019-11-12 11:51:23 +00:00
Michael Telatynski
0a21957b2c Replace Promise.delay with promise utils sleep 2019-11-12 11:46:58 +00:00
Michael Telatynski
6850c14739 Replace rest of defer usages using small shim. Add homebrew promise utils 2019-11-12 11:45:28 +00:00
Michael Telatynski
2eddb6ca01 DRY context menu placement algorithms 2019-11-12 11:24:14 +00:00
Michael Telatynski
1c4d89f2d7 Migrate all standard Context Menus over to new custom framework 2019-11-11 17:53:17 +00:00
Damir Jelić
2c5565e502 MatrixChat: Add some missing semicolons. 2019-11-11 15:08:00 +01:00
David Baker
d14c0c342d
Merge pull request #3594 from matrix-org/bwindels/fixfilenotifpanel
Fix: file and notifications panel back-paginating forever.
2019-11-06 10:52:15 +00:00
Bruno Windels
842bf77409 prevent error when nextProps is null, cleanup
As the FilePanel is now rendered as part of the RoomView,
we don't need to respond to room changes, as RoomView has
a key of the roomId, so the whole subtree would be recreated.
2019-11-06 10:34:22 +01:00
Bruno Windels
9fa7990996 prevent error for empty list 2019-11-06 10:34:22 +01:00
J. Ryan Stinnett
446e21c2e1 Relax identity server discovery error handling
If discovery results in a warning for the identity server (as in can't be found
or is malformed), this allows you to continue signing in and shows the warning
above the form.

Fixes https://github.com/vector-im/riot-web/issues/11102
2019-11-01 12:27:56 +00:00
David Baker
7d6643664e Fix bug where rooms would not appear when filtering
We need to reset the scroll offset otherwise the component may be
scrolled past the only content it has (Chrome just corrected the
scroll offset but Firefox scrolled it anyway).

NB. Introducing the new deriveStateFromProps method seems to
means that react no longer calls componentWillMount so I've
had to change it to componentDidMount (which it should have
been anyway).

Fixes https://github.com/vector-im/riot-web/issues/11263
2019-10-31 19:42:41 +00:00
Michael Telatynski
3b8cb42108 Fix Room Create ELS using MXID instead of newly set Displayname/Avatar 2019-10-26 09:31:45 +01:00
Michael Telatynski
fac8274559 Add comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 18:45:04 +01:00
Michael Telatynski
9c63be7dc4 Remove wrapping div around RoomList to fix regression with scrollbars
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 18:32:14 +01:00
Michael Telatynski
efcda54c3f Move Jitsi widget above Explore/Filter
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 13:05:02 +01:00
Michael Telatynski
d7a64fcacd Move Jitsi widget to bottom and fix keyboard navigation of left panel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 12:12:57 +01:00
Michael Telatynski
744fc5ca6a Specify aria-level="1" on Room List tree RoomSubList
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 12:12:54 +01:00
Michael Telatynski
e7f292794c
Merge pull request #3556 from matrix-org/t3chguy/a11y4
Use Navigation Treeview pattern for RoomList Accessibility
2019-10-22 13:42:08 +01:00
Michael Telatynski
2a3655e9b8 Focus highlight room sublist label, catch right arrow and simplify code
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-22 11:10:25 +01:00
David Baker
a3dbf881e8
Merge pull request #3557 from matrix-org/jryans/scroll-unmount-guard
Abort scroll updates when already unmounted
2019-10-21 17:05:53 +01:00
Michael Telatynski
c5d5cd72bc
Merge pull request #3465 from matrix-org/t3chguy/nvl/userinfo
UserInfo consolidation of GroupMemberInfo and MemberInfo panels
2019-10-21 15:50:08 +01:00
J. Ryan Stinnett
3a428efb60 Abort scroll updates when already unmounted
This checks whether we're unmounted before updating scroll state, as we use
async functions and timeouts in this area.

Fixes https://github.com/vector-im/riot-web/issues/11150
2019-10-18 18:01:57 +01:00
Damir Jelić
64061173e1 MatrixChat: Check if our state array is empty in the crawled messages response. 2019-10-18 16:33:07 +02:00
Damir Jelić
89f14e55a2 MatrixChat: Catch errors when fetching room messages in the crawler. 2019-10-18 16:32:43 +02:00
Damir Jelić
1b63886a6b MatrixChat: Add more detailed logging to the event crawler. 2019-10-18 16:31:39 +02:00
Michael Telatynski
fe46925c00 Handle LEFT Arrow as expected by Aria Treeview Widget pattern
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 17:49:28 +01:00
Michael Telatynski
f72ff95efb Handle ARROW_RIGHT on group node in treelist as per aria suggestions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 17:30:37 +01:00
Michael Telatynski
afe2226cb8 Handle ARROW_LEFT correctly on any room tile in sublist
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 17:14:00 +01:00
Michael Telatynski
1286cf287e remove TODO for now
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 17:09:43 +01:00
Michael Telatynski
3eef1bf87e Fix tabbing through room sublist
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 17:03:37 +01:00
Michael Telatynski
f09a3b4281 Fix outline on RoomSubList badges
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 16:21:33 +01:00
Michael Telatynski
8b5d3b93f4 Prevent double read of ARIA expanded
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 15:59:32 +01:00
Michael Telatynski
3400808f6e Use navigation treeview aria pattern for roomlist sublists and tiles
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 15:53:39 +01:00
Michael Telatynski
2de88449aa Clean up RoomSubList from stale unused code paths
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-14 16:08:56 +01:00
Michael Telatynski
d3517cdb71 actually pass role="tabpanel" to the DOM for FilePanel and NotifPanel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-14 10:44:42 +01:00
Damir Jelić
3f53691834 RoomView: Use platform specific search if our platform supports it.
This patch extends our search to include our platform specific event
index.

There are 3 search scenarios and are handled differently when platform
support for indexing is present:

    - Search a single non-encrypted room: Use the server-side search
        like before.
    - Search a single encrypted room: Search using our platform specific
        event index.
    - Search across all rooms: Search encrypted rooms using our local
        event index. Search non-encrypted rooms using the classic
        server-side search. Combine the results.

The combined search will result in having twice the amount of search
results since comparing the scores fairly wasn't deemed sensible.
2019-10-11 16:55:01 +02:00
Damir Jelić
4acec19d40 MatrixChat: Add new crawler checkpoints if there was a limited timeline.
A sync call may not have all events that happened since the last time
the client synced. In such a case the room is marked as limited and
events need to be fetched separately.

When such a sync call happens our event index will have a gap. To
close the gap checkpoints are added to start crawling our room again.
Unnecessary full re-crawls are prevented by checking if our current
/room/roomId/messages request contains only events that were already
present in our event index.
2019-10-11 16:55:01 +02:00
Damir Jelić
5e7076e985 MatrixChat: Add live events to the event index as well. 2019-10-11 16:55:01 +02:00
Damir Jelić
b23ba5f881 MatrixChat: Stop the crawler function and delete the index when logging out. 2019-10-11 16:55:01 +02:00
Damir Jelić
9ce478cb0e MatrixChat: Create an event index and start crawling for events.
This patch adds support to create an event index if the clients platform
supports it and starts an event crawler.

The event crawler goes through the room history of encrypted rooms and
eventually indexes the whole room history of such rooms.

It does this by first creating crawling checkpoints and storing them
inside a database. A checkpoint consists of a room_id, direction and
token.

After the checkpoints are added the client starts a crawler method in
the background. The crawler goes through checkpoints in a round-robin
way and uses them to fetch historic room messages using the
rooms/roomId/messages API endpoint.

Every time messages are fetched a new checkpoint is created that will
be stored in the database with the fetched events in an atomic way, the
old checkpoint is deleted at the same time as well.
2019-10-11 16:55:01 +02:00
Michael Telatynski
6e33cc0650
Merge pull request #3433 from matrix-org/t3chguy/nvl/react16/EventListSummary
Summarise state events after room creation
2019-10-11 09:53:26 +01:00
Michael Telatynski
5643743167 Don't intercept TAB on the app outside of the composer, fix tabIndex > 0
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-10 14:13:29 +01:00
Michael Telatynski
58317b1608 Use Keyboard Key variables instead of hardcoded strings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 19:59:11 +01:00
Michael Telatynski
ff18a04da1
Merge pull request #3529 from matrix-org/t3chguy/react16_cleanup2
React error/warning cleanup
2019-10-09 16:26:24 +01:00
Michael Telatynski
f2d73793ee delint again
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 12:51:08 +02:00
Michael Telatynski
9331ca9d07 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 12:51:08 +02:00
Michael Telatynski
6be318b59d Only insert ELS if it'll be non-empty
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 12:51:08 +02:00
Michael Telatynski
efde7f289f Use EventListSummary on m.room.create events and state events thereafter
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 12:50:03 +02:00
J. Ryan Stinnett
1dc2ae007f Fix soft crash on room join
This fixes a soft crash that can happen on room join if you keep the right panel
open (which is the default). The `MainSplit` component was not properly testing
for the edge cases of when the resize container would be mounted.

Fixes https://github.com/vector-im/riot-web/issues/10997
2019-10-08 15:43:57 +01:00
Michael Telatynski
a782baf510 React error/warning cleanup
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-08 12:10:37 +01:00
Michael Telatynski
df02eb8e92 Add UserInfo panel (consolidation of MemberInfo & GroupMemberInfo) Labs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-07 16:52:50 +01:00
Michael Telatynski
1ec0bb284a Limit Backspace-consuming workaround to just Slate, tidy Keyboard :)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-04 11:47:33 +01:00
Michael Telatynski
fba646d2c5
Merge pull request #3519 from matrix-org/travis/enable-cider
Enable CIDER composer by default
2019-10-04 10:50:28 +01:00
Michael Telatynski
06c612ba3d
Merge pull request #3516 from matrix-org/t3chguy/clean_out_useless_errors
Cull some easily fixable errors which make the console a mess
2019-10-04 10:20:34 +01:00
Michael Telatynski
e200193b0a DRY and fix useCiderComposer being in both labs and preferences
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-04 10:15:00 +01:00
Travis Ralston
853c522467 Enable CIDER composer by default
Also convert the setting to a watched setting to apply in realtime.
2019-10-03 23:20:40 -06:00
Michael Telatynski
47c41759f7
Merge pull request #3518 from matrix-org/t3chguy/attempt_NPE_fix
Handle null from TimelinePanel.getScrollState in RoomView _getScrollState
2019-10-04 00:25:14 +01:00
Michael Telatynski
0f2eee1b1b
Merge pull request #3517 from matrix-org/t3chguy/fix_community_panel_preference
Fix Community Panel preference not taking effect until some refreshing
2019-10-04 00:24:57 +01:00
Michael Telatynski
9e9c56d327 rename settings watcher refs in LeftPanel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 23:21:32 +01:00
Michael Telatynski
9e8234c98f Handle null from TimelinePanel.getScrollState in RoomView _getScrollState
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 23:00:08 +01:00
Michael Telatynski
d5f6d781bb Fix Community Panel preference not taking effect until some refreshing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 22:13:10 +01:00
Michael Telatynski
a0de7d5f14 Cull some easily fixable errors which make the console a mess
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 21:47:19 +01:00
Michael Telatynski
a9b4abaf78 Fix backspace without slate focus killing everything
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 21:16:18 +01:00
Michael Telatynski
8ef61ce43e
Merge pull request #3514 from matrix-org/t3chguy/accessibility3
Various ARIA a11y fixes.
2019-10-03 11:09:01 +01:00
Michael Telatynski
f1db0cf027 Various ARIA a11y fixes.
Notate RightPanel tabs.
Shorten Screen Reader queues.
Make AccessibleTooltipButton screen reader friendly
Flatten DOM for Sticker button using React Fragments

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 09:35:39 +01:00
J. Ryan Stinnett
b605c0048d Add an error boundary around the RoomView
This adds a more specific boundary around the `RoomView` for room-specific
errors and is an example how we could use add boundaries around just a portion
of the app.
2019-10-02 17:31:22 +01:00
J. Ryan Stinnett
0e8dc24c3f Add a basic error boundary for the entire app
This adds a basic error boundary around the entire app to catch errors during
rendering and present the user with the options on how to proceed. This is not
implemented as a modal so that it could be used selectively in portions of the
app as well, such as just the `RoomView`.

Fixes https://github.com/vector-im/riot-web/issues/11009
2019-10-02 17:31:22 +01:00
Bruno Windels
c8c4dc29d1
Merge pull request #3503 from matrix-org/bwindels/custom-themes-mvp
Custom theming MVP
2019-10-02 09:14:07 +00:00
Travis Ralston
7d1a04cb12
Merge pull request #3500 from matrix-org/travis/permalinks
Support local permalinks for unfederated instances
2019-10-01 08:41:23 -06:00
Bruno Windels
558f8daeeb support custom themes from setting
also move theme setting code from MatrixChat to own file.
2019-10-01 15:21:22 +02:00
Travis Ralston
fc66e69c02 Rename RoomPermalinkCreator -> Permalinks due to scope
The file handles more than just a RoomPermalinkCreator, so we should name it accordingly.
2019-09-30 20:39:58 -06:00
Travis Ralston
64aa6695f5 Move matrix-to.js to utils/permalinks/RoomPermalinkCreator
Just a little bit of refactoring to make the feature of custom prefixes a bit easier.
2019-09-30 12:16:46 -06:00
Michael Telatynski
2621ad1b43 Group room tiles in room sub list in the room list for ARIA
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-30 16:04:43 +01:00
Michael Telatynski
22fb925743 Stop using deprecated KeyboardEvent properties
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-30 16:04:06 +01:00
Michael Telatynski
ce78de2185 re-order imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-27 10:05:08 +01:00
Michael Telatynski
8d1d3090f3 Improve keyboard accessibility using :focus-visible CSS polyfill
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-27 09:00:54 +01:00
Michael Telatynski
3674b87415 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-26 14:58:40 +01:00
Michael Telatynski
c37e27f03d Improve a11y:
+ Close context menu on escape
+ Use AccessibleButtons for more things (Context Menus and TabbedView)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-26 14:52:20 +01:00
Michael Telatynski
8ec0ffea3a Make the message context menu more accessible
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-26 14:24:10 +01:00
Michael Telatynski
14e3cb8736 Allow keyboard control even without a screen reader
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-26 13:52:09 +01:00
Michael Telatynski
d588e709e5 Add tab indexes, role=button and aria-labels to TabbedViews for a11y
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-25 18:55:18 +01:00
Travis Ralston
6ab816f79e Hide browser a11y outline on context menus
Fixes https://github.com/vector-im/riot-web/issues/10926
Regressed by https://github.com/matrix-org/matrix-react-sdk/pull/3454/files
Class introduced in https://github.com/matrix-org/matrix-react-sdk/pull/2994
2019-09-24 12:29:20 -06:00
J. Ryan Stinnett
17e42eacd4
Merge pull request #3473 from matrix-org/jryans/rm-id-server-reg-and-reset
Remove id_server param from threepid_creds
2019-09-24 17:34:45 +01:00
Matthew Hodgson
df33d0f74c Remove debug for https://github.com/vector-im/riot-web/issues/10940 2019-09-24 14:57:45 +01:00
J. Ryan Stinnett
0c51e41ea4 Remove id_server param for password reset
For HSes that no longer need it, remove the id_server param from password reset.

Part of https://github.com/vector-im/riot-web/issues/10941
2019-09-24 14:54:26 +01:00
Bruno Windels
26a8398a0e make sure client exists while logging out 2019-09-24 12:53:33 +02:00
Matthew Hodgson
3ce47a0181 notify new screen after setting state 2019-09-24 01:51:21 +01:00
Matthew Hodgson
b85dc7b5a8 add debug for vector-im/riot-web#10940 2019-09-24 01:35:43 +01:00
Matthew Hodgson
54355c0e28 put the room name in the title tag
should fix https://github.com/vector-im/riot-web/issues/4454
2019-09-23 22:01:52 +01:00
Bruno Windels
157a3388a5 change name to Field, no_federate to switch
also construct room create options in dialog,
instead of MatrixChat, as we'll have more to come
2019-09-23 11:22:30 +02:00
Michael Telatynski
d1fb31a6dc Merge branches 'develop' and 't3chguy/register_disable_no_custom_url_spinner' of github.com:matrix-org/matrix-react-sdk into t3chguy/register_disable_no_custom_url_spinner 2019-09-19 10:07:42 +01:00
Michael Telatynski
6209d62f49 Don't show spinner if registration is disabled
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-18 13:19:33 +01:00
Michael Telatynski
c633df3c15 Use same initial device name rules for SSO login as password login
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-18 12:16:41 +01:00
Travis Ralston
9f3f88ba00 Focus context menus so screen readers can find them
Fixes https://github.com/vector-im/riot-web/issues/10899

The `tabIndex` is required to make the thing actually focusable. This is the same trick employed in https://github.com/matrix-org/matrix-react-sdk/pull/2994
2019-09-17 15:41:39 -06:00
Matthew Hodgson
832123524d make the lifetimes of the RM configurable 2019-09-17 17:34:30 +01:00
Michael Telatynski
7f5d38772d don't fire onFinished twice
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-15 21:30:01 +01:00
Michael Telatynski
54d98c22ba Reuse showRoom for onJoinClick so we join using alias if its available
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-15 21:25:36 +01:00
Bruno Windels
40bd1845d2
Merge pull request #3441 from matrix-org/bwindels/fixroomdir-itemclick-bis
Fix: stop propagation click handler for <TR> doesn't run
2019-09-13 13:08:42 +00:00
Bruno Windels
f73f08e998 stop propagation click handler for <TR> doesn't run 2019-09-13 14:33:09 +02:00
Bruno Windels
bf460dbd3d fix clicking on room dir item 2019-09-13 11:09:02 +02:00
Bruno Windels
87f8000621 only hide x button when blurred && no more search term 2019-09-12 17:17:15 +02:00
Michael Telatynski
d7bac95270
Merge pull request #3421 from matrix-org/t3chguy/nvl/fix_sso_flash
Hide the change HS url button on SSO login flow if custom urls disabled
2019-09-12 12:29:03 +01:00
Michael Telatynski
d197fd90ad Merge branches 'develop' and 't3chguy/nvl/fix_sso_flash' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/nvl/fix_sso_flash 2019-09-12 10:25:54 +01:00
Bruno Windels
7c97078764 always show clear button in search box when focused 2019-09-12 11:12:06 +02:00
Michael Telatynski
a4a85dc541 Hide the change HS url button on SSO login flow if custom urls disabled
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 23:02:52 +01:00
Travis Ralston
9622ec9a1a
Merge pull request #3416 from matrix-org/t3chguy/nvl/room_directory_pagination_spinner
RoomDirectory: show spinner if loading more results
2019-09-11 14:26:51 -06:00
Michael Telatynski
6f736e8407 Apply PR feedback
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:44:04 +01:00
Michael Telatynski
76e4363452 Login: Add way to change HS from SSO Homeserver
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:44:04 +01:00
Michael Telatynski
f1ea5ff6f3 Login: don't assume supported flows, prevent login flash on SSO servers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:44:04 +01:00
Michael Telatynski
980e9839ac Update Copyright 2019-09-11 17:22:45 +01:00
Michael Telatynski
0d28cd5840 RoomDirectory: show spinner if loading more results
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:22:45 +01:00
Michael Telatynski
81ea230a35
Merge pull request #3406 from matrix-org/t3chguy/reply_to_search_results
Fix replying from search results for this and all rooms
2019-09-11 17:14:55 +01:00
Bruno Windels
24c4a16da1 adapt design of room list in directory 2019-09-11 16:23:59 +02:00
Bruno Windels
77175fcbc4 pr feedback 2019-09-11 16:18:34 +02:00
Bruno Windels
094c9e3468
consistent naming
Co-Authored-By: Travis Ralston <travpc@gmail.com>
2019-09-11 14:15:46 +00:00
Bruno Windels
7754e08d84 remove labels and add join/view & preview button instead in directory 2019-09-11 15:45:51 +02:00
Bruno Windels
62ddc1e544
Merge pull request #3412 from matrix-org/bwindels/explore-button
Add explore button in left panel to go show room directory
2019-09-11 11:54:18 +00:00
Bruno Windels
ad2e16d432 keep filter field expanded if it has text in it 2019-09-11 13:46:18 +02:00
Travis Ralston
ccd42900f7
Merge pull request #3414 from matrix-org/travis/address-picker-stack
Make uses of AddressPickerDialog static dialogs
2019-09-10 12:38:40 -06:00
Travis Ralston
4fbedec013 Make uses of AddressPickerDialog static dialogs
Fixes https://github.com/vector-im/riot-web/issues/10603

Static dialogs are ones that stay open underneath other dialogs, like the terms of service prompt. This is how user/room settings operate.
2019-09-10 11:01:20 -06:00
Travis Ralston
096dff4b54
Merge pull request #3395 from matrix-org/travis/hidden_rr
Support sending hidden read receipts
2019-09-10 10:55:45 -06:00
Bruno Windels
68dde07f49 make add room button go to create room dialog instead of room directory 2019-09-10 11:59:59 +02:00
Bruno Windels
1c4093eb0f make filter feed transparent when not focussed 2019-09-10 11:11:08 +02:00
Bruno Windels
15d3774665 show shorter placeholder for filter feed when not focused 2019-09-10 11:11:08 +02:00
Bruno Windels
da98080859 hide explore button when focusing filter field 2019-09-10 10:57:25 +02:00
Bruno Windels
80dd5a1b0a add explore button next to filter field 2019-09-10 10:55:55 +02:00
Michael Telatynski
80add7be92 delint more properly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-10 08:38:51 +01:00
Michael Telatynski
ef2ff31a46 Fix replying from search results for this and all rooms
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-09 09:34:08 +01:00
Travis Ralston
e29184ae1d Support secret per-room hidden read receipts 2019-09-06 13:02:18 -06:00
Michael Telatynski
4db8ef4d89 Correct case of propTypes property in ES6 React Components. React 16
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-06 14:27:33 +01:00
Travis Ralston
af35cdc2ea Support sending hidden read receipts
Fixes https://github.com/vector-im/riot-web/issues/2527
2019-09-05 20:30:19 -06:00
Michael Telatynski
6cc29b2a8c
Merge pull request #3363 from matrix-org/t3chguy/react16_6
Migrate away from React.createClass for auth and views/auth. React 16 :D
2019-09-01 22:46:55 +01:00
Michael Telatynski
abf111ecbd Migrate away from React.createClass for non-auth structures. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-30 10:34:59 +01:00
Michael Telatynski
2e1fb4533c Migrate away from React.createClass for auth and views/auth. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-30 10:27:51 +01:00
J. Ryan Stinnett
72ec6c7062 Reveal custom IS field only when required
This hides the identity server at first from the custom server auth flows. For
the flows that may need an IS if the HS requires it (registration, password
reset), we then check with the HS before proceeding further and reveal the IS
field if it is in fact needed.

Fixes https://github.com/vector-im/riot-web/issues/10553
2019-08-23 18:43:55 +01:00
Bruno Windels
b395fad834 add feature flag, allowing to revert to old slate editor 2019-08-22 14:07:43 +01:00
Bruno Windels
c7c87ccd9c
Merge pull request #3328 from matrix-org/bwindels/modifier-refocus-fix-attempt
Explicitly check for modifier keydown events before focusing composer
2019-08-21 07:39:11 +00:00
Bruno Windels
b42b2825c4 explicitly check for modifier keydown events 2019-08-20 10:43:03 +02:00
Travis Ralston
2d4c2b76d9 Merge branch 'develop' into travis/is-account-data 2019-08-19 10:36:42 -06:00
David Baker
cd26b73386
Merge pull request #3319 from matrix-org/dbkr/allow_pw_reset_no_is
Allow password reset without an ID Server
2019-08-19 11:41:38 +01:00
Travis Ralston
51946d2a74 Persist and maintain identity server in account data
Fixes https://github.com/vector-im/riot-web/issues/10094

MSC: https://github.com/matrix-org/matrix-doc/pull/2230
2019-08-16 13:10:41 -06:00
David Baker
dbe5c2cb45 Allow password reset without an ID Server
If the server advertises that it supports doing so

Requires matrix-org/matrix-js-sdk#1018
Requires matrix-org/matrix-js-sdk#1019
Fixes vector-im/riot-web#10572
2019-08-16 18:11:24 +01:00
David Baker
3c4c595f79 remove old serverCaps 2019-08-16 15:27:11 +01:00
David Baker
41a9db3224 Use new flag in /versions 2019-08-16 15:07:15 +01:00
David Baker
e705d110af Allow registering with email if no ID Server
If the server advertises that it supports doing so

This version uses a random me.dbkr prefix until the MSC is
written.

Requires https://github.com/matrix-org/matrix-js-sdk/pull/1017
Implements https://github.com/matrix-org/matrix-doc/pull/2233
2019-08-16 11:57:32 +01:00
Michael Telatynski
49c7730503 change Modal async/await signature to use raw promises
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-09 17:29:22 +01:00
Michael Telatynski
7fe078c07a Modal.createX return thenable which extends onFinished, for async/await
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-09 16:47:22 +01:00
J. Ryan Stinnett
38e64ce966 Remove 3PID binding during registration
This disables 3PID binding at registration time, so users won't be discoverable
by 3PID by default. Instead, new discovery controls in settings allow you to
opt-in.

Fixes https://github.com/vector-im/riot-web/issues/10424
2019-08-08 16:25:48 +01:00
Travis Ralston
07d6fa7fdb
Merge pull request #3286 from matrix-org/travis/immutable-dms/basic
Reuse DMs whenever possible instead of asking to reuse them
2019-08-08 07:26:17 -06:00
David Baker
54ca7b708e
Merge pull request #3285 from matrix-org/dbkr/work_without_is
Work with no ID server set
2019-08-08 09:48:44 +01:00
Travis Ralston
24705d02b7 Replace DM logic in view_start_chat_or_reuse
Part of https://github.com/vector-im/riot-web/issues/10416

This code is used by the welcome bot logic and the groups/communities section of the app. goHomeOnCancel can be removed because no matter what happens we'll end up in a room with the user (and we aren't showing a dialog anymore).
2019-08-07 12:13:59 -06:00
David Baker
9fa5e01f2f Disable password reset if no ID server 2019-08-07 13:30:52 +01:00
Travis Ralston
610baff09a
Merge pull request #2668 from azuenko/develop
Fix waste of space of collapsed left panel
2019-08-06 13:54:04 -06:00
Michael Telatynski
8c446bbd29
Merge pull request #3279 from matrix-org/t3chguy/remove_withMatrixClient
Remove withMatrixClient as we are committed to using Contexts
2019-08-06 14:12:14 +01:00
Michael Telatynski
d99fb4796f avoid using import * as Matrix
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-06 14:04:33 +01:00
Anton Zuenko
a3eb45e0b9 Fix waste of space of collapsed left panel
Signed-off-by: Anton Zuenko <anton@zuenko.ru>
2019-08-05 18:03:20 +02:00
David Baker
e8fcfbe2bf
Merge pull request #3280 from matrix-org/bwindels/user-deactivated
Let user know their account has been deactivated upon trying to login
2019-08-05 13:23:40 +01:00
Bruno Windels
7a5167b1a3 Let user know their account has been deactivated upon trying to login 2019-08-05 13:48:25 +02:00
Michael Telatynski
224dac3ffb Remove withMatrixClient as we are committed to using Contexts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-05 12:26:31 +01:00
David Baker
1c156f0a5a Don't load guest sessions on post-registration login link
If guest access was enabled, clicking the login link on the 'registration
completed' page would just load the guest account you had before registering.

Fixes https://github.com/vector-im/riot-web/issues/10482
2019-08-02 11:22:42 +01:00
Michael Telatynski
201d7fb448 Merge branches 'develop' and 't3chguy/prop-types' of github.com:matrix-org/matrix-react-sdk into t3chguy/prop-types
# Conflicts:
#	test/components/structures/MessagePanel-test.js
2019-07-31 12:21:00 +01:00
Michael Telatynski
1087e04bb5 Replace React.PropTypes with usage of the prop-types package
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-31 12:19:29 +01:00
Michael Telatynski
4517fea496 Introduce RoomContext for sharing state between RoomView and children
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-31 00:47:38 +01:00
Bruno Windels
e73690439f
Merge pull request #3239 from matrix-org/bwindels/redirectpastetocomposer
Redirect paste to composer when event target can't receive input
2019-07-23 16:38:55 +00:00
Bruno Windels
82d7617287 add comments 2019-07-23 09:44:17 +02:00
Bruno Windels
ceb53dc0bb Revert "remove unnessary manual focussing of composer"
This reverts commit 57abbc4273.
2019-07-23 09:13:51 +02:00
Bruno Windels
023130bb4b Redirect paste to composer when event target can't receive input 2019-07-19 17:49:04 +02:00
Bruno Windels
84e2333105
Merge pull request #3226 from matrix-org/bwindels/readmarker-invisble-events
Move read marker past invisible events
2019-07-19 15:10:03 +00:00
Bruno Windels
77f5274cd8 don't focus composer on keydown with modifier
this breaks shortcuts like copy, ...
2019-07-19 09:10:20 +02:00
Bruno Windels
4fa7302f69
Merge pull request #3224 from matrix-org/bwindels/focus-composer-on-type
Focus composer when typing anywhere in the app
2019-07-18 16:10:23 +00:00
J. Ryan Stinnett
674f33917f Remove editing feature flag
Part of https://github.com/vector-im/riot-web/issues/10282
2019-07-17 16:56:15 +01:00
Bruno Windels
4bde0c08ad make sure we don't break any A or BUTTON keyboard handling 2019-07-17 16:53:12 +02:00
Bruno Windels
10a74696b3 hack around React having its own bubbling phase 2019-07-17 16:50:05 +02:00
Bruno Windels
3d4cd8aa1c local echos should always be ignored (for both RM and RR),so remove flag
pending events won't be in liveEvents (where we look) anyway
2019-07-17 10:19:44 +02:00
Bruno Windels
c94715150d as both RM and RR move past invisible events, remove the flag 2019-07-17 10:18:51 +02:00
Bruno Windels
741ae9957b also put read marker past (like RR) invisible events 2019-07-17 10:15:09 +02:00
Travis Ralston
2471f92331
Merge pull request #3218 from matrix-org/travis/check-when-dead
Check for liveliness on submission when the server was previously dead
2019-07-15 14:46:55 -06:00
Travis Ralston
2bc0e8e151 Don't rely on React being fast 2019-07-15 10:51:08 -06:00
Bruno Windels
57abbc4273 remove unnessary manual focussing of composer
now that composer is focused automatically when no other shortcuts
apply, remove the manual focusing we have in place where it's not needed
2019-07-15 18:21:10 +02:00
Bruno Windels
4adea67eb3 focus the composer in the body keydown handler if not other shortcuts apply
this allows the user to start typing a message even if the composer is not focused.
2019-07-15 18:12:45 +02:00
Bruno Windels
7e25e1b2fc remove unneeded else 2019-07-15 14:02:41 +02:00
Bruno Windels
034883dc7e improve comments 2019-07-15 14:01:28 +02:00
Bruno Windels
8ac54661be take adjacent no-tile events in combination with ignored events into account when determining the last displayed event 2019-07-15 12:53:39 +02:00
Travis Ralston
c6a18b11f0 Check for liveliness on submission when the server was previously dead
Fixes https://github.com/vector-im/riot-web/issues/10017

Specifically the `return` at the end of the diff fixes the problem, but it seems worthwhile to check for liveliness when we know the server has been dead in previous attempts.
2019-07-14 23:23:48 -06:00
Travis Ralston
000d545ffd Remove misleading text about admins logging people out from soft logout 2019-07-11 09:18:33 -06:00
Travis Ralston
ce11eff1b8 Simplify parameter check 2019-07-10 08:01:32 -06:00
Travis Ralston
2ca6633fda Update copy as per design 2019-07-09 23:55:20 -06:00
Travis Ralston
041379fa3c Don't refuse the soft logout page if the user is soft logged out 2019-07-09 23:44:14 -06:00
Travis Ralston
1eb60ef1c4 Support SSO for rehydrating a soft-logged-out session.
Fixes https://github.com/vector-im/riot-web/issues/10238
2019-07-09 20:16:44 -06:00
Travis Ralston
4b1d78e04d Merge branch 'develop' into travis/soft-logout-design 2019-07-09 11:35:49 -06:00
Travis Ralston
a33e5f1918
Merge pull request #3188 from matrix-org/travis/soft-logout-non-default-hs
Fix React crash when using a non-default homeserver on soft logout
2019-07-09 11:32:31 -06:00
Travis Ralston
ab63e8bd04 Remove backwards compat function 2019-07-08 11:55:00 -06:00
Travis Ralston
d2ab0a5ca7 Move key backup init to componentDidMount 2019-07-08 11:53:26 -06:00
Travis Ralston
3e0be640fd Merge branch 'travis/soft-logout-rehydrate' into travis/soft-logout-keys 2019-07-08 11:52:58 -06:00
Travis Ralston
c3383e9315 Move _initLogin to componentDidMount 2019-07-08 11:51:22 -06:00
Travis Ralston
ae79ce97f3 Dress up the soft logout page to look like the design
Fixes https://github.com/vector-im/riot-web/issues/10262

Also fixes showing the user ID twice. We might have a User object which helpfully sets the display name to the user ID, so check for that.
2019-07-05 15:05:31 -06:00
Travis Ralston
ca6563dce4 Merge branch 'travis/soft-logout-rehydrate' into t1 2019-07-05 15:03:24 -06:00
Travis Ralston
1f1a5b2aac Fix React crash when using a non-default homeserver on soft logout
The function used exists on the peg, not the client. This commit also fixes the name of the function in a backwards compatible way.
2019-07-05 14:35:21 -06:00
Travis Ralston
55b4ef2169 Change soft logout rehydrate text if there's pending key backups
Fixes https://github.com/vector-im/riot-web/issues/10263
Requires https://github.com/matrix-org/matrix-js-sdk/pull/982
2019-07-05 13:52:14 -06:00
Travis Ralston
d39b4e9c7c Merge branch 'travis/soft-logout-rehydrate' into travis/soft-logout-keys 2019-07-05 13:41:04 -06:00
J. Ryan Stinnett
017fc84862
Merge pull request #3184 from matrix-org/jryans/reactions-send-marks-unread
Track live events in timeline and use for read receipts and read markers
2019-07-05 17:55:59 +01:00
J. Ryan Stinnett
3c3426d97e Update copyright header 2019-07-05 15:08:55 +01:00
J. Ryan Stinnett
0ae98a5a4d Track live events in timeline and use for read receipts and read markers
This changes the `TimelinePanel` to track live events (that have committed to
the server and been remote echoed) as well as the full list of events (which
includes pending events).

The code paths that advance read receipt and read markers are then changed to
only use the live events so that these cannot advance into pending events.

Fixes https://github.com/vector-im/riot-web/issues/9952
2019-07-05 14:37:19 +01:00
Travis Ralston
00973a1ee8 Appease the linter 2019-07-04 17:00:09 -06:00
Travis Ralston
03cbd7e8bb Ensure links off the forgot password page land you at soft logout 2019-07-04 16:51:55 -06:00
Travis Ralston
93872e6fa5 Ask for the user's password to rehydrate their soft logged out session
Fixes https://github.com/vector-im/riot-web/issues/10236

The changes to the MatrixClientPeg (assign/start) are to permit the SoftLogout page to access the MatrixClientPeg reliably. This is why assign() is called by Lifecycle as an alternative to start().

Minimal design work has been done here. The majority is deferred to https://github.com/vector-im/riot-web/issues/10262
2019-07-04 16:51:16 -06:00
Travis Ralston
89131be438 Require that users go to the soft logout page if they're soft logged out
Fixes https://github.com/vector-im/riot-web/issues/10234
2019-07-04 15:14:00 -06:00
Travis Ralston
8ea46a8c4d Remove unneeded page types 2019-07-04 09:59:20 -06:00
Travis Ralston
5e5bf21281 Remove irrelevant debugging 2019-07-04 09:59:07 -06:00
Travis Ralston
521bc90b5f Appease the linter 2019-07-03 16:51:09 -06:00
Travis Ralston
42e6287bdb Implement basic soft logout handling
Fixes https://github.com/vector-im/riot-web/issues/10235

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

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

This implementation reuses as much of the Lifecycle flow as it can without causing problems. Most importantly, it requires https://github.com/matrix-org/matrix-js-sdk/pull/975 to be able to detect a soft logout and react to it. When it comes time to starting/stopping the Lifecycle, additional parameters are provided so that the auxiliary services can (re)start themselves without the client starting to sync.
2019-07-03 16:46:37 -06:00
David Baker
668d24111c
Merge pull request #3173 from matrix-org/t3chguy/MELS_3pid
MELS handle m.room.third_party_invite
2019-07-03 16:02:10 +01:00
Bruno Windels
353f5a205c
Merge pull request #3170 from matrix-org/bwindels/handle-associated-failures
Handle associated event send failures
2019-07-03 09:02:58 +00:00
Michael Telatynski
429b8e94df MELS handle m.room.third_party_invite
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-03 08:58:34 +01:00
Bruno Windels
14caed62d0 make sure scrollpanel is mounted before checking scroll
have seen errors in this direction, so hope this will fix it,
as this is invoked from any EventTile's onHeightChanged callback,
which is often called after some async operation (by when the
timeline can be unmounted already).
doesn't hurt in any case.
2019-07-02 17:29:37 +02:00
Michael Telatynski
46a6043e9b Use title prop instead to minimize changes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-30 11:00:21 +01:00
Michael Telatynski
8ed336ea08 Add AccessibleTooltipButton and use it for RoomSubList buttons
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-30 10:58:59 +01:00
J. Ryan Stinnett
2d1325686d
Merge pull request #3148 from matrix-org/matthew/fix-horizontal-scrolling
If on trackpad, don't mess with horizontal scrolling.
2019-06-28 15:21:22 +01:00
J. Ryan Stinnett
00dfdfe7f1
Fix linter warning 2019-06-28 15:16:44 +01:00
Travis Ralston
7f2ab39609
Merge pull request #3142 from matrix-org/travis/preview-loading
Show a loading state for slow peeks
2019-06-27 09:24:25 -06:00
Matthew Hodgson
3873dc724a stupid linter >:( 2019-06-26 21:47:55 +01:00
Matthew Hodgson
7fc5d229d6 fix stuff as per review 2019-06-26 21:13:17 +01:00
Matthew Hodgson
3d11eb430b oops, remove old code 2019-06-26 18:38:46 +01:00
Matthew Hodgson
debcafd760 if on trackpad, don't mess with horizontal scrolling.
trackpad heuristic is 'if 15 minutes of no horizontal scrollwheel events, assume user may have switched to mousewheel'
2019-06-26 18:38:03 +01:00
Travis Ralston
838ef7fa40
Merge pull request #3141 from matrix-org/travis/fix-guest-experience
Supply oobData to RoomPreviewBar
2019-06-26 07:14:00 -06:00
Travis Ralston
5f242f0285 Supply oobData instead of erroring 2019-06-25 20:57:07 -06:00
Travis Ralston
ca6ddf324f Show a loading state for slow peeks 2019-06-25 20:56:33 -06:00
Travis Ralston
7b00d29ea6 Don't boost trackpad users in breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/10005
2019-06-25 16:08:11 -06:00
Travis Ralston
9771ce1e04
Merge pull request #3136 from matrix-org/t3chguy/room_directory_autojoin
When joining from room directory, use auto_join
2019-06-25 12:28:41 -06:00
Michael Telatynski
7391796eab
Only autojoin using the search box enter/join btn 2019-06-25 10:18:47 +01:00
Bruno Windels
8394e162ad cache setting where it's easy 2019-06-24 16:53:31 +02:00
Michael Telatynski
9e7a70b9d5 When joining from room directory, use auto_join
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-23 22:39:04 +01:00
Bruno Windels
5fa3f70fb4 feature flag for displaying edits as well 2019-06-21 18:32:15 +02:00
J. Ryan Stinnett
b16a3c53cd
Merge pull request #3122 from matrix-org/jryans/slim-contextualmenu
Remove unused ContextualMenu features
2019-06-19 19:18:37 +01:00
J. Ryan Stinnett
78b0f61efe
Merge pull request #3119 from matrix-org/jryans/rename-tooltip-button
Fix casing of TooltipButton
2019-06-19 19:18:15 +01:00
J. Ryan Stinnett
dc9282c539 Remove unused ContextualMenu features 2019-06-19 14:47:15 +01:00
David Baker
6eddce8c32 lint 2019-06-19 12:13:17 +01:00
David Baker
edd43a2706 Fix favicon/title badge count
This was using a separate function (in MatrixChat) that didn't
take into account whether we were supposed to be hiding the badge
for rooms so would include notifs that were hidden everywhere else.

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

Fixes https://github.com/vector-im/riot-web/issues/3060
2019-06-19 12:06:32 +01:00
J. Ryan Stinnett
4ec7a8ddff Fix casing of TooltipButton
My brain can't deal with two different ways to write "Tooltip", so this
converges the naming to match the rest of the code base. Separate commits will
fix up the file names for case-insensitive file systems.
2019-06-19 11:26:13 +01:00
David Baker
c8e121dc70 Restore warning for if you're already logged in
...when clicking an email link. Although now we can complete the
registration because we can do so without replacing your session.
2019-06-18 18:43:14 +01:00
Bruno Windels
c4fc2a8089 remove redundant localecho part from method name 2019-06-18 14:57:58 +02:00
Bruno Windels
02c9e29937 use renamed method that also takes local redactions into account now 2019-06-18 13:47:33 +02:00
Bruno Windels
32840fc274
Merge pull request #3098 from matrix-org/t3chguy/restore_composer_history
Restore Composer History under shift-up & down
2019-06-18 08:59:11 +00:00
David Baker
10f6abfe17 Allow changing server if validation has failed
Show the server config section if there's an error and fix an if
case where we forgot to un-set the busy flag
2019-06-17 18:47:20 +01:00
David Baker
e3bf4a0b8e Re-enable register button on change to working HS
Register button disabling is done via serverErrorIsFatal so we need
to reset this on a successful validation.

https://github.com/vector-im/riot-web/issues/10029
2019-06-17 16:27:35 +01:00
David Baker
4c036c98ee Fix double-spinner
On registering, we showed a spinner, and then another spinner on
top of the spinner, which led to an interesting spinner-in-box
effect.

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

Of course, if the user logs in on both tabs, this would mean each
would make a chat with the welcome user (although actually this
was a problem with the old code too). Check our m.direct to see if
we've started a chat with the welcome user before making one (which
also means we have to make sure the cached sync is up to date...
see comments).
2019-06-14 15:31:19 +01:00
Michael Telatynski
6a10f0068d Use Alt-UP/DOWN for Composer History instead of random room change
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-14 12:26:52 +01:00
David Baker
446b20c454
Merge pull request #3101 from matrix-org/dbkr/simplify_email_reg
Simplify email registration
2019-06-13 18:22:30 +01:00
David Baker
81327264f7 Remove unused inhibitlogin param
and fix docs.
2019-06-13 17:44:00 +01:00
David Baker
048d8d2ec7 Simplify email registration
You now don't get automatically logged in after finishing
registration. This makes a whole class of failures involving race
conditions and multiple devices impossible.

https://github.com/vector-im/riot-web/issues/9586
2019-06-13 16:24:09 +01:00
Bruno Windels
3d944b715e
Merge pull request #3097 from matrix-org/bwindels/edit-unsent
Edit unsent messages
2019-06-13 14:00:46 +00:00
David Baker
1139f68de8 Pass in object of the right type 2019-06-12 18:11:58 +01:00
Bruno Windels
41e41269dc use EditorStateTransfer to pass on state to newly mounted editor 2019-06-12 18:52:34 +02:00
David Baker
10377b42e9 Fix registration with email + non-default HS
We were ignoring the hs/is from the query parameters so after
clicking the link, the new client tried to use the wrong server.

Broken by https://github.com/matrix-org/matrix-react-sdk/pull/2941
Fixes https://github.com/vector-im/riot-web/issues/9659
2019-06-12 17:42:09 +01:00
J. Ryan Stinnett
413bff084c
Merge pull request #3087 from matrix-org/jryans/context-menu-clipping
Align message context menu to right and vertically where space available
2019-06-12 10:19:47 +01:00
J. Ryan Stinnett
b8ed731c89 Allow registration to submit for non-fatal errors
This allows you to proceed with registration even if the IS is down, for
example.

Fixes https://github.com/vector-im/riot-web/issues/10018
2019-06-11 18:01:27 +01:00
J. Ryan Stinnett
21099052fc Clear the login busy state after .well-known discovery
This always clear the login busy state after .well-known discovery without
waiting for the resulting server config. This is important for the case where
the HS that a full MXID resolves to matches the default HS, as without it we'd
be stuck in a busy state forever.

Fixes https://github.com/vector-im/riot-web/issues/10014
2019-06-11 15:41:47 +01:00
David Baker
a6c5ac669b Don't show spinner once liveness check has failed
We're not doing anything at that point so it's a lie
2019-06-11 12:10:44 +01:00
David Baker
5eccd14120 Fix registration after fail-fast
The lineness checks meant that we could no longer assume we always
had a matrix client, so don't assume we do.

Fixes https://github.com/vector-im/riot-web/issues/10011
2019-06-11 12:02:14 +01:00
David Baker
e1a1492f6f
Merge pull request #3085 from matrix-org/dbkr/one_request_at_a_time_two
Use setBusy interface of js-sdk interactive auth
2019-06-11 10:42:27 +01:00
David Baker
7b3d1ad08d
Typo 2019-06-11 10:29:00 +01:00
Travis Ralston
bd3237500f Fix submit disabled condition 2019-06-10 20:24:06 -06:00
Travis Ralston
aacb942d57 Don't handle identity server failure as fatal, and use the right message
Fixes https://github.com/vector-im/riot-web/issues/10002
2019-06-10 19:28:32 -06:00
David Baker
db867d1a58 s/setBusy/busyChanged/ 2019-06-10 16:27:27 +01:00
David Baker
cb4af9d043 Fix test fail 2019-06-10 16:18:58 +01:00
J. Ryan Stinnett
3126880345 Extend context menu alignment without chevrons
For context menus without chevrons, this changes the menu components to still
set default styles that align the menu based on the edges used to specify the
menu's position. This is not intended to change the positioning of any existing
menus.
2019-06-10 16:07:28 +01:00
David Baker
4597dcd221 Fix exception on logout
Don't try to unregister if we never registered
2019-06-10 15:27:59 +01:00
David Baker
a8a4ca2ed1 Use setBusy interface of js-sdk interactive auth
This helps to make sure we only do one auth request at a time.

https://github.com/matrix-org/matrix-js-sdk/pull/951
2019-06-10 15:22:53 +01:00
David Baker
2c10557f26 Don't NPE if no third party invite 2019-06-10 12:32:53 +01:00
David Baker
80812db466 Remember we were trying to accept an invite
When the user was on an invite page and clicked the sign up/sign in
buttons, remember that invite so we can show it again after they're
done signing up/in.

https://github.com/vector-im/riot-web/issues/9816
2019-06-10 10:24:06 +01:00
Travis Ralston
795a273e26
Merge pull request #3067 from matrix-org/travis/fail-fast-but-not-too-fast
Fail more softly on homeserver liveliness errors
2019-06-07 07:43:45 -06:00
Travis Ralston
59ba5fe62a Don't block submit if the server is dead
But still check so we can clear any errors, maybe
2019-06-07 07:36:46 -06:00
Travis Ralston
120123bcb1 Allow submit on forgot password page 2019-06-07 07:27:15 -06:00
Michael Telatynski
3f6b266256
Merge pull request #3077 from matrix-org/t3chguy/change_keybind
change profile keybind to backtick from i due to italics conflict
2019-06-07 00:16:54 +01:00
Michael Telatynski
bea4f557a1 change profile keybind to backtick from i due to italics conflict
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-07 00:08:51 +01:00
David Baker
aba329cab5 Look busy whilst requesting the email token
We need to wait for it to finish before letting the user start
completing the steps since if it fails, we can't complete the auth.
2019-06-06 19:41:57 +01:00
Travis Ralston
d59ad605a6 Allow the login form to be submitted, and clarify other things 2019-06-06 12:18:41 -06:00
David Baker
b365c9dfe6
Merge pull request #3074 from matrix-org/dbkr/fix_email_invite_address_match_check
Fix email invites address-match checking
2019-06-06 15:06:36 +01:00
David Baker
9816fe0ed7 Fix email invites address-match checking
Riot was always saying the email address that the invite was sent
to was not associated with your account.

Two fixes here:
 1. We mounted RoomPreviewBar with no invitedEmail prop and then
    changed the prop later, but RoomPreviewBar only checked for it
    on mount. Make sure we re-check when the props change.
 2. Pass oobData through RoomPreviewBar because we need to pass it
    to the RoomAvatar for 3pid invites.

https://github.com/vector-im/riot-web/issues/9816
2019-06-06 14:34:57 +01:00
Travis Ralston
ace1bde238 Implement design and copy for errors 2019-06-05 11:32:02 -06:00
Travis Ralston
38a4031299
Merge pull request #3066 from matrix-org/travis/no-button-guest
Add a logged in class to EmbeddedPage and react to MatrixClient changes
2019-06-05 07:23:45 -06:00
Bruno Windels
940b2a7ef2
Merge pull request #3058 from matrix-org/bwindels/redactions-local-echo
Don't show "can't redact" dialog on network error, with redaction having local echo & queuing now.
2019-06-05 07:49:51 +00:00
Travis Ralston
e2fdeec71a Fail more softly on homeserver liveliness errors
This performs liveliness checks on the auth pages to try and show a friendlier error. Earlier checks in the app startup are expected to not block the app from loading on such failures.

See https://github.com/vector-im/riot-web/issues/9828
2019-06-04 23:42:38 -06:00
Travis Ralston
4fc054e1c9 Add a logged in class to EmbeddedPage and react to MatrixClient changes
See https://github.com/vector-im/riot-web/pull/9957

The two hacks introduced here are for different reasons, mostly related to the welcome page. If you land directly on the welcome page, the app's lifecycle is highly unlikely to have a bootstrapped client. This results in the loggedIn class being false. When the client is later set up (loaded from session, new guest account registered, etc) the context fails to update for the EmbeddedPage, and we need to give it a kick to re-render. It's arguable if we should even keep using the context here.
2019-06-04 16:08:32 -06:00
Bruno Windels
ef7b7628ac use Room.redactionCancelled event 2019-06-04 21:37:57 +02:00
David Baker
b412103f21
Merge pull request #3062 from matrix-org/dbkr/dont_break_on_wrong_password
Fix login page breaking on wrong password
2019-06-04 18:02:22 +01:00
J. Ryan Stinnett
4956dcf45e
Merge pull request #3056 from matrix-org/jryans/read-receipts-relations-review
Ensure we always show read receipts even with hidden events
2019-06-04 16:24:05 +01:00
J. Ryan Stinnett
8e811fc78e Use the existing room object
For some reason, we were getting the room object for every event during read
receipt processing, even though it has been passed in as a prop already.
2019-06-04 16:01:02 +01:00
J. Ryan Stinnett
06547ef5b3 Cache hidden events setting
Settings is too expensive to query in a hot code path, so this caches the value
on the MessagePanel component instead.
2019-06-04 16:01:02 +01:00
J. Ryan Stinnett
bea845a80d
Merge pull request #3059 from matrix-org/jryans/read-receipts-relations-send-review
Advance read receipts into trailing events without tiles
2019-06-04 14:35:14 +01:00
David Baker
9897e99195 Fix login page breaking on wrong password
Fixes https://github.com/vector-im/riot-web/issues/9942
2019-06-04 13:51:33 +01:00
David Baker
e1fa53e5d4 Remove unused errorText prop
Login is only used from MatrixChat and that doesn't specify it
2019-06-04 13:30:36 +01:00
J. Ryan Stinnett
e5abb2e089 Add more read receipt comments 2019-06-04 11:12:52 +01:00
J. Ryan Stinnett
96b213e7cb Advance read receipts into trailing events without tiles
This changes read receipt sending logic to allow it advance further into events
without tiles (such as edits or reactions) that may exist after the last
displayed event.

By allowing the read receipt to advance past such events, this also marks as
read any related notifications. For example, edits trigger notifications by
default since they are `m.room.message` events, and with this change, such edit
notifications can finally be marked read.

Part of https://github.com/vector-im/riot-web/issues/9745
2019-06-03 18:25:35 +01:00
J. Ryan Stinnett
4cea2f0af1 Ensure we always have receipts for users we've seen
This adds additional receipt storage to so that we can handle cases where the
receipts and events lists get out of sync. If we ever find a user who previously
had a receipt but momentarily no longer does, we recover their previous receipt
and go with that until we hear something new.

Part of https://github.com/vector-im/riot-web/issues/9745
2019-06-03 15:05:03 +01:00
J. Ryan Stinnett
f8eb449dd7 Show read receipts for hidden events on last shown event
This changes how we determine read receipts for the entire message panel. We now
calculate read receipts for all events up front, which makes it easier to handle
hidden events by moving their read receipts up to the last shown event for
display purposes.

Part of https://github.com/vector-im/riot-web/issues/9745
2019-06-03 15:05:03 +01:00
J. Ryan Stinnett
91e86d2b02 Fix linting in MessagePanel 2019-06-03 15:03:59 +01:00
Travis Ralston
ad84144543
Merge pull request #3053 from matrix-org/travis/bc-labs
Convert breadcrumbs from labs to real setting
2019-06-03 07:10:51 -06:00
Travis Ralston
7f0282a2e8 Convert breadcrumbs from labs to real setting
Fixes https://github.com/vector-im/riot-web/issues/9391
2019-06-03 00:15:33 -06:00
Travis Ralston
8c414a9333 Counteract smooth scrolling on breadcrumbs
Smooth scrolling browsers (Firefox) use the relative area to determine how much scroll to apply. Because breadcrumbs are short vertically, the scroll amount is minimal (3 units) in the Y direction. On browsers which don't smooth scroll the units are usually much higher (100 in Chrome on Win 10). Users seem to expect the scrolling to be quicker due to the horizontal space on breadcrumbs, so we add a bit more power to their scroll when it looks small.

Fixes https://github.com/vector-im/riot-web/issues/9394
2019-06-02 23:59:02 -06:00
Travis Ralston
1c41629376
Merge pull request #3043 from matrix-org/travis/check-login-for-config
Accept JSX into the GenericErrorPage and expose local session vars
2019-05-31 11:03:41 -06:00
Travis Ralston
d81804e0fe Merge branch 'develop' into matthew/low_bandwidth 2019-05-30 19:42:09 -06:00
Travis Ralston
5c85f4609e Accept JSX into the GenericErrorPage and expose local session vars 2019-05-29 12:09:04 -06:00
Bruno Windels
4626581dbe scroll event into view when starting to edit 2019-05-24 15:38:51 +02:00
Travis Ralston
14dc4b47fa Merge branch 'develop' into travis/feature/wellknown2 2019-05-22 23:05:54 -06:00
Travis Ralston
f7ba8ffbd0 Translate scroll movement if the deltaX is the same as the threshold
Because the threshold is zero and the X movement is zero, we were not translating vertical movement to horizontal scrolling. 

Fixes https://github.com/vector-im/riot-web/issues/9804
2019-05-22 10:19:38 -06:00
David Baker
03d092c574
Merge pull request #3010 from matrix-org/dbkr/uiauth_send_email
js-sdk interactive auth now sends email token
2019-05-22 14:24:14 +01:00
David Baker
90eb3ce9ec js-sdk interactive auth now sends email token
We previously sent it in componentWillMount of the email token
auth component which definitely gets us on react's naughtly list.
We now pass the js-sdk a callback it can call at the appropriate
time to send the token (https://github.com/matrix-org/matrix-js-sdk/pull/926).

We should make password reset and adding email addresses work the
same way, but currently they don't even use the interactive-auth
helpers(!) so they're unaffected.

https://github.com/vector-im/riot-web/issues/9586
2019-05-22 11:51:26 +01:00
Bruno Windels
038cc45ee1
Merge pull request #3008 from matrix-org/matthew/fontmanager
load twemoji dynamically as colr or sbix; fix monospace
2019-05-22 09:36:15 +00:00
J. Ryan Stinnett
2648dbd221 Guard against null rooms in onEventDecrypted
Timeline sets may have a null room, such as with the notification timeline set.
Here we check that case when events are decrypted to avoid throw an error.

Fixes https://github.com/vector-im/riot-web/issues/9798
2019-05-22 10:08:16 +01:00
J. Ryan Stinnett
4b4d09266e
Merge pull request #3005 from matrix-org/jryans/notif-error
Only show reactions in main message timeline
2019-05-22 09:15:04 +01:00
Matthew Hodgson
4ae652e5c3 load twemoji dynamically as colr or sbix; fix monospace 2019-05-22 02:31:24 +01:00
Travis Ralston
c2c55e06e6 Add voice labels for quick add room buttons
See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 12:16:34 -06:00
J. Ryan Stinnett
238e967470 Only show reactions in main message timeline
This fixes an error that crashed that notifications panel because it was trying
to read reactions, even though we currently don't aggregate them there. This
change is more explicit about exactly which views should try to show reactions.

Fixes https://github.com/vector-im/riot-web/issues/9713
2019-05-21 18:27:10 +01:00
Travis Ralston
907c7ed119
Merge pull request #2994 from matrix-org/travis/screenreader/topleftmenu
Update TopLeftMenu for accessibility: Keyboard shortcut, reduced screen reader noise
2019-05-21 09:52:26 -06:00
J. Ryan Stinnett
b4ca586431 Fix lint errors in NotificationPanel 2019-05-21 16:38:48 +01:00
Matthew Hodgson
30a485bddd
Merge pull request #2995 from matrix-org/matthew/twemoji
Replace emojione with twemoji + emojibase
2019-05-21 11:32:53 +01:00
Travis Ralston
aac87c4635 Move focusing to the context menu create call 2019-05-20 21:07:55 -06:00
Travis Ralston
52b0f285c6 Add some clarifying comments 2019-05-20 21:07:12 -06:00
Travis Ralston
7ecab35062 Add a null guard for serverConfig
This is often null while the component is on its first render, and is called during that render. It is eventually populated by React, and the function re-called - we just have to be patient.
2019-05-20 20:10:10 -06:00
Travis Ralston
595b490fd7 Don't act busy on the login page for moving your cursor
If you were in the username field and simply tabbed out without entering anything, the form would become "busy" and not let you submit. We should only be doing this if we have work to do, like .well-known discovery of the homeserver.
2019-05-20 20:10:10 -06:00
Travis Ralston
3476be3327 Merge branch 'develop' into travis/feature/wellknown2 2019-05-20 19:50:02 -06:00
Michael Telatynski
868c99d140 Hide WhoIsTyping component if the MessagePanel is shaped e.g file grid
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-20 21:53:15 +01:00
Matthew Hodgson
d3f06763b3
Merge branch 'develop' into matthew/twemoji 2019-05-20 16:38:44 +01:00