Commit graph

2317 commits

Author SHA1 Message Date
David Baker
bbcf7e1d9b s/inviteList/userList/ 2017-08-15 13:30:13 +01:00
David Baker
fa660c8211 PR feedback 2017-08-15 10:57:24 +01:00
David Baker
64f352dda7 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-15 10:49:07 +01:00
Luke Barnard
004cc42cfc Merge pull request #1298 from matrix-org/luke/store-history-as-raw-content
Store history as raw content
2017-08-15 09:18:22 +01:00
Luke Barnard
6baca05968 Merge pull request #1297 from matrix-org/luke/fix-user-pill-onclick
Add onClick to user pills
2017-08-15 09:15:50 +01:00
David Baker
b7b449434d Lint 2017-08-15 09:10:13 +01:00
David Baker
1b66e88b6e ChatInviteDialog -> UserPickerDialog pt 2
The other changes I forgot to add
2017-08-14 17:43:00 +01:00
David Baker
447aa1e5a0 Refactor ChatInviteDialog to be UserPickerDialog
Now it's just a means of choosing users and all the actual inviting
functionality is moved out to Invite.js. This will allow us to
reuse it for inviting to groups.

Adds the ability to restrict what types of addresses may be chosen,
although this isn;t used yet, it will be necessary for groups
because groups don't support 3pid invites.
2017-08-14 17:38:59 +01:00
Luke Barnard
6b1b643d41 Merge branch 'develop' into luke/store-history-as-raw-content 2017-08-14 16:42:22 +01:00
Luke Barnard
9742962d61 preventDefault when moving autocomplete selection with vertical arrow
Otherwise the composer selection updates, in turn hiding the autocomplete box - fixes vector-im/riot-web#4790
2017-08-14 15:16:13 +01:00
Luke Barnard
bb229d33a4 Add onClick to user pills
instead of using the converted matrix.to href. This is undesirable and a better solution would be to fix routing in Riot in general and then change user pills to do something like `/room/../member/@userId`.
2017-08-14 14:44:08 +01:00
Richard Lewis
454ec40b00 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/appFixes 2017-08-11 10:35:20 +01:00
Richard Lewis
0323151bee Show a dialog if the maximum number of widgets allowed has been reached. 2017-08-10 23:53:43 +01:00
Michael Telatynski
41843f021d
don't track two more potential risks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 15:21:01 +01:00
Michael Telatynski
56ea528f43
don't track error messages .2
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 15:17:52 +01:00
Michael Telatynski
b19c1010aa
Merge branches 'develop' and 't3chguy/i18n_analytics' of github.com:matrix-org/matrix-react-sdk into t3chguy/i18n_analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	src/Analytics.js
2017-08-10 13:54:55 +01:00
Michael Telatynski
67f9c3774d
make string more human-friendly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:51:47 +01:00
Michael Telatynski
24599ace32
don't track error messages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:49:11 +01:00
Luke Barnard
b2fd4be166 Merge pull request #1289 from matrix-org/luke/fix-quote-innerText
Quote by taking the innerText of eventTiles
2017-08-10 10:35:49 +01:00
Luke Barnard
678c472b75 Quote by taking the innerText of eventTiles
because using `body` gives inconsistent results - sometimes it will contain markdown and sometimes not, and this may not correspond with the `formatted_body`.

TODO: Do quoting proper - using `in_response_to`.
2017-08-10 10:14:14 +01:00
Luke Barnard
390e77ee22 Merge pull request #1288 from matrix-org/luke/track-richtext-mode
Track whether the user has richtext mode enabled
2017-08-10 09:31:09 +01:00
Luke Barnard
fc6977e68d Track RT mode once we've retrieved the setting from account data 2017-08-09 19:00:38 +01:00
Luke Barnard
e121440d05 Track whether the user has richtext mode enabled 2017-08-09 18:39:06 +01:00
David Baker
f4092cc9b4 Merge pull request #1287 from matrix-org/luke/fix-hide-autocomp-on-selection-change
Hide autocomplete when RTE selection state (cursor) changes
2017-08-09 18:21:25 +01:00
David Baker
4daf9064d9 Convert to API objects
& remove redundant power label
2017-08-09 18:15:31 +01:00
Luke Barnard
794bf820cc Merge pull request #1259 from matrix-org/t3chguy/fix-select-mxid-dialog
Fix Set MXID Dialog woes
2017-08-09 17:53:50 +01:00
Luke Barnard
2d47d3d2c3 Hide autocomplete when RTE selection state (cursor) changes 2017-08-09 17:36:35 +01:00
Michael Telatynski
579090a4e3 add comment 2017-08-09 16:37:38 +01:00
Richard Lewis
185379b037 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/appFixes 2017-08-09 14:07:45 +01:00
David Baker
c1546ceb59 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-09 13:46:15 +01:00
Richard Lewis
4bc25f12cb Move manage integrations button in to stand-alone component 2017-08-09 11:44:24 +01:00
Luke Barnard
610b2a3a42 For mentions, always use rawDisplayName and remove (IRC) 2017-08-09 10:40:06 +01:00
David Baker
8426ada24c Merge pull request #1282 from matrix-org/rav/show_unencrypted_messages_as_unencrypted
Show unencrypted messages as unencrypted
2017-08-08 18:11:56 +01:00
Richard van der Hoff
da85cb9f45 Show unencrypted messages as unencrypted
Previously, we were special-casing outgoing messages such that they were shown
as encrypted even when encryption had failed for some reason.

There's no need for this: outgoing messages have a working isEncrypted() method
which we can use to show whether the event has been encrypted yet. Arguably we
could do better than an open padlock for events in the 'encrypting' send state,
but I'm not really sure what.
2017-08-08 17:49:41 +01:00
David Baker
b76b6791b2 Merge pull request #1279 from matrix-org/luke/fix-quoting-messages-with-mentions
Always use message `body` when quoting
2017-08-08 17:47:25 +01:00
Luke Barnard
cb8a66b5a1 When hideing autocomplete, also remove completion state 2017-08-08 17:25:11 +01:00
Luke Barnard
503fa6a7b3 Always use message body when quoting
(not formatted_body)

This is because draft-js has regressed with a bug that causes some entities to not exist within a given ContentState - see vector-im/riot-web#4756
2017-08-08 14:59:56 +01:00
David Baker
ca2273519d Merge pull request #1277 from matrix-org/luke/feature-pills-hide-avatar-setting
Add optional setting for hiding avatars in <Pill>s
2017-08-08 14:01:34 +01:00
Luke Barnard
91a1cc4431 Mandate ctrl/meta ONLY for a subset of key bindings
Because by default dratf-js doesn't check that other modifiers are _not_ pressed.
2017-08-08 13:36:43 +01:00
Luke Barnard
b08d32371d Add optional setting for hiding avatars in <Pill>s
As part of https://github.com/vector-im/riot-web/issues/4640#issuecomment-316659445
2017-08-08 11:13:29 +01:00
Luke Barnard
7018deee44 Fix ctrl+a, backspace toggling block format
Now it will delete the selected range (and not toggle the block format). Fixes vector-im/riot-web#4753
2017-08-07 17:16:42 +01:00
Luke Barnard
641fda0162 Adjust comment 2017-08-07 16:29:22 +01:00
Luke Barnard
d9d8f2055f Allow default for ctrl+shift+b, ctrl+shift+u in RTE
fixes vector-im/riot-web#4750
2017-08-07 16:23:37 +01:00
Richard Lewis
18ae5fd129 Send messages on widget addition and deletion 2017-08-06 11:01:14 +01:00
Richard Lewis
308d932b2f CancelClick prop. 2017-08-06 10:29:43 +01:00
Richard Lewis
a22e768343 Move room settings button to RoomHeader 2017-08-06 10:01:48 +01:00
Michael Telatynski
c4803c6d89
suppressOnHover for member entity tiles which have no onClick
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-05 13:01:19 +01:00
Richard Lewis
1973b2bbe7 Switch app drawer icons 2017-08-05 00:00:19 +01:00
David Baker
234a88c098 WIP group member list/tiles 2017-08-04 15:00:34 +01:00
Luke Barnard
a27eefd893 Fix a couple of more errors due to API changes 2017-08-03 15:20:44 +01:00
Luke Barnard
901cbf495d Update decorator strategy API in accordance with recent changes to 0.11.0
See 590cdc6c54, which is a change to the API not mentioned in the migration to v0.10 notes https://draftjs.org/docs/v0-10-api-migration.html
2017-08-03 12:02:29 +01:00
Luke Barnard
1d1cd5f691 Reflect API change for decorator strategy 2017-08-03 11:36:07 +01:00
Luke Barnard
fb5dc295aa Reflect API change for getting an Entity 2017-08-03 11:29:26 +01:00
Luke Barnard
124795006c Reflect API change for creating an Entity 2017-08-03 11:18:56 +01:00
Richard Lewis
5752345b80 Merge pull request #1263 from matrix-org/rxl881/warnings
Display warning if widget is mixed content
2017-08-02 17:30:46 +01:00
Richard Lewis
7599bde1f6 Fix logging line length. 2017-08-02 17:05:46 +01:00
Kegan Dougal
c914f1607b scalar-develop is a scalar URL 2017-08-02 14:35:14 +01:00
Richard Lewis
48faf72fdc Disable eslint rule 2017-08-01 21:00:18 +01:00
Richard Lewis
2ab6bc84a7 Improve clarity 2017-08-01 17:49:41 +01:00
Richard Lewis
f0224460d2 Fix comparison and handle case where app has permission to load but content is mixed protocol. 2017-08-01 17:48:02 +01:00
Richard Lewis
d29610bdd2 Fix boolean comparison. 2017-08-01 17:45:06 +01:00
Richard Lewis
f57b0d4cc7 Fix invalid translation 2017-08-01 17:43:38 +01:00
Richard Lewis
bc4d979d1e Display warning if widget is mixed content 2017-08-01 17:29:29 +01:00
Luke Barnard
a40a86669a Merge pull request #1260 from matrix-org/luke/fix-rte-pills-not-updating
Use componentWillReceiveProps to update pill state when props change
2017-08-01 16:30:25 +01:00
Luke Barnard
630c2968eb Use componentWillReceiveProps 2017-08-01 16:20:32 +01:00
Luke Barnard
71abd3aff8 Revert setting of key 2017-08-01 16:14:12 +01:00
Luke Barnard
7fcb8c5ff0 Merge pull request #1261 from matrix-org/luke/fix-agressive-emoji-auto-replace
Only auto-replace emoji following ^ or \s
2017-08-01 15:56:42 +01:00
Richard Lewis
546173d246 Fix scalar token 2017-08-01 15:53:42 +01:00
Luke Barnard
438b63bee2 Only auto-replace emoji following ^ or \s
So as not to cause issues when typing e.g. `This is what was tested: ` (the "d:" used to be transformed into an emoji)
2017-08-01 14:26:30 +01:00
Luke Barnard
9e71ba26c4 Add key prop to RTE decorated entities (Pills and links)
This will cause a re-render when the URL of the pill/link changes.

fixes vector-im/riot-web#4718
2017-08-01 13:51:08 +01:00
Richard Lewis
abae43b65e Merge pull request #1257 from matrix-org/rxl881/widgetPermissions
Widget permissions
2017-08-01 12:13:09 +01:00
Richard Lewis
5f8e86197f Check that wurl is scalar, before checking for curl 2017-08-01 12:00:03 +01:00
Richard Lewis
596efb6062 Fix missing comma 2017-08-01 11:42:50 +01:00
Richard Lewis
15f39040a0 Simplify canUserModifyWidgets API 2017-08-01 11:39:17 +01:00
Michael Telatynski
62af06104d
resolve -> reject because semantics. 2017-07-31 14:22:05 +01:00
Michael Telatynski
f310d4446c
i18n the title of the set mxid dialog 2017-07-31 13:31:07 +01:00
Michael Telatynski
25d1d21d93
copy logic from RegistrationForm to detect invalid localparts 2017-07-31 13:28:43 +01:00
Michael Telatynski
4bdaa15c47
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/i18n_analytics 2017-07-28 21:01:59 +01:00
Richard Lewis
a310ff3bab Add ToDo item. 2017-07-28 18:21:23 +01:00
Richard Lewis
6aa1d923ce Add comment 2017-07-28 16:48:13 +01:00
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
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
Richard Lewis
76f4f88fcd App tile permissions -- broken 2017-07-26 11:28:43 +01:00
David Baker
7469a9ae2a Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-07-25 17:20:16 +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
David Baker
c2034d5335 Add user list to groups 2017-07-25 15:56:16 +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
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
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
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
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
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
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
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
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
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
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
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
David Baker
a48c7d2364 Only allow http and https widget URLs 2017-07-12 14:16:47 +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
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
4e49ebd6ce Change incorrect refs to this.props 2017-07-11 14:31:07 +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
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
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