Commit graph

1208 commits

Author SHA1 Message Date
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
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
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
709b2eed7c Add bunch of null-guards and similar to fix React Errors/complaints 2019-12-19 15:10:54 +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
7f78f55c94 Dropdown stop keyboard propagation if key handled 2019-12-17 15:14:01 +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
d28a892bb0 Stop using KeyboardEvent.keyCode as it is deprecated 2019-12-16 17:14:03 +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
Michael Telatynski
9d0bf13ca0 Fix ToggleSwitch A11Y (trapping tab and switch v. checkbox) 2019-12-13 14:18:41 +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
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
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
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
29b59dde5b undo unrelated change
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-11-28 20:44:08 +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
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
7b013ecc69 Fix persisted widgets getting stuck at loading screens
The widget itself is rendered underneath the loading screen, so we just have to disable the loading state.

This commit also removes the "is" attribute because React 16 includes unknown attributes: https://reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html

Fixes https://github.com/vector-im/riot-web/issues/11536
2019-11-27 12:54:31 -07: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
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
Travis Ralston
11fec80370 Hide tooltips with CSS when they aren't visible
Fixes https://github.com/vector-im/riot-web/issues/11456
2019-11-24 20:52:22 -07: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
0dfb0f5468 fix lint 2019-11-22 16:25:30 +01:00
Bruno Windels
66cc68bae4 add new-styled button
might merge it later on with accessible button
2019-11-22 16:04:51 +01:00
Travis Ralston
a55e5f7759 Update copy for widgets not using message encryption
Misc design update
2019-11-21 09:12:07 -07:00
Travis Ralston
86783e4439
Merge pull request #3645 from matrix-org/travis/widget-menu
Move many widget options to a context menu
2019-11-21 08:10:28 -07:00
Travis Ralston
5d612bb370
Merge pull request #3644 from matrix-org/travis/widget-encryption
Re-add encryption warning to widget permission prompt
2019-11-21 08:04:56 -07: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
Travis Ralston
fd12eb28e7 Move many widget options to a context menu
Part of https://github.com/vector-im/riot-web/issues/11262
2019-11-20 19:17:42 -07:00
Travis Ralston
62a2c7a51a Re-add encryption warning to widget permission prompt 2019-11-20 16:26:06 -07:00
Michael Telatynski
6121420113
Merge branch 'develop' into t3chguy/remove_bluebird 2019-11-20 15:21:23 +00:00
Travis Ralston
5b6ace2558 Appease the linter 2019-11-18 18:02:47 -07:00
Travis Ralston
b185eed462 Wire up the widget permission prompt to the cross-platform setting
This doesn't have any backwards compatibility with anyone who has already clicked "Allow". We kinda want everyone to read the new prompt, so what better way to do it than effectively revoke all widget permissions?

Part of https://github.com/vector-im/riot-web/issues/11262
2019-11-18 17:56:33 -07:00
Travis Ralston
f5ec9eb8f4 Ensure widgets always have a sender associated with them
Fixes https://github.com/vector-im/riot-web/issues/11419
2019-11-18 13:16:36 -07: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
Travis Ralston
6b726a8e13 Implement the bulk of the new widget permission prompt design
Part 1 of https://github.com/vector-im/riot-web/issues/11262

This is all the visual changes - the actual wiring of the UI to the right places is for another PR (though this PR still works independently).

The help icon is known to be weird here - it's a bug in the svg we have. The tooltip also goes right instead of up because making the tooltip go up is not easy work for this PR - maybe a future one if we *really* want it to go up.
2019-11-15 14:26:16 -07:00
Bruno Windels
0f39a9f72d fix pr feedback 2019-11-15 17:29:38 +01:00
Bruno Windels
d0914f9208 allow label to be empty on power selector 2019-11-15 16:14:18 +01:00
Bruno Windels
b278531f2f add IconButton as in design 2019-11-15 16:14:18 +01: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
Michael Telatynski
09a8fec261 s/.done(/.then(/ since modern es6 track unhandled promise exceptions 2019-11-12 11:51:23 +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
Travis Ralston
bdcf3890a5 Fix HTML fallback in replies
Correctly encode the `body` to avoid problems down the line. We also convert newlines to `<br/>` to better represent the message as a fallback.

Fixes https://github.com/vector-im/riot-web/issues/9413
2019-11-08 16:07:11 -07:00
Travis Ralston
e46976be72 Match widgets up with their integration manager 2019-10-29 11:49:15 -06:00
Bruno Windels
3e360c156a bring LazyRenderList up to React 16 standards, cleanup & docs 2019-10-24 17:56:26 +02:00
Michael Telatynski
8d9dc195d5 Make ARIA happier with DateSeparator and tidy ELS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 18:32:10 +01:00
Michael Telatynski
93ecc9839b Fix linty failures 2019-10-22 13:49:02 +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
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
7160922b77
Merge pull request #3541 from matrix-org/t3chguy/fix_150rc1
SettingsFlag always run ToggleSwitch fully-controlled
2019-10-10 09:39:33 +01:00
Michael Telatynski
0d42b8629e remove SettingsFlag manualSave altogether
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 23:20:59 +01:00
Michael Telatynski
685c2f494a actually always run fully controlled
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 22:33:14 +01:00
Michael Telatynski
2b9c102f07 SettingsFlag always run ToggleSwitch fully-controlled
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 22:27:49 +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
J. Ryan Stinnett
e905abe5ce Add label to rageshakes for React soft crashes
This adds a label all rageshakes submitted via the React error boundary marking
them as soft crashes for triage.

Fixes https://github.com/vector-im/riot-web/issues/11072
2019-10-09 11:59:10 +01:00
Michael Telatynski
efeb6e87c4 Use new React Shallow renderer with hooks support
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 12:51:08 +02:00
Michael Telatynski
34530843f4 Factor out generic EventListSummary from MELS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 12:50:03 +02:00
Michael Telatynski
4c82496bca export ToggleSwitch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-08 12:22:22 +01:00
Michael Telatynski
a03e9e7a4f tidy ToggleSwitch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-08 12:18:44 +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
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
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
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
44e68f16ba use a way of unmounting the tooltip that seems to work 100% of the time
¯\_(ツ)_/¯
2019-10-02 14:32:08 +02:00
Bruno Windels
55c1c5e582 tell tooltip when format bar gets hidden, as it won't be unmounted 2019-10-02 14:31:42 +02: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
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
2824f468d9 Update pill processing to handle better permalinks 2019-09-30 20:27:51 -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
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
3672832d38 conform to style
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-25 18:10:05 +01:00
Michael Telatynski
ab3e5c3b87 Merge branches 'develop' and 't3chguy/accesibility' of github.com:matrix-org/matrix-react-sdk into t3chguy/accesibility 2019-09-25 16:59:46 +01:00
Michael Telatynski
e01be212e6 improve Settings Accessibility for Toggles and Dialogs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-25 09:25:11 +01:00
Michael Telatynski
4a5ee4a969 Put aria-disabled on AccessibleButtons and attempt to a11y ToggleSwitch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-25 09:01:49 +01:00
Bruno Windels
8a1c1bbec4 implement RoomAliasField component
adding a postfix to Field to show the domain name
2019-09-23 11:22:30 +02:00
Michael Telatynski
d5db67be38 Switch to createReactClass: views/elements & views/groups. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-06 18:35:52 +01:00
Sorunome
4ae130bd27
add license header, descriptive comment and change to class 2019-08-29 18:13:52 +02:00