Commit Graph

94 Commits (30a0d88074542eb538f98e869d04e5ad58d8c853)

Author SHA1 Message Date
Travis Ralston 30a0d88074 Don't print errors when the tab is used with no autocomplete present
Fixes https://github.com/vector-im/riot-web/issues/12461

Not a release blocker because the error is caught, and is at the end of the function. Just log spam.
2020-02-25 13:13:41 -07:00
J. Ryan Stinnett c0c22ba7f9
Merge pull request #4108 from matrix-org/jryans/a11y-editor-keyboard
Add shortcuts for beginning / end of composer
2020-02-24 12:02:03 +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
J. Ryan Stinnett dc6a4854ce Add shortcuts for beginning / end of composer
This adds Ctrl/Command+Home/End shortcuts for jumping to the start and end of
the composer contents.

Fixes https://github.com/vector-im/riot-web/issues/12438
2020-02-21 18:50:44 +00:00
Michael Telatynski 52ed55d887 Update placeholder when it changes, not sure how this ever worked
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-30 00:23:19 +00:00
Travis Ralston 915c4efeac Ensure a plaintext version of the composer ends up on the clipboard
Fixes https://github.com/vector-im/riot-web/issues/12018
2020-01-23 15:53:32 -07:00
Michael Telatynski 26bba4416b Fix emoticon space completion for upper case emoticons like :D xD 2020-01-21 10:12:23 +00:00
David Baker 277f107924 Set flag before mutating on cut too 2020-01-20 13:03:09 +00:00
David Baker 2ed5d89c9f Fix arrows keys moving through edit history
Different fix that fixes https://github.com/vector-im/riot-web/issues/11817
by setting the flag before the callback rather than having the update
method set the flag.

Regressed in https://github.com/matrix-org/matrix-react-sdk/pull/3842
Fixes https://github.com/vector-im/riot-web/issues/11917
2020-01-20 12:20:21 +00:00
Travis Ralston 43f97af805
Merge pull request #3848 from matrix-org/travis/fix-cut
Remove all text when cutting in the composer
2020-01-16 15:03:41 -07:00
Travis Ralston 4ea2a2fee4 Merge branch 'develop' into t3chguy/fix_isModified 2020-01-16 09:46:28 -07:00
Travis Ralston b137cd21d3 Replace the selected range instead of force-setting it
This gives people the option of cutting parts or all of their message.
2020-01-15 21:04:18 -07:00
Travis Ralston be3ef2b50e Remove all text when cutting in the composer
The previous function did in fact remove the elements, but left the model thinking there was a zero-length string. This approach deletes the text from the model and the DOM, resulting in the placeholder being shown when cutting all the text.

Part of https://github.com/vector-im/riot-web/issues/11378
2020-01-15 19:08:14 -07:00
Travis Ralston cad9562f8d
Merge pull request #3828 from krkc/develop
Added cut/copy and pasting user pills from editor.
2020-01-15 15:36:33 -07:00
Michael Telatynski d37c19d785 Fix timing of when Composer considers itself to be modified
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-15 00:27:54 +00:00
Christopher 59ea865e8e Added missing semicolon. 2020-01-13 14:29:42 +00:00
Christopher c370b28694 #11378. Added cut/copy and pasting user pills from editor. 2020-01-12 16:19:24 +00:00
Travis Ralston fde32f13a5 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-develop 2020-01-09 14:15:09 -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
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 d35b01b63a Get rid of stripped-emoji.json in favour of an in-memory single truth source 2019-12-18 15:40:19 +00:00
Michael Telatynski 937b32663c Migrate away from Legacy React Contexts 2019-12-17 17:26:12 +00:00
sha-265 bc924bbd82
Support RTL language in message composer 2019-11-04 17:37:36 +00:00
Michael Telatynski 5643743167 Don't intercept TAB on the app outside of the composer, fix tabIndex > 0
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-10 14:13:29 +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
Bruno Windels 91d593cb71 watch emoticon autoreplace setting 2019-10-08 14:40:10 +02:00
Michael Telatynski f160a308b4 Make Autocomplete more accessible to screen reader users
Use ARIA to:
 + notate that the composer has an autocomplete
 + notate the open/closed state of the autocomplete
 + notate the name of the open autocomplete options
 + notate the ID of the highlighted autocomplete option
 + improve naming of emoji autocomplete options for screen readers

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-30 14:04:39 +01:00
Bruno Windels 8301943cfa
Merge pull request #3481 from matrix-org/bwindels/cider-ac-shifttab
Fix: don't block Shift+Tab in CIDER autocomplete
2019-09-26 15:08:36 +00:00
Bruno Windels f5b9373eb5 don't block Shift+Tab keypresses 2019-09-26 11:00:55 +02:00
Bruno Windels 30af9a9056 need to check isComposing on native event 2019-09-25 16:11:37 +02:00
Bruno Windels c8af1a6256 fixup: remove flag 2019-09-25 14:59:27 +02:00
Bruno Windels ffe34ee8a1 try to see if this fixes safari back
on of the 2 changes (updating dom async from compositionend,
or ignoring keydown while composing) here has, while fixing chrome,
broken safari.

Don't do the async dom updating for safari if that was it.
2019-09-25 14:47:35 +02:00
Bruno Windels 7bda1c58eb better naming 2019-09-25 14:45:39 +02:00
Bruno Windels 9f47fad305 ignore keydown events while doing IME composition 2019-09-24 15:32:30 +02:00
Bruno Windels 4d151722ff delay DOM modification after compositionend 2019-09-24 15:32:08 +02:00
Michael Telatynski c286f2214f Fix disabled save button on message editor when pasting
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-18 14:09:38 +01:00
Bruno Windels 48247e66be use underscore for italics so it doesn't collide with bold when toggling 2019-09-06 17:52:37 +02:00
Bruno Windels 26bd694c6a support toggling inline formatting 2019-09-06 16:25:55 +02:00
Bruno Windels dd1c01068f fix rename that didn't make it through rebasing 2019-09-06 11:58:27 +02:00
Bruno Windels 5014b606db
Merge pull request #3391 from matrix-org/bwindels/cider-format-history
New composer: ensure undo history is persisted before applying formatting
2019-09-06 09:28:18 +00:00
Bruno Windels df4762871a
Merge pull request #3392 from matrix-org/bwindels/cider-paste-plain
New composer: fix pasting from word processors
2019-09-06 09:22:37 +00:00
Bruno Windels 6b104f6344
Merge pull request #3393 from matrix-org/bwindels/cider-fix-lastcaret
New composer: fix needing to push arrow-up twice after sending first message after switching to a room
2019-09-06 09:22:10 +00:00
Bruno Windels 9dac91a70d ensure step before formatting is persisted in undo history 2019-09-06 11:20:24 +02:00
Bruno Windels 0252c7ae37 force pasting as plain text in new composer 2019-09-06 11:10:41 +02:00
Bruno Windels 2596281a7c update last caret from update callback instead of input event
many editor updates are not caused by an input event, so
the last caret wasn't always up to date.

Updating the caret from the update callback ensures that every
time the editor contents is changed, the last caret is updated.
2019-09-06 11:09:01 +02:00
Bruno Windels f4938f9d11 dont format empty ranges 2019-09-06 10:59:41 +02:00
Bruno Windels 06143ba7a1 show keyboard shortcuts in format button tooltip 2019-09-06 10:59:41 +02:00
Bruno Windels bdcea6f21e add shortcuts for formatting 2019-09-06 10:59:41 +02:00
Bruno Windels da29057fd8 move format bar to own component 2019-09-06 10:39:19 +02:00
Bruno Windels 92c0c1a4e2 add comment about positioning the format bar 2019-09-06 10:29:18 +02:00