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
Aaron Raimist
bfd37d8089
Add tooltips to rotate and close buttons in ImageView ( #9686 )
...
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-05-15 22:06:02 -05:00
Bruno Windels
085f2d199d
focus editor after clicking edit
2019-05-15 17:17:35 +01:00
Bruno Windels
6366371c0d
add * to fallback messages for edits
2019-05-15 15:54:05 +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
d83e278f6b
PR feedback, cleanup
2019-05-15 09:46:08 +01:00
Bruno Windels
dc21faa240
send edit also in n.new_content field
...
so we can have fallback content in the regular content for clients
that don't support edits. Note that we're not reading m.new_content
yet as it's going to be a bit of a headache to change this.
So for now just sending the edit in both the normal content and
the m.new_content subfield, so all events out there already
are well-formed
2019-05-14 16:32:08 +01:00
Bruno Windels
45991bc3de
replace original event if there have been previous edits
2019-05-14 15:39:24 +01:00
Bruno Windels
e2388afb51
consistent naming between serialize and deserialize modules
2019-05-14 15:39:24 +01:00
Bruno Windels
759a4a54ef
send the actual m.replace event from composer content
2019-05-14 15:38:16 +01:00
Bruno Windels
a3b02cf0cc
make logging quiet
2019-05-14 15:38:16 +01:00
Bruno Windels
4ff37ca046
don't show model for now
2019-05-14 15:38:16 +01:00
Bruno Windels
9e0816c51c
find caret offset and calculate editor text in same tree-walking algo
...
instead of having the same logic twice
2019-05-14 15:38:16 +01:00
Bruno Windels
7ebb6ce621
WIP commit, newlines sort of working
2019-05-14 15:38:16 +01:00
Bruno Windels
8d97c0033e
catch this for now as caret behaviour is still a bit flaky
2019-05-14 15:38:16 +01:00
Bruno Windels
64b171198c
rerender through callback instead of after modifying model
...
this way rendering is centralized and we can better rerender
from interaction in the autocompleter
(we didn't have access to caret before)
2019-05-14 15:38:16 +01:00
Bruno Windels
317e88bef2
initial hacky hookup of Autocomplete menu in MessageEditor
2019-05-14 15:38:16 +01:00
Bruno Windels
a2f1f49972
update the DOM manually as opposed through react rendering
...
react messes up the DOM sometimes because of, I assume, not
being aware of the changes to the real DOM by contenteditable.
2019-05-14 15:38:16 +01:00
Bruno Windels
6be6492cd2
initial parsing of pills for editor
2019-05-14 15:38:16 +01:00
Bruno Windels
76bb56a2bf
initial hookup editor code with react component
2019-05-14 15:38:16 +01:00
Bruno Windels
6599d605cd
wire up editor component (somewhat hacky)
2019-05-14 15:38:16 +01:00
Travis Ralston
25e3f7888e
newline for the linter
2019-05-13 18:31:43 -06:00
Travis Ralston
e4576dac28
Render underlines and tooltips on custom server names in auth pages
...
See https://github.com/vector-im/riot-web/issues/9290
2019-05-13 17:16:40 -06:00
J. Ryan Stinnett
26f732723e
Animate tooltips when hiding as well as showing
...
This uses the same animation style as on show, but twice as fast.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett
aec14e64fa
Throttle validation in response to user input
...
This avoids the case of the password complexity progress jumping wildly for
every character you type.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett
4f41161a47
Check password complexity during registration
...
This adds a password complexity rule during registration to require strong
passwords. This is based on the `zxcvbn` module that we already use for key
backup passphrases.
In addition, this also tweaks validation more generally to allow rules to be
async functions.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett
008ca3543b
Migrate passwords on registration to new validation
...
In addition to migrating password fields, this also removes the remaining
support for old-style validation in registration now that all checks have been
converted.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett
9064875312
Migrate email on registration to new validation
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
1cbb4be6f7
Add support for validating more strictly at submit time
...
When submitting a form, we want to validate more strictly to check for empty
values that might be required. A separate mode is used since we want to ignore
this issue when visiting a field one by one to enter data.
As an example, we convert the pre-existing logic for the username requirement
using this new support.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
778697abf1
Use input element's value directly
...
Since we're keeping the input as a ref anyway, let's use that rather than
requiring the value to be passed to `validate`. This allows others to call
`validate` as well.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
5d95c31875
Focus the first invalid field
...
This adjusts the submission step to focus the first invalid field and redisplay
validation. This also rearranges the older style field error handling on
registration which is slated for removal once we convert all fields to the new
style.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
62a01e7a37
Track per-field validity with new-style validation
...
This updates the registration form to include the new-style validation state
when deciding whether the entire form is valid overall.
In addition, this tweaks the validation helper to take functions instead of
strings for translated text. This allows the validation helper to be create once
per component instead of once every render, which improves performance.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
37e09b5569
Add check and x icons for validation feedback
...
Adds icons from the Feather set with the same color as text. Tweaks validation
item spacing to match the design.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
87f13cfe55
Add focus handling to validation
...
Update the Field component and validation handling to show / hide validation
feedback on focus / blur events.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
338d83ab55
Add validation feedback helper
...
This adds a general validation feedback mechanism for checking input values. An
initial example is wired up for the username input on registration.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
37ecf2a623
Remove unused ref from Field component
...
The `fieldInput` ref is no longer used now that we have controlled components
everywhere.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
12f7d1715b
Remove BottomLeftMenu and supporting bits
...
The `BottomLeftMenu` component is not used in the new design. This removes the
component and also any images and sub-components that were only used by it.
2019-04-09 17:38:32 +01:00
J. Ryan Stinnett
f2da833ac9
Fix validation to avoid undefined
class on fields
...
The class name handling for validation inadvertently added `undefined` as a
class when validation is not used. This rearranges the logic to avoid the issue.
Fixes https://github.com/vector-im/riot-web/issues/9345
2019-04-09 16:10:36 +01:00
Travis Ralston
a61ab4eb4e
Merge pull request #2862 from matrix-org/travis/stickerpicker/remount
...
Don't re-init the stickerpicker unless something actually changes
2019-04-04 09:46:38 -06:00
Travis Ralston
9618187d2e
Merge pull request #2855 from YaoiFangirl420/rotate_images
...
Add option to rotate images
2019-04-04 09:46:06 -06:00
Travis Ralston
6722451207
semicolon
2019-04-04 09:36:45 -06:00
J. Ryan Stinnett
b0f59007f3
Clarify level
variable name
2019-04-04 10:30:23 +01:00
YaoiFangirl420
1cbbe5f31f
Add i18n and fix method declaration
...
Add i18n entries for rotating images; fix the way `getName` is defined
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-04 02:27:58 -07:00
YaoiFangirl420
9bd1ba60f5
Add option to rotate images
...
cf. https://github.com/vector-im/riot-web/issues/9257
Add rotate clockwise/counterclockwise buttons to <ImageView>
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-04 01:48:41 -07:00
J. Ryan Stinnett
fa88185dee
Include the current power level in the selector
...
This ensures we always include the current power level in the power selector,
even if it's greater than the level you're allowed to set yourself. This ensures
the selector can display the current value correctly when disabled.
Fixes https://github.com/vector-im/riot-web/issues/9340
2019-04-03 11:54:10 +01:00
Travis Ralston
51750cf153
General cleanup of handling for WidgetMessaging instances
...
When setting, delete the old one. Because delete checks if it exists first, we can safely call this.
The change in FromWidgetPostMessageApi is just something noticed while debugging.
2019-04-01 19:50:05 -06:00
Travis Ralston
fc28f094fe
Set title attribute on images in lightbox
...
Part of https://github.com/vector-im/riot-web/issues/9324
2019-03-29 14:55:56 -06:00
David Baker
1fe830d1c6
Remove noreferrer on widget pop-out
...
Having the referrer allows widgets to do customisation based on what
riot instance is embedding it. It gets a referrer when we embed it
in the iframe so there's nothing gained by suppressing it here.
2019-03-27 13:27:57 +00:00
Travis Ralston
ddcb7a68bd
Merge pull request #2781 from matrix-org/travis/openid-widget
...
Widget OpenID reauth implementation
2019-03-27 03:42:39 -06:00
Travis Ralston
a8ae63bb06
Minimize stickerpicker when the title is clicked
...
Fixes https://github.com/vector-im/riot-web/issues/6437
This also fixes a bug where if the room had apps open and you clicked the sticker picker's title, you'd end up closing the apps and not the picker.
2019-03-23 23:50:06 -06:00
Travis Ralston
3654c895eb
Appease the linter
2019-03-23 23:31:19 -06:00
Travis Ralston
2dcb40f1be
Track OpenID automatic permissions by (widgetLocation, widgetUrl)
2019-03-23 23:25:31 -06:00
Travis Ralston
d3268801ed
Merge branch 'develop' into travis/openid-widget
2019-03-23 22:48:12 -06:00
Travis Ralston
b68960ad26
Reload widget messaging when widgets reload
...
Fixes a bug for some widgets where they cannot do their startup routine (capabilities negotiation, etc) when someone maximizes the widget. By reloading the widget messaging, we ensure the widget is kept in the loop.
2019-03-15 22:24:27 -06:00
Travis Ralston
f045beafc3
Support whitelisting/blacklisting widgets for OpenID
2019-03-15 21:33:31 -06:00
J. Ryan Stinnett
ec51aee656
Remove refs from RegistrationForm
...
This aligns the code in `RegistrationForm` with other users of the `Field`
component. (In https://github.com/matrix-org/matrix-react-sdk/pull/2780 , I had
thought that this code would be okay to leave alone, but I had missed the usage
of the `Field` value getter.)
Fixes https://github.com/vector-im/riot-web/issues/9172
2019-03-14 14:29:04 +00:00
J. Ryan Stinnett
c70925ab0d
Restore Field
value getter for RegistrationForm
...
When working on the `Field` validation support, I thought `RegistrationForm`'s
refs would be okay to leave as is, but I missed that they also depended on the
value getter.
For the moment, it's quicker to temporarily revive the value getter to get
registration working.
Fixes https://github.com/vector-im/riot-web/issues/9171
2019-03-14 12:29:00 +00:00
J. Ryan Stinnett
45063cad4a
Merge pull request #2780 from jryans/auth-validation
...
Initial portions of support for Field validation
2019-03-14 10:19:21 +00:00
Jason Robinson
02ff1763a2
Ensure scalar_token is valid before opening integrations manager
...
Since Scalar (and other integration managers) are loaded as apps into
an iframe, a valid `scalar_token` must exist when loading the app.
It is possible that a scalar_token becomes invalid between the time
when the integration manager button was rendered and the user clicking
the link. Here we make a call to integration manager `/account`
before trying to render the integration manager, which ensures we
have a valid token for the integration manager to work with.
Moving the scalar token revalidation to the cases where it is actually
needed could make it possible to decrease the amount of Scalar /account
calls we do when switching rooms, which is currently 3.
Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-03-13 11:47:00 +02:00
J. Ryan Stinnett
69a066657b
Remove bits of Field that supported uncontrolled
...
Field is no longer used as an uncontrolled component, so we can remove some
supporting code that we no longer need.
2019-03-12 16:51:19 +00:00
J. Ryan Stinnett
d4dbba3938
Convert uncontrolled Field usages to controlled
...
As part of adding validation to Field, the logic is simpler to follow if we can
assume that all usages of Field use it as a controlled component, instead of
supporting both controlled and uncontrolled.
This converts the uncontrolled usages to controlled.
2019-03-12 16:17:21 +00:00
J. Ryan Stinnett
5a648ecfe4
Ensure we always set some value in Field
...
Always set some value on the Field's input so that it doesn't flip flop between
controlled and uncontrolled.
2019-03-12 14:02:54 +00:00
J. Ryan Stinnett
ea050683bd
Use the right prop type for functions
2019-03-12 14:02:54 +00:00
J. Ryan Stinnett
57ce4d6e7d
Call the parent component's onChange
if it exists
2019-03-12 14:02:54 +00:00
J. Ryan Stinnett
7241418eba
Appease the linter
...
This checks `onValidate` in `render` to make the linter happy.
2019-03-12 14:02:54 +00:00
J. Ryan Stinnett
edb7f39ec9
Validity class currently unused on tooltip
2019-03-12 14:02:54 +00:00
Matthew Hodgson
40f16fa310
adds validation for fields.
...
* renames RoomTooltip to be a generic Tooltip (which it is)
* hooks it into Field to show validation results
* adds onValidate to Field to let Field instances call an arbitrary validation function
Rebased from @ara4n's https://github.com/matrix-org/matrix-react-sdk/pull/2550
by @jryans. Subsequent commits revise and adapt this work.
2019-03-12 14:02:54 +00:00
Bruno Windels
4e382b1dd9
rename onWidgetLoad to onHeightChanged
...
as it's easy to confuse it with room widgets, but has nothing to do with it.
2019-03-07 17:02:19 +01:00
J. Ryan Stinnett
8bf5e1d19f
Merge pull request #2749 from jryans/auth-field
...
Use Field component in auth flows
2019-03-06 11:18:24 +00:00
J. Ryan Stinnett
35ee9c9ac7
One line for prefix container
2019-03-06 10:58:54 +00:00
J. Ryan Stinnett
26b2aa174b
Add prefix support to Fields
...
This allows Fields to have an optional prefix component which is placed inside
the border of the Field and to the left of the input. Since this label animation
would be complex to get right for this case, it is instead fixed to the top left
if there is a prefix component.
This canonical example of this today would be a phone number field which
includes a country dropdown.
2019-03-05 15:25:43 +00:00
Bruno Windels
96196d8c3d
Merge pull request #2746 from matrix-org/bwindels/flairnolayout
...
Prevent flair pushing timeline downwards
2019-03-05 15:34:09 +01:00
Bruno Windels
624572daa9
show flair container when no profiles loaded to ensure same height
2019-03-05 14:50:39 +01:00
J. Ryan Stinnett
b6351f2607
Merge pull request #2740 from jryans/reorg-field-props
...
Reorganise props handling in Field
2019-03-05 11:30:06 +00:00
J. Ryan Stinnett
d4a148d56c
Use oneOf
to check the input element
2019-03-05 11:18:58 +00:00
Travis Ralston
363964e423
Don't loop forever if you demote yourself via Enter on a PowerSelector
...
The included comment explains what happens and why this is bad.
Fixes https://github.com/vector-im/riot-web/issues/9039
2019-03-04 13:08:54 -07:00
J. Ryan Stinnett
7c672e608d
Reorganise props handling in Field
...
Several small tweaks to the props handling:
* Use destructuring instead of `delete`
* Emphasize the `element` as a primary prop
* Document `textarea` as supported
2019-03-04 17:25:19 +00:00
Michael Telatynski
6b0b5e4aa3
Merge pull request #2729 from matrix-org/t3chguy/missing_permalinkCreator
...
Add missing permalinkCreator prop
2019-03-04 11:15:53 +00:00
Michael Telatynski
6b07195b63
Add missing permalinkCreator prop
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-03-01 09:36:36 +00:00
Travis Ralston
a41df7ab68
Convert PowerSelector to use mxField instead
2019-02-28 19:00:57 -07:00
J. Ryan Stinnett
4b340450b9
Rename Feather icon directory to feather-customised
...
These icons are based on Feather as the original source, but they have various
tweaks applied, such as stroke width, color, etc. Hopefully the tweaked name
makes this more obvious in the future.
2019-02-27 10:42:10 +00:00
Bruno Windels
fb672ffb28
change handling of event permalinks in replies
2019-02-25 18:43:08 +01:00
Travis Ralston
9795161f40
Misc linter cleanup
2019-02-21 17:53:29 -07:00
Travis Ralston
1e6594ceba
Disable removal of items if the user doesn't have permission
2019-02-21 17:15:25 -07:00
Travis Ralston
5d2f17c49a
Make adding aliases direct manipulation
2019-02-21 15:22:08 -07:00
Travis Ralston
2903a0e712
Rework EditableItemList to support mxField
...
Also improves upon the general UX to be a bit friendlier for direct manipulation things.
2019-02-21 15:22:08 -07:00
Bruno Windels
107eb974d4
always rerender
...
as not all state that goes into rendering comes from state or props,
we shouldn't be blocking rendering at all
This might rerender a few times more, but it shouldn't be worse
than what was there before the redesigned roomlist.
2019-02-14 13:30:03 +01:00
Bruno Windels
a1a82e48d9
update range when items size changes
2019-02-13 20:21:17 +01:00
Bruno Windels
e51f279f36
dont assume there items is an array
2019-02-13 18:49:09 +01:00
Bruno Windels
60d0ed4c01
make LazyRenderList stateful for better performance
...
it only rerenders when visible range it would render based on the
props gets OVERFLOW_MARGIN(5) items from the current renderRange
2019-02-13 18:33:57 +01:00
Bruno Windels
9c371111b7
Merge branch 'develop' into bwindels/lazyroomtilerendering
2019-02-13 17:13:23 +01:00
Bruno Windels
0de2161a0d
create LazyRenderList component to trim list to visible part
2019-02-13 14:50:43 +01:00
J. Ryan Stinnett
8652a094f3
Allow theming room header buttons
2019-02-13 10:47:04 +00:00
Bruno Windels
f189ff54a8
hide delete & cancel button on stickers are they weren't visible before
2019-02-12 17:01:05 +01:00
David Baker
2cd25e0077
Merge pull request #2596 from matrix-org/dbkr/emoji_sas
...
Change SAS to decimal / emoji
2019-02-08 16:46:43 +00:00
Travis Ralston
78ea531a87
Merge pull request #2590 from matrix-org/travis/settings/fix-directory-publish
...
Ensure toggle switches listen to property changes
2019-02-08 08:00:47 -07:00
David Baker
ae16cc36aa
Change SAS to decimal / emoji
...
Requires https://github.com/matrix-org/matrix-js-sdk/pull/837
2019-02-08 14:57:36 +00:00
Travis Ralston
89a8422320
Ensure toggle switches listen to property changes
...
They do local echo on changes to avoid jumping back and forth while requests are ongoing, however some areas modify the checked state after the toggle has mounted.
Fixes https://github.com/vector-im/riot-web/issues/8432
2019-02-07 11:54:13 -07:00
David Baker
3a924d05b5
Remove click-to-verify from SAS
...
The click-each-pair to verify was hard to discover, so remove it
2019-02-07 17:01:55 +00:00
Bruno Windels
87ddb8a453
Merge pull request #2575 from matrix-org/bwindels/customtags
...
Bring back custom tags, also badges on communities
2019-02-07 11:37:17 +00:00
Bruno Windels
547c8cb206
render badge on community
2019-02-06 14:31:43 +00:00
Travis Ralston
eac50aa800
Remove old user and room settings
...
This takes out the old user and room settings, replacing the paths with the new dialog editions. The labs setting has been removed in order to support this change.
In addition to removing the old components outright, some older components which were only used by the settings pages have been removed. The exception is the ColorSettings component as it has a high chance of sticking around in the future.
Styles that were shared by the settings components have been broken out to dedicated sections, making it easier to remove the old styles entirely.
Some stability testing of the app has been performed to ensure the app still works, however given the scope of this change there is a possibility of some broken functionality.
2019-02-04 13:40:21 -07:00
Bruno Windels
6d2e582083
fix lint
2019-02-02 07:46:52 +01:00
Bruno Windels
7ccc694eea
minimal theming on app permission in widget
2019-02-01 23:24:56 +01:00
Bruno Windels
e2ce12f5c1
wip
2019-02-01 23:15:14 +01:00
J. Ryan Stinnett
d6f55a508c
Use custom appearance and arrow for select fields
2019-01-30 16:40:53 -06:00
Bruno Windels
85b998d851
fix dropdown style when input is shown
2019-01-30 11:42:50 +01:00
Bruno Windels
6aca7e4515
Merge pull request #2522 from matrix-org/bwindels/memberpanel-tiny-makeover
...
Redesign: small member info panel makeover
2019-01-30 10:01:33 +00:00
Travis Ralston
a2f516c461
Implement the Security & Privacy tab of new room settings
2019-01-29 14:31:07 -07:00
Bruno Windels
7d6f551841
small makeover of member info panel
...
this removes the style sharing between the verify buttons in the memberinfo panel and
and the encrypted event dialog because the diverge too much now.
2019-01-29 21:14:16 +01:00
Bruno Windels
855dbd7d2b
Merge branch 'experimental' into bwindels/roomdirectory-makeover
2019-01-29 18:33:03 +01:00
Bruno Windels
9f1b4ac4cc
room directory makeover
2019-01-29 15:34:58 +01:00
Travis Ralston
87e6652b2a
Flair settings for rooms
2019-01-28 13:54:56 -07:00
David Baker
b4f02844a8
Merge remote-tracking branch 'origin/experimental' into dbkr/sas
2019-01-28 09:36:39 +00:00
J. Ryan Stinnett
d1b78e5b08
Fix unmount TypeError in DeviceVerifyButtons
2019-01-25 17:54:11 -06:00
Travis Ralston
d819095a76
Default a Field's placeholder to the label
...
Fixes https://github.com/vector-im/riot-web/issues/8250
This keeps all fields in line with the design without them having to defining it twice. The option is kept in the first place as some fields might want to override the placeholder to be longer than the label or something.
2019-01-24 19:36:23 -07:00
Travis Ralston
06a9ab3a70
Styling to match the other tabs a bit closer
...
Introduces a new component to reduce code duplication
2019-01-24 10:12:25 -07:00
Travis Ralston
6f947ab6d9
Appease the linter
2019-01-23 16:09:58 -07:00
Travis Ralston
3f897468a6
Add a ToggleSwitch and use it for SettingsFlag
...
Also bring in the compact timeline option.
Without minor CSS changes, the old user settings are completely unusable with this change. As such, minimal effort has been put in to have it be useful. Similarly, the changes drop the use of radio groups and the old theme selector was the only one that used it. See the comments for more details on how/why this was mitigated the way it was.
2019-01-23 15:50:41 -07:00
David Baker
6a90625d36
Merge remote-tracking branch 'origin/experimental' into dbkr/sas
2019-01-23 17:32:18 +00:00
Travis Ralston
875c0f94d3
Include a ref so that get/set value works again
2019-01-23 09:29:44 -07:00
Travis Ralston
aa7afe819f
Bring over email address management
2019-01-23 09:28:53 -07:00
Travis Ralston
19de6694ca
Bring in the change password section
...
This also changes the layout slightly in the user settings, but nothing detrimental.
2019-01-23 09:28:53 -07:00
Travis Ralston
94b1d739fb
Merge pull request #2476 from matrix-org/travis/modal-tab-settings
...
Basic structure for tabbed user settings
2019-01-23 07:52:44 -07:00
Travis Ralston
2b3c8c4450
Correctly form a select/input element
2019-01-22 20:03:59 -07:00
Travis Ralston
f0e8182ff3
Support selects on Field
...
Luckily, the styling is copy/paste capable.
2019-01-22 19:25:09 -07:00
Travis Ralston
a488304410
Appease the linter
...
Appease the linter round 2
Appease the linter round 3
Appease the linter round 4
Appease the linter round 5
2019-01-21 18:41:49 -07:00
Travis Ralston
15a56fa90b
Improve the profile section a bit and add a highlight to the temp tab
2019-01-21 17:27:43 -07:00
Travis Ralston
36ffbef010
Tweak comment about field ID
...
Co-Authored-By: jryans <jryans@gmail.com>
2019-01-19 22:29:57 -06:00
J. Ryan Stinnett
efd5405267
Add a form field component for the redesign
...
The label moves into the border on focus and after being filled. A valid color
is applied to the label and input border. Other states like invalid can be added
later as needed.
Adapted from @ara4n's experiment into a React component with a CSS only
approach.
2019-01-19 22:13:53 -06:00
David Baker
630a6a479b
Lint
2019-01-18 18:43:40 +00:00
David Baker
ec2d51cbbb
SAS verification screen matching design
2019-01-18 16:56:49 +00:00