Commit graph

1324 commits

Author SHA1 Message Date
Michael Telatynski
83a4558d49 remove RedactedGrouper for now
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-27 23:27:46 +01:00
Agusti Bau
98a949bed1 Refactored DNDTagTile to use useContextMenu
Signed-off-by: Agusti Bau <agustibau@gmail.com>
2020-04-26 18:54:35 +02:00
Pauli Virtanen
d690d4bed2 Prevent PersistedElements overflowing scrolled areas
As the DOM element is not in reality contained inside "the parent",
it may overflow the area if the parent gets partially hidden by
scrolling etc.

To make the effect visually less annoying, emulate this by clipping to
the element wrapper. This is not a full general-purpose fix, but
improves the current situation.

Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-25 16:09:46 +03:00
Agusti Bau
5f3e3b3ec2 Extracted context menu from TagTile to DNDTagTile 2020-04-25 01:09:07 +02:00
Michael Telatynski
d3b0e008c1 first draft of Redaction ELS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-24 15:39:23 +01:00
Travis Ralston
50783c2432 Appease the linter 2020-04-23 23:25:53 -06:00
Travis Ralston
28865e27bc Don't overwrite the 'domain' data key for all widgets
Some widgets, which aren't Jitsi widgets, might need this to be something else.
2020-04-23 15:24:27 -06:00
Travis Ralston
efaf4fbbda Decode dollar signs in safe widget URLs before rendering/templating
Fixes https://github.com/vector-im/riot-web/issues/13344
2020-04-23 15:24:27 -06:00
Travis Ralston
d66d497638
Merge pull request #4460 from matrix-org/travis/integ-logging
Update logging for unmanaged widgets, and add TODO comments for other areas
2020-04-23 08:17:54 -06:00
Travis Ralston
3d4032e542
Merge pull request #4459 from matrix-org/travis/fix-openid-widget
Fix OpenID requests from widgets
2020-04-23 08:17:38 -06:00
Jorik Schellekens
4b4599c1d8 tslint 2020-04-23 14:39:11 +01:00
Jorik Schellekens
a16fe09d42 Use em to detach slider from root font-size 2020-04-23 10:58:00 +01:00
Jorik Schellekens
8f0d81e770 Linearly interpolate between value intervals. 2020-04-23 10:45:48 +01:00
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
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
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