Commit graph

1467 commits

Author SHA1 Message Date
Jorik Schellekens
014be5ce5f Add support to disable slider 2020-04-23 10:45:48 +01:00
Jorik Schellekens
5f50facfba Make slider independant of label size 2020-04-23 10:45:48 +01:00
Jorik Schellekens
26ccd6f07d Cleaner clamping of value range 2020-04-23 10:45:48 +01:00
Jorik Schellekens
c99e1de803 Clamp indicated value within value range 2020-04-23 10:45:48 +01:00
Jorik Schellekens
0d0da6cfdc Fix types, abandon propTypes 2020-04-23 10:45:48 +01:00
Jorik Schellekens
dcea1f32b3 tslint 2020-04-23 10:45:48 +01:00
Jorik Schellekens
abd94a65bd Move compoenets/FontSlider to views/Slider 2020-04-23 10:45:47 +01:00
Michael Telatynski
80b8120bc3 Update login security copy and design to match Figma
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-22 22:32:02 +01:00
Pauli Virtanen
798f5d401b Ensure active Jitsi conference is closed on widget pop-out
Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-22 20:44:05 +03:00
Pauli Virtanen
cf4137d4b2 Make WidgetAPI an EventEmitter + use for terminate + cleanups
Use EventEmitter for emitting events, rename terminate event code,
plus misc cleanups from review.

Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-22 19:37:52 +03:00
Pauli Virtanen
352ea29d17 Implement widget ReceiveTerminate capability
Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-22 19:37:52 +03:00
Pauli Virtanen
94745e9407 Minimize widget immediately, and end it later
Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-22 19:37:52 +03:00
Pauli Virtanen
4fac781051 Tell widgets to terminate gracefully in AppTile:_endWidgetActions
If the widget fails to terminate in two seconds, proceed with disposing
the iframe nevertheless.

This allows e.g. Jitsi to hangup the conference when minimizing the
widget, instead of abrupt disconnect that can leave ghost users behind.

Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-22 19:37:52 +03:00
Travis Ralston
3a360b91b9 Update logging for unmanaged widgets, and add TODO comments for other areas
Just a minor thing that is bothersome. Renaming classes and functions is a bit more of an impact than is worth right now, so have settled for littering TODO comments all over the place.
2020-04-22 00:34:08 -06:00
Travis Ralston
d851f2e45f Fix OpenID requests from widgets
Fixes https://github.com/vector-im/riot-web/issues/13131

Widgets can request an OpenID token to authenticate the user when the widget is missing authentication information. A common case for this is the Dimension sticker picker: sometimes the Riot is running in doesn't have the configuration to match the Dimension instance, so Riot rightly refuses to send an auth token to the widget. When this happens, it requests a token through postMessage().

There's a toggle on the permission dialog to remember the setting, which is the widget's security key. As an added measure, the security key generation ensures the widget URL matches as the 'remember this choice' toggle will silently work in the background, and it could be dangerous if the widget's URL changed and Riot secretly allows the widget to identify the user. This check was failing because the WidgetMessaging class was being set up with the rendered URL, which will not match the widget's URL at all. To fix this, we simply use the widget's URL to set up the messaging, which by proxy uses the right URL in calculating the security key.
2020-04-22 00:27:20 -06:00
Travis Ralston
d8a5ba9b14 Merge branch 'develop' into travis/moar-jitsi 2020-04-20 09:21:48 -06:00
David Baker
50cc44f0c4 Fix CSS class in ButtonPlaceholder 2020-04-20 14:16:34 +01:00
Travis Ralston
a5f5f759cb Create unencrypted rooms by default in e2e-tests
Otherwise the lazy loading test will try to join the room after the encrypted messages have already been sent, making them invisible. 

See https://github.com/vector-im/riot-web/issues/13226#issuecomment-614928362
2020-04-16 16:27:43 -06:00
Michael Telatynski
81f501e844 disable language dropdown too
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-15 14:19:47 +01:00
Travis Ralston
4fe16b1b84
Merge branch 'develop' into travis/moar-jitsi 2020-04-14 12:57:28 -06:00
Bruno Windels
db09cadb66 remove spinner, change copy, add button placeholder 2020-04-14 17:19:15 +02:00
Michael Telatynski
384336e8f1 s/alias/address/ in copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-14 10:06:57 +01:00
Michael Telatynski
610fab7857 i18n and delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-11 23:53:24 +01:00
Michael Telatynski
237084da78 wrap node-qrcode in a React FC and use it for ShareDialog instead of qrcode-react
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-11 23:46:58 +01:00
Travis Ralston
dc92f557fd Support m.jitsi-typed widgets as Jitsi widgets
Fixes https://github.com/vector-im/riot-web/issues/9268
2020-04-09 15:11:57 -06:00
Travis Ralston
db3c7a8f1c Obliterate widgets when they are minimized
Fixes https://github.com/vector-im/riot-web/issues/12810

We do this to all widgets as we can't guarantee what sorts of other widgets might need similar treatment.
2020-04-09 14:31:46 -06:00
Travis Ralston
b5aaae1c27 Fix encoding of widget arguments
Fixes https://github.com/vector-im/riot-web/issues/12985

This is done by using a more modern API and de-encoding dollar signs.
2020-04-08 12:58:52 -06:00
Bruno Windels
fd04f248c4 fix proptype typo 2020-04-02 13:44:19 +02:00
Bruno Windels
1353ddaa96 move qr code data generation to js-sdk 2020-04-02 13:41:19 +02:00
Travis Ralston
31ec984c86 Actually appease the linter 2020-04-01 14:49:39 -06:00
Travis Ralston
5c2841323e Appease the linter by turning it off 2020-04-01 14:45:54 -06:00
Travis Ralston
47e5cfecf2 Silence usages of componentWillReceiveProps
For https://github.com/vector-im/riot-web/issues/12877
2020-04-01 14:35:39 -06:00
Travis Ralston
0bb8973ee6 Move rendering of PersistedElements into other lifecycle stages
For https://github.com/vector-im/riot-web/issues/12877

Original error:
```
Warning: Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.

Check the render method of PersistedElement.
    in PersistedElement (created by AppTile)
    in div (created by AppTile)
    in div (created by AppTile)
    in AppTile (created by AppsDrawer)
    in div (created by AppsDrawer)
    in div (created by AppsDrawer)
    in AppsDrawer (created by AuxPanel)
    in div (created by AutoHideScrollbar)
    in AutoHideScrollbar (created by AuxPanel)
    in AuxPanel (created by RoomView)
    in div (created by RoomView)
    in div (created by MainSplit)
    in MainSplit (created by RoomView)
    in ErrorBoundary (created by RoomView)
    in main (created by RoomView)
    in RoomView (created by LoggedInView)
    in div (created by LoggedInView)
    in DragDropContext (created by LoggedInView)
    in div (created by LoggedInView)
    in LoggedInView (created by MatrixChat)
    in ErrorBoundary (created by MatrixChat)
    in MatrixChat
```
2020-04-01 14:30:57 -06:00
Travis Ralston
ba0a9c8439 Use console.log in place of console.warn for less warnings
These aren't react warnings, but they are distracting in the logs.
2020-04-01 13:59:48 -06:00
Travis Ralston
07030a9466
Merge branch 'develop' into travis/react-warnings/3-componentCannotDidMount 2020-04-01 11:14:19 -06:00
Travis Ralston
0fcbe40bec
Merge pull request #4314 from matrix-org/travis/react-warnings/2-code-quality
Fix a number of minor code quality issues
2020-04-01 11:13:46 -06:00
Travis Ralston
59a99bbad8
Merge pull request #4313 from matrix-org/travis/react-warnings/1-componentDidMount
Use componentDidMount in place of componentWillMount where possible
2020-04-01 11:13:04 -06:00
David Baker
8aa24f8987 Fix jitsi popout URL
Needs the template variables filled in
2020-04-01 14:42:17 +01:00
David Baker
ce68b960f4 Use our own jitsi widget for the popout URL
rather than the URL supplied by the widget
2020-04-01 13:58:44 +01:00
David Baker
a76b089cf3
Merge pull request #4319 from matrix-org/dbkr/jitsi_fix_popout
Fix popout support for jitsi widgets
2020-04-01 11:57:25 +01:00
David Baker
9b4ce02eaf lint 2020-04-01 11:28:02 +01:00
David Baker
a2f92e93a7 Use URL without wurl params for popout
The popout can't be assumed to have the widget API available, so
just leave these params out.
2020-04-01 11:18:45 +01:00
David Baker
538147f7fa Better support for widgets overriding their URLs
Move the URL processing into AppTile so that the widget can have a
URL used for embedding in the page and a separate one for popping
out into a browser.
2020-04-01 10:00:33 +01:00
Travis Ralston
6d0d77f98e Disable the linter on lines it complaints about UNSAFE_componentWillMount 2020-03-31 14:21:12 -06:00
Travis Ralston
0a6f54da33 Label and use UNSAFE_componentWillMount to minimize warnings
These TODO comments are expected to be fixed ASAP, but until that happens let's minimize the errors in the console for development.

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

These all aren't using componentDidMount because they do something which causes application instability if componentDidMount were used. Much of these calls are expected to move into constructors once they are converted to real classes.
2020-03-31 14:15:23 -06:00
Travis Ralston
3f99332f4b Use componentDidMount in place of componentWillMount where possible
This fixes a common React warning we see. Most of these components should be using constructors instead, however componentDidMount is just as good (and doesn't require converting most of these).

Conversion to classes will be done in a later stage of React warning fixes.

For https://github.com/vector-im/riot-web/issues/12877
2020-03-31 14:14:17 -06:00
Travis Ralston
c86d75693b Fix a number of minor code quality issues
Most of these are complaints from my IDE. Discovered by going through nearly every file looking for React warnings.
2020-03-31 14:05:56 -06:00
Michael Telatynski
c094afbbe6
Merge pull request #4295 from matrix-org/t3chguy/a11y2
Accessibility fixed for Event List Summary and Composer Format Bar
2020-03-31 09:41:20 +01:00
Michael Telatynski
147e7bc57e Field: mark id as optional in propTypes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-30 18:42:47 +01:00
Michael Telatynski
55c2d98571 Fix Field ctor
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-29 23:16:57 +01:00
Michael Telatynski
19aae087e0 Field: make id optional, generate one if not provided
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-29 22:59:15 +01:00
Michael Telatynski
2ff16844e5 Make ELS somewhat more accessible
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-29 20:12:10 +01:00
Travis Ralston
bdcb65de77 Support and send the config over to capable widgets
For https://github.com/vector-im/riot-web/pull/12845
2020-03-24 09:55:54 -06:00
Travis Ralston
9da57817d1 Use a local wrapper for Jitsi calls
Requires https://github.com/vector-im/riot-web/pull/12780
2020-03-18 15:50:12 -06:00
Michael Telatynski
42ee157645
Merge pull request #4217 from matrix-org/t3chguy/gemini
Remove Gemini Scrollbars
2020-03-18 14:03:51 +00:00
Michael Telatynski
44b0aa2d88 Remove remainders of gemini-scrollbar and react-gemini-scrollbar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-17 10:31:45 +00:00
Bruno Windels
db10fcd2b7 make editable list look like something closer to design 2020-03-16 17:29:35 +01:00
Bruno Windels
053ba1110a make pressing enter not reload riot when editable list is in form 2020-03-09 16:32:31 +01:00
Bruno Windels
eb539537f2 add recommendations for alt aliases 2020-03-09 16:31:07 +01:00
RiotRobot
1d4f77dacc Merge branch 'master' into develop 2020-03-04 11:40:35 +00:00
Travis Ralston
846170b371 Revert "Fix downloading files in electron not being sent into browser"
This reverts commit d89b8b5148.
2020-03-03 13:33:07 -07:00
Michael Telatynski
f8045e428b riot-desktop open SSO in browser so user doesn't have to auth twice 2020-03-02 14:59:54 +00:00
Michael Telatynski
8aaab0a3ba refactor to add Validation::final
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-29 01:00:57 +00:00
Michael Telatynski
3e85f65d9e Also skip alias availability check if alias looks invalid
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-29 00:36:01 +00:00
Michael Telatynski
86a1327259 don't show "This alias is available to use" if an alias is not provided
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-29 00:31:56 +00:00
Travis Ralston
3abd3137c7 Use the right function for creating binary verification QR codes
`writeInt8` happened to work because the strings we're writing happen to fit within a single byte so the LSB doesn't matter. We actually want a 16 bit (2 byte) number in big-endian format.
2020-02-26 13:37:34 -07:00
Travis Ralston
347f56b983 Ensure verification QR codes use the right buffer size
The string length buffer only needs 2 bytes, not 4.
2020-02-26 13:21:11 -07:00
Travis Ralston
f6fdddb9ba Don't prefix QR codes with the length of the static marker string
Fixes https://github.com/vector-im/riot-web/issues/12489
2020-02-25 09:54:48 -07:00
Michael Telatynski
72e5313a5a
Merge pull request #4113 from matrix-org/t3chguy/fix_downloading
Handle file downloading locally in electron rather than sending to browser
2020-02-24 13:37:16 +00:00
Bruno Windels
dc85346e5c
Merge pull request #4102 from matrix-org/bwindels/aliasautocomplete
Use alt_aliases for pills and autocomplete
2020-02-24 12:18:07 +00:00
Michael Telatynski
d783ce86c8 Use noreferrer in addition to noopener for edge case browsers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-23 22:14:29 +00:00
Michael Telatynski
d89b8b5148 Fix downloading files in electron not being sent into browser
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-23 22:10:36 +00:00
Travis Ralston
f74b283287
Merge pull request #4091 from matrix-org/travis/qr-binary
Use binary packing for verification QR codes
2020-02-21 10:05:12 -07:00
Bruno Windels
07d24038a3 fix lint 2020-02-21 14:11:30 +01:00
Bruno Windels
fada013f9e this isn't doing anything because we don't have a room when the alias is not moderated 2020-02-21 14:06:57 +01:00
Bruno Windels
3c3839f863 show a pill as a moderated alias (canonical or alt) if available
otherwise, display as the label in the link
2020-02-21 13:02:41 +01:00
Bruno Windels
4219d2fcf6 style a room pill even if we don't find the room 2020-02-21 13:02:41 +01:00
Bruno Windels
f6313b51e6 also look in alt_aliases to match a pill to a room 2020-02-21 13:02:41 +01:00
Bruno Windels
fee9c7d21f accept canonical alias for pills 2020-02-20 17:43:33 +01:00
Travis Ralston
760a472be5 Appease the linter 2020-02-19 17:05:32 -07:00
Travis Ralston
3b6a201d4e Add comments 2020-02-19 17:03:50 -07:00
Travis Ralston
45963adeb4 Use binary packing for verification QR codes
Fixes https://github.com/vector-im/riot-web/issues/12257
Fixes https://github.com/vector-im/riot-web/issues/12375

We do not remove the existing QR code library in this commit because it is still used elsewhere (like the share dialog). 

This should be as accurate as possible to what [MSC1543](https://github.com/matrix-org/matrix-doc/pull/1544) asks for.
2020-02-19 17:02:14 -07:00
Marco Zehe
8004a35179 Update to use proper quotes and fix code styling. And fix test.
Signed-off-by: Marco Zehe <marcozehe@mailbox.org>
2020-02-12 10:54:08 +01:00
Marco Zehe
6fe4eb1fc3 Don't render avatars in pills for screen readers.
These don't provide any additional information, but add extraneous noise. The link text and title already provide all information. Therefore, mark the avatar inside pills (the mention links inside messages) as hidden. Note that due to the images being part of something focusable, role "presentation" does not work here.

Signed-off-by: Marco Zehe <marcozehe@mailbox.org>
2020-02-12 09:36:59 +01:00
Travis Ralston
f6abd369ca Fix comments 2020-02-07 15:36:57 +00:00
Travis Ralston
bdeb9cccc4 Rename estimatedTargetDevice to targetDevice 2020-02-07 15:34:45 +00:00
Travis Ralston
724cff6a2e Update QR code rendering to support VerificationRequests
Makes for building the QR code easier and more common.
2020-01-30 17:12:44 +00: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
d014c5239b Add new session verification details dialog
This gives more info on the session you're about to verify, including device
name and ID.

Fixes https://github.com/vector-im/riot-web/issues/11977
2020-01-27 23:16:26 +00:00
Michael Telatynski
ca5d4d88a2 Style the QR code 2020-01-27 17:17:05 +00:00
Damir Jelić
e2dd2bd950 Merge branch 'poljar/seshat-ui-pr' into develop 2020-01-27 17:18:17 +01:00
Damir Jelić
5d3b916a89 DialogButtons: Allow setting the cancel button class with a prop. 2020-01-24 16:46:46 +01:00
Travis Ralston
12fa94106e Actually add the secret to the QR code url 2020-01-23 20:19:17 -07:00
Travis Ralston
0ce9da5d36 Appease the linter 2020-01-23 20:12:24 -07:00
Travis Ralston
b682e7d908 Generate a QR code for apps to scan 2020-01-23 20:05:32 -07:00
Travis Ralston
1ec746c014 Add verification with QR codes 2020-01-23 19:29:54 -07:00
David Baker
d211372740 UI to bootsrap SSSS from key backup 2020-01-22 10:44:02 +00:00
Michael Telatynski
c97de43f69 Remove unused fetch polyfills, querystring, require-json. Move glob to dev-dep
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-18 02:01:45 +00:00
Travis Ralston
135c84251c Fix more imports post-merge 2020-01-09 14:19:19 -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
245a68b3ba Merge branches 'develop' and 't3chguy/clean_up_TextualBody' of github.com:matrix-org/matrix-react-sdk into t3chguy/clean_up_TextualBody
 Conflicts:
	yarn.lock
2020-01-09 12:17:21 +00:00
Travis Ralston
59f608ffd6
Merge pull request #3761 from matrix-org/travis/babel7-wp-es6-export
Convert CommonJS exports to ES6 exports
2020-01-08 09:09:11 -07: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
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
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
Michael Telatynski
ebf7eb698d Turn RoomAliasField into properly controlled and use in RoomSettings 2019-12-26 18:52:57 +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
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
Sorunome
fe9ae46ffb
Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into soru/spoilers 2019-08-28 20:23:24 +02:00
Travis Ralston
838e115b72
Merge pull request #3338 from matrix-org/t3chguy/fix_jitsi_persisted_breaking_randomly
Only Destroy the expected persistent widget, not *ANY*
2019-08-28 10:49:29 -06:00
Travis Ralston
b3cda4b19a Support multiple integration managers behind a labs flag
Fixes https://github.com/vector-im/riot-web/issues/10622
Implements [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957)

Design is not final.
2019-08-23 09:12:40 -06:00
Michael Telatynski
cd6a980c7e Only Destroy the expected persistent widget, not *ANY*
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-22 16:57:51 +01:00
Travis Ralston
6f7bbf958e Remove tooltipClassName from the Field's input
React doesn't want the property on the <input>, so we'll take it off.
2019-08-21 12:51:16 -06:00
Travis Ralston
f55a40001c Touch up settings: alignment, spacing, error states
Fixes https://github.com/vector-im/riot-web/issues/10554

Issues fixed:
* Fields were not ~30px from the avatar (too much right margin)
* Tooltips overflowed the dialog on some resolutions
* SetIdServer didn't have an error state for making the field red
* Spacing between sections in Discovery was wrong (fixed by just removing the problematic n+2 selector - it didn't help anything)
2019-08-20 13:20:07 -06:00
Jason Robinson
29085895a7 Fix regression on widget panel edit button
Due to commit ffa49df889
the parameters for the call to open a widget in edit mode from the
widget panel in a room has broken. The `screen` parameter needs
to be prefixed with `type_` as it was before.

This corresponds to parameters supplied when creating the URL when
opening a widget in edit mode through Scalar screens.

Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-08-20 15:55:57 +03:00
Michael Telatynski
a96df333e9
Merge pull request #3310 from matrix-org/t3chguy/fix_reply_parent_redacted
Fix showing events which were replied to and then redacted
2019-08-16 19:19:25 +01:00
Travis Ralston
5fe691cf33 Double equals 2019-08-15 13:33:02 -06:00
Travis Ralston
e2f013ddb4 Appease the linter
This looks awkward, but should pass.
2019-08-15 13:31:45 -06:00
Travis Ralston
27504e1578 Prompt for terms of service on integration manager changes
Part of https://github.com/vector-im/riot-web/issues/10539
2019-08-15 13:28:23 -06:00
David Baker
4afed0fab4
Merge pull request #3313 from matrix-org/t3chguy/fix_jitsi_persisted_breaking_randomly
Fix Persisted Widgets (Jitsi) randomly closing on room change
2019-08-15 10:52:24 +01:00
Michael Telatynski
6f529852cd Skip forceUpdate in ReplyThread if the redacted event is not relevant
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-14 23:27:04 +01:00
Michael Telatynski
7b17ea1fa5 Fix Persisted Widgets (Jitsi) randomly closing on room change
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-14 23:15:49 +01:00
David Baker
e2c5dc6bac
Merge pull request #3300 from matrix-org/dbkr/change_is
Add UI in settings to change ID Server
2019-08-14 09:42:20 +01:00
Michael Telatynski
a44d61fb75 add copyright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-13 18:17:42 +01:00
Michael Telatynski
6589e5dab9 Fix showing events which were replied to and then redacted 2019-08-13 18:13:47 +01:00
David Baker
860a9dbc82 s/tooltip/tooltipContent/ 2019-08-13 11:01:04 +01:00
David Baker
06905bc5bb Actually appease linter 2019-08-12 12:05:25 +01:00
David Baker
417d9b6af8 nicer way to appease linter 2019-08-12 11:50:11 +01:00
Travis Ralston
ffa49df889 Refactor integration manager handling into a common place
It was already in a common place, but this is the boilerplate for supporting multiple integration managers, and multiple integration manager sources. 

For https://github.com/vector-im/riot-web/issues/4913 / https://github.com/vector-im/riot-web/issues/10161
2019-08-09 16:08:06 -06:00
David Baker
4075cdde7f lint 2019-08-09 18:59:57 +01:00
David Baker
c76514fceb Add UI in settings to change ID Server
Just changes the current ID server being used

To come in subsequent PRs:
 * Store this in account data
 * Check for terms or support the proper UI for accepting terms when setting
 * Support disconnecting

Part 1 of https://github.com/vector-im/riot-web/issues/10094
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1013
2019-08-09 18:07:58 +01:00
David Baker
fcdbce1dda Change throttle to debounce
And add an explanation of whyI think one's more apropriate than the
other for this.
2019-08-09 15:30:05 +01:00
Bruno Windels
66ef08120e
Merge pull request #3282 from matrix-org/bwindels/extract-common-editor-code
Split MessageEditor up in edit-specifics & reusable parts for main composer
2019-08-07 07:58:52 +00:00
Bruno Windels
299cf8542c Split MessageEditor in edit-specifics & reusable part for main composer 2019-08-05 15:31:18 +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
Bruno Windels
9d49a5bb73 pass caret to history manager upon initial render
otherwise caret is put at editor start when undoing last step
2019-08-01 11:28:01 +02:00
Bruno Windels
234404e598 add mod+z/y shortcuts, set editor state to what history manager returns 2019-08-01 11:27:09 +02:00
Bruno Windels
98bc0d24f4 push changes to history manager 2019-08-01 11:26:20 +02: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
Bruno Windels
9bfba9db3e make PartCreator a bit more testable by not asking for deps of dep 2019-07-25 14:50:20 +02:00
J. Ryan Stinnett
cef67d5784
Merge pull request #3245 from matrix-org/jryans/tooltip-larger-buffer
Tweak interactive tooltip buffer area allow for overshoot
2019-07-25 13:16:20 +01:00
J. Ryan Stinnett
f5fbd30a28 Tweak interactive tooltip buffer area allow for overshoot
This uses a larger buffer area around the tooltip, as it easy to overshoot and
mouse the cursor past the tooltip.

Fixes https://github.com/vector-im/riot-web/issues/10400
2019-07-25 12:17:07 +01:00
J. Ryan Stinnett
2d4264c39d Keep widget URL in permission screen to one line
This keeps the widget URL to one line max, so that the allow button will always
be visible. The full URL can be viewed by hovering.

Fixes https://github.com/vector-im/riot-web/issues/10402
2019-07-23 18:06:37 +01:00
J. Ryan Stinnett
846a908bb4 Add missing copyright header 2019-07-23 17:52:00 +01:00
Bruno Windels
58fd828944
Merge pull request #3241 from matrix-org/bwindels/dofocuscomposer
Restore manual composing focusing logic
2019-07-23 11:55:44 +00:00
David Baker
2eb8a8879b
Merge pull request #3199 from matrix-org/dbkr/terms
ToS for ISes/IMs: prompt on use screen
2019-07-23 10:32:11 +01:00
Bruno Windels
ceb53dc0bb Revert "remove unnessary manual focussing of composer"
This reverts commit 57abbc4273.
2019-07-23 09:13:51 +02:00
J. Ryan Stinnett
09c2d899ac Defer IM token until widget is shown and permission granted
This defers the work to request the IM token when displaying a widget until
after we know that widget will actually be shown and the user has granted
permission for this widget to be displayed.

This is useful in general to avoid making unnecessary token checks, but it's
particularly helpful with the new Terms API, so that we only show the Terms flow
when widget are actually being used (as opposed to entering the room where
widgets exist, but haven't been shown / permitted).

Part of https://github.com/vector-im/riot-web/issues/10088
2019-07-22 11:50:54 +01: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