Commit graph

1275 commits

Author SHA1 Message Date
Travis Ralston
7b013ecc69 Fix persisted widgets getting stuck at loading screens
The widget itself is rendered underneath the loading screen, so we just have to disable the loading state.

This commit also removes the "is" attribute because React 16 includes unknown attributes: https://reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html

Fixes https://github.com/vector-im/riot-web/issues/11536
2019-11-27 12:54:31 -07:00
Travis Ralston
fbba55ab05
Merge pull request #3670 from matrix-org/travis/toggle-communities
Make the communities button behave more like a toggle
2019-11-27 07:52:05 -07:00
Matthew Hodgson
9f455fae4b
Merge branch 'develop' into matthew/fix_logging 2019-11-26 10:19:48 +00:00
Matthew Hodgson
9fd45d1f14 console.log doesn't take %s substitutions 2019-11-26 01:14:03 +00:00
Travis Ralston
1ff39f2524 Make the communities button behave more like a toggle
Fixes https://github.com/vector-im/riot-web/issues/10771

Clicking the button should toggle between your last page (room in our case) and the communities stuff.
2019-11-25 16:51:48 -07:00
Travis Ralston
11fec80370 Hide tooltips with CSS when they aren't visible
Fixes https://github.com/vector-im/riot-web/issues/11456
2019-11-24 20:52:22 -07:00
Bruno Windels
4a684d01a4
Merge pull request #3661 from matrix-org/bwindels/verif-toasts
Show incoming verification requests in in-app notifications
2019-11-22 16:39:18 +00:00
Bruno Windels
0dfb0f5468 fix lint 2019-11-22 16:25:30 +01:00
Bruno Windels
66cc68bae4 add new-styled button
might merge it later on with accessible button
2019-11-22 16:04:51 +01:00
Travis Ralston
a55e5f7759 Update copy for widgets not using message encryption
Misc design update
2019-11-21 09:12:07 -07:00
Travis Ralston
86783e4439
Merge pull request #3645 from matrix-org/travis/widget-menu
Move many widget options to a context menu
2019-11-21 08:10:28 -07:00
Travis Ralston
5d612bb370
Merge pull request #3644 from matrix-org/travis/widget-encryption
Re-add encryption warning to widget permission prompt
2019-11-21 08:04:56 -07:00
Michael Telatynski
d3f872bf7a Merge branches 'develop' and 't3chguy/remove_bluebird' of github.com:matrix-org/matrix-react-sdk into t3chguy/remove_bluebird 2019-11-21 11:15:32 +00:00
Travis Ralston
fd12eb28e7 Move many widget options to a context menu
Part of https://github.com/vector-im/riot-web/issues/11262
2019-11-20 19:17:42 -07:00
Travis Ralston
62a2c7a51a Re-add encryption warning to widget permission prompt 2019-11-20 16:26:06 -07:00
Michael Telatynski
6121420113
Merge branch 'develop' into t3chguy/remove_bluebird 2019-11-20 15:21:23 +00:00
Travis Ralston
5b6ace2558 Appease the linter 2019-11-18 18:02:47 -07:00
Travis Ralston
b185eed462 Wire up the widget permission prompt to the cross-platform setting
This doesn't have any backwards compatibility with anyone who has already clicked "Allow". We kinda want everyone to read the new prompt, so what better way to do it than effectively revoke all widget permissions?

Part of https://github.com/vector-im/riot-web/issues/11262
2019-11-18 17:56:33 -07:00
Travis Ralston
f5ec9eb8f4 Ensure widgets always have a sender associated with them
Fixes https://github.com/vector-im/riot-web/issues/11419
2019-11-18 13:16:36 -07:00
Michael Telatynski
5c172a383d Merge branch 't3chguy/remove_bluebird_2' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/remove_bluebird
 Conflicts:
	src/components/views/right_panel/UserInfo.js
2019-11-18 10:36:43 +00:00
Michael Telatynski
d4d51dc61f Rip out the remainder of Bluebird 2019-11-18 10:03:05 +00:00
Travis Ralston
6b726a8e13 Implement the bulk of the new widget permission prompt design
Part 1 of https://github.com/vector-im/riot-web/issues/11262

This is all the visual changes - the actual wiring of the UI to the right places is for another PR (though this PR still works independently).

The help icon is known to be weird here - it's a bug in the svg we have. The tooltip also goes right instead of up because making the tooltip go up is not easy work for this PR - maybe a future one if we *really* want it to go up.
2019-11-15 14:26:16 -07:00
Bruno Windels
0f39a9f72d fix pr feedback 2019-11-15 17:29:38 +01:00
Bruno Windels
d0914f9208 allow label to be empty on power selector 2019-11-15 16:14:18 +01:00
Bruno Windels
b278531f2f add IconButton as in design 2019-11-15 16:14:18 +01:00
Michael Telatynski
168b1b68bb Revert "s/.done(/.then(/ since modern es6 track unhandled promise exceptions"
This reverts commit 09a8fec2
2019-11-12 11:56:21 +00:00
Michael Telatynski
09a8fec261 s/.done(/.then(/ since modern es6 track unhandled promise exceptions 2019-11-12 11:51:23 +00:00
Michael Telatynski
2eddb6ca01 DRY context menu placement algorithms 2019-11-12 11:24:14 +00:00
Michael Telatynski
1c4d89f2d7 Migrate all standard Context Menus over to new custom framework 2019-11-11 17:53:17 +00:00
Travis Ralston
bdcf3890a5 Fix HTML fallback in replies
Correctly encode the `body` to avoid problems down the line. We also convert newlines to `<br/>` to better represent the message as a fallback.

Fixes https://github.com/vector-im/riot-web/issues/9413
2019-11-08 16:07:11 -07:00
Travis Ralston
e46976be72 Match widgets up with their integration manager 2019-10-29 11:49:15 -06:00
Bruno Windels
3e360c156a bring LazyRenderList up to React 16 standards, cleanup & docs 2019-10-24 17:56:26 +02:00
Michael Telatynski
8d9dc195d5 Make ARIA happier with DateSeparator and tidy ELS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 18:32:10 +01:00
Michael Telatynski
93ecc9839b Fix linty failures 2019-10-22 13:49:02 +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
6e33cc0650
Merge pull request #3433 from matrix-org/t3chguy/nvl/react16/EventListSummary
Summarise state events after room creation
2019-10-11 09:53:26 +01:00
Michael Telatynski
7160922b77
Merge pull request #3541 from matrix-org/t3chguy/fix_150rc1
SettingsFlag always run ToggleSwitch fully-controlled
2019-10-10 09:39:33 +01:00
Michael Telatynski
0d42b8629e remove SettingsFlag manualSave altogether
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 23:20:59 +01:00
Michael Telatynski
685c2f494a actually always run fully controlled
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 22:33:14 +01:00
Michael Telatynski
2b9c102f07 SettingsFlag always run ToggleSwitch fully-controlled
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 22:27:49 +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
J. Ryan Stinnett
e905abe5ce Add label to rageshakes for React soft crashes
This adds a label all rageshakes submitted via the React error boundary marking
them as soft crashes for triage.

Fixes https://github.com/vector-im/riot-web/issues/11072
2019-10-09 11:59:10 +01:00
Michael Telatynski
efeb6e87c4 Use new React Shallow renderer with hooks support
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 12:51:08 +02:00
Michael Telatynski
34530843f4 Factor out generic EventListSummary from MELS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 12:50:03 +02:00
Michael Telatynski
4c82496bca export ToggleSwitch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-08 12:22:22 +01:00
Michael Telatynski
a03e9e7a4f tidy ToggleSwitch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-08 12:18:44 +01:00
Michael Telatynski
a782baf510 React error/warning cleanup
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-08 12:10:37 +01:00
Michael Telatynski
a0de7d5f14 Cull some easily fixable errors which make the console a mess
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 21:47:19 +01:00
Michael Telatynski
8ef61ce43e
Merge pull request #3514 from matrix-org/t3chguy/accessibility3
Various ARIA a11y fixes.
2019-10-03 11:09:01 +01: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
J. Ryan Stinnett
0e8dc24c3f Add a basic error boundary for the entire app
This adds a basic error boundary around the entire app to catch errors during
rendering and present the user with the options on how to proceed. This is not
implemented as a modal so that it could be used selectively in portions of the
app as well, such as just the `RoomView`.

Fixes https://github.com/vector-im/riot-web/issues/11009
2019-10-02 17:31:22 +01:00
Bruno Windels
44e68f16ba use a way of unmounting the tooltip that seems to work 100% of the time
¯\_(ツ)_/¯
2019-10-02 14:32:08 +02: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
7d1a04cb12
Merge pull request #3500 from matrix-org/travis/permalinks
Support local permalinks for unfederated instances
2019-10-01 08:41:23 -06: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
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
14e3cb8736 Allow keyboard control even without a screen reader
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-26 13:52:09 +01:00
Michael Telatynski
3672832d38 conform to style
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-25 18:10:05 +01:00
Michael Telatynski
ab3e5c3b87 Merge branches 'develop' and 't3chguy/accesibility' of github.com:matrix-org/matrix-react-sdk into t3chguy/accesibility 2019-09-25 16:59:46 +01:00
Michael Telatynski
e01be212e6 improve Settings Accessibility for Toggles and Dialogs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-25 09:25:11 +01:00
Michael Telatynski
4a5ee4a969 Put aria-disabled on AccessibleButtons and attempt to a11y ToggleSwitch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-25 09:01:49 +01:00
Bruno Windels
8a1c1bbec4 implement RoomAliasField component
adding a postfix to Field to show the domain name
2019-09-23 11:22:30 +02:00
Michael Telatynski
d5db67be38 Switch to createReactClass: views/elements & views/groups. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-06 18:35:52 +01:00
Sorunome
4ae130bd27
add license header, descriptive comment and change to class 2019-08-29 18:13:52 +02:00
Sorunome
fe9ae46ffb
Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into soru/spoilers 2019-08-28 20:23:24 +02:00
Travis Ralston
838e115b72
Merge pull request #3338 from matrix-org/t3chguy/fix_jitsi_persisted_breaking_randomly
Only Destroy the expected persistent widget, not *ANY*
2019-08-28 10:49:29 -06: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
Michael Telatynski
cd6a980c7e Only Destroy the expected persistent widget, not *ANY*
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-22 16:57:51 +01:00
Travis Ralston
6f7bbf958e Remove tooltipClassName from the Field's input
React doesn't want the property on the <input>, so we'll take it off.
2019-08-21 12:51:16 -06:00
Travis Ralston
f55a40001c Touch up settings: alignment, spacing, error states
Fixes https://github.com/vector-im/riot-web/issues/10554

Issues fixed:
* Fields were not ~30px from the avatar (too much right margin)
* Tooltips overflowed the dialog on some resolutions
* SetIdServer didn't have an error state for making the field red
* Spacing between sections in Discovery was wrong (fixed by just removing the problematic n+2 selector - it didn't help anything)
2019-08-20 13:20:07 -06:00
Jason Robinson
29085895a7 Fix regression on widget panel edit button
Due to commit ffa49df889
the parameters for the call to open a widget in edit mode from the
widget panel in a room has broken. The `screen` parameter needs
to be prefixed with `type_` as it was before.

This corresponds to parameters supplied when creating the URL when
opening a widget in edit mode through Scalar screens.

Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-08-20 15:55:57 +03:00
Michael Telatynski
a96df333e9
Merge pull request #3310 from matrix-org/t3chguy/fix_reply_parent_redacted
Fix showing events which were replied to and then redacted
2019-08-16 19:19:25 +01:00
Travis Ralston
5fe691cf33 Double equals 2019-08-15 13:33:02 -06:00
Travis Ralston
e2f013ddb4 Appease the linter
This looks awkward, but should pass.
2019-08-15 13:31:45 -06:00
Travis Ralston
27504e1578 Prompt for terms of service on integration manager changes
Part of https://github.com/vector-im/riot-web/issues/10539
2019-08-15 13:28:23 -06:00
David Baker
4afed0fab4
Merge pull request #3313 from matrix-org/t3chguy/fix_jitsi_persisted_breaking_randomly
Fix Persisted Widgets (Jitsi) randomly closing on room change
2019-08-15 10:52:24 +01:00
Michael Telatynski
6f529852cd Skip forceUpdate in ReplyThread if the redacted event is not relevant
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-14 23:27:04 +01:00
Michael Telatynski
7b17ea1fa5 Fix Persisted Widgets (Jitsi) randomly closing on room change
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-14 23:15:49 +01:00
David Baker
e2c5dc6bac
Merge pull request #3300 from matrix-org/dbkr/change_is
Add UI in settings to change ID Server
2019-08-14 09:42:20 +01:00
Michael Telatynski
a44d61fb75 add copyright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-13 18:17:42 +01:00
Michael Telatynski
6589e5dab9 Fix showing events which were replied to and then redacted 2019-08-13 18:13:47 +01:00
David Baker
860a9dbc82 s/tooltip/tooltipContent/ 2019-08-13 11:01:04 +01:00
David Baker
06905bc5bb Actually appease linter 2019-08-12 12:05:25 +01:00
David Baker
417d9b6af8 nicer way to appease linter 2019-08-12 11:50:11 +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
David Baker
4075cdde7f lint 2019-08-09 18:59:57 +01:00
David Baker
c76514fceb Add UI in settings to change ID Server
Just changes the current ID server being used

To come in subsequent PRs:
 * Store this in account data
 * Check for terms or support the proper UI for accepting terms when setting
 * Support disconnecting

Part 1 of https://github.com/vector-im/riot-web/issues/10094
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1013
2019-08-09 18:07:58 +01:00
David Baker
fcdbce1dda Change throttle to debounce
And add an explanation of whyI think one's more apropriate than the
other for this.
2019-08-09 15:30:05 +01: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
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
Bruno Windels
9d49a5bb73 pass caret to history manager upon initial render
otherwise caret is put at editor start when undoing last step
2019-08-01 11:28:01 +02:00
Bruno Windels
234404e598 add mod+z/y shortcuts, set editor state to what history manager returns 2019-08-01 11:27:09 +02:00
Bruno Windels
98bc0d24f4 push changes to history manager 2019-08-01 11:26:20 +02: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
Bruno Windels
9bfba9db3e make PartCreator a bit more testable by not asking for deps of dep 2019-07-25 14:50:20 +02:00
J. Ryan Stinnett
cef67d5784
Merge pull request #3245 from matrix-org/jryans/tooltip-larger-buffer
Tweak interactive tooltip buffer area allow for overshoot
2019-07-25 13:16:20 +01:00
J. Ryan Stinnett
f5fbd30a28 Tweak interactive tooltip buffer area allow for overshoot
This uses a larger buffer area around the tooltip, as it easy to overshoot and
mouse the cursor past the tooltip.

Fixes https://github.com/vector-im/riot-web/issues/10400
2019-07-25 12:17:07 +01:00
J. Ryan Stinnett
2d4264c39d Keep widget URL in permission screen to one line
This keeps the widget URL to one line max, so that the allow button will always
be visible. The full URL can be viewed by hovering.

Fixes https://github.com/vector-im/riot-web/issues/10402
2019-07-23 18:06:37 +01:00
J. Ryan Stinnett
846a908bb4 Add missing copyright header 2019-07-23 17:52:00 +01:00
Bruno Windels
58fd828944
Merge pull request #3241 from matrix-org/bwindels/dofocuscomposer
Restore manual composing focusing logic
2019-07-23 11:55:44 +00: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
Bruno Windels
ceb53dc0bb Revert "remove unnessary manual focussing of composer"
This reverts commit 57abbc4273.
2019-07-23 09:13:51 +02:00
J. Ryan Stinnett
09c2d899ac Defer IM token until widget is shown and permission granted
This defers the work to request the IM token when displaying a widget until
after we know that widget will actually be shown and the user has granted
permission for this widget to be displayed.

This is useful in general to avoid making unnecessary token checks, but it's
particularly helpful with the new Terms API, so that we only show the Terms flow
when widget are actually being used (as opposed to entering the room where
widgets exist, but haven't been shown / permitted).

Part of https://github.com/vector-im/riot-web/issues/10088
2019-07-22 11:50:54 +01:00
Bruno Windels
4fa7302f69
Merge pull request #3224 from matrix-org/bwindels/focus-composer-on-type
Focus composer when typing anywhere in the app
2019-07-18 16:10:23 +00:00
Bruno Windels
03f577bea9 use keydown here, as its a div element 2019-07-17 17:23:19 +02:00
Bruno Windels
50c88279a0 remove non-existing keypress handler 2019-07-17 17:05:56 +02:00
J. Ryan Stinnett
fc8cdc5661 Improve interactive tooltip safe mousing area
This adds a more complex trapezoidal safe area between the button that triggers
the tooltip and the tooltip itself. It should be easier to move from the button
into the tooltip without accidentally closing it.

Fixes https://github.com/vector-im/riot-web/issues/10185
2019-07-17 14:11:27 +01:00
Bruno Windels
57abbc4273 remove unnessary manual focussing of composer
now that composer is focused automatically when no other shortcuts
apply, remove the manual focusing we have in place where it's not needed
2019-07-15 18:21:10 +02:00
Bruno Windels
507b89fc61 manually attach input event handler, as React doesn't pass inputType 2019-07-11 18:46:56 +02:00
Michael Telatynski
8d4356a5b9 Show anything other than ban/invite -> leave as a kick
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-10 08:57:00 +01: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
349afb13f3
Merge pull request #3164 from matrix-org/t3chguy/fix_proptypes_mismatches
Fix some React errors
2019-07-09 10:59:29 +01:00
Bruno Windels
f6e71b2335 turn flag into options object 2019-07-08 16:55:56 +02:00
Bruno Windels
888e4d1ec2 preserve reply fallback when editing 2019-07-08 15:25:44 +02:00
Michael Telatynski
c2905bd33b make things a tad saner
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-06 11:16:01 +01:00
Michael Telatynski
89ece266c6 Make id used in EditableItemList unique, namespace mx_EditableItemList_*
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-06 11:15:10 +01:00
Michael Telatynski
6b9c6a31f0 Don't show Remove button in ImageView if can't redact, delint ImageView
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-06 10:42:14 +01:00
Michael Telatynski
000f7e8007
Merge pull request #3103 from matrix-org/t3chguy/edit_skip_if_no_edit
If oldContent matches newContent, skip sending the edit
2019-07-06 08:52:58 +01:00
J. Ryan Stinnett
5496a4dce6 Fix interactive tooltip null target error
Fixes https://github.com/vector-im/riot-web/issues/10232
2019-07-05 15:02:09 +01:00
David Baker
668d24111c
Merge pull request #3173 from matrix-org/t3chguy/MELS_3pid
MELS handle m.room.third_party_invite
2019-07-03 16:02:10 +01: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
429b8e94df MELS handle m.room.third_party_invite
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-03 08:58:34 +01:00
J. Ryan Stinnett
cf8eeedcc7
Merge pull request #3169 from matrix-org/jryans/reactions-tooltip-tweaks
Improve interactive tooltip hover behaviour
2019-07-02 18:28:09 +01:00
Bruno Windels
daa2250023 fix lint 2019-07-02 18:30:57 +02:00
Bruno Windels
3fd96008c3 Fixup: dont assume there is a prior edit 2019-07-02 17:34:07 +02:00
Bruno Windels
357ad3d50c cancel pending edit when sending new edit 2019-07-02 14:52:29 +02:00
J. Ryan Stinnett
a4587c5013
Merge pull request #3165 from matrix-org/t3chguy/tooltip_accessible_button
Add AccessibleTooltipButton and use it for RoomSubList buttons
2019-07-02 10:34:51 +01:00
Michael Telatynski
904a096f72
Update AccessibleTooltipButton.js 2019-07-02 10:28:36 +01:00
J. Ryan Stinnett
dd94bf799d Improve interactive tooltip hover behaviour
This gives the interactive tooltip a more natural hover behaviour by removing
the full screen div behind it. This allows the target button to keep its hover
state, for example.

This also removes the click to close behaviour, which was too easy to trigger
accidentally.

Fixes https://github.com/vector-im/riot-web/issues/10179
Fixes https://github.com/vector-im/riot-web/issues/10222
Fixes https://github.com/vector-im/riot-web/issues/10225
2019-07-01 18:00:59 +01:00
Michael Telatynski
46a6043e9b Use title prop instead to minimize changes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-30 11:00:21 +01:00
Michael Telatynski
8ed336ea08 Add AccessibleTooltipButton and use it for RoomSubList buttons
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-30 10:58:59 +01:00
Michael Telatynski
d774d96290 Fix some React errors
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-30 10:41:39 +01:00
Michael Telatynski
e591d3ef76 take dirty-flag into account for editing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-29 06:52:19 +01:00
Michael Telatynski
bf9353f3af Merge branches 'develop' and 't3chguy/edit_skip_if_no_edit' of github.com:matrix-org/matrix-react-sdk into t3chguy/edit_skip_if_no_edit 2019-06-29 06:45:06 +01:00
Michael Telatynski
443c7343a0 Merge branches 'develop' and 't3chguy/fix_MELS_labs' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix_MELS_labs 2019-06-29 06:36:20 +01:00
J. Ryan Stinnett
e8fba4f770 Change interactive tooltip to only flip when required
This changes the interactive tooltip to only flip around when the tooltip
content would be near the window edge.

Fixes https://github.com/vector-im/riot-web/issues/10176
2019-06-26 18:24:34 +01:00
J. Ryan Stinnett
67130cb45f Condense isInRect 2019-06-25 11:57:55 +01:00
J. Ryan Stinnett
72bfc3b5ea Improve API and interactivity of new tooltip
This reworks the API the `InteractiveTooltip` component so that it's more
natural to use just like other React components. You can now supply the target
component as a child and the tooltip content as a prop.

In addition, this tweaks the interactivity to keep the tooltip on screen until
you move the mouse away from the tooltip and its target.

Part of https://github.com/vector-im/riot-web/issues/9753
Part of https://github.com/vector-im/riot-web/issues/9716
2019-06-24 17:32:36 +01:00
J. Ryan Stinnett
f366f7d2b3
Merge pull request #3131 from matrix-org/jryans/interactive-tooltip
Add interactive tooltip style
2019-06-24 15:42:02 +01:00
Michael Telatynski
f3641eaa32 Add ability to render null-rejoins in Timeline and MELS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-23 21:41:28 +01:00
Bruno Windels
1c7af38d83
Merge pull request #3126 from matrix-org/bwindels/caret-refactoring
Editor caret improvements
2019-06-21 15:02:41 +00:00
J. Ryan Stinnett
32bf4588dd Center tooltip along top or bottom of target
This adjusts the positioning to work more the way we want:

* Tooltip is position on the top or bottom edge of the target depending on where
  space is available
* Tooltip and chevron are centered

In addition, more bits borrowed from `ContextualMenu` are not needed, so they
have been removed for simplicity.

Part of https://github.com/vector-im/riot-web/issues/9753
Part of https://github.com/vector-im/riot-web/issues/9716
2019-06-21 15:04:19 +01:00
J. Ryan Stinnett
6dcdad028e Clone ContextualMenu to InteractiveTooltip
As part of reactions and editing work, we're adding a new style of tooltip that
allows interacting with the content of the tooltip.  `ContextualMenu` is closest
out of the things we have today, but it doesn't position in quite the way we
want and it's already quite complex.

To get started, let's first clone that to a new `InteractiveTooltip`.

Part of https://github.com/vector-im/riot-web/issues/9753
Part of https://github.com/vector-im/riot-web/issues/9716
2019-06-21 15:04:19 +01:00
Bruno Windels
b16bc0178a insert manually, as insertHTML command moves caret inconsistently
across browsers
2019-06-19 17:42:18 +02:00
J. Ryan Stinnett
bb4b5d7798 TooltipButton rename step 2 of 2 2019-06-19 11:32:03 +01:00
J. Ryan Stinnett
ab4c5f0152 TooltipButton rename step 1 of 2 2019-06-19 11:30:37 +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
Bruno Windels
63fba611c0
Merge pull request #3108 from matrix-org/bwindels/edit-room-notif-pill
Support @room pills while editing
2019-06-18 16:43:14 +00:00
Travis Ralston
8f6e8c1ec7 Appease the linter 2019-06-17 15:51:14 -06:00
Travis Ralston
d2d0cb2e9e Port AppTile (widgets) over to new integration manager dialog props 2019-06-17 15:34:30 -06:00
Travis Ralston
a5f296457f Make the Manage Integrations Button defer scalar auth to the manager
This moves the responsibility of creating a URL to open from the button (and other components) to the integrations manager dialog itself.

By doing this, we also cut down on scalar API calls because we don't pick up on account information until the user opens the dialog.
2019-06-17 15:29:28 -06:00
Bruno Windels
eb4ff50c3c do parts creation only in PartCreator to not scatter dependencies 2019-06-14 18:28:44 +02:00
Bruno Windels
3cfdd518ee detect emote when sending (and trim "/me " for content) 2019-06-14 11:02:20 +02:00
Michael Telatynski
41b995df3c If oldContent matches newContent, skip sending the edit
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-13 22:56:32 +01:00
Bruno Windels
41e41269dc use EditorStateTransfer to pass on state to newly mounted editor 2019-06-12 18:52:34 +02:00
Sorunome
d0f78e9d44
stop propagation of click events on un-hiding the spoiler 2019-06-11 22:13:47 +02:00
Sorunome
eddac4b188
blur spoilers 2019-06-11 21:08:45 +02: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
25e2c747ed focus main composer after cancel or saving edit 2019-05-27 16:26:21 +02:00
Bruno Windels
e193522db1 PR feedback: put findPrev/NextEditableEvent in one function with flag 2019-05-27 16:22:55 +02:00
Bruno Windels
fbb79e4686 don't navigate to next/prev message when editor has modifications
to prevent losing modifications by accident
2019-05-24 14:46:34 +02:00
Bruno Windels
3591eedcfa move between editable events with arrow keys 2019-05-24 14:42:33 +02:00
Bruno Windels
3468cef654
Merge pull request #3013 from matrix-org/bwindels/editor-formatting
Message editing: preserve and re-apply formatting
2019-05-24 07:34:05 +00:00
Travis Ralston
14dc4b47fa Merge branch 'develop' into travis/feature/wellknown2 2019-05-22 23:05:54 -06:00
Travis Ralston
9a1a9825b0
Merge pull request #3019 from matrix-org/travis/sr/fix-timeline
Make the timeline less noisy for screen readers (mk II)
2019-05-22 19:18:40 -06:00
Travis Ralston
62dc83310a
Merge pull request #3020 from matrix-org/travis/sr/edit
Label message edit field as such for screen readers
2019-05-22 16:30:45 -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
85a024175b Hide flair from screen readers
To have less noise when they run over the sender profile.

See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:18:46 -06:00
Sorunome
d8f4512439
add basic spoiler support 2019-05-22 20:41:27 +02: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
Bruno Windels
53b6586986 re-apply markdown when saving a message 2019-05-22 16:19:07 +02:00
Bruno Windels
ff61376c07
Merge pull request #3004 from matrix-org/bwindels/update-link-previews-after-edit
Message editing: update link previews after editing
2019-05-22 14:17:34 +00:00
Bruno Windels
6b1134bdf0 add matrix foundation copyright header 2019-05-22 16:16:32 +02:00
Travis Ralston
a551ef1a72 Label message edit field as such for screen readers
See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 20:00:15 -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
5ae23fdb27 Hide flair from screen readers
To have less noise when they run over the sender profile.

See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 18:55:01 -06:00
Travis Ralston
907c7ed119
Merge pull request #2994 from matrix-org/travis/screenreader/topleftmenu
Update TopLeftMenu for accessibility: Keyboard shortcut, reduced screen reader noise
2019-05-21 09:52:26 -06:00
Bruno Windels
2d4d608ed6
Merge pull request #2997 from matrix-org/bwindels/pill-avatars
Message editing: render avatars for pills in the editor
2019-05-21 12:11:06 +00:00
Bruno Windels
b00a38a1e5 apply mx_EventTile_content to editor, so it gets the same right margin
this way we don't have to include it in the magic number
2019-05-21 12:18:20 +02:00
Travis Ralston
3476be3327 Merge branch 'develop' into travis/feature/wellknown2 2019-05-20 19:50:02 -06:00
Matthew Hodgson
d3f06763b3
Merge branch 'develop' into matthew/twemoji 2019-05-20 16:38:44 +01:00
J. Ryan Stinnett
0e5f0f24cc Extract MELS-style comma separated list to shared utility
This allows other UI components to use the same formatting for a long list.
2019-05-20 15:21:18 +01:00
Bruno Windels
710338c01f pass member and room to editor pills to get avatar url 2019-05-20 10:28:26 +02:00
Matthew Hodgson
dc72641264 replace emojione with twemoji. completely untested & debugged & unoptimised 2019-05-19 15:23:43 +01:00
Travis Ralston
c5757d8303 Support CTRL+I for opening TopLeftMenu 2019-05-17 15:29:16 -06:00
Bruno Windels
62b8973e72 cancel the edit when pressing escape 2019-05-17 15:35:14 +01:00
Bruno Windels
ca2e6d8eb2 Message editing: shift+enter for newline, enter to send 2019-05-17 10:22:02 +01:00
Travis Ralston
0c7aa39273 Merge branch 'develop' into travis/feature/wellknown2 2019-05-16 12:59:50 -06:00
Bruno Windels
245f48a22c set caret on mount as we usually do, so FF doesn't enter 2 newlines 🤯 2019-05-16 18:39:20 +01:00
J. Ryan Stinnett
0e369bd12e
Merge pull request #2977 from matrix-org/jryans/encrypted-reactions
Use `getRelation` helper
2019-05-16 09:45:09 +01:00
J. Ryan Stinnett
33885cb864 Use getRelation helper
Use the `getRelation` helper to ensure we always read relation info from the
wire content as required in E2E rooms.
2019-05-16 09:25:33 +01:00
Travis Ralston
6f22acc3c6
Merge pull request #2979 from aaronraimist/imageview-tooltip
Add tooltips to rotate and close buttons in ImageView (#9686)
2019-05-15 21:14:20 -06:00
Aaron Raimist
c38b5cabb1
Allow the strings to be translated
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-05-15 22:11:51 -05:00