Commit graph

651 commits

Author SHA1 Message Date
Michael Telatynski
89bc3bdd5b consolidate and extract copyPlaintext, copyNode and selectText
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-15 00:16:11 +01:00
Michael Telatynski
90255be499 Fix copy button on code blocks when there is no code just pre
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-07 11:17:19 +01:00
Zoe
5ef06357f6 Merge branch 'develop' into foldleft/better-errors 2020-04-06 11:36:46 +01:00
Travis Ralston
07030a9466
Merge branch 'develop' into travis/react-warnings/3-componentCannotDidMount 2020-04-01 11:14:19 -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
Zoe
04849f7f0d incorporated design feedback 2020-03-26 13:47:32 +00:00
Zoe
9c392ce8bb Merge branch 'develop' into foldleft/better-errors 2020-03-26 13:38:50 +00:00
Travis Ralston
e4d323d2f2 Disable edits on redacted events
Fixes https://github.com/vector-im/riot-web/issues/12633
2020-03-06 14:23:20 -07:00
Michael Telatynski
c0b68ccd53 only automatically download in usercontent if user requested it 2020-03-03 13:23:33 +00:00
Michael Telatynski
0e65d54af2 Fix having to decrypt & download in two steps 2020-03-03 11:03:40 +00:00
Bruno Windels
682781aa48 better word smithing 2020-02-25 13:27:59 +01:00
Bruno Windels
bd584ab236 from verification tile, also don't wait to show right panel 2020-02-25 13:27:19 +01:00
Zoe
adf6dfe4ea Threaded through the event type to the user 2020-02-25 10:30:35 +00:00
Zoe
3302469a2b Catch errors sooner so users can recover more easily 2020-02-24 18:04:11 +00:00
Michael Telatynski
0bcdf062a3 reset opener when using window.open
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-23 22:22:12 +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
Matthew Hodgson
7696f704b2 Fix two big DOM leaks which were locking Chrome solid.
pillifyLinks leaked Pill components, which if they contained a BaseAvatar
would leak a whole DOM tree retained by the BaseAvatar's onClientSync
event listener.  This tracks the Pill containers so they can be unmounted
via unmountPills.

BasicMessageComposer set an event listener on selectionchange in onFocus
which leaked if onBlur wasn't called.  This removes it in unmount.

We've also seen Velociraptor retaining full DOM trees from RRs, which
this doesn't address as the leak is probably within Velocity, and the plan
is to replace it with CSS animations.

Should fix https://github.com/vector-im/riot-web/issues/12417
2020-02-22 23:51:30 +00:00
Michael Telatynski
b1b17a313e
Merge pull request #4046 from matrix-org/t3chguy/usercontent
Get rid of dependence on usercontent.riot.im
2020-02-19 12:53:01 +00:00
Michael Telatynski
627a4d4ea4 Update comments and such
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-13 16:53:45 +00:00
Michael Telatynski
12aae12218 Merge branches 'develop' and 't3chguy/usercontent' of github.com:matrix-org/matrix-react-sdk into t3chguy/usercontent 2020-02-13 16:36:05 +00:00
Bruno Windels
3292991491 provide specific label for when accepting/declining is in progress
also distuingish between cancelling and declining
2020-02-13 17:29:38 +01:00
Bruno Windels
3eb07465f7 use canAccept in tile, which takes local echo into account 2020-02-13 17:29:13 +01:00
Michael Telatynski
40b8db84e3 Get rid of dependence on usercontent.riot.im 2020-02-07 22:07:29 +00:00
Bruno Windels
413a149b47 disable "Accept"/"Decline" buttons on verif tile after clicking
to avoid sending double events
2020-02-07 15:50:42 +01:00
J. Ryan Stinnett
110c5f0e61 Fix listener removal in verification tile
Fixes https://github.com/matrix-org/riot-web-rageshakes/issues/2202
2020-02-04 23:13:55 +00:00
Zoe
150fe7a45a Tests for MKeyVerificationConclusion 2020-02-04 11:25:19 +00:00
Zoe
af0598bbcb double-check user verification 2020-01-31 10:37:40 +00:00
David Baker
d0ab37ac50 Only say the room is encrypted if it actually is 2020-01-31 09:58:21 +00:00
David Baker
58d16fea7d lint 2020-01-30 20:59:27 +00:00
David Baker
2332cdb5d8
full stop
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2020-01-30 20:47:46 +00:00
David Baker
5447a04f8e oops, forgot the component 2020-01-30 20:15:15 +00:00
David Baker
39e9bffe1f Make encryption events into bubble-style tiles
Factors out the verification tile stuff into encryption event
styles so we can reuse them betwen all the encryption event tiles.
Also makes the event list summary stuff even more gnarly by
putting the encryption event tile above the group. We really need
to refactor that. :/

Fixes https://github.com/vector-im/riot-web/issues/12006
2020-01-30 20:03:26 +00:00
Bruno Windels
3590c97d96 unrelated fix: rerender hidden event tile when decrypted
to get accurate type
2020-01-29 15:27:55 +01:00
Michael Telatynski
342fcb09c4 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/cs_verification_decoration
 Conflicts:
	src/components/views/right_panel/VerificationPanel.js
	src/components/views/toasts/VerificationRequestToast.js
2020-01-24 16:19:41 +00:00
Michael Telatynski
7a5e172b88 Apply a huge part of the decorations and copy 2020-01-24 16:16:46 +00:00
Bruno Windels
6cce65a2a5 fix lint 2020-01-24 12:08:47 +01:00
Bruno Windels
2483337e89 don't use removed .event property anymore on verification request 2020-01-24 11:59:01 +01:00
Bruno Windels
716c8ba68f pr feedback 2020-01-17 17:02:31 +01:00
Travis Ralston
d1fcef1211 Merge branch 'develop' into bwindels/verification-right-panel 2020-01-16 13:23:32 -07:00
Travis Ralston
fde32f13a5 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-develop 2020-01-09 14:15:09 -07: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
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
Bruno Windels
7a88a94936 fixes! 2020-01-03 13:50:13 +01:00
Bruno Windels
52c7c5b837 render done tile as accepted 2020-01-03 13:50:13 +01:00
Bruno Windels
b49c471f05 render empty tiles when no request 2020-01-03 13:50:13 +01:00
Bruno Windels
1aebc95793 slightly better copy 2020-01-03 13:50:13 +01:00
Bruno Windels
f4a276c052 port MVerificationConclusion to use VerificationRequest 2020-01-03 13:50:13 +01:00
Bruno Windels
9e4b65de6a fixup after rebase 2020-01-03 13:42:18 +01:00
Bruno Windels
d8a38e6b74 WIP 2020-01-03 13:42:17 +01: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
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
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
a1df87a375 Make EmojiPicker an unmanaged Context Menu as it is too complex to be managed 2019-12-19 07:23:05 +00:00
Michael Telatynski
937b32663c Migrate away from Legacy React Contexts 2019-12-17 17:26:12 +00:00
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
cb50f5ff5f
Merge pull request #3715 from matrix-org/t3chguy/fix_roomlist_context_menu_regression
Fix remaining context menu regressions
2019-12-11 09:36:45 +00:00
Michael Telatynski
c1b1f98201
Merge pull request #3712 from matrix-org/t3chguy/react16_refs
Migrate away from React Legacy string refs
2019-12-10 17:43:37 +00:00
Michael Telatynski
52c20db963 Fix chevron offset for toRightOf
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-09 23:58:09 +00:00
Michael Telatynski
2691d1a611 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix_mab_regression 2019-12-09 14:13:11 +00:00
Michael Telatynski
69eeabd99e Fix accessibility to the reaction picker (not of it though)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-09 14:12:30 +00:00
Michael Telatynski
cd73162957
Merge branch 'develop' into t3chguy/react16_refs 2019-12-09 13:47:06 +00:00
Michael Telatynski
21647cf596
Merge pull request #3707 from matrix-org/t3chguy/improve_a11y_reactions_row_button
Switch ReactionsRowButton to an AccessibleButton for space/enter handling
2019-12-09 13:43:06 +00:00
Michael Telatynski
d22985f12e Migrate string refs over to createRef
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-08 12:16:17 +00:00
Michael Telatynski
4c55f3c5b5 Remove unused refs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-08 12:12:06 +00:00
Michael Telatynski
702a8ff4a9 Change ref handling in TextualBody to prevent it parsing generated nodes
Remove unused paths

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-08 01:01:19 +00:00
Michael Telatynski
33eff43313 Change the (edited) link to an AccessibleButton for a11y
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-07 21:01:21 +00:00
Michael Telatynski
680c5c2b27 Switch ReactionsRowButton to an AccessibleButton for space/enter handling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-07 12:20:06 +00:00
Marco Zehe
19e6587548 Add tabIndex to the button to make it keyboard focusable
Signed-off-by: Marco Zehe <marcozehe@mailbox.org>
2019-12-06 16:03:19 +01:00
Marco Zehe
78555ed422 Make reaction buttons more accessible
Fixes vector-im/riot-web/issues/11608.

This patch:

1. Turns the container of reaction buttons into a toolbar.
2. Makes each button span into a button with a tabindex and an aria-label.
3. Constructs an alternative label that differs slightly from the text displayed by the tool tip:
   * It uses the names of the people who reacted.
   * It puts a space before the "reacted with" text.
   * It uses the actual emoji characters, not the converted colon-delimited shortNames, because the emojis usually tell blind users more about the expression.
   * It omits the number of reactions, since that information is already conveyed by the names.

Signed-off-by: Marco Zehe <marcozehe@mailbox.org>
2019-12-06 15:58:28 +01:00
Michael Telatynski
be6da03348
Merge pull request #3611 from matrix-org/t3chguy/context_menus
ARIA compliant context menus
2019-12-04 17:17:47 +00:00
Michael Telatynski
d3de792f79 fix bits which missed the review cutting block
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-03 10:53:32 +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
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
Aaron Raimist
1bb55d4fa1
Hide Remove button in message editing history if you don't have permission to redact
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-11-27 22:30:39 -06: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
David Baker
aae3150383 Null check on thumbnail_file 2019-11-22 16:50:32 +00: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
309633181d use FormButton in verification request tile too and dedupe styles 2019-11-22 16:32:50 +01: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
bkil
a40194194d ReactionsRowButtonTooltip: fix null dereference if emoji owner left room
Signed-off-by: bkil <b.K.il.h.u+tigbuh@gmail.com>
2019-11-21 01:50:18 +01:00
Michael Telatynski
d4d51dc61f Rip out the remainder of Bluebird 2019-11-18 10:03:05 +00:00
Travis Ralston
6d0b388fa2
Merge branch 'develop' into travis/mjolnir 2019-11-12 10:00:01 -07: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
Bruno Windels
d83f3632f6 make the linter happy 2019-11-07 20:04:36 +01:00
Bruno Windels
e8c21a341c add key verification conclusion tile 2019-11-07 19:54:56 +01:00
Bruno Windels
0d2f9c4215 add verification request tile + styling 2019-11-07 19:54:56 +01:00
Travis Ralston
86be607e92 onTileUpdate -> onMessageAllowed
We keep onTileUpdate in MessgeEvent because it's a generic thing for the class to handle. onMessageAllowed is slightly different than onShowAllowed because "show allowed" doesn't quite make sense on its own, imo.
2019-11-06 10:52:00 -07:00
Michael Telatynski
6d3b563119 Add comments regarding tab-index=-1 2019-11-04 10:16:16 +00:00
Michael Telatynski
fd4cdd0dec Improve A11Y of timeline. Show TS & Actions on focus-within 2019-11-01 10:50:58 +00:00
Travis Ralston
3e4a721111 Appease the linter 2019-10-31 16:27:45 -06:00