Commit graph

129 commits

Author SHA1 Message Date
Michael Telatynski
120f269190 Track replyToEvent along with CIDER state & history
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-06 14:47:53 +01:00
Clemens Zeidler
db61d343f5 Add option to send/edit a message with Ctrl + Enter / Command + Enter
When editing multi-line text this option helps to prevent accidentally
sending a message too early. With this option, Enter just inserts a new
line.

For example, composing programming code in a dev chat becomes much
easier when Enter just inserts a new line instead of sending the
message.

Signed-off-by: Clemens Zeidler <clemens.zeidler@gmail.com>
2020-09-09 19:27:11 +12:00
Michael Telatynski
78812b6f85 Fix some stuff 2020-08-29 12:53:04 +01:00
nurjinn jafar
95051a42b1 checking for unreadMessages before sending confetti
throwing the confetti on the sender's side
change sendHtmlMessage to sendTextMessage in slashCommands
2020-08-26 18:56:23 +02:00
Bruno Windels
a3ca80b206 move the reply preview one level higher so the buttons and avatar don't get centered with it 2020-07-31 18:27:07 +02:00
Bruno Windels
d24ddc415b Notify the timeline it's height has changed, so it can keep being at the bottom
this way new messages will appear in the timeline without needing to scroll
2020-07-31 14:02:40 +02:00
Bruno Windels
01d624fdaf Make the reply preview not an overlay on the timeline anymore
As users can't scroll down all the way down to the timeline like this to
see the last message (and perhaps adjust their reply to it)

This also remove the wrapper div as it is not needed anymore
2020-07-31 13:47:40 +02:00
Michael Telatynski
601e8209d8 Prioritize text on the clipboard over file
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-10 21:48:39 +01:00
Travis Ralston
1f1f613777 Add a focus_composer dispatcher action
and use it
2020-06-02 19:07:46 -06:00
Michael Telatynski
3fbfb62bc9 Merge branches 'develop' and 't3chguy/emoji_picker_composer' of github.com:matrix-org/matrix-react-sdk into t3chguy/emoji_picker_composer 2020-06-02 14:00:37 +01:00
Michael Telatynski
7b2f2daf2c Upload and Paste to Upload tweaks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-01 15:00:55 +01:00
Michael Telatynski
ccd0c952e3 Merge branches 'develop' and 't3chguy/emoji_picker_composer' of github.com:matrix-org/matrix-react-sdk into t3chguy/emoji_picker_composer
 Conflicts:
	src/components/views/rooms/MessageComposer.js
2020-05-29 14:53:42 +01:00
Michael Telatynski
5e00481639 Fix sentMessageAndIsAlone by dispatching message_sent more consistently
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-24 13:08:29 +01:00
Travis Ralston
90a898d03f Move dispatcher into a subdirectory
We're expecting to have a whole bunch of types for the dispatched payloads, so pull the thing into a directory we can throw them in.
2020-05-13 21:07:50 -06: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
Michael Telatynski
2a54a8aa85 Escape should cancel a reply
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-29 20:33:01 +01:00
Michael Telatynski
7d28137cfd Merge branches 'develop' and 't3chguy/shortcuts1' of github.com:matrix-org/matrix-react-sdk into t3chguy/shortcuts1 2020-03-19 19:18:20 +00:00
Michael Telatynski
578b3f2b97 Improve Keyboard Shortcuts. Add alt-arrows & alt-shift-arrows.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-19 19:07:33 +00:00
Hubert Chathi
3bb1422f93 pre-send megolm keys when possible when a user starts typing 2020-03-18 19:23:36 -04:00
Michael Telatynski
97edb824bc
Merge pull request #3893 from matrix-org/t3chguy/double_slash
Slash Command improvements around sending messages with leading slash
2020-01-22 14:32:09 +00:00
Michael Telatynski
516dd25797 fix typo in fallback codepath 2020-01-22 14:24:10 +00:00
Michael Telatynski
e1e53f567f add more tests 2020-01-22 11:56:27 +00:00
Michael Telatynski
7b26067397 delint 2020-01-21 18:03:01 +00:00
Michael Telatynski
e455aa474d improve copy further 2020-01-21 17:58:53 +00:00
Michael Telatynski
a8df058ea6 tidy up, improve wording on modal 2020-01-21 17:54:27 +00:00
Michael Telatynski
9f7df33bc3 re-arrange to split the async task into two and only wait on the user-blocking one 2020-01-21 16:57:07 +00:00
Michael Telatynski
b34fe45518 First attempt. Has a lag issue due to the async-clear :( 2020-01-21 16:50:04 +00:00
Michael Telatynski
060938379a Fix changes after typing / at pos=0 allowing to cancel command 2020-01-21 15:58:51 +00:00
Michael Telatynski
b5e902e1f2 Fix escaping commands using double-slash //, e.g //plain sends /plain 2020-01-21 15:55:21 +00:00
Michael Telatynski
f56a9d246f Fix index for _insertMention 2020-01-21 11:13:08 +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
833dcbac64 Rewire the Sticker button to be an Emoji Picker 2019-12-19 09:30:15 +00:00
Michael Telatynski
937b32663c Migrate away from Legacy React Contexts 2019-12-17 17:26:12 +00:00
Michael Telatynski
178accae19 Fix error message which is shown when unknown slash command attempted 2019-10-31 10:49:24 +00: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
77a61519ef also allow commands to be pill-candidates 2019-09-30 11:15:46 +02:00
Bruno Windels
99961df9d0
Merge pull request #3479 from matrix-org/bwindels/command-detection-resilience
Fix: make command detection more resilient
2019-09-26 07:36:25 +00:00
Bruno Windels
0bbbb5e336 use mxid for user pill in command 2019-09-25 17:30:12 +02:00
Bruno Windels
c760ba0839 make command detection more resilient 2019-09-25 17:30:01 +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
4575aaa9f6
Merge pull request #3382 from matrix-org/bwindels/escape-command-slash
New composer: allow escaping the first slash to not write a command
2019-09-03 16:04:23 +00:00
Bruno Windels
1063da0ed1
Revert "New composer: show markdown legend on focus" 2019-09-03 08:27:45 +00:00
Bruno Windels
06ae0645c7 fix lint 2019-09-02 17:56:16 +02:00
Bruno Windels
712c3e5450 allow escaping the first slash to not write a command 2019-09-02 17:53:14 +02:00
Bruno Windels
422f482a6d
Merge pull request #3378 from matrix-org/bwindels/cider-md-legend
New composer: show markdown legend on focus
2019-09-02 14:59:44 +00:00
Bruno Windels
c4d7df768d
Merge pull request #3375 from matrix-org/bwindels/cider-colononmention
New composer: share user pill postfix between autocomplete and insert mention
2019-09-02 14:58:23 +00:00
Bruno Windels
ff74dd4b7f
Merge pull request #3374 from matrix-org/bwindels/fix-cider-command-detection
New composer: make command detection not break with pill candidates in command
2019-09-02 14:58:12 +00:00
Bruno Windels
f200327ef2 show/hide legend when focusing/blurring 2019-09-02 16:15:18 +02:00
Bruno Windels
b7768f34f2 Add legend and style it 2019-09-02 16:15:18 +02:00
Bruno Windels
b9cb22e153 dont allow sending empty messages 2019-09-02 14:36:31 +02:00
Bruno Windels
c595371845 share user pill postfix between autocomplete and insert mention
where we decide to add a colon only if the composer is empty
2019-09-02 14:06:30 +02:00
Bruno Windels
b46e001d0a allow pill-candidate parts in commands 2019-09-02 13:51:46 +02:00
Bruno Windels
fe7ac11abc New composer: support pasting files 2019-08-29 16:19:05 +02:00
Bruno Windels
d8bb9ecedf bring insert method inline with transform callback, add docs
before the insertPartsAt method would call the update callback
on its own, but now we have the concept of a transformation session,
so lets bring the API in line
2019-08-27 16:43:05 +02:00
Bruno Windels
944c56d09b prevent cider history overlapping with slate composer history 2019-08-22 14:07:03 +01:00
Bruno Windels
b366b0b3d8 store composer state when typing in new composer
this doesn't use the MessageComposerStore on purpose so that
both the new and old composer don't overwrite each others state,
as the format is different.
2019-08-22 13:33:20 +01:00
Bruno Windels
9f72268df7 avoid null-refs when receiving an action before initial rendering 2019-08-22 13:33:20 +01:00
Bruno Windels
3c5cf3e778 rename ComposerHistoryManager to SendHistoryManager to avoid confusion
...with the undo history manager for the composer.
2019-08-22 13:33:20 +01:00
Bruno Windels
c5cd8b943a support auto complete for /commands 2019-08-22 13:33:20 +01:00
Bruno Windels
88cc1c428d add support for emotes and running /commands
this does not yet include autocomplete for commands
2019-08-22 13:33:20 +01:00
Bruno Windels
cc82353d8f bring back composer send history and arrow up to edit previous message 2019-08-22 13:33:20 +01:00
Bruno Windels
9bc8ff7e1e clear composer undo history when sending a message 2019-08-22 13:33:20 +01:00
Bruno Windels
9003a8836a put dispatches together 2019-08-22 13:33:20 +01:00
Bruno Windels
2e71dd3ea8 cleanup, move code out of big switch statement 2019-08-22 13:33:20 +01:00
Bruno Windels
60e10364b0 add quoting functionality to new composer 2019-08-22 13:33:20 +01:00
Bruno Windels
10c218825b allow inserting multiple parts at a position 2019-08-22 13:33:20 +01:00
Bruno Windels
a9d6d01f10 add reply fields to message content to be sent when replying 2019-08-22 13:33:20 +01:00
Bruno Windels
7b3282185a update proptypes 2019-08-22 13:33:20 +01:00
Bruno Windels
c135cd60d2 restore insert mention
for this, we need to store the last caret in the editor,
to know where to insert the user pill.

Because clicking on a member blurs the editor, and the
selection is moved away from the editor.

For this reason, we keep as cache of the last caretOffset object,
invalidated by a selection with different values.

The selection needs to be cloned because apparently the browser
mutates the object instead of returning a new one.
2019-08-22 13:33:20 +01:00
Bruno Windels
71286b5610 restore reply_to_event action 2019-08-22 13:33:20 +01:00
Bruno Windels
e39c405c55 restore focus_composer action 2019-08-22 13:33:20 +01:00
Bruno Windels
2cff486ec0 set placeholder same as label 2019-08-22 13:33:20 +01:00
Bruno Windels
f9992a1fc6 implement editor placeholder 2019-08-22 13:33:20 +01:00
Bruno Windels
e2e4ea493f set aria label on main composer too 2019-08-22 13:33:20 +01:00
Bruno Windels
cfbd2e9cc8 support basic sending with new main composer
this removes all formatting options, as the new editor doesn't
have any.
2019-08-22 13:33:20 +01:00