Commit graph

3823 commits

Author SHA1 Message Date
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