Commit graph

345 commits

Author SHA1 Message Date
Luke Barnard
bcb67bb273 Refactor shared code between onUpArrow and onDownArrow 2017-06-28 15:20:16 +01:00
Luke Barnard
f73fa4b49b Move processing into renamed function processHtmlforSending
And explain why this fix is necessary
2017-06-28 11:49:50 +01:00
Luke Barnard
1523d304f2 WIP to prevent RTE from deleting current message input when up arrow pressed 2017-06-28 10:30:59 +01:00
Luke Barnard
69589c19e7 Work around draft-js-export-html#62 by post-processing <br>\n
Fixes https://github.com/vector-im/riot-web/issues/4446 by post-processing the output HTML from draft-js-export-html by replacing `<br>\n` with `<br>`. This works for content within or outside of `<pre>`. If we replace with `\n` instead, the newlines only apply in `<pre>` tags so we use `<br>`.
2017-06-27 18:33:45 +01:00
Luke Barnard
5307731dfd Overide default draft-js handling of pasting text/html
This is surprisingly needed to avoid an issue with draft-js that causes multi-line madness when pasting code and then applying format-as-code to it - https://github.com/vector-im/riot-web/issues/2120#issuecomment-271735729.

The issue sounds like it is https://github.com/facebook/draft-js/issues/170#issuecomment-195026203 and the suggstion is to override the text pasting handler https://github.com/facebook/draft-js/issues/170#issuecomment-215983216. Meanwhile they haven't modified the default pasting behaviour afaics.

I've discovered a separate issue that is apparent even after this suggested fix. (https://github.com/vector-im/riot-web/issues/4446)
2017-06-27 17:10:28 +01:00
Luke Barnard
ba31a32440 Allow toggling of dev tools when RTE focussed 2017-06-27 15:17:57 +01:00
Luke Barnard
9404dd30c5 Use <del> for strikeout
We've swapped to commonmark, which uses <del> instead of ~~ for strikeout, so make the RTE insert <del> when we apply strikeout. Also, when ~~ is inserted, transform them into <del> for simplicity. This means giving an input of ~~test~~ is effectively the same as giving an input of <del>test</del>.
2017-06-23 18:19:06 +01:00
Luke Barnard
89afcfd897 Linting 2017-06-23 17:35:07 +01:00
Luke Barnard
87609582c6 Merge branch 'develop' into rte-fixes2
Conflicts:
	package.json
	src/autocomplete/CommandProvider.js
	src/autocomplete/UserProvider.js
	src/components/structures/RoomView.js
	src/components/structures/UserSettings.js
	src/components/views/rooms/MessageComposerInput.js
2017-06-23 15:30:06 +01:00
Matthew Hodgson
c173861b27 Merge pull request #1021 from Bitim/feature/rtl-languages-support
Better RTL support
2017-06-08 14:43:18 +01:00
saul.kredi@krutt.org
159a920dc8 Better RTL support 2017-06-03 18:52:45 +03:00
Michael Telatynski
4032a820f0 move KEY_M to KeyCode
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-02 21:46:08 +01:00
Michael Telatynski
464863acd6 remove unused imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-02 21:35:55 +01:00
Kegan Dougal
547f10bcbb Add translations for slash command failures 2017-06-01 15:44:56 +01:00
David Baker
443ab1add7 Put back default strings on dialogs
But make them work by calling _t in render rather than
getDefaultProps().

Also sort out some 'Warning!' strings
2017-05-25 18:20:48 +01:00
David Baker
5c359e63ab Bulk change counterpart imports
to use languageHandler wrapper func
2017-05-25 11:39:08 +01:00
David Baker
d419c42a4f Squash merge https://github.com/matrix-org/matrix-react-sdk/pull/801 2017-05-23 15:16:31 +01:00
Richard van der Hoff
8695397abb Support for pasting files into normal composer
We don't seem to be in any danger of getting a working RTE any time soon, so
implement file pasting in the normal composer too.
2017-05-17 01:43:13 +01:00
Michael Telatynski
d7c88a9813 only removed /me , remove anyway to fix vector-im/riot-web#3733
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-13 15:20:31 +01:00
Luke Barnard
f5a23c14df Remove redundant bind 2017-05-08 17:32:26 +01:00
Luke Barnard
fe121126f5 Merge branch 'develop' into rte-fixes
Conflicts:
	src/UserSettingsStore.js
	src/autocomplete/EmojiProvider.js
	src/components/views/rooms/MessageComposerInput.js
2017-05-08 17:08:59 +01:00
Michael Telatynski
6cbd04045d change the now working defaults
to what they effectively were when defaultValue was broken
(hopefully tests now pass)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-25 22:17:25 +01:00
Matthew Hodgson
db996f678c show better errors when slash commands fail 2017-04-23 01:32:51 +01:00
turt2live
64e416e117 Add option to not send typing notifications
Addresses vector-im/riot-web#3220

Fix applies to both the RTE and plain editor.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-21 14:50:26 -06:00
Matthew Hodgson
bf8973ad33 avoid leading space in HTML /me too 2017-03-19 21:33:18 +00:00
Lieuwe Rooijakkers
c697b48f99 fix leading extraneous space in emotes 2017-03-19 21:52:24 +01:00
Matthew Hodgson
3aaf37df1a beautify a tonne more errors 2017-03-12 22:59:41 +00:00
Aviral Dasgupta
8dc7f8efe2
rte: remove logging and fix new history 2017-03-10 21:10:27 +05:30
Aviral Dasgupta
6004f6d610
rte: fix history 2017-03-10 20:34:31 +05:30
Matthew Hodgson
6c7b191577 Merge pull request #605 from SijmenSchoon/feature/pastefiles
Add support for pasting files into the text box
2017-03-09 17:55:58 +00:00
Aviral Dasgupta
79f481f81e
rte: special return handling for some block types 2017-03-07 04:40:25 +05:30
Aviral Dasgupta
f5b52fb488
rte: change list behaviour in markdown mode 2017-03-07 04:15:28 +05:30
Aviral Dasgupta
3a07fc1601
fix code-block for markdown mode 2017-03-07 04:09:27 +05:30
Aviral Dasgupta
5fbe06ed91
force editor rerender when we swap editorStates 2017-03-07 04:09:26 +05:30
Aviral Dasgupta
46d30c378d
fix tab focus issue in MessageComposerInput
onTab was incorrectly implemented causing forceComplete instead of
focusing the editor
2017-03-07 04:09:26 +05:30
Aviral Dasgupta
aaac06c6d3
run eslint --fix over MessageComposerInput 2017-03-07 04:09:25 +05:30
Aviral Dasgupta
48376a32c2
refactor: MessageComposer.setEditorState to overridden setState
The old approach led to a confusing proliferation of repeated
setState calls.
2017-03-07 04:09:25 +05:30
Aviral Dasgupta
f4c0baaa2f
refactor MessageComposerInput: bind -> class props 2017-03-07 04:09:25 +05:30
Luke Barnard
fd146a732b Clarify non-e2e vs. e2e /w composers placeholder
For E2E rooms, display "Send an encrypted message…" otherwise display "Send a plaintext message…" as the placeholder for the input box in [old] message composer.
2017-02-21 15:33:44 +00:00
Richard van der Hoff
67bd2cf9dd Merge branch 'matthew/warn-unknown-devices' into matthew/blacklist-unverified 2017-01-26 14:09:25 +00:00
Richard van der Hoff
70190be65c Factor out common onSendMessageFailed 2017-01-25 22:23:21 +00:00
Matthew Hodgson
7bc3fc8696 make UnknownDeviceDialog work again, other than the mess of vector-im/vector-web#3020 2017-01-22 01:28:43 +01:00
Matthew Hodgson
071e364be2 improve the verify warning if blacklisting is unabled 2017-01-21 17:56:48 +00:00
Matthew Hodgson
2e15e8f9b4 very barebones support for warning users when rooms contain unknown devices 2017-01-21 05:13:36 +00:00
Matthew Hodgson
937f13d578 fix a bunch of dark-theme buttons 2017-01-20 21:00:22 +00:00
David Baker
18d4d3392a Fix a bunch of linting errors
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
Johannes Löthberg
9c1c657a1e Markdown: delete remaining pre-split relics
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-19 11:55:36 +01:00
Johannes Löthberg
30bd01cdf2 Markdown: Split up render function into toHTML/toPlaintext
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-18 19:29:11 +01:00
Johannes Löthberg
893a5c971f Fix escaping markdown by rendering plaintext
We still need to parse "plaintext" messages through the markdown
renderer so that escappes are rendered properly.

Fixes vector-im/riot-web#2870.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-17 16:23:58 +01:00
Sijmen Schoon
ef88e02931 Add support for pasting into the text box
Only supports the new rich-text-supporting text editor
2017-01-08 02:21:36 +01:00
Richard van der Hoff
03988015aa Fix 'Quote' for e2e messages
Fixes https://github.com/vector-im/vector-web/issues/2612
2016-11-21 09:19:40 +00:00
Richard van der Hoff
78c3d5943a Fix a load of warnings in the tests
Stub things out to make the tests not throw warnings, so we can see the actual
problems.
2016-10-11 14:20:40 +01:00
David Baker
bbfc05b0c0 Fix name of text emote sending & fix tests 2016-09-26 10:20:56 +01:00
David Baker
bf037ed6c7 Add comment 2016-09-23 19:09:32 +01:00
David Baker
db3f0d298a Make RTE mode use the new Markdown wrapper class
Equivalent of https://github.com/matrix-org/matrix-react-sdk/pull/492 for rich text mode
2016-09-23 18:50:25 +01:00
Aviral Dasgupta
44217422d0 Force-hide autocomplete after sending message.
Fixes vector-im/vector-web#2128
2016-09-21 07:28:07 +05:30
Aviral Dasgupta
6befb09509 Replace <p>s with <br/>s consistently
Also, allow newlines in /commands.
Fixes vector-im/vector-web#2114, vector-im/vector-web#2165.
2016-09-16 21:40:00 +05:30
Matthew Hodgson
8bb9422907 Merge pull request #466 from aviraldg/feature-autocomplete-behaviour
Improve autocomplete behaviour
2016-09-13 16:17:23 +01:00
Aviral Dasgupta
79e5e6f6fe Fix force completion and hide rooms with no alias 2016-09-13 18:02:33 +05:30
Aviral Dasgupta
fbf2d5f96c Fix tests (wip) 2016-09-13 16:46:20 +05:30
Aviral Dasgupta
b62622a814 Improve autocomplete behaviour
Fixes vector-im/vector-web#1761
2016-09-13 15:46:02 +05:30
Remi Rampin
8cab40d987 Disable markdown line breaks
Stop combinations of - and _ turning into a line break.
2016-09-12 17:51:59 -04:00
Aviral Dasgupta
fec1e4d4c1 Add some tests for the rich text editor 2016-09-09 18:07:42 +05:30
Aviral Dasgupta
8da7b98ad0 RTE: Remove dead code, fix <del> styling 2016-09-08 11:21:39 +05:30
Aviral Dasgupta
c11232742b Fix focus and toggling issues in formatting bar 2016-09-08 02:46:56 +05:30
Aviral Dasgupta
8974442084 Hide empty autocomplete and remove word counter 2016-09-08 00:43:10 +05:30
Aviral Dasgupta
802ec1169f Fix Markdown conversion to not add extra \n
Fixes vector-im/vector-web#2094
2016-09-08 00:03:55 +05:30
Aviral Dasgupta
f0f20beae0 RTE format bar enhancements 2016-09-08 00:03:54 +05:30
Aviral Dasgupta
0c0c44b050 Formatting toggle, markdown indicator, quoting
Fixes vector-im/vector-web#1825
2016-09-08 00:02:55 +05:30
Aviral Dasgupta
71251293e4 RTE formatbar (wip)
Fixes vector-im/vector-web#2024
2016-09-08 00:02:16 +05:30
David Baker
1b39f02141 Merge pull request #335 from aviraldg/feature-composer-emoji
feat: code cleanup & emoji replacement in composer
2016-08-03 16:18:56 +01:00
David Baker
efdcc6da98 Merge pull request #384 from aviraldg/fix-composer-up-down
fix: allow up/down normally for no completions
2016-08-03 13:55:13 +01:00
Aviral Dasgupta
a2d64f5119 fix: allow up/down normally for no completions
Autocomplete current eats up up/down key events by unconditionally returning
true for onUpArrow and onDownArrow. Instead, only do that if there are completions actually visible.
2016-08-03 18:04:52 +05:30
Aviral Dasgupta
1f9a396fa5 fix: autocomplete to use tab instead of return 2016-08-03 17:51:40 +05:30
Aviral Dasgupta
b334522168 feat: code cleanup & emoji replacement in composer 2016-07-08 12:54:28 +05:30
Aviral Dasgupta
cccc58b47f feat: implement autocomplete replacement 2016-07-03 22:15:13 +05:30
Aviral Dasgupta
a74db3a815 Get basic keyboard selection working 2016-06-21 18:33:39 +05:30
Aviral Dasgupta
fb6eec0f7d Hide/show autocomplete based on selection state 2016-06-21 15:46:20 +05:30
Aviral Dasgupta
4af983ed90 Style changes and improvements in autocomplete 2016-06-20 13:52:55 +05:30
Aviral Dasgupta
b9d7743e5a Emoji provider, DDG working, style improvements 2016-06-17 04:58:09 +05:30
Aviral Dasgupta
8b1332cd29 Use different keys for new MessageComposerInput 2016-06-16 14:46:09 +05:30
Aviral Dasgupta
3f1b57b35b Fix cursor bug, persist editor mode & rte default 2016-06-15 00:13:34 +05:30
Aviral Dasgupta
ba69e4365d more RTE fixes 2016-06-14 19:28:51 +05:30
Aviral Dasgupta
8cb086ef31 use constants for keycodes in RTE 2016-06-14 19:14:09 +05:30
Pedro Ferreira
8f45f168d5 Fix highlighting behaviour on switch
Hopefully made the code a little bit clearer.
2016-06-12 01:08:31 +02:00
Pedro Ferreira
a5a3e4e915 Basic Markdown highlighting 2016-06-12 01:07:16 +02:00
Aviral Dasgupta
c0d7629980 get /commands working again 2016-06-12 00:11:27 +05:30
Aviral Dasgupta
b960d220d2 cleanup, better comments, markdown hotkeys 2016-06-11 22:24:09 +05:30
Aviral Dasgupta
e4217c3fb7 rte improvements, markdown mode 2016-06-11 15:52:08 +05:30
Aviral Dasgupta
4e0720db12 Fix MessageComposerInput.setLastTextEntry 2016-06-10 00:03:40 +05:30
Aviral Dasgupta
29cdd1fc41 user and room decorators, history & typing notifs 2016-06-09 23:53:09 +05:30
Aviral Dasgupta
fe76eb9f73 minor improvements
- use <p> for unstyled blocks
- fix return key bug
- editor placeholder
2016-05-28 12:02:35 +05:30
Aviral Dasgupta
001011df27 Initial version of rich text editor 2016-05-27 10:15:55 +05:30
Richard van der Hoff
8b8ee21765 Catch pageup/down and ctrl-home/end at the top level
Make the scroll keys work when the focus is outside the message panel.
2016-04-05 13:40:36 +01:00
Richard van der Hoff
6ff41c40b6 Split a textinput component out of MessageComposer
Split the text entry section out of MessageComposer: it has a lot of stuff
which won't be needed if we disable input
2016-03-24 11:25:41 +00:00