Commit graph

3594 commits

Author SHA1 Message Date
Richard Lewis
9935dd0051 Add comment to explain "fullWidth" component porperty. 2017-07-28 16:46:21 +01:00
Richard Lewis
8529a21f5c Translate "Allow" 2017-07-28 16:42:07 +01:00
Richard Lewis
700ef34e95 Translate warning 2017-07-28 16:39:18 +01:00
Richard Lewis
4308d2c635 Inline setState. 2017-07-28 16:36:06 +01:00
Richard Lewis
50ad80ad86 Use ES6 style import 2017-07-28 16:24:32 +01:00
Richard Lewis
2e6fb1f956 Fix license header 2017-07-28 16:23:49 +01:00
Richard Lewis
6238c1d704 Fix default prop initialisation 2017-07-28 16:23:38 +01:00
Luke Barnard
8a5f2bf2ca Interpret a split-block as format toggle for an empty block
(`split-block` is emitted when "return" is pressed)

part of fixing https://github.com/vector-im/riot-web/issues/4580
2017-07-28 14:46:57 +01:00
Richard Lewis
aff1cd9469 Add allow-presentation permission to iframe sandbox permissions 2017-07-28 11:14:04 +01:00
Richard Lewis
11335b1488 Rename variable to curlBase, for clarity 2017-07-28 10:18:06 +01:00
Richard Lewis
e1d9301eb4 Strip query parameters from content URLs 2017-07-28 10:01:58 +01:00
Richard Lewis
d69c9a36b3 Factor out check permissions code. 2017-07-27 23:38:26 +01:00
Richard Lewis
20a1693c71 Only display add app link if user has permission to add widgets in the room. 2017-07-27 23:38:02 +01:00
Richard Lewis
5e23d676b4 Remove comments. 2017-07-27 23:05:43 +01:00
Richard Lewis
51d160e7d6 Hide edit button when user does not have permission to edit. 2017-07-27 20:18:31 +01:00
Luke Barnard
6cb8b12cda Instead of inserting MD for completion, convert the Entity later
This makes sure that the length of the range for a completed Entity = the length of the text in the decoration, which apparently draftjs assumes when calculating selection state offsets.

Fixes https://github.com/vector-im/riot-web/issues/4666
2017-07-27 18:17:41 +01:00
Richard Lewis
ab7fcbb5e7 Add function to determine if a user can modify widgets and style UI components as a result. 2017-07-27 18:10:28 +01:00
Richard Lewis
27923e300c Add JSX wrapper. 2017-07-27 17:47:04 +01:00
Michael Telatynski
bf98c0da7c
un-i18n Modal Analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-27 17:19:18 +01:00
Richard Lewis
9ee1f3962d Set display URL from wurl if curl not specified. 2017-07-27 16:42:29 +01:00
Richard Lewis
8e4f1f0989 Add message spinner. 2017-07-27 16:41:52 +01:00
Richard Lewis
f2058e0a6c Add message spinner component. 2017-07-27 16:41:20 +01:00
David Baker
92746f8cb5 Merge pull request #1254 from matrix-org/luke/fix-join-command
Fix /join #alias command in markdown mode
2017-07-27 15:43:02 +01:00
Luke Barnard
5c7891a25b Remove logs 2017-07-27 15:26:36 +01:00
Luke Barnard
e71df44fc9 Fix /join #alias command in markdown mode
Tab-completing a room alias inserts a markdown link, which is now stripped before a command is parsed. We also strip the MD links when doing the autocompletion itself (getAutocompleteQuery).

There is still an issue where `/invite` will not work at all with tab-completion - the text of a user Pill is not the userID but rather the display name, which cannot be used as an argument to the command.
2017-07-27 15:18:06 +01:00
Luke Barnard
dff79c4688 Only apply room pills to matrix.to room links, exclude event links
This fixes https://github.com/vector-im/riot-web/issues/4680
and fixes https://github.com/vector-im/riot-web/issues/4670
2017-07-27 13:01:40 +01:00
Luke Barnard
4d4078be7e Remove disambiguation from pills 2017-07-27 10:54:23 +01:00
Luke Barnard
f19fade448 Strip " (IRC)" from display names inserted into the timeline 2017-07-27 10:50:41 +01:00
Luke Barnard
c4f049effe Merge pull request #1243 from matrix-org/t3chguy/hide-join-part-2
T3chguy/hide join part (attempt) 2
2017-07-26 17:15:43 +01:00
David Baker
9cb28ff33c Merge pull request #1248 from matrix-org/luke/fix-rte-auto-scroll
Scroll to the bottom of editor if on last line
2017-07-26 16:58:36 +01:00
Richard Lewis
9f52c13bea Grant permission to load app widget. 2017-07-26 16:47:58 +01:00
Michael Telatynski
2348c24369
revert the rm-always-moves-down loop as thats done Server side... 2017-07-26 14:33:48 +01:00
Michael Telatynski
3eb87e2aa3
change lastShownEventIndex -> lastShownEvent since some places
do not have the same i reference (namely MELS generation)
this way a member event at bottom of MELS (if is the last event
in the timeline will have last set appropriately)
2017-07-26 12:17:05 +01:00
Michael Telatynski
f42ae1662b
change wording of comment as per Luke's review 2017-07-26 11:46:59 +01:00
Richard Lewis
76f4f88fcd App tile permissions -- broken 2017-07-26 11:28:43 +01:00
Luke Barnard
fc00eaf546 Merge branch 'develop' into luke/store-history-as-raw-content 2017-07-25 17:19:35 +01:00
Luke Barnard
1ef2a2bcf9 Merge pull request #1250 from matrix-org/dbkr/fix_truncatedlist_i18n
Fix i18n on truncatedlist & friends to be sane
2017-07-25 16:17:44 +01:00
David Baker
fa7a9818c6 Fix i19n on truncatedlist & friends to be sane
Use the proper counterpart tool for plurals rather than if > 1.
Fix up all the translation files respectively.
2017-07-25 15:59:06 +01:00
Luke Barnard
7e0fecbc8c Scroll to the bottom of editor if on last line
Make the MessageComposerInput scroll to the bottom if we are on the last line of the contents.

fixes https://github.com/vector-im/riot-web/issues/4652
2017-07-25 15:22:10 +01:00
Luke Barnard
eccdceae33 Rename props to entityProps for clarity 2017-07-25 11:43:12 +01:00
Luke Barnard
143994e44f Use data-offset-key in RTE decorators
This makes sure the selection state is correct when moving the cursor through an entity in the composer but only in rich text mode. https://github.com/vector-im/riot-web/issues/4666 still persists despite this, probably because the text content inserted during a completion in markdown mode has a different length to the text node within the entity.

fixes vector-im/riot-web#4654
2017-07-25 11:25:33 +01:00
Luke Barnard
b372e5d55d Merge pull request #1246 from matrix-org/luke/feature-async-pills
Get user pill profile remote data and show unrecognised rooms as links
2017-07-25 10:21:55 +01:00
Luke Barnard
76e281662b Merge pull request #1229 from matrix-org/dbkr/groupview_edit
UI for editing groups
2017-07-25 10:13:49 +01:00
Luke Barnard
11f3a1db72 Merge branch 'luke/feature-async-pills' of github.com:matrix-org/matrix-react-sdk into luke/feature-async-pills 2017-07-25 09:37:47 +01:00
Luke Barnard
ac597996e0 Remove outdated comment 2017-07-25 09:37:18 +01:00
Luke Barnard
026582bcf7 Add unmounted guard 2017-07-25 09:22:08 +01:00
Luke Barnard
5efd5bf927 done -> then, style 2017-07-25 09:20:14 +01:00
Luke Barnard
d13c4b510c Merge branch 'develop' into luke/feature-async-pills 2017-07-24 17:39:35 +01:00
Luke Barnard
bcd1ab5cd4 Merge pull request #1245 from matrix-org/luke/feature-mentions-ambiguate
Remove disambiguation from user mentions, add tooltip for mxid
2017-07-24 17:36:42 +01:00
Luke Barnard
61c16569cb Get user pill profile remote data
Instead of relying on the local avatar/displayname of a user, request the data from the server and update the pill if it shows up.

This required a slight refactor which means we're not doing everything in `render` now. Also I noticed unknown rooms weren't being rendered _at all_! So now you get something that looks like a normal link but with the room alias/ID in it.
2017-07-24 17:18:29 +01:00
Luke Barnard
727b1ca545 Remove disambiguation from user mentions, add tooltip for mxid
Also add a tooltip for room pills = room alias/ID

Requires: https://github.com/matrix-org/matrix-js-sdk/pull/513
2017-07-24 15:08:22 +01:00
Luke Barnard
dc09ad8db4 Re-add NL 2017-07-24 14:50:44 +01:00
Luke Barnard
6945fa54ea Reimplement so that only tab-completed mentions are stripped
Instead of blindly stripping all MD mentions, only strip those that were tab-completed. We do this by adding the `isCompleted` flag to the Entity data.
2017-07-24 14:41:13 +01:00
Luke Barnard
397201a74d Remove subjective comment 2017-07-24 09:41:46 +01:00
Michael Telatynski
8e66e64621
fix for loop - check happens before pre-inc so cause issues at end of TL
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 13:16:16 +01:00
Michael Telatynski
c9b547368b
add algo to ensure that RM always moves forwards
this is needed so that if a client which does not hide any events
sets and RM at bottom of timeline, then riot-web which hides events
sets the RM it'd set it at X-N where X is bottom and N is the amount of
hidden events at bottom of the timeline, this way now an RM will
fall through to the hidden events below a seen event.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 13:10:57 +01:00
Michael Telatynski
a4abd1baa7
fix comment and remove unused const
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 12:03:32 +01:00
Michael Telatynski
ae973e1e99
unrevert some more...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 11:37:21 +01:00
Michael Telatynski
7e355f7cda
unrevert most of the logic.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 23:18:18 +01:00
Michael Telatynski
1fa4fe0b9a
remove comments/commented code
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 22:51:31 +01:00
Michael Telatynski
5808fce60e
fix logic ordering
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 22:45:19 +01:00
Michael Telatynski
17758cd1db
attempt to incorporate more code #2
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 20:43:03 +01:00
Michael Telatynski
e47e14ed19
attempt to incorporate more code #1
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 20:22:01 +01:00
Michael Telatynski
928294eba3
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/hide-join-part-2 2017-07-21 19:23:42 +01:00
Luke Barnard
e315b30f6a Merge branch 'develop' into luke/fix-rte-pt-md-mentions 2017-07-21 18:06:31 +01:00
Luke Barnard
eb0575d9c1 Merge pull request #1241 from matrix-org/luke/refactor-pills
Factor out shared logic in two code-paths for pill rendering
2017-07-21 17:54:20 +01:00
Luke Barnard
feaafc7a1a Remove logging 2017-07-21 17:18:48 +01:00
Luke Barnard
e8495f637f Strip MD mentions from the body of sent messages
Because previously we just sent the display name and MD links are not very readable.
2017-07-21 16:38:31 +01:00
David Baker
f9cff50ef5 _loadGroupFromServer doesn't return a promise 2017-07-21 14:41:29 +01:00
David Baker
d48924e768 Lint 2017-07-21 14:30:09 +01:00
David Baker
be7228996a This should be null rather than false 2017-07-21 14:18:28 +01:00
David Baker
4eda2ab083 Swap classes instead of using 0 height elements 2017-07-21 14:13:57 +01:00
Luke Barnard
7db7192701 Factor out shared logic in two code-paths for pill rendering
This isn't an entirely side-effect-free refactoring:
 - the text of the timeline pills is now either the room ID/alias or user ID/ display name of the linked resource (which means that until we do a roundtrip to get user displaynames, mentions for users not in the current room will have their user IDs shown instead of what was in the link body).
 - timeline links to rooms without avatars are now rendered as links
 - fixed issue that would throw an error whilst rendering (i.e. unusable client) a room link to a room that the client doesn't know about
2017-07-21 14:07:48 +01:00
David Baker
3c44af11f7 Revert changes to ChangeAvatar
This component was basically adding nothing for group editing
2017-07-21 14:06:08 +01:00
David Baker
f2afd852d8 Make group editing work 2017-07-21 14:03:10 +01:00
Richard Lewis
b589fcc3b0 Merge pull request #1240 from matrix-org/rxl881/deleteWidgets
Hide widget panel while it is being deleted.
2017-07-21 11:14:42 +01:00
David Baker
571fada77e Make group profile editing mostly work
apart from avatars
2017-07-21 11:12:15 +01:00
Luke Barnard
bac22cfb7c Re-add removal of (IRC) suffix 2017-07-20 18:04:12 +01:00
Luke Barnard
08cc0c421d insert_displayname -> insert_mention 2017-07-20 18:02:54 +01:00
Luke Barnard
0cc890c020 WIP store history as raw content state
Not sure this solves any problems because we still have to convert from md and back
2017-07-20 18:01:39 +01:00
Luke Barnard
0600c5b049 Pretend that insert_displayname is a completion on that user
This has the advantage of us not reimplementing things and fixing the same bugs twice.
2017-07-20 16:46:53 +01:00
Luke Barnard
4bee9bd8c7 Merge branch 'develop' into luke/feature-rte-insert-pills-on-click-tl-profile 2017-07-20 15:48:38 +01:00
Luke Barnard
0419eff230 Insert pill onClick of timeline profile
When clicking someone in the timeline, insert a user pill instead of the plaintext "displayname:"
2017-07-20 15:46:36 +01:00
Luke Barnard
26b16b076c Merge pull request #1238 from matrix-org/luke/fix-rte-md-mentions
Insert MD links when autocompleting in MD mode
2017-07-20 15:32:36 +01:00
Luke Barnard
e893f994e1 Default to first room alias and then roomID 2017-07-20 15:17:07 +01:00
Luke Barnard
84fe51a162 Insert MD links when autocompleting in MD mode
These will appear decorated because they are inserted as entities. It was necessary to modify pills to have an explicit linkText that is derived from the `href` being pillified (and is thus no longer the inserted completion but rather the display name (or user ID) or room alias.
2017-07-20 15:09:59 +01:00
Richard Lewis
563f5f7bac Merge pull request #1226 from matrix-org/rxl881/beta
Show beta testing icon and help message for widgets tile.
2017-07-20 14:04:53 +01:00
Luke Barnard
352f70f9ce Implement old composer feature that inserts ': ' or ' '
after a user completion
2017-07-20 11:52:18 +01:00
Richard van der Hoff
0e8ad75248 Merge pull request #1233 from matrix-org/rav/async_crypto
Prepare for asynchronous e2e APIs
2017-07-19 21:11:36 +01:00
Luke Barnard
2f293adad5 Fix userId undefined in pillifyLinks 2017-07-19 18:21:26 +01:00
Luke Barnard
ecaf6e5223 Merge pull request #1234 from matrix-org/luke/feature-mention-pill
Add mx_UserPill_me class to user pills that match credentials.userId
2017-07-19 17:56:24 +01:00
Luke Barnard
61d5d078dd Merge pull request #1235 from matrix-org/luke/fix-rte-inline-code-format
Mimic ctrl+j of RT mode in MD mode
2017-07-19 17:44:56 +01:00
Luke Barnard
5d1b33d2a8 Merge branch 'develop' into luke/feature-mention-pill 2017-07-19 17:22:03 +01:00
Luke Barnard
3a53fabb87 Merge pull request #1228 from matrix-org/luke/feature-auto-complete-matrixto-pills
Implement composer completion user/room pill insertion
2017-07-19 17:19:47 +01:00
Luke Barnard
29b6d70aff Merge branch 'develop' into luke/fix-rte-inline-code-format 2017-07-19 17:19:25 +01:00
Luke Barnard
d179398cf2 Merge pull request #1227 from matrix-org/luke/feature-matrixto-timeline-pills
Decorate matrix.to anchor tags as mx_UserPill and mx_RoomPill
2017-07-19 17:17:48 +01:00
Luke Barnard
28c98d93d1 Mimic ctrl+j of RT mode in MD mode
by inspecting whether multiple lines are selected or the selection is empty. If either of these are true, insert a code block surrounding the selection, otherwise insert single backticks around the selection for inline code formatting.
2017-07-19 16:13:47 +01:00
Luke Barnard
b131637a11 Add mx_UserPill_me class to user pills that match credentials.userId 2017-07-19 11:00:26 +01:00
Richard van der Hoff
4998d1b359 Prepare for asynchronous e2e APIs
the js-sdk is making some of its APIs asynchronous, and adding an `initCrypto`
method which you have to call.

Particular methods we need to worry about are:

* `getStoredDevice`
* `getStoredDevicesForUser`
* `getEventSenderDeviceInfo`
* `isEventSenderVerified`
2017-07-18 23:47:36 +01:00
Luke Barnard
98ca937fef Interpret backspace at start of style block as block style toggle
Part of fixing https://github.com/vector-im/riot-web/issues/4580
2017-07-18 17:52:04 +01:00
Luke Barnard
d207ee5244 Expand groups into variables with readable names 2017-07-17 19:31:36 +01:00
David Baker
859239f881 Lint / comment out line correctly 2017-07-17 18:13:20 +01:00
David Baker
7041106bf2 Merge remote-tracking branch 'origin/develop' into dbkr/groupview_edit 2017-07-17 17:23:02 +01:00
David Baker
6f65128928 Disable edit button again
until we have an API to edit group profile info
2017-07-17 17:18:46 +01:00
David Baker
1cd79fc918 Rename group settings to 'Edit Group' 2017-07-17 17:17:18 +01:00
Luke Barnard
29757fcf11 Merge branch 'luke/feature-matrixto-timeline-pills' into pills 2017-07-17 16:43:46 +01:00
Luke Barnard
897ff05d87 Implement composer completion user/room pill insertion
This modifies the composer completion such that completing a room or user will insert an IMMUTABLE matrix.to LINK Entity for the range that was replaced. Display names will not have a colon after their name anymore as it seemed strange that we would insert one after a pill.
2017-07-17 15:53:29 +01:00
Luke Barnard
b1e3dc406c Decorate matrix.to anchor tags as mx_UserPill and mx_RoomPill
Requires https://github.com/vector-im/riot-web/pull/4597 to look OK
2017-07-17 14:50:45 +01:00
David Baker
a32113ad97 Add onChange handlers & tabIndexes 2017-07-17 14:40:38 +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
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
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
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
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
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
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
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
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
Richard Lewis
ea83d7eee2 Add missing import and fix apps reference. 2017-06-28 15:53:18 +01:00
Luke Barnard
d696373bc2 Fix issue where the cursor is put at the start of selected history item
Leading to strange behaviour when selecting all and deleting it.

Fixes https://github.com/vector-im/riot-web/issues/4450
2017-06-28 15:29:07 +01:00
Luke Barnard
bcb67bb273 Refactor shared code between onUpArrow and onDownArrow 2017-06-28 15:20:16 +01:00
David Baker
a2ff289ed8 Add 'groups' page 2017-06-28 13:56:18 +01:00
Richard Lewis
3a10cda2ca Add translations. 2017-06-28 13:55:18 +01:00
Richard Lewis
f8c064ec25 REmove redundant call to _getApps 2017-06-28 13:45:29 +01:00
Richard Lewis
e70eca0b0c Comment unused code and add TODO to handle scalar errors. 2017-06-28 12:58:09 +01:00
Richard Lewis
d06d066050 Move getInitialState to top of file. 2017-06-28 12:54:47 +01:00
Richard Lewis
e752cc8557 Use 'this' in preference to local reference. 2017-06-28 12:32:38 +01:00
Richard Lewis
481a66ef3c Fix header. 2017-06-28 12:26:05 +01:00
Richard Lewis
93bdfc99df i18n "Cancel" alt text. 2017-06-28 12:25:36 +01:00
Richard Lewis
ddea1f35d2 Fix header. 2017-06-28 12:23:33 +01:00
Richard Lewis
ff1636aaf5 Simplify boolean assignment. 2017-06-28 12:21:05 +01:00
Richard Lewis
06dafdc099 Remove unused state variable. 2017-06-28 12:20:07 +01:00
Richard Lewis
bf2a4afce5 Change to allow setting of DEBUG at run-time. 2017-06-28 12:02:07 +01:00