Commit graph

2834 commits

Author SHA1 Message Date
Michael Telatynski
c6023ca461 Gen i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 12:29:53 +01:00
Michael Telatynski
4dd0f6d902 Make breadcrumbs more accessible
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 12:12:54 +01:00
Michael Telatynski
e7f292794c
Merge pull request #3556 from matrix-org/t3chguy/a11y4
Use Navigation Treeview pattern for RoomList Accessibility
2019-10-22 13:42:08 +01:00
Michael Telatynski
3400808f6e Use navigation treeview aria pattern for roomlist sublists and tiles
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 15:53:39 +01:00
Michael Telatynski
2de88449aa Clean up RoomSubList from stale unused code paths
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-14 16:08:56 +01:00
Tulir Asokan
2555fcb38f Fix reply fallback being included in edit m.new_content
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-13 13:32:09 +03:00
Michael Telatynski
dcc948f43d
Merge pull request #3543 from matrix-org/t3chguy/timeline_keyboard_focus
Don't intercept TAB on the app outside of the composer, fix tabIndex > 0
2019-10-10 17:52:10 +01:00
Bruno Windels
f8a610687f don't persist caret when selection is missing
so caret will be put back at end of editor when remounting
2019-10-10 16:40:03 +02:00
Michael Telatynski
5643743167 Don't intercept TAB on the app outside of the composer, fix tabIndex > 0
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-10 14:13:29 +01:00
Michael Telatynski
58317b1608 Use Keyboard Key variables instead of hardcoded strings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 19:59:11 +01:00
Michael Telatynski
ff18a04da1
Merge pull request #3529 from matrix-org/t3chguy/react16_cleanup2
React error/warning cleanup
2019-10-09 16:26:24 +01:00
Bruno Windels
5bcb4b0fb6
Merge pull request #3530 from matrix-org/bwindels/watchemoticonsetting
Fix: watch emoticon autoreplace setting
2019-10-08 12:53:54 +00:00
Bruno Windels
91d593cb71 watch emoticon autoreplace setting 2019-10-08 14:40:10 +02:00
Michael Telatynski
a782baf510 React error/warning cleanup
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-08 12:10:37 +01:00
Bruno Windels
80ec77a144 dont rely on timeline linkage to find events to redact 2019-10-08 08:46:13 +02:00
Michael Telatynski
f1db0cf027 Various ARIA a11y fixes.
Notate RightPanel tabs.
Shorten Screen Reader queues.
Make AccessibleTooltipButton screen reader friendly
Flatten DOM for Sticker button using React Fragments

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 09:35:39 +01:00
Travis Ralston
b94c94db04
Merge pull request #3492 from matrix-org/travis/hide-images
Add an option to hide image previews
2019-10-02 12:46:45 -06:00
Bruno Windels
55c1c5e582 tell tooltip when format bar gets hidden, as it won't be unmounted 2019-10-02 14:31:42 +02:00
Travis Ralston
3c589cffec Merge branch 'develop' into travis/hide-images 2019-10-01 09:31:54 -06:00
Travis Ralston
7d1a04cb12
Merge pull request #3500 from matrix-org/travis/permalinks
Support local permalinks for unfederated instances
2019-10-01 08:41:23 -06:00
Michael Telatynski
891eb7af3f
Merge pull request #3499 from matrix-org/t3chguy/accessibility2
Accessibility fixes to the LeftPanel
2019-10-01 12:21:45 +01:00
Michael Telatynski
2d6461d376
Merge pull request #3497 from matrix-org/t3chguy/autocomplete_a11y
Make Autocomplete more accessible to screen reader users
2019-10-01 12:07:39 +01:00
Travis Ralston
fc66e69c02 Rename RoomPermalinkCreator -> Permalinks due to scope
The file handles more than just a RoomPermalinkCreator, so we should name it accordingly.
2019-09-30 20:39:58 -06:00
Travis Ralston
6f5ccd4c12 Minor comment updates 2019-09-30 20:38:03 -06:00
Travis Ralston
2824f468d9 Update pill processing to handle better permalinks 2019-09-30 20:27:51 -06:00
Travis Ralston
64aa6695f5 Move matrix-to.js to utils/permalinks/RoomPermalinkCreator
Just a little bit of refactoring to make the feature of custom prefixes a bit easier.
2019-09-30 12:16:46 -06:00
Michael Telatynski
2621ad1b43 Group room tiles in room sub list in the room list for ARIA
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-30 16:04:43 +01:00
Michael Telatynski
f160a308b4 Make Autocomplete more accessible to screen reader users
Use ARIA to:
 + notate that the composer has an autocomplete
 + notate the open/closed state of the autocomplete
 + notate the name of the open autocomplete options
 + notate the ID of the highlighted autocomplete option
 + improve naming of emoji autocomplete options for screen readers

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-30 14:04:39 +01:00
Bruno Windels
77a61519ef also allow commands to be pill-candidates 2019-09-30 11:15:46 +02:00
Travis Ralston
59b29e4a7f Add an option to hide image previews
Applies to images, stickers, and URL previews.

Fixes https://github.com/vector-im/riot-web/issues/10735
2019-09-27 21:08:31 -06:00
Bruno Windels
5e960f50e3
Merge pull request #3487 from matrix-org/bwindels/redactpeers
Fix: allow mass redaction for members with same or larger power level
2019-09-27 14:56:24 +00:00
Bruno Windels
a8695d345b allow mass redaction for members with same or larger power level 2019-09-27 16:16:44 +02:00
Bruno Windels
8301943cfa
Merge pull request #3481 from matrix-org/bwindels/cider-ac-shifttab
Fix: don't block Shift+Tab in CIDER autocomplete
2019-09-26 15:08:36 +00:00
Bruno Windels
f5b9373eb5 don't block Shift+Tab keypresses 2019-09-26 11:00:55 +02:00
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