David Baker
0112afad3c
Merge pull request #1199 from matrix-org/luke/fix-rte-emoji-prefixes
...
Only allow completion of emoji in certain circumstances
2017-07-10 14:02:01 +01:00
Luke Barnard
62ee0f4e02
Fix accepting invites
...
Accepting an invite would cause a room to arrive via /sync only for it to throw an error in the auto complete code and cause the client to go wibbly (infinite spinner or preview bar).
The logs that lead to the debugging of this are https://github.com/matrix-org/riot-web-rageshakes/issues/239
Hopefully the error being throw isn't totally unrelated but looking at the sync handling for inviteRooms in sync.js, new rooms are stored and _then_ the Room event is emitted. The Room event could trigger setUserListFromRoom, which is where the bug was. So the room should have been stored regardless of this bug and the client should have been recoverable by swapping away and viewing the room again.
2017-07-07 19:43:30 +01:00
Luke Barnard
9a272d4965
Only allow completion of emoji in certain circumstances
...
Which are:
- the emoji to complete is at the start of the query
- there is a whitespace character before the emoji
- there is an emoji before the emoji (so that several emoji can be input in-a-row)
Fixes https://github.com/vector-im/riot-web/issues/4498 (although it seems to be fixed through some other fix)
2017-07-07 19:02:51 +01:00
Luke Barnard
0a4f8ffead
Alter EMOJI_REGEX to include end of string ($)
...
Fixes https://github.com/vector-im/riot-web/issues/4529 because the match must include the remainder of the query.
2017-07-06 18:11:46 +01:00
Luke Barnard
710ee69418
Don't try to match with an empty query string
...
This was causing UserProvider to give results because every string happens to start with empty string and its regex also acepts the empty string.
2017-07-04 17:32:07 +01:00
Luke Barnard
0af77e8913
Merge pull request #1177 from matrix-org/luke/fix-rte-prefix-matching
...
Only match users by matchgin displayname or user ID prefixes
2017-07-04 17:09:39 +01:00
Luke Barnard
2861adc830
Only truncate autocomplete pulls of Emoji, Room and UserProvider
...
Leaving Commands and DuckDuckGo not truncated
2017-07-04 16:50:50 +01:00
Luke Barnard
6a80875c01
Only match users by matchgin displayname or user ID prefixes
...
Because tab completing "k" probably shouldn't give you "luke"
Fixes https://github.com/vector-im/riot-web/issues/4495
2017-07-04 16:29:06 +01:00
Luke Barnard
e688eca823
Improve the sorting applied to the sorting of autocomplete results
...
QueryMatcher: sort results based on the position of the query within the matching value. The closer to the beginning of the word, the higher the result apears.
UserProvider: perf improvement (slice early) and refactor onUserSpoke
2017-07-04 13:53:06 +01:00
Michael Telatynski
fc379e2a15
fix typos post-luke-review
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-03 19:24:18 +01:00
Michael Telatynski
fb61a5d68b
post-merge fix
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 13:08:23 +01:00
Michael Telatynski
09f017fdd2
Merge branches 'develop' and 't3chguy/add-missing-autocomplete-commands' of github.com:matrix-org/matrix-react-sdk into t3chguy/add-missing-autocomplete-commands
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
# Conflicts:
# src/autocomplete/CommandProvider.js
# src/i18n/strings/en_EN.json
2017-07-01 13:07:18 +01:00
Michael Telatynski
9dba628f10
add missing commands to the Autocomplete CommandProvider
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 12:55:43 +01:00
Luke Barnard
b315ed630e
Match by emoji ascii regex first before shorthand
...
Plaintext emojis that start with ":" will also match against the shorthand regex but the match won't include the important part of the plaintext emoji. This means some emoji like ":)" won't be matched.
To fix this, put the ascii emoji regex first so that the match will be plaintext or otherwise it will fall through to the shorthand match (if there is one).
Fixes https://github.com/vector-im/riot-web/issues/4467
2017-06-30 16:31:40 +01:00
Luke Barnard
982b009b90
Implement ascii emoji tab completion
...
When a fully plaintext, ascii emoji is typed like ";-)", pressing tab will suggest emojione to replace it with based off of the meta data provided by emojione.
e.g. the aliases_ascii for `😃 ` are [":D",":-D","=D"] so typing ":D *tab*" will insert a real 😃
2017-06-29 11:29:55 +01:00
Luke Barnard
2b8da85726
Strip the emoji meta-data for the data we need
...
This is done at build time by parsing emojione/emoji.json, stripping it and then writing to ./lib/stripped-emoji.json.
2017-06-28 11:36:19 +01:00
Luke Barnard
8ca3b382ed
Use emojione/emoji.json because we don't want two sets of emoji meta
2017-06-28 11:19:16 +01:00
Luke Barnard
f4db765239
Fix indentation
2017-06-28 10:32:46 +01:00
Luke Barnard
9d339b96bd
Order emojis by standard ordering, add alternate shortnames
...
Also, increase the maximum number of emoji shown to 20.
2017-06-27 20:13:48 +01:00
David Baker
3cdc7c9114
Add copyright headers
2017-06-23 18:30:16 +01:00
David Baker
c0e48c72fc
Remove dep on liblevenstein
...
While we don't actually use it
2017-06-23 18:03:32 +01:00
Luke Barnard
89afcfd897
Linting
2017-06-23 17:35:07 +01:00
Luke Barnard
87609582c6
Merge branch 'develop' into rte-fixes2
...
Conflicts:
package.json
src/autocomplete/CommandProvider.js
src/autocomplete/UserProvider.js
src/components/structures/RoomView.js
src/components/structures/UserSettings.js
src/components/views/rooms/MessageComposerInput.js
2017-06-23 15:30:06 +01:00
Michael Telatynski
464863acd6
remove unused imports
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-02 21:35:55 +01:00
Kegan Dougal
66bce35918
copyright adjustments
2017-06-01 17:29:40 +01:00
Kegan Dougal
f75e714c3a
More translations..
2017-06-01 15:18:06 +01:00
Michael Telatynski
dc2d32670b
clean up file
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 23:52:55 +01:00
Michael Telatynski
bfc7302fba
fix i18n typo
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 23:51:05 +01:00
David Baker
5c359e63ab
Bulk change counterpart imports
...
to use languageHandler wrapper func
2017-05-25 11:39:08 +01:00
David Baker
d419c42a4f
Squash merge https://github.com/matrix-org/matrix-react-sdk/pull/801
2017-05-23 15:16:31 +01:00
Luke Barnard
bc045698b9
Fix for fuse 2.7.2
...
As of v2.7.2, fuse.js introduces a regression where the second argument to the constructor `Fuse` is assumed to be an object. There was one instance where we were not passing any argument. This fixes that.
2017-04-25 18:01:56 +01:00
Aviral Dasgupta
b977b559de
autocomplete: add missing commands to CommandProvider
2017-03-07 04:46:55 +05:30
Aviral Dasgupta
9946cadc2d
autocomplete: fix RoomProvider regression
2017-03-07 04:09:27 +05:30
Aviral Dasgupta
32dd89774e
add support for autocomplete delay
2017-03-07 04:09:26 +05:30
Aviral Dasgupta
e65744abdc
fix EmojiProvider for new QueryMatcher
2017-03-07 04:09:26 +05:30
Aviral Dasgupta
0653343319
order User completions by last spoken
2017-03-07 04:09:26 +05:30
Aviral Dasgupta
c7d0652762
actually sort autocomplete results by distance
2017-03-07 04:09:26 +05:30
Aviral Dasgupta
78641a80dd
autocomplete: replace Fuse.js with liblevenshtein
2017-03-07 04:09:25 +05:30
Aviral Dasgupta
edd5903ed7
autocomplete: add space after completing room name
2017-03-07 04:09:25 +05:30
Aviral Dasgupta
f2ad4bee8b
Disable force completion for RoomProvider (RTE)
2017-03-07 04:09:24 +05:30
David Baker
18d4d3392a
Fix a bunch of linting errors
...
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
Aviral Dasgupta
2913e4605f
Fix unicode completions in autocomplete.
...
Fixes vector-im/vector-web#2208
2016-09-16 15:38:29 +05:30
Aviral Dasgupta
79e5e6f6fe
Fix force completion and hide rooms with no alias
2016-09-13 18:02:33 +05:30
Aviral Dasgupta
9a991a4dfd
Autocomplete fixes and improvements
2016-09-13 17:30:29 +05:30
Aviral Dasgupta
fbf2d5f96c
Fix tests (wip)
2016-09-13 16:46:20 +05:30
Aviral Dasgupta
b62622a814
Improve autocomplete behaviour
...
Fixes vector-im/vector-web#1761
2016-09-13 15:46:02 +05:30
David Baker
df1cc8748f
Change references to MatrixTools to Rooms
...
or remove where they were unused
2016-09-07 11:33:58 +01:00
Aviral Dasgupta
884abbd7e9
Cleanup autocomplete
2016-08-23 00:36:31 +05:30
Aviral Dasgupta
e173900808
Update autocomplete design and scroll it correctly
2016-08-17 17:27:19 +05:30
Aviral Dasgupta
1b414cad18
Add max-width to emoji completions.
2016-08-10 00:52:55 +05:30
Aviral Dasgupta
2cddf18461
strip (IRC) displayname suffix from autocomplete
...
Fixes vector-im/vector-web#574
2016-08-03 17:26:05 +05:30
Aviral Dasgupta
ed305bd547
fix: https for DDG, provide range for UserProvider
2016-07-05 01:37:01 +05:30
Aviral Dasgupta
b3d8292113
feat: use canonical room alias for room completion
2016-07-04 22:34:58 +05:30
Aviral Dasgupta
30b7efd585
fix: code cleanup, fix getCurrentCommand
2016-07-04 21:44:35 +05:30
Aviral Dasgupta
cccc58b47f
feat: implement autocomplete replacement
2016-07-03 22:15:13 +05:30
Aviral Dasgupta
fb6eec0f7d
Hide/show autocomplete based on selection state
2016-06-21 15:46:20 +05:30
Aviral Dasgupta
f6a76edfdf
Fuzzy matching in User and Room providers
2016-06-21 05:05:23 +05:30
Aviral Dasgupta
4af983ed90
Style changes and improvements in autocomplete
2016-06-20 13:52:55 +05:30
Aviral Dasgupta
b9d7743e5a
Emoji provider, DDG working, style improvements
2016-06-17 04:58:09 +05:30
Aviral Dasgupta
4bc8ec3e6d
room, user, ddg autocomplete providers (wip)
2016-06-12 17:02:46 +05:30
Aviral Dasgupta
b979a16199
initial version of autocomplete
2016-06-01 16:54:21 +05:30