Commit graph

2900 commits

Author SHA1 Message Date
Bruno Windels
99961df9d0
Merge pull request #3479 from matrix-org/bwindels/command-detection-resilience
Fix: make command detection more resilient
2019-09-26 07:36:25 +00:00
Bruno Windels
0bbbb5e336 use mxid for user pill in command 2019-09-25 17:30:12 +02:00
Bruno Windels
c760ba0839 make command detection more resilient 2019-09-25 17:30:01 +02:00
Bruno Windels
30af9a9056 need to check isComposing on native event 2019-09-25 16:11:37 +02:00
Bruno Windels
c8af1a6256 fixup: remove flag 2019-09-25 14:59:27 +02:00
Bruno Windels
ffe34ee8a1 try to see if this fixes safari back
on of the 2 changes (updating dom async from compositionend,
or ignoring keydown while composing) here has, while fixing chrome,
broken safari.

Don't do the async dom updating for safari if that was it.
2019-09-25 14:47:35 +02:00
Bruno Windels
7bda1c58eb better naming 2019-09-25 14:45:39 +02:00
Bruno Windels
9f47fad305 ignore keydown events while doing IME composition 2019-09-24 15:32:30 +02:00
Bruno Windels
4d151722ff delay DOM modification after compositionend 2019-09-24 15:32:08 +02:00
Michael Telatynski
c286f2214f Fix disabled save button on message editor when pasting
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-18 14:09:38 +01:00
RiotRobot
dd0ffa8e72 Merge branch 'master' into develop 2019-09-16 17:49:46 +01:00
Travis Ralston
3150d65bd7 De-async _calculateCanPermissions 2019-09-13 12:43:57 -06:00
Travis Ralston
d18d15311f Remove extraneous guard on deactivation check 2019-09-13 12:43:47 -06:00
Travis Ralston
27828a3785 Wrap deactivation check with sanity conditions
To ensure the matrixClient is not null (the problem) and that unexpected errors don't brick the app.

Fixes https://github.com/vector-im/riot-web/issues/10854
2019-09-12 18:31:58 -06:00
Travis Ralston
f4ebde1596 Wrap deactivation check with sanity conditions
To ensure the matrixClient is not null (the problem) and that unexpected errors don't brick the app.

Fixes https://github.com/vector-im/riot-web/issues/10854
2019-09-12 18:30:27 -06:00
Michael Telatynski
3fef6e6b22 Support Synapse deactivate on MemberInfo without Room (timeline pill)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-12 18:28:16 -06:00
Bruno Windels
fb5a85db81 put min room count in constant 2019-09-12 15:12:18 +02:00
Bruno Windels
94bdedd25b show breadcrumbs only after having joined at least 10 rooms 2019-09-12 14:07:46 +02:00
Bruno Windels
ac65b28954 PR feedback 2019-09-11 18:03:15 +01:00
Bruno Windels
0cba5da03d add redact recent messages button in member info 2019-09-11 18:03:09 +01:00
Bruno Windels
b9421e4269 make add room button go to create room dialog instead of room directory 2019-09-11 17:57:40 +01:00
Travis Ralston
9e2cdecb9b Add a button to MemberInfo to deactivate a user
Part of https://github.com/vector-im/riot-web/issues/4125
2019-09-11 17:44:29 +01:00
Michael Telatynski
792b70913c invert and rename changed to saveDisabled for clarity
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:37:11 +01:00
Michael Telatynski
2ff98b7c1f clear up ambiguity by poor naming
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:37:11 +01:00
Michael Telatynski
e3643bf17a EditMessageComposer: disable Save button until a change has been made
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:37:11 +01:00
Michael Telatynski
81ea230a35
Merge pull request #3406 from matrix-org/t3chguy/reply_to_search_results
Fix replying from search results for this and all rooms
2019-09-11 17:14:55 +01:00
Michael Telatynski
379fab8068
Merge pull request #3411 from matrix-org/t3chguy/synapse_deactivate_memberinfo_no_room
Support Synapse deactivate on MemberInfo without Room (timeline pill)
2019-09-11 17:12:38 +01:00
Bruno Windels
62ddc1e544
Merge pull request #3412 from matrix-org/bwindels/explore-button
Add explore button in left panel to go show room directory
2019-09-11 11:54:18 +00:00
Bruno Windels
68dde07f49 make add room button go to create room dialog instead of room directory 2019-09-10 11:59:59 +02:00
Michael Telatynski
0b56e7a81c Support Synapse deactivate on MemberInfo without Room (timeline pill)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-10 08:26:10 +01:00
Bruno Windels
3edf345b02 PR feedback 2019-09-09 16:19:10 +02:00
Bruno Windels
f205ddbc8f add redact recent messages button in member info 2019-09-09 15:10:50 +02:00
Michael Telatynski
ef2ff31a46 Fix replying from search results for this and all rooms
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-09 09:34:08 +01:00
Bruno Windels
1422b1d73e
Merge pull request #3403 from matrix-org/bwindels/cider-italics
New composer: use underscore for italics so it doesn't collide with bold when toggling
2019-09-09 08:06:51 +00:00
Michael Telatynski
13258132e7
Merge pull request #3400 from matrix-org/t3chguy/react16_9
Switch to createReactClass: views/rooms and test/components. React 16 :D
2019-09-06 18:18:32 +01:00
Bruno Windels
48247e66be use underscore for italics so it doesn't collide with bold when toggling 2019-09-06 17:52:37 +02:00
Bruno Windels
fe482258ac
Merge pull request #3402 from matrix-org/bwindels/cider-toggle-inline-formatting
New composer: support toggling inline formatting
2019-09-06 14:42:16 +00:00
Bruno Windels
26bd694c6a support toggling inline formatting 2019-09-06 16:25:55 +02:00
Michael Telatynski
70ff2bc9cd Switch to createReactClass: views/rooms and test/components. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-06 15:04:46 +01:00
Bruno Windels
4e98721ba9 take bounding box for positioning calculation 2019-09-06 15:56:46 +02:00
Bruno Windels
dd1c01068f fix rename that didn't make it through rebasing 2019-09-06 11:58:27 +02:00
Bruno Windels
5014b606db
Merge pull request #3391 from matrix-org/bwindels/cider-format-history
New composer: ensure undo history is persisted before applying formatting
2019-09-06 09:28:18 +00:00
Bruno Windels
df4762871a
Merge pull request #3392 from matrix-org/bwindels/cider-paste-plain
New composer: fix pasting from word processors
2019-09-06 09:22:37 +00:00
Bruno Windels
6b104f6344
Merge pull request #3393 from matrix-org/bwindels/cider-fix-lastcaret
New composer: fix needing to push arrow-up twice after sending first message after switching to a room
2019-09-06 09:22:10 +00:00
Bruno Windels
9dac91a70d ensure step before formatting is persisted in undo history 2019-09-06 11:20:24 +02:00
Bruno Windels
0252c7ae37 force pasting as plain text in new composer 2019-09-06 11:10:41 +02:00
Bruno Windels
2596281a7c update last caret from update callback instead of input event
many editor updates are not caused by an input event, so
the last caret wasn't always up to date.

Updating the caret from the update callback ensures that every
time the editor contents is changed, the last caret is updated.
2019-09-06 11:09:01 +02:00
Bruno Windels
f4938f9d11 dont format empty ranges 2019-09-06 10:59:41 +02:00
Bruno Windels
06143ba7a1 show keyboard shortcuts in format button tooltip 2019-09-06 10:59:41 +02:00
Bruno Windels
bdcea6f21e add shortcuts for formatting 2019-09-06 10:59:41 +02:00
Bruno Windels
b4b9c7d072 Add tooltip for format buttons 2019-09-06 10:39:19 +02:00
Bruno Windels
da29057fd8 move format bar to own component 2019-09-06 10:39:19 +02:00
Bruno Windels
02681d50b9
Merge pull request #3386 from matrix-org/bwindels/cider-formatbar
New composer: show format bar on selection
2019-09-06 08:38:01 +00:00
Bruno Windels
92c0c1a4e2 add comment about positioning the format bar 2019-09-06 10:29:18 +02:00
Bruno Windels
4ef9fa53ac better i18n 2019-09-05 11:10:13 +02:00
Bruno Windels
2ea556e0b4 support update callback setting selection instead of caret 2019-09-04 16:40:34 +02:00
Bruno Windels
4c04bc19c9 fixup: remove now unused import 2019-09-04 16:40:34 +02:00
Bruno Windels
6e694c113a add support for inline/block code formatting 2019-09-04 16:40:34 +02:00
Bruno Windels
b35a3531bb move quote formatting out of react component 2019-09-04 16:40:34 +02:00
Bruno Windels
b72d1a78ec move inline formatting code out of react component 2019-09-04 16:40:34 +02:00
Bruno Windels
7f501b2aef first impl of quote formatting 2019-09-04 16:40:13 +02:00
Bruno Windels
d4c7992f5a first impl of inline formatting 2019-09-04 16:39:56 +02:00
Bruno Windels
7dc39baaf3 implement bold support in format bar 2019-09-04 16:35:03 +02:00
Bruno Windels
65ddfc0a50 show format bar when text is selected 2019-09-04 16:35:03 +02:00
Bruno Windels
4575aaa9f6
Merge pull request #3382 from matrix-org/bwindels/escape-command-slash
New composer: allow escaping the first slash to not write a command
2019-09-03 16:04:23 +00:00
J. Ryan Stinnett
3cb06c01b7
Merge pull request #3385 from matrix-org/jryans/email-invite-text
Improve email invite preview messaging
2019-09-03 16:58:14 +01:00
J. Ryan Stinnett
261bdab156 Fix indent 2019-09-03 16:55:17 +01:00
J. Ryan Stinnett
67299842e3 Use more specific messaging for email invite preview
This changes email invite previews to check more specific cases about whether
the email has been added to your account, you have an IS, the email is bound,
etc.

In addition, it always allows you to join if you want to.

Fixes https://github.com/vector-im/riot-web/issues/10669
2019-09-03 15:41:53 +01:00
Bruno Windels
1063da0ed1
Revert "New composer: show markdown legend on focus" 2019-09-03 08:27:45 +00:00
Travis Ralston
5e8eb20c53
Merge pull request #3371 from matrix-org/travis/synapse_admin
Add a button to MemberInfo to deactivate a user
2019-09-02 11:08:45 -06:00
Bruno Windels
06ae0645c7 fix lint 2019-09-02 17:56:16 +02:00
Bruno Windels
712c3e5450 allow escaping the first slash to not write a command 2019-09-02 17:53:14 +02:00
Bruno Windels
422f482a6d
Merge pull request #3378 from matrix-org/bwindels/cider-md-legend
New composer: show markdown legend on focus
2019-09-02 14:59:44 +00:00
Bruno Windels
de9f923e36
Merge pull request #3380 from matrix-org/bwindels/cider-fix-dirty-flag-without-input-event
New composer: allow submitting after inserting newline
2019-09-02 14:59:18 +00:00
Bruno Windels
c4d7df768d
Merge pull request #3375 from matrix-org/bwindels/cider-colononmention
New composer: share user pill postfix between autocomplete and insert mention
2019-09-02 14:58:23 +00:00
Bruno Windels
ff74dd4b7f
Merge pull request #3374 from matrix-org/bwindels/fix-cider-command-detection
New composer: make command detection not break with pill candidates in command
2019-09-02 14:58:12 +00:00
J. Ryan Stinnett
00a69b996d Clarify invite error text
This fixes a typo in the message (valide) and also has better handling of error
codes, because in some cases, we don't get one.

Fixes https://github.com/vector-im/riot-web/issues/10683
2019-09-02 15:53:13 +01:00
Bruno Windels
6163cefa6a set dirty flag when programatically inserting text like with newlines 2019-09-02 16:29:25 +02:00
Bruno Windels
f200327ef2 show/hide legend when focusing/blurring 2019-09-02 16:15:18 +02:00
Bruno Windels
b7768f34f2 Add legend and style it 2019-09-02 16:15:18 +02:00
Bruno Windels
b9cb22e153 dont allow sending empty messages 2019-09-02 14:36:31 +02:00
Bruno Windels
c595371845 share user pill postfix between autocomplete and insert mention
where we decide to add a colon only if the composer is empty
2019-09-02 14:06:30 +02:00
Bruno Windels
b46e001d0a allow pill-candidate parts in commands 2019-09-02 13:51:46 +02:00
Bruno Windels
4329d8c4ef
Merge pull request #3372 from matrix-org/bwindels/fix-command-tab-complete
New composer: fix tab-complete in commands
2019-09-02 11:38:13 +00:00
Bruno Windels
fdd23b34ae also look backwards into commands for last word to tab-complete 2019-09-02 11:27:22 +02:00
Bruno Windels
a4376a76f0 only pass keyboard to autocomplete when it has selections
otherwise if tab is pressed, try to tab complete the last word
2019-09-02 11:25:29 +02:00
Travis Ralston
cfff576ef4 Add a button to MemberInfo to deactivate a user
Part of https://github.com/vector-im/riot-web/issues/4125
2019-09-01 18:04:24 -06:00
Bruno Windels
42ba5f6f0a force model update after composition finishes 2019-08-30 11:37:42 +02:00
Bruno Windels
4779880a94
Merge pull request #3362 from matrix-org/bwindels/cider-no-enter-autocomplete
New composer: don't capture enter to close autocomplete
2019-08-30 08:17:47 +00:00
Bruno Windels
c144edfcac dont capture enter to close autocomplete 2019-08-29 18:39:35 +02:00
Bruno Windels
5105140902
Merge pull request #3358 from matrix-org/bwindels/cider-paste-images
New composer: support pasting files
2019-08-29 16:31:28 +00:00
Bruno Windels
fe7ac11abc New composer: support pasting files 2019-08-29 16:19:05 +02:00
Bruno Windels
891ccf0f4c don't update model while doing IME composition
this prevents the composition from being disrupted because
the DOM is modified, and also complete compositions are added
to the undo history like this.
2019-08-29 13:56:21 +02:00
Bruno Windels
f119ac4b22
Merge pull request #3349 from matrix-org/bwindels/tab-complete-name
New composer: support forcing auto complete on name by hitting tab
2019-08-28 16:17:16 +00:00
Bruno Windels
29f96e659a remove leftover code 2019-08-28 17:53:03 +02:00
Bruno Windels
85efb71a23 add visual bell when no replacements are available
also add try/catch in _tabCompleteName so errors don't get swallowed
2019-08-28 15:53:16 +02:00
Travis Ralston
3eddded039 Merge branch 'develop' into travis/tabbed-managers 2019-08-27 09:07:52 -06:00
Bruno Windels
d8bb9ecedf bring insert method inline with transform callback, add docs
before the insertPartsAt method would call the update callback
on its own, but now we have the concept of a transformation session,
so lets bring the API in line
2019-08-27 16:43:05 +02:00
Bruno Windels
f5bb872efa some cleanup 2019-08-27 16:43:05 +02:00
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