Commit Graph

5182 Commits (3c149a11ae543ba8fcdb0f364cebce83b8c94e9a)

Author SHA1 Message Date
Richard Lewis 9f8e8ae1fd Split timeline updates in to different PR. 2017-08-08 17:34:54 +01:00
Luke Barnard cb8a66b5a1 When `hide`ing autocomplete, also remove completion state 2017-08-08 17:25:11 +01:00
Luke Barnard a72f38799f Disable autocompletions for users and rooms when entering a command
This only affects commands that take a room alias or user ID as an argument. (Leaving commands such as `/me` unaffected)
2017-08-08 15:58:15 +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 bef6726290 Lint 2017-08-08 13:42:51 +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
David Baker 3639fc0c3c Merge pull request #1276 from matrix-org/luke/fix-rte-completion-raw-disp-name
Use the rawDisplayName for the user provider completion
2017-08-08 10:38:24 +01:00
Luke Barnard 1743c047bd Use the rawDisplayName for the user provider completion
to make sure that the length of text in the decoration (See <Pill>) is equal to the length of text in the completion (underlying text range that the Entity covers).
2017-08-08 10:28:11 +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
Richard Lewis 1973b2bbe7 Switch app drawer icons 2017-08-05 00:00:19 +01:00
Michael Telatynski ffdffb643d
allow hiding of avatar/display name changes 2017-08-04 17:22:01 +01:00
Luke Barnard ee18ddb700 MD-escape URLs/alises/user IDs prior to parsing markdown
So that MD characters in them do not result in formatting being applied.

Fixes https://github.com/vector-im/riot-web/issues/3428
Fixes https://github.com/vector-im/riot-web/issues/4674
2017-08-04 10:02:22 +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
yuurii 4835123256 Added translation using Weblate (Japanese) 2017-08-03 09:15:56 +00:00
Osoitz 5872f2389f Translated using Weblate (Basque)
Currently translated at 100.0% (916 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/eu/
2017-08-03 06:30:46 +00:00
Jeff Huang da2b3c067b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (916 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hant/
2017-08-03 06:11:15 +00: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
Luke Barnard 700dd51584 Merge pull request #1267 from matrix-org/luke/fix-complete-after-blocks
Account for `\n` after each block
2017-08-02 16:41:47 +01:00
Kegan Dougal c914f1607b scalar-develop is a scalar URL 2017-08-02 14:35:14 +01:00
Luke Barnard 1512aff326 Add comments 2017-08-02 11:06:02 +01:00
Luke Barnard 2c86086444 Account for `\n` after each block
when converting from text offsets to selection state.

fixes vector-im/riot-web#4728
2017-08-02 10:51:34 +01:00
Luke Barnard 72c1cf9288 When sorting completions, use matched string, not entire query
Otherwise the results vary depending on where you start autocompleting in your message. We only care about the matched string.
2017-08-02 10:09:00 +01:00
Luke Barnard dbade448c1 Don't try to match query against roomId
We only care about aliases.
2017-08-02 09:40:00 +01:00
Luke Barnard 8053d2933a Order room completions more intuitively
by index of the query in displayedAlias and then length of displayedAlias. (So that aliases where the query appears earlier in the string appear first and if the query is in the same index for two aliases, the shorter one appears first).
2017-08-02 09:35:07 +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
Luke Barnard ff95542549 Adjust emoji sorting such that exact matches/prefixes appear first
fixes https://github.com/vector-im/riot-web/issues/4704
2017-08-01 17:36:41 +01:00
Richard Lewis bc4d979d1e Display warning if widget is mixed content 2017-08-01 17:29:29 +01:00
Osoitz 240a3545d0 Translated using Weblate (Basque)
Currently translated at 29.2% (268 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/eu/
2017-08-01 16:11:16 +00:00
Osoitz 2a82201551 Translated using Weblate (Basque)
Currently translated at 17.1% (157 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/eu/
2017-08-01 16:06:46 +00: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
Osoitz 435455c9f0 Added translation using Weblate (Basque) 2017-08-01 15:29:58 +00: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 46755de962 Fix event type. 2017-08-01 11:41:41 +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
Richard Lewis 6f57fe96f2 Add JS doc to indicate that the function may throw an error. 2017-07-28 16:19:20 +01:00
Richard Lewis a901ca5308 Remove invalid OM license header. 2017-07-28 16:17:18 +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
Andrei Shevchuk f4f85d053d Translated using Weblate (Russian)
Currently translated at 100.0% (916 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/
2017-07-28 07:20:47 +00:00
Andrei Shevchuk c0d312af10 Translated using Weblate (Russian)
Currently translated at 100.0% (916 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/
2017-07-28 03:16:55 +00:00
Andrey 9bbe3871e7 Translated using Weblate (Russian)
Currently translated at 100.0% (916 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/
2017-07-28 00:25:06 +00: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 ccf3c1de7a Add widget utility class. Add static method to determine if user can modify widgets in the specified room. 2017-07-27 23:37:33 +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
Richard Lewis f7e9dd4118 Add edit translation 2017-07-27 19:56:28 +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
Richard Lewis 997c7493eb Add translations for delete widget and revoke widget access. 2017-07-27 17:46:45 +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
Andrei Shevchuk 6e7adedf1e Translated using Weblate (Russian)
Currently translated at 100.0% (916 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/
2017-07-27 11:33:52 +00: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
Javier Quevedo 35ce336c35 Translated using Weblate (Spanish)
Currently translated at 69.2% (634 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/
2017-07-26 18:21:48 +00: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 3b8c408482
update comment to make explain behaviour better 2017-07-26 13:37:33 +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 762e6780d7
fix this hiding unbans as found by Luke's review 2017-07-26 11:51:41 +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
Luke Barnard 2138b4a705 Merge pull request #1249 from uhoreg/imgfix1
allow width, height, alt, title attributes in img
2017-07-25 16:09:01 +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
Hubert Chathi df71502dbb allow width, height, alt, title attributes in img
fixes vector-im/riot-web#4646

Signed-off-by: Hubert Chathi <hubert@uhoreg.ca>
2017-07-25 10:43:40 -04: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
Glandos b15f3c08ea Translated using Weblate (French)
Currently translated at 100.0% (916 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/
2017-07-22 14:12:05 +00: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 b976649b5b
re-add i18n string
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 12:52:19 +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
Lauris Mierkalns 3631870c96 Translated using Weblate (Latvian)
Currently translated at 100.0% (916 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/lv/
2017-07-22 03:05:04 +00: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 3859708114
re-add Unread shouldHideEvent code
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 19:51:13 +01:00
Michael Telatynski 8167c004a8
re-add core logic
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 19:38: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
Alexandre Morignot 511ab7c9ea Translated using Weblate (French)
Currently translated at 100.0% (916 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/
2017-07-20 20:12:48 +00: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 6d7bff83ca Update type Completion 2017-07-20 16:49:23 +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
David Baker 199b771051 Merge pull request #1237 from matrix-org/luke/fix-rte-colon-parity
Implement old composer feature that inserts ': ' or ' '
2017-07-20 13:05:40 +01:00
Luke Barnard 0185119146 Merge pull request #1236 from matrix-org/luke/fix-rte-emoji-match-by-name
Match emojis by long name
2017-07-20 11:53:41 +01:00
Luke Barnard 352f70f9ce Implement old composer feature that inserts ': ' or ' '
after a user completion
2017-07-20 11:52:18 +01:00
Luke Barnard b3df546cb9 Fix comment 2017-07-20 10:51:15 +01:00
LuPa 206c771eb1 Translated using Weblate (Spanish)
Currently translated at 68.2% (625 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/
2017-07-20 09:15:25 +00:00
Luke Barnard a7feb58b63 Match emojis by long name
For example, searching for `:tong` will now match `:stuck_out_tongue` because the query `:tong` has all non-word characters removed, becoming `tong` and is then matched against the (long) names of emojis such as `smiling face with open mouth and tightly-closed eyes`.
2017-07-20 10:01:58 +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 75ca141cf9 Merge pull request #1232 from matrix-org/luke/fix-rte-backspace-unstyled-block
Interpret backspace at start of style block as block style toggle
2017-07-19 17:16:34 +01:00
Richard van der Hoff 8d7ff127f1 Merge pull request #1231 from matrix-org/luke/fix-rte-duplicate-autocompletions
Use _uniq instead of _sortedUniq for return unique matched results
2017-07-19 17:05:12 +01:00
Luke Barnard c8722292e3 Don't truncate EmojiProvider completion pills 2017-07-19 16:20:57 +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 b185f43d3d Use _uniq instead of _sortedUniq for return unique matched results
_sortedUniq claims to be like _uniq but optimised for sorted arrays - https://lodash.com/docs/4.17.4#sortedUniqBy. But in practice this isn't quite true, so stick with the unoptimised version.
2017-07-18 16:23:54 +01:00
David Baker 8a818d250f Merge remote-tracking branch 'origin/develop' into dbkr/groupview_edit 2017-07-18 11:34:48 +01:00
David Baker 7cfef04c1f Remove other promise notify 2017-07-18 11:27:21 +01:00
David Baker b261c89a63 Fix inviting multiple people to a room
Removes the promise notify as bluebird doesn't support it. It's
also not used anywhere now.

Fixes https://github.com/vector-im/riot-web/issues/4614
2017-07-18 11:11:42 +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
Luke Barnard 31290f3377 Remove redundant, unused decorators from RTE
These have since been replaced by decorators that operator whether in MD mode or otherwise. This might not be optimal because LINK entities do not appear in MD mode at all at the moment, but instead you see the ()[] md notation version.
2017-07-17 14:27:50 +01:00
Lauris Mierkalns 57be0cf23d Added translation using Weblate (Latvian) 2017-07-17 03:12:22 +00:00
Richard Lewis 6aa0f68ee9 Show beta testing icon and help message for widgets tile. 2017-07-14 23:31:57 +01:00
Luke Barnard ee5117525c Merge pull request #1225 from matrix-org/luke/feature-rte-pills
Decorate http://matrix.to links in the composer as pills
2017-07-14 17:47:16 +01:00
David Baker f6f80bf9ce Remove now unused 'edit' block
And add some css classes
2017-07-14 17:22:17 +01:00
David Baker 3aed1a6293 Merge pull request #1224 from matrix-org/rav/upload_progress
Fix file uploading
2017-07-14 17:18:48 +01:00
Luke Barnard 434660166c Decorate http://matrix.to links in the composer as pills
Any links in the composer that are recognised as matrix.to links will be decorated as `<span>`s with CSS classes (one of mx_UserPill or mx_RoomPill). This implementation has the nice bonus that switching to markdown (and back) will Just Work.

This will have some CSS changes coming to better match the design.
2017-07-14 17:04:28 +01:00
Richard van der Hoff ad085a6273 Fix file uploading
File uploading no longer supports the .progress API; we now need to pass a
callback to get updates on the upload.
2017-07-14 17:01:03 +01:00
Richard van der Hoff 2a52c902e2 Merge pull request #1223 from matrix-org/rav/roomsettings_promise_usage
Fix RoomSettings save
2017-07-14 14:47:14 +01:00
Richard van der Hoff 9df1fb91ff Fix RoomSettings save
Looks like saving RoomSettings had been broken since 0d7cc59. `isFulfilled`
cannot be used as a static function.
2017-07-14 14:24:42 +01:00
Kegsay 5274cf59a0 Hook up the edit widget button (#1218)
* Hook up the edit widget button

* Review comments
2017-07-14 11:17:59 +01:00
Luke Barnard 1db2431c9f Merge pull request #1222 from matrix-org/luke/fix-rte-allow-split-code-block
Add code-block to the list of blocks where hitting return will split-…
2017-07-14 09:48:47 +01:00
Luke Barnard 219c00bbc3 Add code-block to the list of blocks where hitting return will split-block
Hitting return in a code-block will now split the block into two code blocks. (Holding shift will still insert a soft newline into the current block).

We still need to make it a bit more obvious that consecutive code-blocks
are not contiguous - https://github.com/vector-im/riot-web/issues/4535
2017-07-13 18:42:37 +01:00
David Baker 381f685013 Start on editing groups 2017-07-13 18:41:51 +01:00
Luke Barnard 7945abe6b9 Merge pull request #1219 from matrix-org/luke/fix-autcompleter-promises
Fix Autocompleter promises
2017-07-13 18:11:45 +01:00
Luke Barnard dcc4db53f9 Async functions now return `bluebird` promises, remove redundant Promise.resolve 2017-07-13 17:51:14 +01:00
Luke Barnard d97de4d576 Implement disabled-by-default setting for auto-replacement of plaintext emojis
FTR a list of plaintexts and their unicode equivalents can be found here - https://github.com/vector-im/riot-web/issues/4554#issuecomment-314374303

Pressing space after a matching emoji will replace the plaintext emoji with the equivalent unicode emoji.
2017-07-13 17:37:43 +01:00
Luke Barnard f78a49b3a9 Do `reflect` in the same `map` 2017-07-13 17:20:17 +01:00
Luke Barnard c9f3a12693 Fix Autocompleter promises
Use bluebird instead of the now removed "q" library.

Also, make sure we timeout and then `reflect` to effectively do an `allSettled` that waits for all promises to either be resolved or rejected. Then we filter for those that are fulfilled and return the completions.
2017-07-13 16:51:14 +01:00
Luke Barnard 7fc10789fc Merge pull request #1217 from matrix-org/luke/fix-rte-html-links
Improve RTE HTML link handling
2017-07-13 13:57:58 +01:00
Luke Barnard f1a4209d6b Fix indentation 2017-07-13 13:47:08 +01:00
Luke Barnard 5826b6f22a Instead of sending HTML for any Entity, only send HTML for Links
Otherwise emoji messages are sent as HTML, needlessly
2017-07-13 13:41:17 +01:00
Luke Barnard be045a6dc0 Interpret whitespace after entity as the end of the entity
The easiest way to stop the user from inserting whitespace onto the end of an entity is to toggle the entity state of the whitespace that was just entered. This allows the user to continue drafting a message without editing the link content.

This is for pasted `<a>` tags that have been copied from a website. We probably also want to be storing entities for substrings of content that are determined to be URLs.
2017-07-13 13:28:51 +01:00
Luke Barnard 4b96963408 Send HTML if there are any entities present in the composer
This is so that pasted HTML links that are represented as entities are sent as HTML.
2017-07-13 13:27:49 +01:00
Luke Barnard 55e1202c09 Decorate pasted links so that they look like links
By default, draftjs will represent pasted `<a>` tags as `LINK` entities, but it doesn't do any default decoration of these links. Add a decorator to do so.

Most of this was taken from https://github.com/facebook/draft-js/blob/v0.8.1/examples/link/link.html (note the version, v0.8.1).
2017-07-13 13:26:13 +01:00
David Baker 2a68cce3d5 Merge pull request #1216 from matrix-org/dbkr/history_save_unload_nullcheck
Prevent exception on page unload
2017-07-13 12:38:28 +01:00
Richard van der Hoff 086304532e Merge pull request #1213 from matrix-org/rav/bluebird
Switch matrix-react-sdk to bluebird
2017-07-13 12:06:11 +01:00
David Baker 917133219f Remove sentHistory save altogether 2017-07-13 11:53:22 +01:00
Luke Barnard ce0f9e8803 Merge pull request #1214 from matrix-org/luke/fix-rte-remove-old-disable-md-setting
Remove `disableMarkdown` setting
2017-07-13 11:33:42 +01:00
Luke Barnard 4d844ebc34 Merge pull request #1215 from matrix-org/luke/remove-old-composer
Remove MessageComposerInputOld
2017-07-13 11:33:23 +01:00
David Baker 1e80edb43c Prevent exception on page unload
Null check when saving sent history
2017-07-13 11:30:25 +01:00
Luke Barnard 04dd98e6e9 Remove references to tabComplete, which are now redundant
(since the old composer has been removed)
2017-07-13 10:16:59 +01:00
Luke Barnard 0e12e384cb Remove TabComplete-related files 2017-07-13 10:16:42 +01:00
Luke Barnard 441954c8c1 Remove i18n for "Unknown command" 2017-07-13 09:55:11 +01:00
Richard Lewis 9a1e7ad170 Hide widget panel while it is being deleted. 2017-07-13 00:27:03 +01:00
Luke Barnard 4cc8b5621d Merge pull request #1212 from matrix-org/luke/fix-ctrl-k
Enable ctrl+k room filter focus
2017-07-12 18:20:45 +01:00
Richard van der Hoff 33f330d434 Manual fixup for remaining q incantaions
* don't try to use `finally` as a static method
* work around absence of `allSettled`
2017-07-12 18:05:40 +01:00
Richard van der Hoff 0d7cc59d99 replace q method calls with bluebird ones
```
find src test -name '*.js' |
    xargs perl -i -pe 's/q\.(all|defer|reject|delay|try|isFulfilled)\(/Promise.$1(/'
```
2017-07-12 18:05:40 +01:00
Richard van der Hoff 0254d2b3a2 q(...) -> Promise.resolve
```
find src test -name '*.js' | xargs perl -i -pe 's/\b[qQ]\(/Promise.resolve(/'
```
2017-07-12 18:05:08 +01:00
Richard van der Hoff a06bd84213 replace imports of `q` with bluebird
update `package.json`

```
find src test -name '*.js' |
   xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'

find src test -name '*.js' |
   xargs perl -i -pe 'if (/import [qQ]/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 18:05:08 +01:00
Luke Barnard 6ff924fc0d Remove MessageComposerInputOld 2017-07-12 18:03:13 +01:00
Alexey Murz Korepov c668e754f1 Translated using Weblate (Russian)
Currently translated at 100.0% (916 of 916 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/
2017-07-12 16:59:58 +00: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