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 hide
ing 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
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
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
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
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
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
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
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
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
Luke Barnard
f73fa4b49b
Move processing into renamed function processHtmlforSending
...
And explain why this fix is necessary
2017-06-28 11:49:50 +01:00
Luke Barnard
1523d304f2
WIP to prevent RTE from deleting current message input when up arrow pressed
2017-06-28 10:30:59 +01:00
Richard Lewis
ad2517bd8b
Uppercase the first letter of the app tile name.
2017-06-28 10:27:06 +01:00
Luke Barnard
69589c19e7
Work around draft-js-export-html#62 by post-processing <br>\n
...
Fixes https://github.com/vector-im/riot-web/issues/4446 by post-processing the output HTML from draft-js-export-html by replacing `<br>\n` with `<br>`. This works for content within or outside of `<pre>`. If we replace with `\n` instead, the newlines only apply in `<pre>` tags so we use `<br>`.
2017-06-27 18:33:45 +01:00
Richard Lewis
3872f0750c
Only show apps button if labs feature enabled.
2017-06-27 17:40:28 +01:00
Richard Lewis
338a4db87f
Only show apps drawer if matrix apps labs setting ids enabled
2017-06-27 17:40:09 +01:00
Luke Barnard
5307731dfd
Overide default draft-js handling of pasting text/html
...
This is surprisingly needed to avoid an issue with draft-js that causes multi-line madness when pasting code and then applying format-as-code to it - https://github.com/vector-im/riot-web/issues/2120#issuecomment-271735729 .
The issue sounds like it is https://github.com/facebook/draft-js/issues/170#issuecomment-195026203 and the suggstion is to override the text pasting handler https://github.com/facebook/draft-js/issues/170#issuecomment-215983216 . Meanwhile they haven't modified the default pasting behaviour afaics.
I've discovered a separate issue that is apparent even after this suggested fix. (https://github.com/vector-im/riot-web/issues/4446 )
2017-06-27 17:10:28 +01:00
Luke Barnard
4645ba1bba
Merge pull request #1150 from matrix-org/luke/fix-rte-dev-tools-toggle
...
Allow toggling of dev tools when RTE focussed
2017-06-27 15:38:19 +01:00
Luke Barnard
ba31a32440
Allow toggling of dev tools when RTE focussed
2017-06-27 15:17:57 +01:00