Commit Graph

49 Commits

Author SHA1 Message Date
Bruno Windels 57abbc4273 remove unnessary manual focussing of composer
now that composer is focused automatically when no other shortcuts
apply, remove the manual focusing we have in place where it's not needed
2019-07-15 18:21:10 +02:00
Bruno Windels 507b89fc61 manually attach input event handler, as React doesn't pass inputType 2019-07-11 18:46:56 +02:00
Bruno Windels f6e71b2335 turn flag into options object 2019-07-08 16:55:56 +02:00
Bruno Windels 888e4d1ec2 preserve reply fallback when editing 2019-07-08 15:25:44 +02:00
Michael Telatynski 000f7e8007 Merge pull request #3103 from matrix-org/t3chguy/edit_skip_if_no_edit
If oldContent matches newContent, skip sending the edit
2019-07-06 08:52:58 +01:00
Bruno Windels daa2250023 fix lint 2019-07-02 18:30:57 +02:00
Bruno Windels 3fd96008c3 Fixup: dont assume there is a prior edit 2019-07-02 17:34:07 +02:00
Bruno Windels 357ad3d50c cancel pending edit when sending new edit 2019-07-02 14:52:29 +02:00
Michael Telatynski e591d3ef76 take dirty-flag into account for editing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-29 06:52:19 +01:00
Michael Telatynski bf9353f3af Merge branches 'develop' and 't3chguy/edit_skip_if_no_edit' of github.com:matrix-org/matrix-react-sdk into t3chguy/edit_skip_if_no_edit 2019-06-29 06:45:06 +01:00
Bruno Windels b16bc0178a insert manually, as insertHTML command moves caret inconsistently
across browsers
2019-06-19 17:42:18 +02:00
Bruno Windels eb4ff50c3c do parts creation only in PartCreator to not scatter dependencies 2019-06-14 18:28:44 +02:00
Bruno Windels 3cfdd518ee detect emote when sending (and trim "/me " for content) 2019-06-14 11:02:20 +02:00
Michael Telatynski 41b995df3c If oldContent matches newContent, skip sending the edit
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-13 22:56:32 +01:00
Bruno Windels 41e41269dc use EditorStateTransfer to pass on state to newly mounted editor 2019-06-12 18:52:34 +02:00
Bruno Windels 25e2c747ed focus main composer after cancel or saving edit 2019-05-27 16:26:21 +02:00
Bruno Windels e193522db1 PR feedback: put findPrev/NextEditableEvent in one function with flag 2019-05-27 16:22:55 +02:00
Bruno Windels fbb79e4686 don't navigate to next/prev message when editor has modifications
to prevent losing modifications by accident
2019-05-24 14:46:34 +02:00
Bruno Windels 3591eedcfa move between editable events with arrow keys 2019-05-24 14:42:33 +02:00
Bruno Windels 3468cef654 Merge pull request #3013 from matrix-org/bwindels/editor-formatting
Message editing: preserve and re-apply formatting
2019-05-24 07:34:05 +00:00
Travis Ralston 62dc83310a Merge pull request #3020 from matrix-org/travis/sr/edit
Label message edit field as such for screen readers
2019-05-22 16:30:45 -06:00
Bruno Windels 53b6586986 re-apply markdown when saving a message 2019-05-22 16:19:07 +02:00
Bruno Windels ff61376c07 Merge pull request #3004 from matrix-org/bwindels/update-link-previews-after-edit
Message editing: update link previews after editing
2019-05-22 14:17:34 +00:00
Bruno Windels 6b1134bdf0 add matrix foundation copyright header 2019-05-22 16:16:32 +02:00
Travis Ralston a551ef1a72 Label message edit field as such for screen readers
See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 20:00:15 -06:00
Bruno Windels b00a38a1e5 apply mx_EventTile_content to editor, so it gets the same right margin
this way we don't have to include it in the magic number
2019-05-21 12:18:20 +02:00
Bruno Windels 710338c01f pass member and room to editor pills to get avatar url 2019-05-20 10:28:26 +02:00
Bruno Windels 62b8973e72 cancel the edit when pressing escape 2019-05-17 15:35:14 +01:00
Bruno Windels ca2e6d8eb2 Message editing: shift+enter for newline, enter to send 2019-05-17 10:22:02 +01:00
Bruno Windels 245f48a22c set caret on mount as we usually do, so FF doesn't enter 2 newlines 🤯 2019-05-16 18:39:20 +01:00
Bruno Windels 085f2d199d focus editor after clicking edit 2019-05-15 17:17:35 +01:00
Bruno Windels 6366371c0d add * to fallback messages for edits 2019-05-15 15:54:05 +01:00
Bruno Windels 5805a88ab9 adjust to js-sdk changes of marking original event as replaced 2019-05-15 11:54:26 +01:00
Bruno Windels d83e278f6b PR feedback, cleanup 2019-05-15 09:46:08 +01:00
Bruno Windels dc21faa240 send edit also in n.new_content field
so we can have fallback content in the regular content for clients
that don't support edits. Note that we're not reading m.new_content
yet as it's going to be a bit of a headache to change this.

So for now just sending the edit in both the normal content and
the m.new_content subfield, so all events out there already
are well-formed
2019-05-14 16:32:08 +01:00
Bruno Windels 45991bc3de replace original event if there have been previous edits 2019-05-14 15:39:24 +01:00
Bruno Windels e2388afb51 consistent naming between serialize and deserialize modules 2019-05-14 15:39:24 +01:00
Bruno Windels 759a4a54ef send the actual m.replace event from composer content 2019-05-14 15:38:16 +01:00
Bruno Windels a3b02cf0cc make logging quiet 2019-05-14 15:38:16 +01:00
Bruno Windels 4ff37ca046 don't show model for now 2019-05-14 15:38:16 +01:00
Bruno Windels 9e0816c51c find caret offset and calculate editor text in same tree-walking algo
instead of having the same logic twice
2019-05-14 15:38:16 +01:00
Bruno Windels 7ebb6ce621 WIP commit, newlines sort of working 2019-05-14 15:38:16 +01:00
Bruno Windels 8d97c0033e catch this for now as caret behaviour is still a bit flaky 2019-05-14 15:38:16 +01:00
Bruno Windels 64b171198c rerender through callback instead of after modifying model
this way rendering is centralized and we can better rerender
from interaction in the autocompleter
(we didn't have access to caret before)
2019-05-14 15:38:16 +01:00
Bruno Windels 317e88bef2 initial hacky hookup of Autocomplete menu in MessageEditor 2019-05-14 15:38:16 +01:00
Bruno Windels a2f1f49972 update the DOM manually as opposed through react rendering
react messes up the DOM sometimes because of, I assume, not
being aware of the changes to the real DOM by contenteditable.
2019-05-14 15:38:16 +01:00
Bruno Windels 6be6492cd2 initial parsing of pills for editor 2019-05-14 15:38:16 +01:00
Bruno Windels 76bb56a2bf initial hookup editor code with react component 2019-05-14 15:38:16 +01:00
Bruno Windels 6599d605cd wire up editor component (somewhat hacky) 2019-05-14 15:38:16 +01:00