Bruno Windels
f02713d08e
force completion when hitting tab
...
by replacing word before caret with pill-candidate and
forcing auto complete
2019-08-27 16:43:05 +02:00
Bruno Windels
f76a23d5dd
return promise from updating autocomplete
...
so one can await if needed
2019-08-27 16:43:05 +02:00
Bruno Windels
56606a46f4
don't assume preceding space for emoticon at start of document
...
also add more inline comments to explain what is going on
2019-08-27 09:50:36 +02:00
Bruno Windels
0273795f5d
add transform step to composer to auto-replace emoticons with emoji
2019-08-26 16:16:27 +02:00
Travis Ralston
b3cda4b19a
Support multiple integration managers behind a labs flag
...
Fixes https://github.com/vector-im/riot-web/issues/10622
Implements [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957 )
Design is not final.
2019-08-23 09:12:40 -06:00
Bruno Windels
944c56d09b
prevent cider history overlapping with slate composer history
2019-08-22 14:07:03 +01:00
Bruno Windels
6a3ecde4e6
duplicate slate code where we changed it drastically
...
to still make it work when the feature flag will be turned off
2019-08-22 14:05:54 +01:00
Bruno Windels
b366b0b3d8
store composer state when typing in new composer
...
this doesn't use the MessageComposerStore on purpose so that
both the new and old composer don't overwrite each others state,
as the format is different.
2019-08-22 13:33:20 +01:00
Bruno Windels
9f72268df7
avoid null-refs when receiving an action before initial rendering
2019-08-22 13:33:20 +01:00
Bruno Windels
6df46cc319
send typing notifs in new composer (both send and edit)
2019-08-22 13:33:20 +01:00
Bruno Windels
e2dfe888cc
only capture Enter when autocompletion list has selection
...
this is the old behaviour and makes sense IMO
also close the auto complete when resetting the composer model,
in case it was still open
2019-08-22 13:33:20 +01:00
Bruno Windels
3c5cf3e778
rename ComposerHistoryManager to SendHistoryManager to avoid confusion
...
...with the undo history manager for the composer.
2019-08-22 13:33:20 +01:00
Bruno Windels
c5cd8b943a
support auto complete for /commands
2019-08-22 13:33:20 +01:00
Bruno Windels
88cc1c428d
add support for emotes and running /commands
...
this does not yet include autocomplete for commands
2019-08-22 13:33:20 +01:00
Bruno Windels
cc82353d8f
bring back composer send history and arrow up to edit previous message
2019-08-22 13:33:20 +01:00
Bruno Windels
ca3539d53e
remove dead code
2019-08-22 13:33:20 +01:00
Bruno Windels
9bc8ff7e1e
clear composer undo history when sending a message
2019-08-22 13:33:20 +01:00
Bruno Windels
ea1faacd8b
support alt+enter on mac, like slate composer
2019-08-22 13:33:20 +01:00
Bruno Windels
9003a8836a
put dispatches together
2019-08-22 13:33:20 +01:00
Bruno Windels
2e71dd3ea8
cleanup, move code out of big switch statement
2019-08-22 13:33:20 +01:00
Bruno Windels
60e10364b0
add quoting functionality to new composer
2019-08-22 13:33:20 +01:00
Bruno Windels
10c218825b
allow inserting multiple parts at a position
2019-08-22 13:33:20 +01:00
Bruno Windels
a9d6d01f10
add reply fields to message content to be sent when replying
2019-08-22 13:33:20 +01:00
Bruno Windels
7b3282185a
update proptypes
2019-08-22 13:33:20 +01:00
Bruno Windels
c135cd60d2
restore insert mention
...
for this, we need to store the last caret in the editor,
to know where to insert the user pill.
Because clicking on a member blurs the editor, and the
selection is moved away from the editor.
For this reason, we keep as cache of the last caretOffset object,
invalidated by a selection with different values.
The selection needs to be cloned because apparently the browser
mutates the object instead of returning a new one.
2019-08-22 13:33:20 +01:00
Bruno Windels
71286b5610
restore reply_to_event action
2019-08-22 13:33:20 +01:00
Bruno Windels
e39c405c55
restore focus_composer action
2019-08-22 13:33:20 +01:00
Bruno Windels
fdf5fca628
add all props to proptypes
2019-08-22 13:33:20 +01:00
Bruno Windels
2cff486ec0
set placeholder same as label
2019-08-22 13:33:20 +01:00
Bruno Windels
f9992a1fc6
implement editor placeholder
2019-08-22 13:33:20 +01:00
Bruno Windels
e2e4ea493f
set aria label on main composer too
2019-08-22 13:33:20 +01:00
Bruno Windels
cfbd2e9cc8
support basic sending with new main composer
...
this removes all formatting options, as the new editor doesn't
have any.
2019-08-22 13:33:20 +01:00
Bruno Windels
df8488e194
pass label through props
2019-08-22 13:33:20 +01:00
Bruno Windels
505846ce53
split up css, update class names
2019-08-22 13:33:20 +01:00
Bruno Windels
341fdcd761
cleanup lint errors
2019-08-22 13:33:20 +01:00
Travis Ralston
ffa49df889
Refactor integration manager handling into a common place
...
It was already in a common place, but this is the boilerplate for supporting multiple integration managers, and multiple integration manager sources.
For https://github.com/vector-im/riot-web/issues/4913 / https://github.com/vector-im/riot-web/issues/10161
2019-08-09 16:08:06 -06:00
Travis Ralston
3144b9f1a2
Disable 'Start New Chat' button in MemberInfo if we already have chats
...
Part of https://github.com/vector-im/riot-web/issues/10416
2019-08-07 12:06:27 -06:00
Bruno Windels
66ef08120e
Merge pull request #3282 from matrix-org/bwindels/extract-common-editor-code
...
Split MessageEditor up in edit-specifics & reusable parts for main composer
2019-08-07 07:58:52 +00:00
Michael Telatynski
daf1a794e6
Merge pull request #3276 from matrix-org/t3chguy/react16_1
...
Progress towards React 16 compatibility
2019-08-06 18:09:30 +01:00
Michael Telatynski
d99fb4796f
avoid using import * as Matrix
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-06 14:04:33 +01:00
Bruno Windels
299cf8542c
Split MessageEditor in edit-specifics & reusable part for main composer
2019-08-05 15:31:18 +02:00
Michael Telatynski
224dac3ffb
Remove withMatrixClient as we are committed to using Contexts
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-05 12:26:31 +01:00
Michael Telatynski
debc124714
Use the documented syntax for default props in CreateReactClass
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-05 10:08:07 +01:00
Michael Telatynski
1087e04bb5
Replace React.PropTypes with usage of the prop-types
package
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-31 12:19:29 +01:00
J. Ryan Stinnett
4ebafb93c3
Rename isAccessToken to identityAccessToken
2019-07-30 17:37:48 +01:00
J. Ryan Stinnett
dacb5d42ac
Support IS v2 auth in preview bar
2019-07-30 17:37:48 +01:00
J. Ryan Stinnett
244b613623
Convert 3PID lookup in preview bar to async / await
2019-07-30 17:37:48 +01:00
Michael Telatynski
bf1d65623c
Move history with alt up/down regardless of where selection is
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-29 11:31:22 +01:00
David Baker
2eb8a8879b
Merge pull request #3199 from matrix-org/dbkr/terms
...
ToS for ISes/IMs: prompt on use screen
2019-07-23 10:32:11 +01:00
J. Ryan Stinnett
599c49613f
Remove reactions feature flag
...
Fixes https://github.com/vector-im/riot-web/issues/10282
2019-07-17 17:00:36 +01:00
J. Ryan Stinnett
674f33917f
Remove editing feature flag
...
Part of https://github.com/vector-im/riot-web/issues/10282
2019-07-17 16:56:15 +01:00
Travis Ralston
31339aa11f
Don't show a reason if there's no reason for a kick/ban
...
Fixes https://github.com/vector-im/riot-web/issues/9677
2019-07-14 23:31:38 -06:00
Travis Ralston
ed2f88fd79
Autojoin rooms when clicking the tombstone
...
Fixes https://github.com/vector-im/riot-web/issues/10299
2019-07-11 08:39:41 -06:00
David Baker
83f697a9a2
lint
2019-07-09 19:01:22 +01:00
David Baker
d4af8d4993
Use showIntegrationsManager in other places
2019-07-09 18:56:39 +01:00
David Baker
54aaabac74
Initial support for ToS dialogs for IS/IM
...
as per MSC2140
2019-07-09 18:51:56 +01:00
Michael Telatynski
89d568ce97
Don't allow editing via up-arrow when Replying
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-05 08:36:16 +01:00
David Baker
b43a04634a
Merge pull request #3172 from matrix-org/t3chguy/invites_list
...
Fix logic around MemberList invites section, specifically regarding 3pid
2019-07-03 16:01:01 +01:00
Travis Ralston
7dbd17c137
Merge pull request #3150 from matrix-org/travis/less-typing
...
Track the user's own typing state external to the composer
2019-07-03 08:33:42 -06:00
Bruno Windels
353f5a205c
Merge pull request #3170 from matrix-org/bwindels/handle-associated-failures
...
Handle associated event send failures
2019-07-03 09:02:58 +00:00
Michael Telatynski
bc4bff64f6
Fix logic around MemberList invites section, specifically regarding 3pid
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-03 08:38:08 +01:00
Travis Ralston
1d54911581
Merge pull request #3159 from matrix-org/travis/pick-server-tombstone
...
Use the event sender instead of event ID for viaServers off a tombstone
2019-07-02 07:52:40 -06:00
Bruno Windels
d0d327620b
hide reactions for redacted events
2019-07-02 13:56:27 +02:00
Travis Ralston
4f6db320e3
Appease the linter
2019-06-28 16:44:19 -06:00
Travis Ralston
8905566cfb
Clean up legacy breadcrumbs persistence fallback
...
It's been more than a few weeks.
2019-06-28 16:30:59 -06:00
Travis Ralston
083c1a78ab
Use the event sender instead of event ID for viaServers off a tombstone
...
Fixes https://github.com/vector-im/riot-web/issues/10206
2019-06-28 12:34:46 -06:00
Travis Ralston
8bb860e870
Use fewer functions for typing in the composer
2019-06-27 10:37:33 -06:00
Travis Ralston
17ed62de7d
Move MessageComposer typing timeout to TypingStore
2019-06-27 10:35:44 -06:00
Travis Ralston
7f2ab39609
Merge pull request #3142 from matrix-org/travis/preview-loading
...
Show a loading state for slow peeks
2019-06-27 09:24:25 -06:00
Travis Ralston
cd089a3f95
Track the user's own typing state external to the composer
...
Fixes https://github.com/vector-im/riot-web/issues/9986
There's a few reasons for pushing this out to its own place:
* In future, we might want to move WhoIsTyping here.
* We have multiple composers now, and although they don't send typing notifications, they could (see https://github.com/vector-im/riot-web/issues/10188 )
* In future we may have status for where/what the user is typing (https://github.com/matrix-org/matrix-doc/issues/437 )
* The composer is complicated enough - it doesn't need to dedupe typing states too.
Note: This makes use of the principles introduced in https://github.com/vector-im/riot-web/issues/8923 and https://github.com/vector-im/riot-web/issues/9090
2019-06-26 22:36:55 -06:00
Travis Ralston
8d85967824
Merge pull request #3139 from matrix-org/travis/upgrades-final
...
Fix room upgrade warning being chopped off and a spelling mistake
2019-06-26 07:12:39 -06:00
Travis Ralston
ca6ddf324f
Show a loading state for slow peeks
2019-06-25 20:56:33 -06:00
Travis Ralston
0701d89bbe
Fix upgrade warning being chopped off
...
The flex box was behaving a bit strange, so we just wrap the content and change `height: 235px` to `max-height: 235px` to get scrollbars.
2019-06-25 15:40:22 -06:00
J. Ryan Stinnett
91f707341a
Tweak handler name to match others
2019-06-25 15:12:30 +01:00
Bruno Windels
5fa3f70fb4
feature flag for displaying edits as well
2019-06-21 18:32:15 +02:00
Bruno Windels
cf0799289d
Disable left/right arrow navigating completions for now
...
as the autocomplete is now very eager to appear, this breaks
caret navigation when typing e.g. anything with a colon.
Ideally, we should make the AC less eager to appear,
but this is a quick fix for now.
2019-06-21 13:48:52 +02:00
J. Ryan Stinnett
78b0f61efe
Merge pull request #3119 from matrix-org/jryans/rename-tooltip-button
...
Fix casing of TooltipButton
2019-06-19 19:18:15 +01:00
David Baker
0e6f401b62
copyright
2019-06-19 11:48:47 +01:00
David Baker
c57d93702a
De-duplicate notif badge code
...
We had two different places we were deciding whether to show a badge.
Let's just have one.
2019-06-19 11:46:24 +01:00
J. Ryan Stinnett
4ec7a8ddff
Fix casing of TooltipButton
...
My brain can't deal with two different ways to write "Tooltip", so this
converges the naming to match the rest of the code base. Separate commits will
fix up the file names for case-insensitive file systems.
2019-06-19 11:26:13 +01:00
Travis Ralston
7b514b0573
Merge pull request #3115 from matrix-org/travis/reduce-scalar-calls
...
Defer scalar API calls until they are needed
2019-06-18 08:17:21 -06:00
Travis Ralston
b6ca0ea6bf
Appease the linter
2019-06-18 08:01:38 -06:00
Travis Ralston
be37332bb0
Further simplify usage of integrations
2019-06-18 07:55:43 -06:00
Bruno Windels
f95f194b6a
keep old arrow-up behaviour when editing is not enabled
...
also, move caret at end/start checks before choosing what to do
also, selectHistory shouldn't return a promise
2019-06-18 11:49:36 +02:00
Travis Ralston
974a11ed20
Defer scalar auth in AppsDrawer to widgets/manager dialog
2019-06-17 15:39:32 -06:00
Travis Ralston
f699fed720
Defer sticker picker scalar auth to integration manager dialog
...
or when needed, instead of up front.
2019-06-17 15:30:24 -06:00
Michael Telatynski
03c37821f6
clean up onVerticalArrow
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-15 15:10:34 +01:00
Michael Telatynski
6a10f0068d
Use Alt-UP/DOWN for Composer History instead of random room change
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-14 12:26:52 +01:00
Michael Telatynski
876acc0f76
Merge branches 'develop' and 't3chguy/restore_composer_history' of github.com:matrix-org/matrix-react-sdk into t3chguy/restore_composer_history
...
# Conflicts:
# src/components/views/rooms/MessageComposerInput.js
2019-06-14 12:26:05 +01:00
Bruno Windels
48f5cf1523
Merge pull request #2966 from npny/npny/autocomplete-arrow-keys
...
Allow arrow keys navigation in autocomplete list
2019-06-13 15:38:36 +00:00
Michael Telatynski
acb813372c
Restore Composer History under shift-up & down
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-12 21:32:47 +01:00
Bruno Windels
41e41269dc
use EditorStateTransfer to pass on state to newly mounted editor
2019-06-12 18:52:34 +02:00
David Baker
80812db466
Remember we were trying to accept an invite
...
When the user was on an invite page and clicked the sign up/sign in
buttons, remember that invite so we can show it again after they're
done signing up/in.
https://github.com/vector-im/riot-web/issues/9816
2019-06-10 10:24:06 +01:00
David Baker
b365c9dfe6
Merge pull request #3074 from matrix-org/dbkr/fix_email_invite_address_match_check
...
Fix email invites address-match checking
2019-06-06 15:06:36 +01:00
David Baker
9816fe0ed7
Fix email invites address-match checking
...
Riot was always saying the email address that the invite was sent
to was not associated with your account.
Two fixes here:
1. We mounted RoomPreviewBar with no invitedEmail prop and then
changed the prop later, but RoomPreviewBar only checked for it
on mount. Make sure we re-check when the props change.
2. Pass oobData through RoomPreviewBar because we need to pass it
to the RoomAvatar for 3pid invites.
https://github.com/vector-im/riot-web/issues/9816
2019-06-06 14:34:57 +01:00
Michael Telatynski
25a994e575
pull toLowerCase(...).replace(...) out of the loop
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-06 08:45:32 +01:00
Michael Telatynski
878f0a4753
Be somewhat fuzzier when matching emojis to complete on space
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-06 08:39:24 +01:00
Travis Ralston
6b2dbdf7ba
Don't refresh custom status on logout
...
The RoomTile gets remounted during logout due to the room stores being obliterated, however this causes the render() function to check if it should be showing custom status. If you have custom status enabled, and the person has a status set, the function errors due to no MatrixClient being available.
Fixes https://github.com/vector-im/riot-web/issues/9940
2019-06-04 15:34:11 -06:00
J. Ryan Stinnett
bea845a80d
Merge pull request #3059 from matrix-org/jryans/read-receipts-relations-send-review
...
Advance read receipts into trailing events without tiles
2019-06-04 14:35:14 +01:00
Pierre Boyer
97d4d1b73a
Update composer to correctly call countCompletions and moveSelection
2019-06-04 13:07:19 +02:00
Pierre Boyer
bb133c1ebc
Merge onUpArrow and onDownArrow into more general moveSelection
2019-06-04 13:06:47 +02:00
Pierre Boyer
6e4c3bfe56
Remove now unused code
2019-06-04 12:18:29 +02:00
Pierre Boyer
6cb59f7071
Allow left/right arrow keys to navigate through the autocompletion list
2019-06-04 11:58:16 +02:00
J. Ryan Stinnett
96b213e7cb
Advance read receipts into trailing events without tiles
...
This changes read receipt sending logic to allow it advance further into events
without tiles (such as edits or reactions) that may exist after the last
displayed event.
By allowing the read receipt to advance past such events, this also marks as
read any related notifications. For example, edits trigger notifications by
default since they are `m.room.message` events, and with this change, such edit
notifications can finally be marked read.
Part of https://github.com/vector-im/riot-web/issues/9745
2019-06-03 18:25:35 +01:00
J. Ryan Stinnett
b309ebf99d
Allow source tile handler for replacements
...
If the debugging mode of showing hidden events in the timeline is enabled, we
should also show replacements using the same view source tile as we do for
reactions. This allows easy debugging of replacement event data and also makes
the edit event look visually distinct from regular messages.
Fixes https://github.com/vector-im/riot-web/issues/9937
2019-06-03 16:29:20 +01:00
Travis Ralston
a71b4f5b4c
Appease the linter
2019-06-03 00:17:08 -06:00
Travis Ralston
dd42e87c3c
Add local echo on badges in breadcrumbs
...
Fixes https://github.com/vector-im/riot-web/issues/9890
2019-06-03 00:07:32 -06:00
Bruno Windels
716719187d
only capture enter if something was selected in completions
2019-05-31 15:05:09 +02:00
Travis Ralston
d81804e0fe
Merge branch 'develop' into matthew/low_bandwidth
2019-05-30 19:42:09 -06:00
J. Ryan Stinnett
f0d67e0454
Revert "Merge pull request #3019 from matrix-org/travis/sr/fix-timeline"
...
This reverts commit 9a1a9825b0
, reversing
changes made to 62dc83310a
.
2019-05-28 12:22:22 +01:00
Bruno Windels
e1d1c8f99c
Merge pull request #2968 from npny/npny/autocomplete-prevent-send-on-enter
...
Hide autocomplete on Enter key press instead of sending message
2019-05-28 09:17:28 +00:00
Bruno Windels
e193522db1
PR feedback: put findPrev/NextEditableEvent in one function with flag
2019-05-27 16:22:55 +02:00
Bruno Windels
bd3dbd1a89
remove edit history from main composer
2019-05-24 14:42:57 +02:00
Bruno Windels
3591eedcfa
move between editable events with arrow keys
2019-05-24 14:42:33 +02:00
Travis Ralston
a7d2309286
Convert ternary to multiple if statements for clarity
2019-05-22 16:36:14 -06:00
Travis Ralston
d571709fe8
Apply suggestions from code review
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-05-22 16:29:37 -06:00
Travis Ralston
09d195b2d1
Fix events not being spoken in the most complicated way possible
...
There's details in the comment body of this diff.
See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:55:16 -06:00
Travis Ralston
c55f083a28
Always mute timestamp from screen readers
...
The short time is still read out (eg: 15:24), however by ignoring the anchor we prevent the reader from saying the title of the containing span. This prevents readers saying "Wed May 22, 2019 at 15:24 15:24".
See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:25:34 -06:00
Travis Ralston
8f6884ec15
Mute timestamps for irrelevant updates
...
Other fix for https://github.com/vector-im/riot-web/issues/5697
See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:18:57 -06:00
Travis Ralston
6edf760943
Mute avatars and read receipts on event tiles
...
This reduces overall noise from the screen reader. It was reading the alt attribute from the sender avatar, which was just a mxid. The read receipts were just nonsensical noise.
Fixes https://github.com/vector-im/riot-web/issues/2716
Fixes https://github.com/vector-im/riot-web/issues/5697
See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:18:51 -06:00
Travis Ralston
6c0213bb3d
Revert "Make the timeline less noisy for screen readers"
2019-05-22 10:54:51 -06:00
Travis Ralston
983214f4bf
Merge pull request #3007 from matrix-org/travis/sr/mute-timeline
...
Make the timeline less noisy for screen readers
2019-05-22 09:55:23 -06:00
J. Ryan Stinnett
4b4d09266e
Merge pull request #3005 from matrix-org/jryans/notif-error
...
Only show reactions in main message timeline
2019-05-22 09:15:04 +01:00
Travis Ralston
68c4ee9374
Mute timestamps for irrelevant updates
...
Other fix for https://github.com/vector-im/riot-web/issues/5697
See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 18:57:16 -06:00
Travis Ralston
4779144b2e
Mute avatars and read receipts on event tiles
...
This reduces overall noise from the screen reader. It was reading the alt attribute from the sender avatar, which was just a mxid. The read receipts were just nonsensical noise.
Fixes https://github.com/vector-im/riot-web/issues/2716
Fixes https://github.com/vector-im/riot-web/issues/5697
See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 18:56:46 -06:00
Travis Ralston
c2c55e06e6
Add voice labels for quick add room buttons
...
See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 12:16:34 -06:00
J. Ryan Stinnett
238e967470
Only show reactions in main message timeline
...
This fixes an error that crashed that notifications panel because it was trying
to read reactions, even though we currently don't aggregate them there. This
change is more explicit about exactly which views should try to show reactions.
Fixes https://github.com/vector-im/riot-web/issues/9713
2019-05-21 18:27:10 +01:00
Matthew Hodgson
d3f06763b3
Merge branch 'develop' into matthew/twemoji
2019-05-20 16:38:44 +01:00
Bruno Windels
1368a5eb80
Merge pull request #2996 from matrix-org/bwindels/composerdesign
...
Message editing: apply design
2019-05-20 08:42:41 +00:00
Matthew Hodgson
81338306b0
fix lint
2019-05-19 21:00:14 +01:00
Matthew Hodgson
64e2de5b47
make autocomplete work again
2019-05-19 20:56:07 +01:00
Matthew Hodgson
dbc6815abf
make EmojiProvider and stripped-emoji.json work
2019-05-19 20:48:18 +01:00
Matthew Hodgson
c63419f8a2
typos
2019-05-19 16:31:25 +01:00
Matthew Hodgson
a8297a7698
fix build
2019-05-19 16:11:12 +01:00
Matthew Hodgson
dc72641264
replace emojione with twemoji. completely untested & debugged & unoptimised
2019-05-19 15:23:43 +01:00
J. Ryan Stinnett
45cdf880b1
Change setting style
2019-05-17 17:43:08 +01:00
J. Ryan Stinnett
3a405701a3
Debug: Show all events
2019-05-17 16:34:01 +01:00
Bruno Windels
578a183f49
hide the action bar while editing
2019-05-17 15:35:28 +01:00
Bruno Windels
ddefeae136
update design of editor to look as close to original tile (and design)
...
the buttons below the composer are overlayed onto the previous event.
In case of the last event, for now we make them not overflow, but make the
tile grow. The design says it should overlay on the main composer for the last
event tile, postponing that for a bit though as not sure what is the best way
to do that.
2019-05-17 15:33:11 +01:00
Bruno Windels
9a3752c571
show message editor in textual body instead of replacing event tile
2019-05-17 15:30:07 +01:00
Bruno Windels
5805a88ab9
adjust to js-sdk changes of marking original event as replaced
2019-05-15 11:54:26 +01:00
Bruno Windels
edc100163f
Merge pull request #2952 from matrix-org/bwindels/message-edit-editor
...
Initial support for editing messages
2019-05-15 09:23:01 +00:00
Michael Telatynski
9b40913838
Merge pull request #2957 from matrix-org/t3chguy/invite_perms
...
Check permission to invite before showing invite buttons/disable them
2019-05-14 23:15:59 +01:00
Bruno Windels
7507d0d7e1
complete proptypes
2019-05-14 15:38:16 +01:00
Bruno Windels
a765fdf98a
run autocomplete after mounting
...
componentWillReceiveProps doesn't run after mount,
and is deprecated as well.
Update state after both on componentDidMount and componentDidUpdate
2019-05-14 15:38:16 +01:00
Pierre Boyer
a62f68bd39
Hide autocomplete on Enter key press instead of sending message
2019-05-14 13:44:01 +02:00
J. Ryan Stinnett
f5aa32bc96
Merge pull request #2954 from matrix-org/jryans/aggregations
...
Send and undo reaction events
2019-05-13 15:20:28 +01:00
J. Ryan Stinnett
af9fdbaeeb
Rework reactionsCreated
in EventTile
to use state
...
This changes to use component state instead of `forceUpdate`, so that it's more
obvious why an update is happening here.
2019-05-13 14:52:55 +01:00
J. Ryan Stinnett
24209905e8
Test settings later for performance
2019-05-13 14:41:49 +01:00
Michael Telatynski
3cd9c152c2
Check permission to invite before showing invite buttons/disable them
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-11 19:45:24 +01:00
Michael Telatynski
0530a64f19
Fix invite via MemberInfo. Thank U JetBrains for solving this one for me <3
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-11 18:46:13 +01:00
J. Ryan Stinnett
37d2f60045
Listen for reaction collections when they are created
...
The `EventTile` for events without reactions now use `Event.relationsCreated` to
listen for a future time where they come in to being.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
8fdb59a909
Use basic read path from JS SDK for reactions
...
This displays existing reactions correctly in the action bar and reaction row,
but it doesn't yet update after a new reaction is sent.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
0316deb6c5
Restore access to message quote option on first click
...
This repairs access to the "Quote" option of the message context menu by passing
down a getter so that we always access the most recent tile and reply thread
instances. This ensures the context menu uses the newest information about the
current event when determining menu options to show.
Fixes https://github.com/vector-im/riot-web/issues/9639
2019-05-07 12:59:53 +01:00
J. Ryan Stinnett
df4e6a3913
Check for room
in all Room.timeline*
handlers
...
All `Room.timeline*` handlers must currently test for `room` first if they
expect it to exist. It is emitted not only for rooms, but also for timeline sets
without rooms, such as for notifications.
Almost all such handlers were correctly testing as needed, but it was missing
from `RoomBreadcrumbs`.
While that's quite confusing, we can start by testing for `room` when we expect
to have one.
Fixes https://github.com/vector-im/riot-web/issues/9630
2019-05-03 17:59:28 +01:00
J. Ryan Stinnett
15c5893278
Display existing reactions below the message
...
This displays the existing reactions a message has from all users below the
message.
Since we don't currently have an API to actually get these events yet,
adds a temporary hook that looks for a specific message to inject some sample
data. This helps build out the UI for now and can be removed once it exists.
Fixes https://github.com/vector-im/riot-web/issues/9573
2019-05-02 12:05:17 +01:00
J. Ryan Stinnett
6db12f84df
Merge pull request #2936 from jryans/preview-bar-fire
...
Add important info to new preview bar
2019-04-30 10:20:09 +01:00
J. Ryan Stinnett
b7642b38a7
Show the room avatar for invites
...
This changes to the room avatar instead of the inviter's avatar.
2019-04-30 09:56:44 +01:00
J. Ryan Stinnett
e71896420e
Show only a static inviter name with full MXID
...
This removes the clickable inviter behaviour, as it was too confusing to reveal
the user info sidebar and also hide the invite. Keeping both on screen would be
okay, but seems a bit too complex to resolve right before RC.
In addition, this adds the full inviter MXID to ensure it's clear who invited
you.
2019-04-30 09:56:44 +01:00
J. Ryan Stinnett
ad6be3cc1b
Change invite preview text for DMs
...
Use more specifc text for when previewing an invite to a direct message room.
2019-04-29 17:48:48 +01:00
J. Ryan Stinnett
338dc602f0
Explicitly mention the room name in all preview bar cases
...
Adjusts all cases of the room preview bar to mention the room name explicitly
when possible.
2019-04-29 16:34:57 +01:00
J. Ryan Stinnett
ed8bbc7082
Extract message options button to action bar
...
This adds a new action bar component to hold multiple per-message actions. This
existing options button has moved to this new component, and is currently the
only action.
2019-04-29 15:20:50 +01:00
J. Ryan Stinnett
530c92e03d
Rename event edit button to options button
...
This naming is clearer as it doesn't really edit at all (it shows a context
menu). This should also be less confusing with actual editing when it arrives.
2019-04-29 15:20:50 +01:00
J. Ryan Stinnett
4784d5e9f2
Also say "Connect ..." on remaining key backup buttons
...
This updates the remaining buttons shown when a backup exists but is not trusted
so that they all now say "Connect this device to Key Backup" instead of "Use Key
Backup".
This is a follow up to https://github.com/matrix-org/matrix-react-sdk/pull/2917
and was agreed with Riot iOS team
https://github.com/vector-im/riot-ios/pull/2375#issuecomment-485788118 .
Fixes https://github.com/vector-im/riot-web/issues/9542
2019-04-24 11:05:27 +01:00
J. Ryan Stinnett
9917bed942
Merge pull request #2883 from YaoiFangirl420/cleanup_message_composer
...
Cleanup message composer render() method
2019-04-18 10:14:01 +01:00
Bruno Windels
0fbe10a816
Merge pull request #2925 from matrix-org/bwindels/stylepreviewbar
...
Redesigned room preview bar
2019-04-18 08:50:56 +00:00
Bruno Windels
0a463472b3
update prop types (and fix typo)
2019-04-17 19:05:52 +02:00
Bruno Windels
8e750e18d7
add class for message case for e2e tests
2019-04-17 11:46:04 +02:00
Bruno Windels
22874f62ab
Merge branch 'develop' into bwindels/stylepreviewbar
2019-04-17 11:06:21 +02:00
Bruno Windels
1100320351
make non-member inviter name also bold
2019-04-17 11:02:58 +02:00
Bruno Windels
86620839ae
make username clickable
2019-04-17 10:57:45 +02:00
Bruno Windels
8a371080d7
colored inviter name and layout
2019-04-17 10:22:35 +02:00
Bruno Windels
56ade1ead5
WIP on showing inviter avatar
2019-04-16 18:48:47 +02:00
Bruno Windels
f9a2b76966
show room name where available when header isn't visible (no preview)
2019-04-16 17:50:20 +02:00
Bruno Windels
eeb9b4b2e3
don't show re-join upon kicked when we know you can't
2019-04-16 17:23:45 +02:00
Bruno Windels
dbb73439e4
also return Joining when internally busy looking something up
2019-04-16 17:23:24 +02:00
Bruno Windels
523311b50c
saner order for message case detection (can't be joining when kicked)
2019-04-16 17:23:01 +02:00
Ross Brandes
15e68c3ba1
Make alt-enter insert new line on macOS
...
Alt-enter is a common macOS shortcut for inserting a new line in an
input that has a separate action tied to the enter key.
Signed-off-by: Ross Brandes <ross.brandes@gmail.com>
2019-04-15 21:15:38 -04:00
Bruno Windels
36951dd7b7
cleanup spinner props and use always preview bar when room operation is in progress
2019-04-15 18:49:00 +02:00
Bruno Windels
7459e19f06
fix lint
2019-04-15 17:56:36 +02:00
Bruno Windels
fd6c594a8f
put auth buttons in preview bar
2019-04-15 17:52:17 +02:00
Bruno Windels
1d0c402093
improve error messages, etc
2019-04-15 17:11:17 +02:00
Bruno Windels
6bc659c93b
layout for error codes
2019-04-15 15:25:34 +02:00
Bruno Windels
1b2fba3fe2
move p tags for subtitles out of switch
2019-04-15 15:22:08 +02:00
Bruno Windels
942669ae65
look at join rules to see if join button should still be shown in some error cases
2019-04-15 15:16:50 +02:00
Bruno Windels
b09c7f97e9
implement most of new messages
2019-04-15 14:44:00 +02:00
YaoiFangirl420
f7462371b1
Rename: Avatar -> ComposerAvatar
...
To avoid confusion with other components that also might be named Avatar
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
3dae9f3d58
Move FormattingButton to separate component
...
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
817f1d482f
Move format bar rendering to separate method
...
To reduce the complexity in render(), move the format bar rendering to a
separate method
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
419cb4e8b2
Define Stickerpicker inline
...
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
485ad6a3f0
Make UploadButton a separate component
...
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
452f0e6dcc
Generate placeholder text in separate method
...
To make the MessageComposer render() method a bit less busy
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
cfb9172121
Tighten up code around call buttons
...
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
6aa9f068b3
Tighten controls code in MessageComposer
...
Make the user avatar a separate function component, make the logic for
laying out components a little more concise
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
d08fbb4872
Make call buttons into separate components
...
Make the call/voice-call/hangup buttons separate react components
to reduce the amount of complexity on MessageComposer.
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
Bruno Windels
b67152d98e
WIP
2019-04-12 14:40:31 +02:00
Bruno Windels
01e9de9a3a
differentiate style based on preview or not
2019-04-12 12:54:13 +02:00
Travis Ralston
934ca6908f
Remove breadcrumb scroll tolerances and use sensible defaults
...
Fixes https://github.com/vector-im/riot-web/issues/9394
Fixes https://github.com/vector-im/riot-web/issues/9400
Numbers chosen based on user feedback. The setting has also been removed because it isn't really needed anymore.
2019-04-11 11:07:31 -06:00
Bruno Windels
0553a6f1d6
some style changes
2019-04-11 13:07:54 +02:00
Travis Ralston
daaedb8291
Merge pull request #2894 from matrix-org/travis/breadcrumbs/ratelimit
...
Send breadcrumb updates only when they change
2019-04-09 09:58:04 -06:00
Travis Ralston
44e33ba5f1
Merge pull request #2892 from matrix-org/travis/breadcrumbs/scrolling
...
Add some tolerances to breadcrumb scrolling
2019-04-09 09:41:07 -06:00
Travis Ralston
43362bfb98
Explain why the breadcrumbs don't need persisting elsewhere
2019-04-09 09:40:49 -06:00
Travis Ralston
4beecb50c9
Fix room upgrade warnings popping up in upgraded rooms
...
Rooms which are already upgraded shouldn't be asked to upgrade. Additionally, this fixes a bug where the room upgrade dialog would stay open even after upgrading the room.
2019-04-08 15:39:36 -06:00
Travis Ralston
bf0605cf84
Send breadcrumb updates only when they change
...
Fixes an issue where hovering over the breadcrumbs could cause hundreds of web requests due to updates. This also fixes https://github.com/vector-im/riot-web/issues/9390 as the update is more reliable.
2019-04-08 11:17:27 -06:00
Travis Ralston
aa96fd27cc
Add some tolerances to breadcrumb scrolling
...
See https://github.com/vector-im/riot-web/issues/9400
See https://github.com/vector-im/riot-web/issues/9394
Tolerances are defined as a device-only setting to give advanced users an option to override the values. No UI is exposed for this.
The default values are picked for assumptions on comfort, however as people change the tolerances themselves the defaults may need to change.
2019-04-08 10:56:44 -06:00
Travis Ralston
6a8b98eb71
Merge pull request #2877 from matrix-org/travis/breadcrumbs/scroll-left
...
Translate vertical scrolling to horizontal movement in breadcrumbs
2019-04-05 09:51:13 -06:00
Travis Ralston
e2edae3383
Merge branch 'develop' into travis/breadcrumbs/telemetry
2019-04-05 09:35:38 -06:00
David Baker
41c403c9a6
Merge pull request #2879 from matrix-org/dbkr/file_upload_fallout
...
Fix a few bugs introduced in file upload rework
2019-04-05 15:48:45 +01:00
Travis Ralston
4815aa6de9
Merge pull request #2875 from matrix-org/travis/breadcrumbs/mobile
...
Sync breadcrumb rooms through account data
2019-04-05 08:21:57 -06:00
Travis Ralston
2f8c0cb4e9
Merge pull request #2878 from matrix-org/travis/breadcrumbs/auto-scroll-left
...
Scroll breadcrumbs to the left when they change
2019-04-05 08:18:00 -06:00
Travis Ralston
223498a979
Merge pull request #2874 from matrix-org/travis/breadcrumbs/dms
...
Add an indicator to show a room is a direct chat in breadcrumbs
2019-04-05 08:15:12 -06:00
Travis Ralston
98b35d106b
Merge pull request #2872 from matrix-org/travis/breadcrumbs/upgrades
...
Use the most recent version of the room in breadcrumbs
2019-04-05 08:12:51 -06:00
David Baker
c8ba7d3434
Fix a few bugs introduced in file upload rework
...
* Fix the widget picture_snapshot command (not that I can find
anything that uses it)
* Remove unused prop
* Fix plural on ContentMessages
2019-04-05 15:09:07 +01:00
Travis Ralston
04b521c48b
Scroll breadcrumbs to the left when they change
...
Fixes https://github.com/vector-im/riot-web/issues/9355
2019-04-04 17:03:06 -06:00
Travis Ralston
138fd4ec87
Translate vertical scrolling to horizontal movement in breadcrumbs
...
Fixes https://github.com/vector-im/riot-web/issues/9314
2019-04-04 16:43:04 -06:00
Travis Ralston
b7e557e49a
Autohide the scrollbar on breadcrumbs
...
Fixes https://github.com/vector-im/riot-web/issues/9349
2019-04-04 16:27:00 -06:00
Travis Ralston
64a22236c3
Handle cases where the user rapidly clicks between rooms
...
Once the user has breadcrumbs, there should always be breadcrumbs. Therefore it is safe to ignore any updates which have zero entries.
2019-04-04 16:21:57 -06:00
Travis Ralston
406196e11c
Move import to avoid future merge conflicts
2019-04-04 15:10:17 -06:00
Travis Ralston
edc24c6a91
Move import to avoid future merge conflicts
2019-04-04 15:08:38 -06:00
Travis Ralston
44198ea97d
Sync breadcrumb rooms through account data
...
Fixes https://github.com/vector-im/riot-web/issues/9315
Other clients would need to listen for and update im.vector.riot.breadcrumb_rooms in account data.
2019-04-04 15:06:03 -06:00
Travis Ralston
095e6a3ba6
Add an indicator to show a room is a direct chat
...
Fixes https://github.com/vector-im/riot-web/issues/8797
2019-04-04 14:31:23 -06:00
Travis Ralston
035f6b14c0
Add telemetry for how many people use breadcrumbs
...
Fixes https://github.com/vector-im/riot-web/issues/9207
2019-04-04 14:17:15 -06:00
Travis Ralston
68fc04d9f6
Use the most recent version of the room in breadcrumbs
...
Fixes https://github.com/vector-im/riot-web/issues/8662
2019-04-04 13:45:20 -06:00
Matthew Hodgson
d45f43144f
Merge pull request #2869 from matrix-org/matthew/redacted_tombstones
...
fix NPE for rooms with redacted tombstones
2019-04-04 16:53:31 +01:00
Travis Ralston
a61ab4eb4e
Merge pull request #2862 from matrix-org/travis/stickerpicker/remount
...
Don't re-init the stickerpicker unless something actually changes
2019-04-04 09:46:38 -06:00
Travis Ralston
f2b7042a33
misc cleanup
2019-04-04 09:30:15 -06:00
Travis Ralston
10369170ed
Use a static prop on Stickerpicker to track the current widget
2019-04-03 17:16:56 -06:00
Travis Ralston
ad777782b8
Merge branch 'develop' into travis/stickerpicker/remount
2019-04-03 17:00:19 -06:00
Travis Ralston
f73c32e6c2
Track notifications in component state
2019-04-03 16:13:09 -06:00
Travis Ralston
f5600fd4d7
Add badges to breadcrumb rooms
...
Fixes https://github.com/vector-im/riot-web/issues/8606
2019-04-03 15:29:15 -06:00
Matthew Hodgson
e98ef0d537
only show continues link if tombstone has a continuation
2019-04-03 21:12:36 +01:00
Travis Ralston
c3d3dd1fd7
Merge pull request #2860 from matrix-org/travis/breadcrumbs/parted
...
Apply 50% opacity to left breadcrumbs
2019-04-03 08:42:39 -06:00
Travis Ralston
c0f06602c5
Use state instead of forceUpdate
2019-04-02 10:47:39 -06:00
Travis Ralston
8225b91179
Merge pull request #2863 from matrix-org/travis/stickerpicker/lower-z
...
Put the stickerpicker below dialogs
2019-04-02 10:23:17 -06:00
Travis Ralston
3f9d088667
Put the stickerpicker below dialogs
...
Fixes https://github.com/vector-im/riot-web/issues/9353
The ContextualMenu now accepts a zIndex parameter which can be used to control its level. Dialogs are at around 4000 in the z-index, and the context menu defaults to 5000 for the things that need tooltips and such in a dialog.
2019-04-01 20:34:33 -06:00
Travis Ralston
a4f76670c4
Don't re-init the stickerpicker unless something actually changes
...
Fixes https://github.com/vector-im/riot-web/issues/9354
https://github.com/matrix-org/matrix-react-sdk/pull/2801 introduced a change which tried to make sure that when the widget URL was changed that the picker would be re-mounted, however it accidentally introduced a regression. While it effectively did the task it wanted to, it failed to keep the previously-mounted sticker picker alive. This is because the Stickerpicker component is remounted when opened, and the _updateWidget function is called. This results in this.state not having the "current" widget, meaning a URL change is always detected when the component is remounted (room changes, open sticker picker).
Instead of remounting always, we'll instead track which sticker picker widget is being used out of band. This therefore means that whenever the Stickerpicker component is mounted it doesn't create a whole new widget, and the existing (background) picker can be used. This also fixes the loading screen that people would see when opening the sticker picker after switching rooms, something which the persistent widget stuff is supposed to solve.
2019-04-01 19:48:05 -06:00
Travis Ralston
7e2291592c
Apply 50% opacity to left breadcrumbs
...
Fixes https://github.com/vector-im/riot-web/issues/8564
We listen for membership changes to make sure the state is kept up to date.
2019-04-01 11:59:39 -06:00
David Baker
5b2cee2fc1
Implement redesigned upload confirmation screens
...
Also fairly significant refactor of the uploading code: there are
a number of different ways of triggerring a file upload and each
went through a different code path (the media config size limit
worked on one of those paths). Basically take a lot of code out
of the views and put it into ContentMessages.
Sorry about the size of this patch.
https://github.com/vector-im/riot-web/issues/7565
2019-04-01 16:42:41 +01:00
Travis Ralston
86e4d29582
Merge remote-tracking branch 'origin/develop' into travis/cancel-3pid
2019-03-29 11:47:46 -06:00
Travis Ralston
07cc640089
Add common utility for checking 3pid invites
...
We just need to make sure they are structurally sound - actual validation is done by other parties.
2019-03-29 11:45:07 -06:00
Bruno Windels
a326c83016
Merge pull request #2842 from matrix-org/bwindels/bacat-scrolling-merged-develop
...
BACAT Scrolling
2019-03-29 14:02:15 +00:00
Travis Ralston
0258f61f63
Fix typo preventing custom status from deregistering listeners on tiles
2019-03-28 21:02:24 -06:00
Travis Ralston
99dc2c4738
Add MemberInfo for 3pid invites and support revoking those invites
...
Fixes https://github.com/vector-im/riot-web/issues/625
Fixes https://github.com/vector-im/riot-web/issues/6411
Fixes https://github.com/vector-im/riot-web/issues/5490
2019-03-28 21:02:24 -06:00
Bruno Windels
0a4ef44bcf
fix lint
2019-03-28 18:29:48 +01:00
Travis Ralston
acb33e1aa0
Merge pull request #2839 from matrix-org/travis/breadcrumbs/visual
...
Add custom tooltips and scrolling to breadcrumbs
2019-03-28 11:29:48 -06:00
Bruno Windels
41c5582a7b
make resizeNotifier optional so tests don't fail
2019-03-28 17:56:12 +01:00
Travis Ralston
87ca3069bb
Misc code cleanup
2019-03-28 10:43:01 -06:00
Travis Ralston
92c99546f6
Merge pull request #2837 from matrix-org/travis/breadcrumbs/persist
...
Persist breadcrumb state between sessions
2019-03-28 10:32:26 -06:00
Travis Ralston
f73556d278
Remove unnecessary params
2019-03-28 09:52:12 -06:00
Travis Ralston
9b64dd0cd7
Support horizontal scrolling on breadcrumbs
...
Fixes https://github.com/vector-im/riot-web/issues/8714
Fixes https://github.com/vector-im/riot-web/issues/8890
Fixes https://github.com/vector-im/riot-web/issues/9034
Fixes https://github.com/vector-im/riot-web/issues/8954
This turned out to be much more complicated than it needed to be. We use an IndicatorScrollbar to do all the math for us and some minor changes have been made so it can flag left/right overflow. The complicated part is the css changes which make the gradients work: unlike the RoomSubList, we have to calculate the offset of the indicators (gradients) on our own because position:sticky doesn't work horizontally.
The changes to the css (well, mostly pointer-events:none) make it so the gradient doesn't interfere with the room avatars.
9034 and 8954 are fixed by this because they represent an overflow-x:none style breakage where browsers won't let you scroll without a scrollbar. The gradient offset problem is also demonstrated in 8954.
2019-03-27 17:52:05 -06:00