David Baker
a32113ad97
Add onChange handlers & tabIndexes
2017-07-17 14:40:38 +01:00
Luke Barnard
31290f3377
Remove redundant, unused decorators from RTE
...
These have since been replaced by decorators that operator whether in MD mode or otherwise. This might not be optimal because LINK entities do not appear in MD mode at all at the moment, but instead you see the ()[] md notation version.
2017-07-17 14:27:50 +01:00
Richard Lewis
6aa0f68ee9
Show beta testing icon and help message for widgets tile.
2017-07-14 23:31:57 +01:00
Luke Barnard
ee5117525c
Merge pull request #1225 from matrix-org/luke/feature-rte-pills
...
Decorate http://matrix.to links in the composer as pills
2017-07-14 17:47:16 +01:00
David Baker
f6f80bf9ce
Remove now unused 'edit' block
...
And add some css classes
2017-07-14 17:22:17 +01:00
David Baker
3aed1a6293
Merge pull request #1224 from matrix-org/rav/upload_progress
...
Fix file uploading
2017-07-14 17:18:48 +01:00
Luke Barnard
434660166c
Decorate http://matrix.to links in the composer as pills
...
Any links in the composer that are recognised as matrix.to links will be decorated as `<span>`s with CSS classes (one of mx_UserPill or mx_RoomPill). This implementation has the nice bonus that switching to markdown (and back) will Just Work.
This will have some CSS changes coming to better match the design.
2017-07-14 17:04:28 +01:00
Richard van der Hoff
ad085a6273
Fix file uploading
...
File uploading no longer supports the .progress API; we now need to pass a
callback to get updates on the upload.
2017-07-14 17:01:03 +01:00
Richard van der Hoff
2a52c902e2
Merge pull request #1223 from matrix-org/rav/roomsettings_promise_usage
...
Fix RoomSettings save
2017-07-14 14:47:14 +01:00
Richard van der Hoff
9df1fb91ff
Fix RoomSettings save
...
Looks like saving RoomSettings had been broken since 0d7cc59
. `isFulfilled`
cannot be used as a static function.
2017-07-14 14:24:42 +01:00
Kegsay
5274cf59a0
Hook up the edit widget button ( #1218 )
...
* Hook up the edit widget button
* Review comments
2017-07-14 11:17:59 +01:00
Luke Barnard
1db2431c9f
Merge pull request #1222 from matrix-org/luke/fix-rte-allow-split-code-block
...
Add code-block to the list of blocks where hitting return will split-…
2017-07-14 09:48:47 +01:00
Luke Barnard
219c00bbc3
Add code-block to the list of blocks where hitting return will split-block
...
Hitting return in a code-block will now split the block into two code blocks. (Holding shift will still insert a soft newline into the current block).
We still need to make it a bit more obvious that consecutive code-blocks
are not contiguous - https://github.com/vector-im/riot-web/issues/4535
2017-07-13 18:42:37 +01:00
David Baker
381f685013
Start on editing groups
2017-07-13 18:41:51 +01:00
Luke Barnard
7945abe6b9
Merge pull request #1219 from matrix-org/luke/fix-autcompleter-promises
...
Fix Autocompleter promises
2017-07-13 18:11:45 +01:00
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
Luke Barnard
3e93930dcc
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into develop
2017-07-06 11:18:10 +01:00
Luke Barnard
6b6af3f148
Remove RTE content_state logging
2017-07-06 11:17:54 +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
14ddf4e2aa
Merge pull request #1187 from matrix-org/luke/fix-rte-emoji-filter-supported
...
Filter out unsupported emoji from the emoji meta data
2017-07-05 18:21:50 +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
89d0ec4de8
Merge pull request #1179 from matrix-org/luke/fix-query-matcher-empty-query
...
Don't try to match with an empty query string
2017-07-05 18:20:25 +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
2de4dd7b71
Filter out unsupported emoji from the emoji meta data
...
Because apparently emojione provides meta data for more than the emojis it supports itself.
Fixes https://github.com/vector-im/riot-web/issues/4504
2017-07-05 17:09:16 +01:00
Richard van der Hoff
a20ed2f632
Add some logging to track down flaky test
...
We had a test failure where apparently the MatrixClient failed to start
... let's try and figure out why.
2017-07-05 16:20:21 +01:00
Luke Barnard
b3db6344ae
Fix import for Rooms so that DMs can be created
2017-07-05 15:00:50 +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
df23a6cd85
Use Object.assign to set initial state of MessageComposerStore
...
Otherwise we just modify the initial state when running
2017-07-05 13:38:34 +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
710ee69418
Don't try to match with an empty query string
...
This was causing UserProvider to give results because every string happens to start with empty string and its regex also acepts the empty string.
2017-07-04 17:32:07 +01:00
Luke Barnard
0af77e8913
Merge pull request #1177 from matrix-org/luke/fix-rte-prefix-matching
...
Only match users by matchgin displayname or user ID prefixes
2017-07-04 17:09:39 +01:00
Luke Barnard
2861adc830
Only truncate autocomplete pulls of Emoji, Room and UserProvider
...
Leaving Commands and DuckDuckGo not truncated
2017-07-04 16:50:50 +01:00
Luke Barnard
6a80875c01
Only match users by matchgin displayname or user ID prefixes
...
Because tab completing "k" probably shouldn't give you "luke"
Fixes https://github.com/vector-im/riot-web/issues/4495
2017-07-04 16:29:06 +01:00
Luke Barnard
77348e6201
Remove spurious, unused code
2017-07-04 15:20:00 +01:00
Luke Barnard
e6ec5742be
_t should be used on string literals
...
For scripts to easily find translations
2017-07-04 15:06:24 +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
Luke Barnard
e688eca823
Improve the sorting applied to the sorting of autocomplete results
...
QueryMatcher: sort results based on the position of the query within the matching value. The closer to the beginning of the word, the higher the result apears.
UserProvider: perf improvement (slice early) and refactor onUserSpoke
2017-07-04 13:53:06 +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
c84d707124
Merge pull request #1169 from matrix-org/t3chguy/add-missing-autocomplete-commands
...
add missing commands to the Autocomplete CommandProvider
2017-07-04 10:32:29 +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
fc379e2a15
fix typos post-luke-review
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-03 19:24:18 +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
Luke Barnard
b8dacd3bb1
Merge pull request #1165 from turt2live/travis/pad-12h
...
Don't pad 12h timestamps
2017-07-03 16:43:23 +01:00
turt2live
45559f7cf0
AM/PM strings
...
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-07-03 09:25:03 -06: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
661a0f3956
de-lint Resend, RoomListSorter, UserActivity
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:50:22 +01:00
Michael Telatynski
8bf13f8f48
de-lint email, extend
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:43:18 +01:00
Michael Telatynski
f514f1ff74
de-lint DateUtils
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:42:12 +01:00
Michael Telatynski
b937957609
de-lint createRoom
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:40:46 +01:00
Michael Telatynski
7da14d7078
de-lint ObjectUtils
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:38:32 +01:00
Michael Telatynski
68fb11d2bf
de-lint LifecycleStore
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:35:40 +01:00
Michael Telatynski
a270c85295
de-lint Entities
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:34:20 +01:00
Michael Telatynski
fdd8df87b0
de-lint PasswordReset
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:31:59 +01:00
Michael Telatynski
b98c105dcc
de-lint Skinner, RoomNotifs
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:28:12 +01:00
Michael Telatynski
b8ad0957b2
de-lint AddThreepid
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:21:28 +01:00
Michael Telatynski
09ae6bba07
de-lint BasePlatform
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:15:26 +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
Michael Telatynski
fb61a5d68b
post-merge fix
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 13:08:23 +01:00
Michael Telatynski
09f017fdd2
Merge branches 'develop' and 't3chguy/add-missing-autocomplete-commands' of github.com:matrix-org/matrix-react-sdk into t3chguy/add-missing-autocomplete-commands
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
# Conflicts:
# src/autocomplete/CommandProvider.js
# src/i18n/strings/en_EN.json
2017-07-01 13:07:18 +01:00
Michael Telatynski
9dba628f10
add missing commands to the Autocomplete CommandProvider
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 12:55:43 +01:00
Luke Barnard
b315ed630e
Match by emoji ascii regex first before shorthand
...
Plaintext emojis that start with ":" will also match against the shorthand regex but the match won't include the important part of the plaintext emoji. This means some emoji like ":)" won't be matched.
To fix this, put the ascii emoji regex first so that the match will be plaintext or otherwise it will fall through to the shorthand match (if there is one).
Fixes https://github.com/vector-im/riot-web/issues/4467
2017-06-30 16:31:40 +01:00
Travis Ralston
e058dd58e5
Fix overzealous code deletion
...
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-06-30 09:29:40 -06: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
turt2live
01b7d7bb7c
Don't pad 12h timestamps
...
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-06-30 08:44:56 -06:00
Kegsay
11309f34e3
Reference count calls to start/stopListening on ScalarMessaging ( #1164 )
...
Otherwise component mounting/unmounting can race and you end up with nothing
listening.
2017-06-30 15:42:51 +01:00
Kegan Dougal
b8941f76d3
Fix bug which breaks the close button on scalar
2017-06-30 15:42:36 +01:00
Luke Barnard
15cfe5b8e4
Only allow history selection when on the first or last line
...
(of a multi-line or otherwise message in the editor)
2017-06-30 14:27:26 +01:00
David Baker
e5c1aeb14c
Make the Groups page look more like the design
2017-06-30 13:59:49 +01:00
Luke Barnard
e7a2c3b975
Only send HTML when using RTE when necessary
...
When there are no styled blocks or inline styles applied within blocks, just send text instead of HTML.
Also, don't add <br /> for the last <p> (the last block).
Fixes https://github.com/vector-im/riot-web/issues/3147
2017-06-30 11:27:00 +01:00
David Baker
3892362386
Make my groups page a bit saner
2017-06-29 18:30:16 +01:00
David Baker
84e13d5437
Add GroupAvatar to handle fallback images etc.
...
And a few misc tidyups
2017-06-29 17:51:38 +01:00
Luke Barnard
8b8260c509
Move cursor to end of editor when quoting
...
When quoting a message, move the selection to the end of the input box. Fixes https://github.com/vector-im/riot-web/issues/2336
2017-06-29 17:22:34 +01:00
David Baker
d6ecec1987
Behave better on rooms with no avatar / name
...
Also add translation strings
2017-06-29 17:17:43 +01:00
David Baker
f99c540b3d
Groups page / Create Group dialog
2017-06-29 17:03:05 +01:00
Luke Barnard
e5e7dec131
Fix #4422 by persisting the "currently composed" message
...
This allows for browsing through history without losing the message currently being composed.
2017-06-29 17:02:19 +01:00
Luke Barnard
6bd7284161
Be sensible about handling up/down vs tab/tab-shift
...
Fixes https://github.com/vector-im/riot-web/issues/4445
2017-06-29 15:07:06 +01:00
Luke Barnard
982b009b90
Implement ascii emoji tab completion
...
When a fully plaintext, ascii emoji is typed like ";-)", pressing tab will suggest emojione to replace it with based off of the meta data provided by emojione.
e.g. the aliases_ascii for `😃 ` are [":D",":-D","=D"] so typing ":D *tab*" will insert a real 😃
2017-06-29 11:29:55 +01:00
Luke Barnard
8912400675
Add XXX for https://github.com/vector-im/riot-web/issues/4445
2017-06-28 18:05:39 +01:00
Luke Barnard
a3e02f470f
Merge pull request #1156 from matrix-org/luke/fix-rte-debounce
...
Do debouncing for autocomplete in a sane way
2017-06-28 18:03:36 +01:00
Luke Barnard
de81188b13
Do debouncing for autocomplete in a sane way
...
- Fixes https://github.com/vector-im/riot-web/issues/4419
- Fixes https://github.com/matrix-org/matrix-react-sdk/pull/518#issuecomment-285901871
- Fixes https://github.com/matrix-org/matrix-react-sdk/pull/518#issuecomment-285910503
- Fixes bug where the setting being used was the `autocompleteDelay` "syncedSetting" when it should have been the "localSetting" (so the setting being used was always the default)
2017-06-28 17:27:21 +01:00
Luke Barnard
d5585e29b1
Merge pull request #1155 from matrix-org/luke/fix-rte-cursor-at-start-of-history
...
Fix issue where the cursor is put at the start of selected history item
2017-06-28 17:17:56 +01:00
Richard Lewis
d61525e420
Merge pull request #1152 from matrix-org/rxl881/apps
...
Add support for apps
2017-06-28 16:06:20 +01:00