Commit graph

6396 commits

Author SHA1 Message Date
Michael Telatynski
f1de6d060a Add a regression test for editing events and url previews
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-06 14:38:21 +00:00
Michael Telatynski
c551f2983a Add TextualBody-test.js
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-06 13:28:29 +00:00
Michael Telatynski
ffd09e42bd
Merge pull request #3806 from matrix-org/t3chguy/dedup_recent_emoji
Deduplicate recent emoji
2020-01-06 13:10:28 +00:00
Michael Telatynski
4c40266938
Merge pull request #3803 from matrix-org/t3chguy/fix_avatar_remove
Fix ability to remove avatars
2020-01-06 13:10:13 +00:00
Michael Telatynski
d5eb4ff310
Update src/components/views/settings/ProfileSettings.js
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2020-01-06 13:02:32 +00:00
Michael Telatynski
9c500e3544 Merge branches 'develop' and 't3chguy/clean_up_TextualBody' of github.com:matrix-org/matrix-react-sdk into t3chguy/clean_up_TextualBody
 Conflicts:
	src/components/views/messages/TextualBody.js
2020-01-06 11:51:35 +00:00
Michael Telatynski
6a1f4c41ce
Merge pull request #3788 from matrix-org/t3chguy/user_info_non-historical
User Info fetch latest RoomMember instead of showing historical data
2020-01-06 11:25:54 +00:00
Michael Telatynski
bd0a96f2b2 Merge branches 'develop' and 't3chguy/fix_react_complaining' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix_react_complaining
 Conflicts:
	src/components/views/elements/Pill.js
2020-01-06 09:35:59 +00:00
Michael Telatynski
ac1d9b03bf undo one of the "fixes"
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-06 09:35:14 +00:00
Michael Telatynski
64754a3f88 Add comment and delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-06 00:18:24 +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
781b69f4e3
Merge pull request #3693 from matrix-org/hs/bridge-info
Bridge info settings tab
2020-01-05 17:03:15 -07:00
Will Hunt
7f0ed05ee1
Update BridgeSettingsTab.js 2020-01-05 23:32:49 +00:00
Michael Telatynski
4bea87f00d Merge branches 'develop' and 't3chguy/render_html_entities_in_og-description' of github.com:matrix-org/matrix-react-sdk into t3chguy/render_html_entities_in_og-description
 Conflicts:
	package.json
2020-01-05 22:23:03 +00:00
Michael Telatynski
378a82e6fb Use html-entities instead
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-05 22:22:09 +00:00
Michael Telatynski
b6098ddb47 Delegate all room alias validation to the RoomAliasField validator
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-05 21:58:36 +00:00
Michael Telatynski
ba2f4aa973 tidy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-05 21:26:32 +00:00
Michael Telatynski
cf071c5ac6 Deduplicate recent emoji
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-05 21:23:34 +00:00
Michael Telatynski
4118faa834 When looking at a MemberInfo, clicking on MemberList should close not switch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-05 20:31:07 +00:00
Michael Telatynski
fb754b795c Fix right panel buttons highlighting
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-05 20:30:01 +00:00
Will Hunt
2ccc8caa69
Fix indent 2020-01-05 15:50:06 +00:00
Michael Telatynski
295dcbfe48 Fix ability to remove avatars
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-04 13:34:05 +00:00
Travis Ralston
8b4c1e3dec Support searching in the user directory for invite targets
Part of https://github.com/vector-im/riot-web/issues/11200
2020-01-03 21:22:06 -07:00
Travis Ralston
df25a98810 Implement basic filtering for invite targets
Part of https://github.com/vector-im/riot-web/issues/11200
2020-01-03 21:22:06 -07:00
Travis Ralston
31d5617c97 Add suggestions for which users to invite to chat
Fixes https://github.com/vector-im/riot-web/issues/11198

Note this doesn't implement the entire algorithm in 11198 because it feels too complicated at this stage. Instead, the idea is to review the suggestions closer to when the whole dialog is complete and fix them then: https://github.com/vector-im/riot-web/issues/11769

Algorithm for picking members is largely based on db5218e19a
2020-01-03 19:41:06 -07:00
Travis Ralston
9edc361afc Use new imports for js-sdk's ContentRepo
Per f4d1c5c006
2020-01-03 12:29:22 -07:00
Travis Ralston
65954b1e1b
Merge pull request #3792 from matrix-org/travis/ftue/user-lists/1-initial
Initial implementation of FTUE user lists design
2020-01-03 10:32:24 -07:00
Travis Ralston
752482964a Purify the components 2020-01-03 10:24:07 -07:00
J. Ryan Stinnett
76f3a08909
Merge pull request #3800 from matrix-org/jryans/key-backup-dialogs-4s
Update key backup creation and recovery paths for SSSS
2020-01-03 16:32:02 +00:00
J. Ryan Stinnett
e12ed04da8 Remove unused import 2020-01-03 15:59:14 +00:00
David Baker
2125bcf5a6 Comment remaining non-cross-signing-compliant components
Fixes https://github.com/vector-im/riot-web/issues/11748
2020-01-03 15:38:59 +00:00
J. Ryan Stinnett
b8683462e8 Update backup creation paths for SSSS
This updates the various backup creation entry points to ensure they support
creating with secret storage if the feature flag is enabled.
2020-01-03 15:34:05 +00:00
David Baker
5897c8ca7f Remove 'unverify' from UserInfoPanel
It's not in the designs and it's not a thing we can do with
cross-signing (at least not at the moment).
2020-01-03 15:00:51 +00:00
Half-Shot
50e19ba43d User may not be a bot, therefore do not imply it. 2020-01-03 14:04:59 +00:00
Half-Shot
668479d94a Tweak as per git review 2020-01-03 13:57:59 +00:00
J. Ryan Stinnett
4211ec5063 Fix DOM structure in RoomRecoveryReminder
Buttons (which end up as <div>s) aren't allowed inside <p>s.
2020-01-03 13:51:45 +00:00
David Baker
43e4f2dcc0 Use deviceTrust when displaying key backup trust status
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1138
2020-01-03 13:34:43 +00:00
J. Ryan Stinnett
99559c5121 Update backup restore paths for SSSS
This updates all the various key backup entry points to ensure they use a flow
that supports backups stored under secret storage.
2020-01-03 13:33:36 +00:00
Travis Ralston
3488eaba3c Appease the linter 2020-01-02 17:44:19 -07:00
Travis Ralston
4de0f7257a Initial implementation of FTUE user lists design
This covers the "recents" section and rough design exclusively. It is known that the Field does nothing and that there's a bunch of missing functionality - this is to be iterated upon in future PRs. Labs flag is to aide development and should be removed in a very near future PR.

Also, this is focusing on DMs and not user lists in general because I misinterpreted the scope. I'll fix this in a future PR and instead make this the best DM invite dialog it can be.

Closes https://github.com/vector-im/riot-web/issues/11197
2020-01-02 17:40:18 -07:00
David Baker
89ac476281 Unused import 2020-01-02 16:59:46 +00:00
David Baker
39777620a3 order copyright lines by date 2020-01-02 16:58:00 +00:00
David Baker
ffba19bd61 Remove E2eIcon onClick
It displayed the Encrypted Event Info dialog, but this full of
super advanced debug information and base64 strings that no normal
users should ever have to see. It's still accessible via the comtext
menu (ie. the same place as 'View Source').
2020-01-02 16:52:25 +00:00
Will Hunt
fb94be4abd
No trailing space 2019-12-30 16:11:59 +00:00
Will Hunt
0a8cc416bf
Merge branch 'develop' into hs/bridge-info 2019-12-30 17:09:05 +01:00
Will Hunt
b1c2887087
line length 2019-12-30 16:08:24 +00:00
Michael Telatynski
4489b5a21a Escape HTML in og:description and render any html &-encoded entities 2019-12-28 20:05:55 +00:00
Michael Telatynski
705bfcd20d fix RoomViewStore import in UserInfo 2019-12-28 17:54:46 +00:00
Michael Telatynski
a0cb6ce302 User Info fetch latest RoomMember instead of showing historical data 2019-12-28 17:51:38 +00:00
Travis Ralston
98571d706f Fix NPE when searching for rooms
Regressed by https://github.com/matrix-org/matrix-react-sdk/pull/3751
2019-12-27 11:31:15 -07:00
Michael Telatynski
e9658a9e9e
Merge pull request #3782 from matrix-org/t3chguy/room_settings_alias_input
Turn RoomAliasField into properly controlled and use in RoomSettings
2019-12-27 17:19:26 +00:00
Michael Telatynski
eac66f020f
Merge pull request #3783 from matrix-org/t3chguy/fuzzy_sort_memberlist
fuzzy-sort MemberList
2019-12-27 17:19:19 +00:00
Michael Telatynski
aa990462ce delint 2019-12-27 17:05:51 +00:00
Michael Telatynski
f9e386adaa Improve SORT_REGEX 2019-12-27 17:04:14 +00:00
Michael Telatynski
2b39f3bdf1
Merge pull request #3784 from matrix-org/t3chguy/fix_stickerPickerChevronOffset
Fix sticker picker chevron offset calculation
2019-12-27 16:52:46 +00:00
Michael Telatynski
4984dd6f92
Merge pull request #3781 from matrix-org/t3chguy/user_info
Fix not being able to promote others to the same power level as your own
2019-12-27 16:52:23 +00:00
Michael Telatynski
9bdadd2103
Merge pull request #3751 from matrix-org/t3chguy/react16_contexts_online_dot
Room Tile DMs online/active green dot
2019-12-27 16:50:21 +00:00
Michael Telatynski
ed24f19a3f Fix stick picker chevron offset calculation 2019-12-26 20:12:50 +00:00
Michael Telatynski
ab12288979 Add more punctuation to regex 2019-12-26 19:29:25 +00:00
Michael Telatynski
e320f64ba1 fuzzy-sort MemberList 2019-12-26 19:27:04 +00:00
Michael Telatynski
ebf7eb698d Turn RoomAliasField into properly controlled and use in RoomSettings 2019-12-26 18:52:57 +00:00
Michael Telatynski
e95b67e101 Only show it if exactly 2 members, until we get Canonical DMs 2019-12-26 18:15:08 +00:00
Michael Telatynski
22fe0add3c Make UserOnlineDot more generic 2019-12-26 18:14:46 +00:00
Michael Telatynski
73800c9a92 Fix UserInfo promote user inverted buttons 2019-12-26 18:04:58 +00:00
Michael Telatynski
25d864c39d Fix wrong scope binding on openHelp for TopLeftMenu 2019-12-23 19:29:43 +00:00
Michael Telatynski
23b9b98f7b
Merge pull request #3774 from matrix-org/t3chguy/userinfo_tweaks
UserInfo hide kick/mute buttons if they make no sense
2019-12-23 18:33:05 +00:00
Michael Telatynski
0497ef228d UserInfo hide kick/mute buttons if they make no sense 2019-12-23 18:20:59 +00:00
Michael Telatynski
659644e612
Merge pull request #3773 from matrix-org/t3chguy/fix_incoming_call_dup
Fix duplicate Incoming Call prompt on Community Invite sublist
2019-12-23 18:10:51 +00:00
Michael Telatynski
e552195701 Fix duplicate Incoming Call prompt on Community Invite sublist 2019-12-23 17:57:53 +00: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
1da55c530b
Merge pull request #3772 from matrix-org/t3chguy/alts
Add alt="" to presentational images
2019-12-23 17:15:58 +00:00
Michael Telatynski
8018097e56 Add alt="" to presentational images 2019-12-23 14:13:56 +00:00
Michael Telatynski
207045e979 fix ReadReceiptMarker ref 2019-12-23 12:54:31 +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
806d728d59 Import from the js-sdk's src/ directory
Because ES6 and such.
2019-12-22 21:14:33 -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
0b62f8a62f
Merge pull request #3759 from matrix-org/t3chguy/fix_room_list_filtering
Fix room list filtering weird case sensitivity
2019-12-21 20:59:29 +00:00
Michael Telatynski
24a1017d6d
Fix typo in comment 2019-12-21 20:26:32 +00:00
Michael Telatynski
e936f7eb09 Fix room list filtering weird case sensitivity
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-21 11:13:37 +00:00
David Baker
a928b33f27 Don't show the 'verify' button if the user is verified
Which is more in keeping with the designs (and we can do this now
that the new user info panel is only enabled with cross signing).
2019-12-20 16:51:50 +00:00
David Baker
b998e6ffe8 Switch to using checkDeviceTrust
In the UserInfo panel. This means we now use cross-signing
verifications in the UserInfoPanel so we can see our cross-signing
verifications working!

Lots more to do here: the remaining device.isVerified() calls in
UserInfoPanel are where it needs to be switched to verifying users
rather than devices, and of course we need to replace all the calls
to device.isVerified() with checkDeviceTrust everywhere else.
2019-12-20 11:31:11 +00: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
Michael Telatynski
a410cc004f
Merge pull request #3745 from matrix-org/t3chguy/get_rid_of_emoji_stripped_data
Get rid of stripped-emoji.json in favour of an in-memory single source of truth
2019-12-19 19:25:50 +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
ba2078e262
Merge pull request #3754 from matrix-org/t3chguy/fuzzy_filter_room_list
apply unhomoglyph when filtering room list to fuzzify it
2019-12-19 17:16:09 +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
Michael Telatynski
e54429680b tidy up 2019-12-19 15:28:11 +00:00
Michael Telatynski
26980e2ad5 apply unhomoglyph when filtering room list to fuzzify it 2019-12-19 15:26:04 +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
709b2eed7c Add bunch of null-guards and similar to fix React Errors/complaints 2019-12-19 15:10:54 +00:00
Michael Telatynski
db069b9602 delint 2019-12-19 14:33:46 +00:00
Michael Telatynski
6c1944359e Add RoomTile online indicator to DMs 2019-12-19 14:29:46 +00:00
Michael Telatynski
66783dff9e Fix scaling of the avatar in UserInfo 2019-12-19 12:27:25 +00:00
Michael Telatynski
3196655524 Replace UserInfo avatar with <MemberAvatar/> for fallback logic 2019-12-19 10:42:47 +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
d35b01b63a Get rid of stripped-emoji.json in favour of an in-memory single truth source 2019-12-18 15:40:19 +00:00
Michael Telatynski
f30e919f9e
Merge pull request #3741 from matrix-org/t3chguy/dropdown_keyboard_propagation
Dropdown stop keyboard propagation if key handled
2019-12-17 17:39:41 +00:00
Michael Telatynski
da4d72b3c4 delint 2019-12-17 17:34:03 +00:00
Michael Telatynski
b094f0fe47 delint 2019-12-17 17:31:29 +00:00
Michael Telatynski
937b32663c Migrate away from Legacy React Contexts 2019-12-17 17:26:12 +00:00
Michael Telatynski
2e8d66fa36 Null-guard member mention pills for rooms you have left (notif panel) 2019-12-17 16:54:59 +00:00
Michael Telatynski
3f5dc4fcdc
Merge pull request #3740 from matrix-org/t3chguy/field_validation_async_tooltip_sticks
Fix Field validation tooltip sticking if blurred before async validation resolved
2019-12-17 16:45:48 +00:00
Michael Telatynski
7f78f55c94 Dropdown stop keyboard propagation if key handled 2019-12-17 15:14:01 +00:00
Michael Telatynski
0c89ab9fb5
Merge pull request #3738 from matrix-org/t3chguy/null-guard-useIsEncrypted
Fix UserInfo exploding without a room being passed to it
2019-12-17 15:13:59 +00:00
Michael Telatynski
0e86c2648d improve comment 2019-12-17 14:36:20 +00:00
Michael Telatynski
213bc4c3ac Fix Field validation tooltip sticking if blurred before async validation resolved 2019-12-17 14:28:18 +00:00
Michael Telatynski
c1133ebfc6 null-guard useIsEncrypted 2019-12-17 14:05:51 +00:00
Michael Telatynski
17463c401f post-merge fix 2019-12-17 09:58:04 +00:00
Michael Telatynski
3a8ab6ec2b
Merge pull request #3736 from matrix-org/t3chguy/stop_using_deprecated_keyCode
Stop using KeyboardEvent.keyCode as it is deprecated
2019-12-17 09:55:13 +00:00
Travis Ralston
0a9985fb48 Rename decorator for clarity 2019-12-16 16:10:11 -07:00
Michael Telatynski
3b0f8233e8 delint 2019-12-16 17:22:00 +00:00
Michael Telatynski
d28a892bb0 Stop using KeyboardEvent.keyCode as it is deprecated 2019-12-16 17:14:03 +00:00
Michael Telatynski
bf06b1f379 Merge branches 'develop' and 't3chguy/remove_avatar_2.0' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/remove_avatar_2.0
 Conflicts:
	res/css/views/settings/_ProfileSettings.scss
2019-12-16 16:23:25 +00:00
Michael Telatynski
5ab98e9899 open ImageView when clicking on a set avatar 2019-12-16 15:21:05 +00:00
Michael Telatynski
9fa2680dc6 Implement new design for uploading/removing avatars 2019-12-16 14:58:12 +00:00
Michael Telatynski
85ade7e1a1 Switch to react-focus-lock for it to comprehend Portals 2019-12-16 12:16:41 +00:00
Michael Telatynski
2569b78db3
Merge pull request #3729 from matrix-org/t3chguy/aria_dropdown
Make combobox dropdown keyboard and screen reader accessible
2019-12-16 11:14:46 +00:00
David Baker
be914c7b0c
Merge pull request #3728 from matrix-org/jryans/verify-users
Verify users when cross-signing enabled
2019-12-16 10:12:46 +00:00
Michael Telatynski
9c4eb1d649 clean up new code 2019-12-16 10:03:40 +00:00
Michael Telatynski
224ee05b62 this is a combobox, HOME/END should pertain to the input, not selection 2019-12-15 15:07:49 +00:00
Michael Telatynski
cecf581e04 Make Combobox dropdown keyboard and screen reader accessible 2019-12-15 15:04:57 +00:00
Michael Telatynski
f67eedf843 Fix keyboard handling including scroll into view, add aria roles 2019-12-15 14:24:56 +00:00
J. Ryan Stinnett
2df72bfde2 Update room / user decoration for cross-signing 2019-12-13 17:57:26 +00:00
Michael Telatynski
9f0e2412c7
Merge pull request #3727 from matrix-org/t3chguy/unignore_a11y
Improve a11y of the unignore button in Settings
2019-12-13 17:53:30 +00:00
Michael Telatynski
2313285be2
Merge pull request #3726 from matrix-org/t3chguy/fix_ToggleSwitch_a11y
Fix ToggleSwitch A11Y (trapping tab and switch v. checkbox)
2019-12-13 17:53:21 +00:00
Michael Telatynski
0bc02564bc Improve a11y of the unignore button in Settings 2019-12-13 14:31:34 +00:00
Michael Telatynski
9d0bf13ca0 Fix ToggleSwitch A11Y (trapping tab and switch v. checkbox) 2019-12-13 14:18:41 +00:00
Michael Telatynski
17a42cd287 Make LInkPreviewWidget close button Keyboard & SR Accessible 2019-12-13 14:02:50 +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
J. Ryan Stinnett
b7fe06706d
Merge pull request #3720 from matrix-org/jryans/4s-new-key-backup
Create new key backups using secret storage
2019-12-12 17:33:11 +00:00
J. Ryan Stinnett
38ee1aed09 Replace sign-ins with sessions
The designs were changed to use the term "sessions" instead of "sign-ins".
2019-12-12 16:35:02 +00:00
J. Ryan Stinnett
3cbb3c12cd Update cross-signing details on trust changes 2019-12-12 15:42:27 +00:00
J. Ryan Stinnett
458cc9598d Support restoring key backup with stored secret 2019-12-12 15:18:36 +00:00
J. Ryan Stinnett
e87ff54eee Clean up cross-signing debug panel 2019-12-12 14:27:57 +00:00
J. Ryan Stinnett
4417235d9e Show whether backup key is stored 2019-12-12 14:06:44 +00:00
J. Ryan Stinnett
d2f2d3b344 Handle cross-singing sigs in key backup details 2019-12-12 13:51:45 +00:00