Luke Barnard
f1a4209d6b
Fix indentation
2017-07-13 13:47:08 +01:00
Luke Barnard
5826b6f22a
Instead of sending HTML for any Entity, only send HTML for Links
...
Otherwise emoji messages are sent as HTML, needlessly
2017-07-13 13:41:17 +01:00
Luke Barnard
be045a6dc0
Interpret whitespace after entity as the end of the entity
...
The easiest way to stop the user from inserting whitespace onto the end of an entity is to toggle the entity state of the whitespace that was just entered. This allows the user to continue drafting a message without editing the link content.
This is for pasted `<a>` tags that have been copied from a website. We probably also want to be storing entities for substrings of content that are determined to be URLs.
2017-07-13 13:28:51 +01:00
Luke Barnard
4b96963408
Send HTML if there are any entities present in the composer
...
This is so that pasted HTML links that are represented as entities are sent as HTML.
2017-07-13 13:27:49 +01:00
Luke Barnard
55e1202c09
Decorate pasted links so that they look like links
...
By default, draftjs will represent pasted `<a>` tags as `LINK` entities, but it doesn't do any default decoration of these links. Add a decorator to do so.
Most of this was taken from https://github.com/facebook/draft-js/blob/v0.8.1/examples/link/link.html (note the version, v0.8.1).
2017-07-13 13:26:13 +01:00
David Baker
2a68cce3d5
Merge pull request #1216 from matrix-org/dbkr/history_save_unload_nullcheck
...
Prevent exception on page unload
2017-07-13 12:38:28 +01:00
Richard van der Hoff
086304532e
Merge pull request #1213 from matrix-org/rav/bluebird
...
Switch matrix-react-sdk to bluebird
2017-07-13 12:06:11 +01:00
David Baker
917133219f
Remove sentHistory save altogether
2017-07-13 11:53:22 +01:00
Luke Barnard
ce0f9e8803
Merge pull request #1214 from matrix-org/luke/fix-rte-remove-old-disable-md-setting
...
Remove `disableMarkdown` setting
2017-07-13 11:33:42 +01:00
Luke Barnard
4d844ebc34
Merge pull request #1215 from matrix-org/luke/remove-old-composer
...
Remove MessageComposerInputOld
2017-07-13 11:33:23 +01:00
David Baker
1e80edb43c
Prevent exception on page unload
...
Null check when saving sent history
2017-07-13 11:30:25 +01:00
Luke Barnard
04dd98e6e9
Remove references to tabComplete, which are now redundant
...
(since the old composer has been removed)
2017-07-13 10:16:59 +01:00
Luke Barnard
0e12e384cb
Remove TabComplete-related files
2017-07-13 10:16:42 +01:00
Richard Lewis
9a1e7ad170
Hide widget panel while it is being deleted.
2017-07-13 00:27:03 +01:00
Luke Barnard
4cc8b5621d
Merge pull request #1212 from matrix-org/luke/fix-ctrl-k
...
Enable ctrl+k room filter focus
2017-07-12 18:20:45 +01:00
Richard van der Hoff
33f330d434
Manual fixup for remaining q incantaions
...
* don't try to use `finally` as a static method
* work around absence of `allSettled`
2017-07-12 18:05:40 +01:00
Richard van der Hoff
0d7cc59d99
replace q method calls with bluebird ones
...
```
find src test -name '*.js' |
xargs perl -i -pe 's/q\.(all|defer|reject|delay|try|isFulfilled)\(/Promise.$1(/'
```
2017-07-12 18:05:40 +01:00
Richard van der Hoff
0254d2b3a2
q(...) -> Promise.resolve
...
```
find src test -name '*.js' | xargs perl -i -pe 's/\b[qQ]\(/Promise.resolve(/'
```
2017-07-12 18:05:08 +01:00
Richard van der Hoff
a06bd84213
replace imports of q
with bluebird
...
update `package.json`
```
find src test -name '*.js' |
xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
find src test -name '*.js' |
xargs perl -i -pe 'if (/import [qQ]/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 18:05:08 +01:00
Luke Barnard
6ff924fc0d
Remove MessageComposerInputOld
2017-07-12 18:03:13 +01:00
Luke Barnard
0585fa048f
Remove disableMarkdown
setting
...
This was used by the old composer to control whether to interpret text as markdown prior to sending.
The new setting is `MessageComposerInput.isRichTextEnabled`.
2017-07-12 17:35:19 +01:00
Luke Barnard
6547a55852
Update to reflect previous implementation
...
Which was originally a74bbb424c
2017-07-12 17:12:57 +01:00
David Baker
a48c7d2364
Only allow http and https widget URLs
2017-07-12 14:16:47 +01:00
Luke Barnard
0dbd1d988e
Enable ctrl+k room filter focus
...
By using the `focus_room_filter` dispatch
2017-07-12 13:51:55 +01:00
David Baker
918f5abe81
Lint correctly
2017-07-12 10:34:50 +01:00
David Baker
53316a76f4
Sandbox app iframes
2017-07-12 10:22:14 +01:00
David Baker
eb4e4a66ff
Merge pull request #1206 from matrix-org/rav/login_unmounted_guard
...
Give Login an unmounted guard
2017-07-11 18:37:50 +01:00
Luke Barnard
3bab720a7b
Merge pull request #1208 from matrix-org/rav/timelinepanel_test_flakiness
...
Fix a flaky test in the timelinepanel code
2017-07-11 18:10:55 +01:00
Richard van der Hoff
1139dd2be5
Fix a flaky test in the timelinepanel code
...
Sometimes it was possible for there to be a scroll event before the initial
pagination completed, which then upset the rest of the test. Just give it a few
ms to sort itself out instead.
2017-07-11 17:34:46 +01:00
Richard van der Hoff
67372d4fed
Give Login an unmounted guard
2017-07-11 17:04:19 +01:00
Luke Barnard
af3b6484cd
Merge pull request #1196 from matrix-org/dbkr/groups_better_groupview
...
Add more features to Group View
2017-07-11 17:03:47 +01:00
David Baker
ff3c21ef10
Lint, including putting key in right place
2017-07-11 15:16:58 +01:00
David Baker
4e49ebd6ce
Change incorrect refs to this.props
2017-07-11 14:31:07 +01:00
David Baker
8690ed2181
Make the category functions React components
2017-07-11 14:28:44 +01:00
David Baker
222ca054c5
Use PropTypes.shape to define our required inputs
2017-07-11 13:41:00 +01:00
Kegsay
cf158530f5
Implement new widget API ( #1201 )
...
* Implement new widget API
This allows clients to see who provisioned which widgets.
* Update to make state_key the wid
* Update to latest API
* Only show widgets which have required fields
* Don't constantly show apps dialog
* Fix example to include data key
2017-07-11 12:15:27 +01:00
David Baker
29990296d2
Lint
2017-07-11 11:02:23 +01:00
David Baker
925d5bd480
Add featured users to Group View
2017-07-10 19:32:02 +01:00
David Baker
0e67a9158c
hide settings button until it's wired up
2017-07-10 15:32:57 +01:00
David Baker
048912a241
Remove commented ordering code
...
No lomger needed now roosm come down in order
2017-07-10 15:17:58 +01:00
David Baker
ac4be03f7b
Merge remote-tracking branch 'origin/develop' into dbkr/groups_better_groupview
2017-07-10 14:51:13 +01:00
Luke Barnard
b104228a7b
Remove redundant functions, bindings, props
2017-07-10 14:27:41 +01:00
David Baker
49ca29e422
Lint
2017-07-10 14:07:16 +01:00
David Baker
696c72be2b
Merge remote-tracking branch 'origin/develop' into dbkr/groups_better_groupview
2017-07-10 14:03:30 +01:00
Luke Barnard
c9df079464
Merge pull request #1176 from matrix-org/luke/feature-enable-RTE
...
Take RTE out of labs! 🎉
2017-07-10 13:56:00 +01:00
Luke Barnard
9643f0c00b
Merge pull request #1167 from matrix-org/dbkr/my_groups
...
Implement 'Groups' page
2017-07-10 09:37:06 +01:00
David Baker
1e713557bb
PR feedback
2017-07-07 18:34:40 +01:00
Luke Barnard
7a8f524f4a
Remove two possible sources for the "AutoComplete stays visible bug
...
which is now https://github.com/vector-im/riot-web/issues/4537 <- there.
This does two things:
- Track which query was the most recent one requesting completion and only process completions for that one. (In this case the empty string "" doesn't have any completions but we still track it so that previous calls with non-empty queries would not race and cause completions to be shown when we actuall don't want any.)
- Make the "do we want to show the AutoComplete box?" logic a bit more sane
2017-07-07 15:30:31 +01:00
David Baker
681fd512d7
Lint
2017-07-07 13:46:05 +01:00
David Baker
c1833f9833
Merge remote-tracking branch 'origin/dbkr/my_groups' into dbkr/groups_better_groupview
2017-07-07 13:44:35 +01:00
David Baker
c21f90338d
Merge remote-tracking branch 'origin/develop' into dbkr/groups_better_groupview
2017-07-07 12:02:15 +01:00
David Baker
bc8c2d442b
WithMatrixClient -> withMatrixClient
...
because we're using it as a function rather than a React component
2017-07-07 11:34:20 +01:00
Richard Lewis
e970b68859
Merge pull request #1194 from matrix-org/rxl881/apps
...
Use app ID for element key and pass screen parameter to scalar.
2017-07-07 11:28:39 +01:00
David Baker
fea0a941ce
Fix lint
2017-07-07 11:01:54 +01:00
David Baker
183f45bc1f
Fix lint errors
2017-07-07 10:41:59 +01:00
David Baker
45986306cc
Merge remote-tracking branch 'origin/develop' into dbkr/my_groups
2017-07-07 10:32:37 +01:00
David Baker
1deb406294
Fix race
2017-07-07 10:12:06 +01:00
Luke Barnard
32a01b54b8
Merge branch 'develop' into erikj/group_server
2017-07-07 10:08:49 +01:00
David Baker
fa37d03db6
Improve the Group View page
...
Show the rooms in the group in thir various categories, etc
2017-07-06 19:13:14 +01:00
Richard Lewis
d091550ccb
Use app ID for element key and pass screen parameter to scalar.
2017-07-06 15:59:59 +01:00
Luke Barnard
6404f7603c
Merge pull request #1192 from matrix-org/t3chguy/markdown_allow_u
...
Allow underline through MD and in RTE (MD) using <u> which works with CM
2017-07-06 14:08:01 +01:00
Luke Barnard
d9a67355d2
Merge pull request #1190 from matrix-org/luke/fix-rte-paste-html-md-on
...
Only insert HTML into the composer in RTE mode
2017-07-06 13:59:52 +01:00
Michael Telatynski
ff7ae5b995
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/markdown_allow_u
2017-07-06 13:56:20 +01:00
Michael Telatynski
fcd8321a63
Allow underline through MD and in RTE (MD) using <u> which works with CM
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-06 13:49:13 +01:00
Michael Telatynski
6149b37245
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-settings-unban-no-pl
2017-07-06 13:30:40 +01:00
Michael Telatynski
c6d9ec42a2
only show unban button in RoomSettings if user has sufficient PL to do so
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-06 12:51:55 +01:00
Luke Barnard
bdefb35c64
Only insert HTML into the composer in RTE mode
...
If MD mode is enabled, paste the plaintext equivalent.
2017-07-06 11:52:02 +01:00
Richard van der Hoff
c29863362f
Merge pull request #1189 from matrix-org/rav/fix_duplicate_preview_key
...
Fix a React duplicate key error
2017-07-06 11:08:03 +01:00
Richard van der Hoff
4f8d9d869e
mention preserving ordering in comment
2017-07-06 10:47:15 +01:00
Kegan Dougal
42ba3ff410
Linting
2017-07-06 10:44:32 +01:00
Richard van der Hoff
6a2d6b2e6e
Fix a React duplicate key error
...
If a single message contains the same link twice, we get an error from React
about the clashing keys. De-dup the links to keep it quiet.
2017-07-06 10:02:25 +01:00
Kegsay
e0e321783b
Append the scalar_token to the widget URL if the widget URL is a scalar URL ( #1182 )
2017-07-06 09:28:48 +01:00
Luke Barnard
0bf1124f1b
Merge pull request #1181 from matrix-org/luke/fix-rte-draft-persist
...
Implement MessageComposerStore to persist composer state when room switching
2017-07-05 18:24:27 +01:00
Luke Barnard
7f1d8e3c90
Merge pull request #1188 from matrix-org/luke/feature-rte-visual-bell
...
Add visual feedback for when there are no completions available
2017-07-05 18:23:10 +01:00
Luke Barnard
29e793f591
Merge pull request #1180 from matrix-org/luke/fix-rte-force-immediately
...
When hitting "tab" use an autocompleteDelay of 0
2017-07-05 18:20:48 +01:00
Luke Barnard
d78168d407
Add visual feedback for when there are no completions available
...
Attempts to kep parity with old composer by using the same #faa colour but uses an animation instead of a js timeout.
Fixes https://github.com/vector-im/riot-web/issues/4490
2017-07-05 18:14:22 +01:00
Luke Barnard
5c9d3edec4
Revert #1170 , fde7d5eaf4
...
There were a few issues with this, namely that links were no longer linkified and an error was logged to the console: `Warning: Stateless function components cannot be given refs (See ref "topic" in EmojiText created by RoomHeader). Attempts to access this ref will fail.`
2017-07-05 14:46:00 +01:00
Luke Barnard
3d5b3ed7ad
Use ContentState instead and persist over localStorage
2017-07-05 11:49:34 +01:00
David Baker
3b06db0725
Pass with, height & resizeMethod through
...
Was spelt wrong anyway
2017-07-05 11:39:22 +01:00
Luke Barnard
084a933dbd
Implement MessageComposerStore to persist composer state across room switching
...
This behaviour was present in the old composer but implemented using local storage. This is unecessary as we don't really care about our drafts across clients, the important thing is that our draft is kept when switching rooms.
As a bonus, ifnore vertical arrow key presses when a modifier key is pressed so that the room switching keys (alt + up/down arrow) don't also cause history browsing (or autocomplete browsing).
2017-07-05 10:24:55 +01:00
Luke Barnard
5f6c3e5afc
When hitting "tab" use an autocompleteDelay of 0
...
So that there's no delay when tab completing. Fixes https://github.com/vector-im/riot-web/issues/4497
2017-07-04 17:49:50 +01:00
Luke Barnard
77348e6201
Remove spurious, unused code
2017-07-04 15:20:00 +01:00
Luke Barnard
e3f2eb5232
Take RTE out of labs! 🎉
...
This stops react-sdk from tracking any state previously stored for the purposes of enabling or disabling the lab feature that enabled the new MessageComposer. It is now enabled permanently.
This is being done with the hope that we can get more feedback for it so that when we release we can be confident that people will be OK with the changes it brings.
2017-07-04 14:44:55 +01:00
Richard van der Hoff
fb86534ba3
Merge pull request #1171 from matrix-org/t3chguy/delintify
...
De-Lint 23 files
2017-07-04 10:40:49 +01:00
Luke Barnard
664f3acc3c
Only move through history if caret at start or end of line
...
As suggested by @dbkr (because this is what we do for the old composer), only move through history when the caret is that the beginning of the first line (block) or end of the last.
This has the nice property of being able to move the caret up to a really long message: fixes https://github.com/vector-im/riot-web/issues/4471
2017-07-04 10:12:06 +01:00
Michael Telatynski
34c9bbfd86
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/delintify
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
# Conflicts:
# src/components/views/rooms/RoomHeader.js
2017-07-03 19:15:38 +01:00
Michael Telatynski
827c38d4a5
fix variable clash
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-03 19:13:07 +01:00
David Baker
72eed70a84
Merge pull request #1173 from matrix-org/luke/fix-rte-forgets-me
...
Strip out "/me" after committing to RTE history
2017-07-03 15:59:07 +01:00
David Baker
a7bb546b1f
Merge pull request #1172 from matrix-org/luke/fix-rte-md-format-without-selection
...
When formatting with MD enabled, move selection inside ** or equivalent
2017-07-03 15:58:02 +01:00
Luke Barnard
775f5a0e5b
Strip out "/me" after committing to RTE history
...
So that history can include emotes
Fixes https://github.com/vector-im/riot-web/issues/4472
2017-07-03 15:47:03 +01:00
Luke Barnard
86889b8e8c
When formatting with MD enabled, move selection inside ** or equivalent
...
Fixes https://github.com/vector-im/riot-web/issues/3225
Also insert `\n` after code-block and blockquote to fix https://github.com/vector-im/riot-web/issues/2746
2017-07-03 15:23:24 +01:00
David Baker
a89ea39dba
Merge pull request #1170 from matrix-org/t3chguy/emojione-room-topic
...
make RoomHeader Topic use EmojiText to be emojione-friendly
2017-07-03 10:27:47 +01:00
Michael Telatynski
9ef83b8dc0
de-lint views/voip/*
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:58:46 +01:00
Michael Telatynski
e56203f2a1
de-lint RoomHeader, Avatar, SdkConfig, SlashCommands
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:13:32 +01:00
Michael Telatynski
fde7d5eaf4
make RoomHeader Topic use EmojiText to be emojione-friendly
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 13:36:28 +01:00
David Baker
8468a118b5
Merge remote-tracking branch 'origin/develop' into dbkr/my_groups
2017-06-30 16:15:41 +01:00
Luke Barnard
0b46184a21
Merge pull request #1166 from matrix-org/luke/fix-rte-wrong-history-format
...
Always store sent MD messages as MD in history
2017-06-30 16:05:45 +01:00
David Baker
c07057d1d4
Extract props we don't want to pass to BaseAvatar
2017-06-30 16:05:19 +01:00
Luke Barnard
6bc40a112c
Always store sent MD messages as MD in history
...
Because converting them to HTML when they got sent as HTML seems a bit pointless when they're just going to get transformed back again when retrieved from history.
Fixes regression https://github.com/vector-im/riot-web/issues/4465
2017-06-30 15:47:48 +01:00
Kegan Dougal
b8941f76d3
Fix bug which breaks the close button on scalar
2017-06-30 15:42:36 +01:00