nostradamos
e543f55572
refactored code
2018-01-03 01:50:03 +01:00
nostradamos
36df3acf4d
Merge remote-tracking branch 'origin/develop' into fix_riot_web_4821
2018-01-02 23:07:47 +01:00
nostradamos
03f88df66e
Make the scrolling compatible with our riot-web fix for https://github.com/vector-im/riot-web/issues/4821
2018-01-02 22:44:18 +01:00
Aidan Gauland
35780f5ae0
Remove use of deprecated React.PropTypes
...
Replace all uses of React.PropTypes with PropTypes and importing PropTypes from
'prop-types'.
2017-12-26 14:03:18 +13:00
Michael Telatynski
5c229b9ef8
DRY matrix.to link generation so it is all changeable in one class
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-12 23:33:40 +00:00
Michael Telatynski
4666ac7c83
hide rich quoting behind flags, retaining original quoting for now
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-12 23:29:43 +00:00
Michael Telatynski
0f85391587
Implement Rich Quoting/Replies
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-10 12:50:41 +00:00
David Baker
0d38e7510d
Merge pull request #1600 from matrix-org/dbkr/udd_no_auto_show
...
Don't Auto-show UnknownDeviceDialog
2017-12-08 16:33:25 +00:00
Luke Barnard
363fe04a10
isCtrlOrCmdKeyEvent -> isOnlyCtrlOrCmdKeyEvent
2017-12-01 10:44:00 +00:00
Luke Barnard
fe81fcb8c6
Factor out isCtrlOrCmdKeyEvent, use that in TagPanel
...
as opposed to the incorrect ctrl || meta
2017-12-01 10:30:49 +00:00
David Baker
196eafdc7f
Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show
2017-11-16 15:59:16 +00:00
Luke Barnard
dad797d4a2
Run linting --fix
2017-11-16 13:19:36 +00:00
David Baker
f8fc6dc83e
Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show
2017-11-15 12:11:33 +00:00
David Baker
b1ec430523
Remove now-unused dispatches
2017-11-09 16:09:12 +00:00
Travis Ralston
289b0c2b6a
Merge branch 'develop' into travis/granular-settings
2017-11-07 14:55:12 -07:00
David Baker
df5c6470e8
get dict syntax right
2017-11-06 22:01:23 +00:00
David Baker
08d006d112
PR feedback
2017-11-06 17:15:09 +00:00
David Baker
adc4290451
Pillify room notif pills in composer
2017-11-06 15:11:42 +00:00
Travis Ralston
8282534f87
Add SettingsLevel enum; Move settings to own file.
...
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-03 23:19:45 -06:00
Travis Ralston
893c39bfbe
Merge branch 'develop' into travis/granular-settings
2017-11-03 22:00:07 -06:00
David Baker
498b117d5a
copyrights
2017-11-02 18:01:28 +00:00
David Baker
4953d4de4d
Give autocomplete providers the room they're in
...
Removes the gut-wrenching that RoomView does to jam the user list
into the user autocomplete provider.
2017-11-02 17:51:08 +00:00
Travis Ralston
ae10a11ac4
Convert synced settings to granular settings
...
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 01:43:52 -06:00
Luke Barnard
d3f9a3aeb5
Run eslint --fix
...
Fixing 1000s of lint issues. Some rules cannot be `--fix`ed but this goes some way to linting the entire codebase.
2017-10-11 17:56:17 +01:00
Stefan Parviainen
d4929b558e
Add dummy translation function to mark translatable strings
...
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-09-22 21:43:27 +02:00
Luke Barnard
8ed5422a45
Fix click to insert completion
...
And remedy weird API in the process. Autocomplete now exposes `onSelectionChange` to indicate that the user has selected another completion, rather than returning the chosen completion via onUpArrow etc.
Fixes vector-im/riot-web#4835
2017-08-23 16:22:14 +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
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
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
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
Luke Barnard
2d47d3d2c3
Hide autocomplete when RTE selection state (cursor) changes
2017-08-09 17:36:35 +01:00
Luke Barnard
610b2a3a42
For mentions, always use rawDisplayName and remove (IRC)
2017-08-09 10:40:06 +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
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
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
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
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
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
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
Michael Telatynski
bf98c0da7c
un-i18n Modal Analytics
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-27 17:19:18 +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
fc00eaf546
Merge branch 'develop' into luke/store-history-as-raw-content
2017-07-25 17:19:35 +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
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
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
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
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
Luke Barnard
352f70f9ce
Implement old composer feature that inserts ': ' or ' '
...
after a user completion
2017-07-20 11:52:18 +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
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
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
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
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
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
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
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
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
Richard van der Hoff
a06bd84213
replace imports of q
with bluebird
...
update `package.json`
```
find src test -name '*.js' |
xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
find src test -name '*.js' |
xargs perl -i -pe 'if (/import [qQ]/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 18:05:08 +01:00
Luke Barnard
6ff924fc0d
Remove MessageComposerInputOld
2017-07-12 18:03:13 +01:00
Luke Barnard
b104228a7b
Remove redundant functions, bindings, props
2017-07-10 14:27:41 +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
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
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
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