Commit graph

50 commits

Author SHA1 Message Date
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
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
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