Luke Barnard
dcc4db53f9
Async functions now return `bluebird` promises, remove redundant Promise.resolve
2017-07-13 17:51:14 +01:00
Luke Barnard
d97de4d576
Implement disabled-by-default setting for auto-replacement of plaintext emojis
...
FTR a list of plaintexts and their unicode equivalents can be found here - https://github.com/vector-im/riot-web/issues/4554#issuecomment-314374303
Pressing space after a matching emoji will replace the plaintext emoji with the equivalent unicode emoji.
2017-07-13 17:37:43 +01:00
Luke Barnard
f78a49b3a9
Do `reflect` in the same `map`
2017-07-13 17:20:17 +01:00
Luke Barnard
c9f3a12693
Fix Autocompleter promises
...
Use bluebird instead of the now removed "q" library.
Also, make sure we timeout and then `reflect` to effectively do an `allSettled` that waits for all promises to either be resolved or rejected. Then we filter for those that are fulfilled and return the completions.
2017-07-13 16:51:14 +01:00
Luke Barnard
7fc10789fc
Merge pull request #1217 from matrix-org/luke/fix-rte-html-links
...
Improve RTE HTML link handling
2017-07-13 13:57:58 +01:00
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
Luke Barnard
441954c8c1
Remove i18n for "Unknown command"
2017-07-13 09:55:11 +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
Richard van der Hoff
7ae4e96e4d
Merge pull request #1207 from matrix-org/rav/fix_dispatcher_race
...
Fix a race in session loading code
2017-07-11 23:21:33 +01:00
David Baker
569ea909c4
Merge pull request #1209 from matrix-org/luke/fix-emoji-support-zwj
...
Update `unicodeToImage` to maintain compatibility with emojione
2017-07-11 18:38:54 +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
0df144cb62
Update `unicodeToImage` to maintain compatibility with emojione
...
We recently updated our version of emojione but this update included the addition of emoji represented in unicode with ZWJ (Zero-Width-Joiners). These ZWJs are not present in the asset file names, so any emoji with ZWJ in them were just not found (404 on the web client).
This updates `unicodeToImage` to be compatible with emojione 2.2.7 so that the correct filenames are used when converting from unicode to <img>.
2017-07-11 18:27:35 +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
f5f1fe6ae6
Fix a race in session loading code
...
it was possible for on_logging_in to get dispatched *after* on_logged_in,
causing the app to wedge. Fix it by dispatching on_logging_in synchronously.
2017-07-11 17:09:06 +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
Kegsay
6369253142
Scalar messaging: Add can_send_event operation ( #1204 )
...
This is mainly for use to pre-emptively show/hide buttons.
2017-07-11 15:20:33 +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
e242e5e714
Merge pull request #1205 from matrix-org/luke/feature-new-emojis
...
Bump the dep on emojione to 2.2.7 to add 🦈 and others
2017-07-11 14:13:13 +01:00
Luke Barnard
d146246805
Move "regional" category to after "flags"
...
Otherwise by default it appears first, pushing "people" further down the list
Also, remove "unicode9" category ordering, as this category does not exist as part of emojione
2017-07-11 14:06:15 +01:00
Luke Barnard
4766447e15
Bump the dep on emojione to 2.2.7 to add 🦈 and others
...
Also, re-run node scripts/emoji-data-strip.js to update emoji meta data in src/stripped-emoji.json
2017-07-11 13:48:15 +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
5c89d3303b
Merge pull request #1203 from matrix-org/luke/fix-rte-user-completion
...
Fix bug where a received message would remove completions for users
2017-07-11 11:04:07 +01:00
David Baker
29990296d2
Lint
2017-07-11 11:02:23 +01:00
Luke Barnard
e18924c8fc
Fix bug where a received message would remove completions for users
...
`Array.prototype.splice` will return the array of removed items, not a new array. The array operated on is actually modified in-place.
This was causing a few weird things to happen: https://github.com/vector-im/riot-web/issues/4511 and https://github.com/vector-im/riot-web/issues/4533 . This should fix both of them but it is concerning that doing the tab completion is required to reproduce. Let's just see how this goes before closing the issues.
Thanks @turt2live for reproducing both bugs, giving enough information for a fix :)
2017-07-11 10:42:02 +01:00
David Baker
925d5bd480
Add featured users to Group View
2017-07-10 19:32:02 +01:00
Luke Barnard
dfa97e8452
Add comment
2017-07-10 17:48:01 +01:00
Luke Barnard
6877b99435
Strip `<img src="https?://..">`s when transforming `img`s instead of using `allowedSchemesByTag`
2017-07-10 17:44:49 +01:00
Luke Barnard
bb9080425a
Allow image tags with src attributes with schemes http[s]
...
And transform `mxc:*` URLs to `https?://`
2017-07-10 16:27:23 +01:00
Luke Barnard
96f5f92c7f
Disallow data attribute, we don't need it currently
2017-07-10 15:44:46 +01:00
Luke Barnard
f9ee89b2f4
Merge branch 'develop' into matthew/whitelist-uri-schemes
2017-07-10 15:42:03 +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
Luke Barnard
66525f6826
Null-guard RR logic
2017-07-10 15:07:22 +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
David Baker
0112afad3c
Merge pull request #1199 from matrix-org/luke/fix-rte-emoji-prefixes
...
Only allow completion of emoji in certain circumstances
2017-07-10 14:02:01 +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
86e717f30d
Fix indenting
...
Also autocomplete delay was duplicated
2017-07-09 12:34:50 +01:00
Luke Barnard
4218308bef
Merge pull request #1200 from matrix-org/luke/fix-invite-sync-type-error
...
Possibly fix accepting invites
2017-07-07 20:03:26 +01:00
Luke Barnard
62ee0f4e02
Fix accepting invites
...
Accepting an invite would cause a room to arrive via /sync only for it to throw an error in the auto complete code and cause the client to go wibbly (infinite spinner or preview bar).
The logs that lead to the debugging of this are https://github.com/matrix-org/riot-web-rageshakes/issues/239
Hopefully the error being throw isn't totally unrelated but looking at the sync handling for inviteRooms in sync.js, new rooms are stored and _then_ the Room event is emitted. The Room event could trigger setUserListFromRoom, which is where the bug was. So the room should have been stored regardless of this bug and the client should have been recoverable by swapping away and viewing the room again.
2017-07-07 19:43:30 +01:00
Luke Barnard
9a272d4965
Only allow completion of emoji in certain circumstances
...
Which are:
- the emoji to complete is at the start of the query
- there is a whitespace character before the emoji
- there is an emoji before the emoji (so that several emoji can be input in-a-row)
Fixes https://github.com/vector-im/riot-web/issues/4498 (although it seems to be fixed through some other fix)
2017-07-07 19:02:51 +01:00
David Baker
1e713557bb
PR feedback
2017-07-07 18:34:40 +01:00
Kegan Dougal
f2d243443b
Suppress more errors from spurious postMessage calls on the demo instance
2017-07-07 17:44:25 +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
Richard Lewis
0a1647e5c6
Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/apps
2017-07-07 09:48:24 +01:00
Luke Barnard
7fdbec4046
Merge pull request #1195 from matrix-org/luke/fix-rte-emoji-suggestions2
...
Alter EMOJI_REGEX to include end of string ($)
2017-07-06 21:59:44 +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
Luke Barnard
0a4f8ffead
Alter EMOJI_REGEX to include end of string ($)
...
Fixes https://github.com/vector-im/riot-web/issues/4529 because the match must include the remainder of the query.
2017-07-06 18:11:46 +01:00
David Baker
282b63d0cf
Merge pull request #1193 from matrix-org/luke/fix-create-room-preview
...
Fix vector-im/riot-web#4526 by pretending to join when creating a room
2017-07-06 17:58:30 +01:00
Luke Barnard
a921059432
Fix vector-im/riot-web#4526 by pretending to join
...
I thought about adding separate dispatches to prevent confusion but if anyone adds anything that listens to existing dispatches, they really ought to be grep-ing the world for said dispatch actions.
2017-07-06 17:40:27 +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