Commit graph

4754 commits

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