Commit graph

2705 commits

Author SHA1 Message Date
Michael Telatynski
878f0a4753 Be somewhat fuzzier when matching emojis to complete on space
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-06 08:39:24 +01:00
Travis Ralston
6b2dbdf7ba Don't refresh custom status on logout
The RoomTile gets remounted during logout due to the room stores being obliterated, however this causes the render() function to check if it should be showing custom status. If you have custom status enabled, and the person has a status set, the function errors due to no MatrixClient being available.

Fixes https://github.com/vector-im/riot-web/issues/9940
2019-06-04 15:34:11 -06:00
J. Ryan Stinnett
bea845a80d
Merge pull request #3059 from matrix-org/jryans/read-receipts-relations-send-review
Advance read receipts into trailing events without tiles
2019-06-04 14:35:14 +01:00
Pierre Boyer
97d4d1b73a Update composer to correctly call countCompletions and moveSelection 2019-06-04 13:07:19 +02:00
Pierre Boyer
bb133c1ebc Merge onUpArrow and onDownArrow into more general moveSelection 2019-06-04 13:06:47 +02:00
Pierre Boyer
6e4c3bfe56 Remove now unused code 2019-06-04 12:18:29 +02:00
Pierre Boyer
6cb59f7071 Allow left/right arrow keys to navigate through the autocompletion list 2019-06-04 11:58:16 +02:00
J. Ryan Stinnett
96b213e7cb Advance read receipts into trailing events without tiles
This changes read receipt sending logic to allow it advance further into events
without tiles (such as edits or reactions) that may exist after the last
displayed event.

By allowing the read receipt to advance past such events, this also marks as
read any related notifications. For example, edits trigger notifications by
default since they are `m.room.message` events, and with this change, such edit
notifications can finally be marked read.

Part of https://github.com/vector-im/riot-web/issues/9745
2019-06-03 18:25:35 +01:00
J. Ryan Stinnett
b309ebf99d Allow source tile handler for replacements
If the debugging mode of showing hidden events in the timeline is enabled, we
should also show replacements using the same view source tile as we do for
reactions. This allows easy debugging of replacement event data and also makes
the edit event look visually distinct from regular messages.

Fixes https://github.com/vector-im/riot-web/issues/9937
2019-06-03 16:29:20 +01:00
Travis Ralston
a71b4f5b4c Appease the linter 2019-06-03 00:17:08 -06:00
Travis Ralston
dd42e87c3c Add local echo on badges in breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/9890
2019-06-03 00:07:32 -06:00
Bruno Windels
716719187d only capture enter if something was selected in completions 2019-05-31 15:05:09 +02:00
Travis Ralston
d81804e0fe Merge branch 'develop' into matthew/low_bandwidth 2019-05-30 19:42:09 -06:00
J. Ryan Stinnett
f0d67e0454 Revert "Merge pull request #3019 from matrix-org/travis/sr/fix-timeline"
This reverts commit 9a1a9825b0, reversing
changes made to 62dc83310a.
2019-05-28 12:22:22 +01:00
Bruno Windels
e1d1c8f99c
Merge pull request #2968 from npny/npny/autocomplete-prevent-send-on-enter
Hide autocomplete on Enter key press instead of sending message
2019-05-28 09:17:28 +00:00
Bruno Windels
e193522db1 PR feedback: put findPrev/NextEditableEvent in one function with flag 2019-05-27 16:22:55 +02:00
Bruno Windels
bd3dbd1a89 remove edit history from main composer 2019-05-24 14:42:57 +02:00
Bruno Windels
3591eedcfa move between editable events with arrow keys 2019-05-24 14:42:33 +02:00
Travis Ralston
a7d2309286 Convert ternary to multiple if statements for clarity 2019-05-22 16:36:14 -06:00
Travis Ralston
d571709fe8
Apply suggestions from code review
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-05-22 16:29:37 -06:00
Travis Ralston
09d195b2d1 Fix events not being spoken in the most complicated way possible
There's details in the comment body of this diff.

See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:55:16 -06:00
Travis Ralston
c55f083a28 Always mute timestamp from screen readers
The short time is still read out (eg: 15:24), however by ignoring the anchor we prevent the reader from saying the title of the containing span. This prevents readers saying "Wed May 22, 2019 at 15:24 15:24".

See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:25:34 -06:00
Travis Ralston
8f6884ec15 Mute timestamps for irrelevant updates
Other fix for https://github.com/vector-im/riot-web/issues/5697

See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:18:57 -06:00
Travis Ralston
6edf760943 Mute avatars and read receipts on event tiles
This reduces overall noise from the screen reader. It was reading the alt attribute from the sender avatar, which was just a mxid. The read receipts were just nonsensical noise.

Fixes https://github.com/vector-im/riot-web/issues/2716
Fixes https://github.com/vector-im/riot-web/issues/5697
See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:18:51 -06:00
Travis Ralston
6c0213bb3d
Revert "Make the timeline less noisy for screen readers" 2019-05-22 10:54:51 -06:00
Travis Ralston
983214f4bf
Merge pull request #3007 from matrix-org/travis/sr/mute-timeline
Make the timeline less noisy for screen readers
2019-05-22 09:55:23 -06:00
J. Ryan Stinnett
4b4d09266e
Merge pull request #3005 from matrix-org/jryans/notif-error
Only show reactions in main message timeline
2019-05-22 09:15:04 +01:00
Travis Ralston
68c4ee9374 Mute timestamps for irrelevant updates
Other fix for https://github.com/vector-im/riot-web/issues/5697

See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 18:57:16 -06:00
Travis Ralston
4779144b2e Mute avatars and read receipts on event tiles
This reduces overall noise from the screen reader. It was reading the alt attribute from the sender avatar, which was just a mxid. The read receipts were just nonsensical noise.

Fixes https://github.com/vector-im/riot-web/issues/2716
Fixes https://github.com/vector-im/riot-web/issues/5697
See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 18:56:46 -06:00
Travis Ralston
c2c55e06e6 Add voice labels for quick add room buttons
See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 12:16:34 -06:00
J. Ryan Stinnett
238e967470 Only show reactions in main message timeline
This fixes an error that crashed that notifications panel because it was trying
to read reactions, even though we currently don't aggregate them there. This
change is more explicit about exactly which views should try to show reactions.

Fixes https://github.com/vector-im/riot-web/issues/9713
2019-05-21 18:27:10 +01:00
Matthew Hodgson
d3f06763b3
Merge branch 'develop' into matthew/twemoji 2019-05-20 16:38:44 +01:00
Bruno Windels
1368a5eb80
Merge pull request #2996 from matrix-org/bwindels/composerdesign
Message editing: apply design
2019-05-20 08:42:41 +00:00
Matthew Hodgson
81338306b0 fix lint 2019-05-19 21:00:14 +01:00
Matthew Hodgson
64e2de5b47 make autocomplete work again 2019-05-19 20:56:07 +01:00
Matthew Hodgson
dbc6815abf make EmojiProvider and stripped-emoji.json work 2019-05-19 20:48:18 +01:00
Matthew Hodgson
c63419f8a2 typos 2019-05-19 16:31:25 +01:00
Matthew Hodgson
a8297a7698 fix build 2019-05-19 16:11:12 +01:00
Matthew Hodgson
dc72641264 replace emojione with twemoji. completely untested & debugged & unoptimised 2019-05-19 15:23:43 +01:00
J. Ryan Stinnett
45cdf880b1 Change setting style 2019-05-17 17:43:08 +01:00
J. Ryan Stinnett
3a405701a3 Debug: Show all events 2019-05-17 16:34:01 +01:00
Bruno Windels
578a183f49 hide the action bar while editing 2019-05-17 15:35:28 +01:00
Bruno Windels
ddefeae136 update design of editor to look as close to original tile (and design)
the buttons below the composer are overlayed onto the previous event.
In case of the last event, for now we make them not overflow, but make the
tile grow. The design says it should overlay on the main composer for the last
event tile, postponing that for a bit though as not sure what is the best way
to do that.
2019-05-17 15:33:11 +01:00
Bruno Windels
9a3752c571 show message editor in textual body instead of replacing event tile 2019-05-17 15:30:07 +01:00
Bruno Windels
5805a88ab9 adjust to js-sdk changes of marking original event as replaced 2019-05-15 11:54:26 +01:00
Bruno Windels
edc100163f
Merge pull request #2952 from matrix-org/bwindels/message-edit-editor
Initial support for editing messages
2019-05-15 09:23:01 +00:00
Michael Telatynski
9b40913838
Merge pull request #2957 from matrix-org/t3chguy/invite_perms
Check permission to invite before showing invite buttons/disable them
2019-05-14 23:15:59 +01:00
Bruno Windels
7507d0d7e1 complete proptypes 2019-05-14 15:38:16 +01:00
Bruno Windels
a765fdf98a run autocomplete after mounting
componentWillReceiveProps doesn't run after mount,
and is deprecated as well.

Update state after both on componentDidMount and componentDidUpdate
2019-05-14 15:38:16 +01:00
Pierre Boyer
a62f68bd39 Hide autocomplete on Enter key press instead of sending message 2019-05-14 13:44:01 +02:00
J. Ryan Stinnett
f5aa32bc96
Merge pull request #2954 from matrix-org/jryans/aggregations
Send and undo reaction events
2019-05-13 15:20:28 +01:00
J. Ryan Stinnett
af9fdbaeeb Rework reactionsCreated in EventTile to use state
This changes to use component state instead of `forceUpdate`, so that it's more
obvious why an update is happening here.
2019-05-13 14:52:55 +01:00
J. Ryan Stinnett
24209905e8 Test settings later for performance 2019-05-13 14:41:49 +01:00
Michael Telatynski
3cd9c152c2 Check permission to invite before showing invite buttons/disable them
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-11 19:45:24 +01:00
Michael Telatynski
0530a64f19 Fix invite via MemberInfo. Thank U JetBrains for solving this one for me <3
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-11 18:46:13 +01:00
J. Ryan Stinnett
37d2f60045 Listen for reaction collections when they are created
The `EventTile` for events without reactions now use `Event.relationsCreated` to
listen for a future time where they come in to being.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
8fdb59a909 Use basic read path from JS SDK for reactions
This displays existing reactions correctly in the action bar and reaction row,
but it doesn't yet update after a new reaction is sent.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
0316deb6c5 Restore access to message quote option on first click
This repairs access to the "Quote" option of the message context menu by passing
down a getter so that we always access the most recent tile and reply thread
instances. This ensures the context menu uses the newest information about the
current event when determining menu options to show.

Fixes https://github.com/vector-im/riot-web/issues/9639
2019-05-07 12:59:53 +01:00
J. Ryan Stinnett
df4e6a3913 Check for room in all Room.timeline* handlers
All `Room.timeline*` handlers must currently test for `room` first if they
expect it to exist. It is emitted not only for rooms, but also for timeline sets
without rooms, such as for notifications.

Almost all such handlers were correctly testing as needed, but it was missing
from `RoomBreadcrumbs`.

While that's quite confusing, we can start by testing for `room` when we expect
to have one.

Fixes https://github.com/vector-im/riot-web/issues/9630
2019-05-03 17:59:28 +01:00
J. Ryan Stinnett
15c5893278 Display existing reactions below the message
This displays the existing reactions a message has from all users below the
message.

Since we don't currently have an API to actually get these events yet,
adds a temporary hook that looks for a specific message to inject some sample
data. This helps build out the UI for now and can be removed once it exists.

Fixes https://github.com/vector-im/riot-web/issues/9573
2019-05-02 12:05:17 +01:00
J. Ryan Stinnett
6db12f84df
Merge pull request #2936 from jryans/preview-bar-fire
Add important info to new preview bar
2019-04-30 10:20:09 +01:00
J. Ryan Stinnett
b7642b38a7 Show the room avatar for invites
This changes to the room avatar instead of the inviter's avatar.
2019-04-30 09:56:44 +01:00
J. Ryan Stinnett
e71896420e Show only a static inviter name with full MXID
This removes the clickable inviter behaviour, as it was too confusing to reveal
the user info sidebar and also hide the invite. Keeping both on screen would be
okay, but seems a bit too complex to resolve right before RC.

In addition, this adds the full inviter MXID to ensure it's clear who invited
you.
2019-04-30 09:56:44 +01:00
J. Ryan Stinnett
ad6be3cc1b Change invite preview text for DMs
Use more specifc text for when previewing an invite to a direct message room.
2019-04-29 17:48:48 +01:00
J. Ryan Stinnett
338dc602f0 Explicitly mention the room name in all preview bar cases
Adjusts all cases of the room preview bar to mention the room name explicitly
when possible.
2019-04-29 16:34:57 +01:00
J. Ryan Stinnett
ed8bbc7082 Extract message options button to action bar
This adds a new action bar component to hold multiple per-message actions. This
existing options button has moved to this new component, and is currently the
only action.
2019-04-29 15:20:50 +01:00
J. Ryan Stinnett
530c92e03d Rename event edit button to options button
This naming is clearer as it doesn't really edit at all (it shows a context
menu). This should also be less confusing with actual editing when it arrives.
2019-04-29 15:20:50 +01:00
J. Ryan Stinnett
4784d5e9f2 Also say "Connect ..." on remaining key backup buttons
This updates the remaining buttons shown when a backup exists but is not trusted
so that they all now say "Connect this device to Key Backup" instead of "Use Key
Backup".

This is a follow up to https://github.com/matrix-org/matrix-react-sdk/pull/2917
and was agreed with Riot iOS team
https://github.com/vector-im/riot-ios/pull/2375#issuecomment-485788118.

Fixes https://github.com/vector-im/riot-web/issues/9542
2019-04-24 11:05:27 +01:00
J. Ryan Stinnett
9917bed942
Merge pull request #2883 from YaoiFangirl420/cleanup_message_composer
Cleanup message composer render() method
2019-04-18 10:14:01 +01:00
Bruno Windels
0fbe10a816
Merge pull request #2925 from matrix-org/bwindels/stylepreviewbar
Redesigned room preview bar
2019-04-18 08:50:56 +00:00
Bruno Windels
0a463472b3 update prop types (and fix typo) 2019-04-17 19:05:52 +02:00
Bruno Windels
8e750e18d7 add class for message case for e2e tests 2019-04-17 11:46:04 +02:00
Bruno Windels
22874f62ab Merge branch 'develop' into bwindels/stylepreviewbar 2019-04-17 11:06:21 +02:00
Bruno Windels
1100320351 make non-member inviter name also bold 2019-04-17 11:02:58 +02:00
Bruno Windels
86620839ae make username clickable 2019-04-17 10:57:45 +02:00
Bruno Windels
8a371080d7 colored inviter name and layout 2019-04-17 10:22:35 +02:00
Bruno Windels
56ade1ead5 WIP on showing inviter avatar 2019-04-16 18:48:47 +02:00
Bruno Windels
f9a2b76966 show room name where available when header isn't visible (no preview) 2019-04-16 17:50:20 +02:00
Bruno Windels
eeb9b4b2e3 don't show re-join upon kicked when we know you can't 2019-04-16 17:23:45 +02:00
Bruno Windels
dbb73439e4 also return Joining when internally busy looking something up 2019-04-16 17:23:24 +02:00
Bruno Windels
523311b50c saner order for message case detection (can't be joining when kicked) 2019-04-16 17:23:01 +02:00
Ross Brandes
15e68c3ba1
Make alt-enter insert new line on macOS
Alt-enter is a common macOS shortcut for inserting a new line in an
input that has a separate action tied to the enter key.

Signed-off-by: Ross Brandes <ross.brandes@gmail.com>
2019-04-15 21:15:38 -04:00
Bruno Windels
36951dd7b7 cleanup spinner props and use always preview bar when room operation is in progress 2019-04-15 18:49:00 +02:00
Bruno Windels
7459e19f06 fix lint 2019-04-15 17:56:36 +02:00
Bruno Windels
fd6c594a8f put auth buttons in preview bar 2019-04-15 17:52:17 +02:00
Bruno Windels
1d0c402093 improve error messages, etc 2019-04-15 17:11:17 +02:00
Bruno Windels
6bc659c93b layout for error codes 2019-04-15 15:25:34 +02:00
Bruno Windels
1b2fba3fe2 move p tags for subtitles out of switch 2019-04-15 15:22:08 +02:00
Bruno Windels
942669ae65 look at join rules to see if join button should still be shown in some error cases 2019-04-15 15:16:50 +02:00
Bruno Windels
b09c7f97e9 implement most of new messages 2019-04-15 14:44:00 +02:00
YaoiFangirl420
f7462371b1 Rename: Avatar -> ComposerAvatar
To avoid confusion with other components that also might be named Avatar

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
3dae9f3d58 Move FormattingButton to separate component
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
817f1d482f Move format bar rendering to separate method
To reduce the complexity in render(), move the format bar rendering to a
separate method

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
419cb4e8b2 Define Stickerpicker inline
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
485ad6a3f0 Make UploadButton a separate component
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
452f0e6dcc Generate placeholder text in separate method
To make the MessageComposer render() method a bit less busy

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
cfb9172121 Tighten up code around call buttons
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
6aa9f068b3 Tighten controls code in MessageComposer
Make the user avatar a separate function component, make the logic for
laying out components a little more concise

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
d08fbb4872 Make call buttons into separate components
Make the call/voice-call/hangup buttons separate react components
to reduce the amount of complexity on MessageComposer.

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
Bruno Windels
b67152d98e WIP 2019-04-12 14:40:31 +02:00
Bruno Windels
01e9de9a3a differentiate style based on preview or not 2019-04-12 12:54:13 +02:00
Travis Ralston
934ca6908f Remove breadcrumb scroll tolerances and use sensible defaults
Fixes https://github.com/vector-im/riot-web/issues/9394
Fixes https://github.com/vector-im/riot-web/issues/9400

Numbers chosen based on user feedback. The setting has also been removed because it isn't really needed anymore.
2019-04-11 11:07:31 -06:00
Bruno Windels
0553a6f1d6 some style changes 2019-04-11 13:07:54 +02:00
Travis Ralston
daaedb8291
Merge pull request #2894 from matrix-org/travis/breadcrumbs/ratelimit
Send breadcrumb updates only when they change
2019-04-09 09:58:04 -06:00
Travis Ralston
44e33ba5f1
Merge pull request #2892 from matrix-org/travis/breadcrumbs/scrolling
Add some tolerances to breadcrumb scrolling
2019-04-09 09:41:07 -06:00
Travis Ralston
43362bfb98 Explain why the breadcrumbs don't need persisting elsewhere 2019-04-09 09:40:49 -06:00
Travis Ralston
4beecb50c9 Fix room upgrade warnings popping up in upgraded rooms
Rooms which are already upgraded shouldn't be asked to upgrade. Additionally, this fixes a bug where the room upgrade dialog would stay open even after upgrading the room.
2019-04-08 15:39:36 -06:00
Travis Ralston
bf0605cf84 Send breadcrumb updates only when they change
Fixes an issue where hovering over the breadcrumbs could cause hundreds of web requests due to updates. This also fixes https://github.com/vector-im/riot-web/issues/9390 as the update is more reliable.
2019-04-08 11:17:27 -06:00
Travis Ralston
aa96fd27cc Add some tolerances to breadcrumb scrolling
See https://github.com/vector-im/riot-web/issues/9400
See https://github.com/vector-im/riot-web/issues/9394

Tolerances are defined as a device-only setting to give advanced users an option to override the values. No UI is exposed for this. 

The default values are picked for assumptions on comfort, however as people change the tolerances themselves the defaults may need to change.
2019-04-08 10:56:44 -06:00
Travis Ralston
6a8b98eb71
Merge pull request #2877 from matrix-org/travis/breadcrumbs/scroll-left
Translate vertical scrolling to horizontal movement in breadcrumbs
2019-04-05 09:51:13 -06:00
Travis Ralston
e2edae3383 Merge branch 'develop' into travis/breadcrumbs/telemetry 2019-04-05 09:35:38 -06:00
David Baker
41c403c9a6
Merge pull request #2879 from matrix-org/dbkr/file_upload_fallout
Fix a few bugs introduced in file upload rework
2019-04-05 15:48:45 +01:00
Travis Ralston
4815aa6de9
Merge pull request #2875 from matrix-org/travis/breadcrumbs/mobile
Sync breadcrumb rooms through account data
2019-04-05 08:21:57 -06:00
Travis Ralston
2f8c0cb4e9
Merge pull request #2878 from matrix-org/travis/breadcrumbs/auto-scroll-left
Scroll breadcrumbs to the left when they change
2019-04-05 08:18:00 -06:00
Travis Ralston
223498a979
Merge pull request #2874 from matrix-org/travis/breadcrumbs/dms
Add an indicator to show a room is a direct chat in breadcrumbs
2019-04-05 08:15:12 -06:00
Travis Ralston
98b35d106b
Merge pull request #2872 from matrix-org/travis/breadcrumbs/upgrades
Use the most recent version of the room in breadcrumbs
2019-04-05 08:12:51 -06:00
David Baker
c8ba7d3434 Fix a few bugs introduced in file upload rework
* Fix the widget picture_snapshot command (not that I can find
   anything that uses it)
 * Remove unused prop
 * Fix plural on ContentMessages
2019-04-05 15:09:07 +01:00
Travis Ralston
04b521c48b Scroll breadcrumbs to the left when they change
Fixes https://github.com/vector-im/riot-web/issues/9355
2019-04-04 17:03:06 -06:00
Travis Ralston
138fd4ec87 Translate vertical scrolling to horizontal movement in breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/9314
2019-04-04 16:43:04 -06:00
Travis Ralston
b7e557e49a Autohide the scrollbar on breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/9349
2019-04-04 16:27:00 -06:00
Travis Ralston
64a22236c3 Handle cases where the user rapidly clicks between rooms
Once the user has breadcrumbs, there should always be breadcrumbs. Therefore it is safe to ignore any updates which have zero entries.
2019-04-04 16:21:57 -06:00
Travis Ralston
406196e11c Move import to avoid future merge conflicts 2019-04-04 15:10:17 -06:00
Travis Ralston
edc24c6a91 Move import to avoid future merge conflicts 2019-04-04 15:08:38 -06:00
Travis Ralston
44198ea97d Sync breadcrumb rooms through account data
Fixes https://github.com/vector-im/riot-web/issues/9315

Other clients would need to listen for and update im.vector.riot.breadcrumb_rooms in account data.
2019-04-04 15:06:03 -06:00
Travis Ralston
095e6a3ba6 Add an indicator to show a room is a direct chat
Fixes https://github.com/vector-im/riot-web/issues/8797
2019-04-04 14:31:23 -06:00
Travis Ralston
035f6b14c0 Add telemetry for how many people use breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/9207
2019-04-04 14:17:15 -06:00
Travis Ralston
68fc04d9f6 Use the most recent version of the room in breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/8662
2019-04-04 13:45:20 -06:00
Matthew Hodgson
d45f43144f
Merge pull request #2869 from matrix-org/matthew/redacted_tombstones
fix NPE for rooms with redacted tombstones
2019-04-04 16:53:31 +01:00
Travis Ralston
a61ab4eb4e
Merge pull request #2862 from matrix-org/travis/stickerpicker/remount
Don't re-init the stickerpicker unless something actually changes
2019-04-04 09:46:38 -06:00
Travis Ralston
f2b7042a33 misc cleanup 2019-04-04 09:30:15 -06:00
Travis Ralston
10369170ed Use a static prop on Stickerpicker to track the current widget 2019-04-03 17:16:56 -06:00
Travis Ralston
ad777782b8 Merge branch 'develop' into travis/stickerpicker/remount 2019-04-03 17:00:19 -06:00
Travis Ralston
f73c32e6c2 Track notifications in component state 2019-04-03 16:13:09 -06:00
Travis Ralston
f5600fd4d7 Add badges to breadcrumb rooms
Fixes https://github.com/vector-im/riot-web/issues/8606
2019-04-03 15:29:15 -06:00
Matthew Hodgson
e98ef0d537 only show continues link if tombstone has a continuation 2019-04-03 21:12:36 +01:00
Travis Ralston
c3d3dd1fd7
Merge pull request #2860 from matrix-org/travis/breadcrumbs/parted
Apply 50% opacity to left breadcrumbs
2019-04-03 08:42:39 -06:00
Travis Ralston
c0f06602c5 Use state instead of forceUpdate 2019-04-02 10:47:39 -06:00
Travis Ralston
8225b91179
Merge pull request #2863 from matrix-org/travis/stickerpicker/lower-z
Put the stickerpicker below dialogs
2019-04-02 10:23:17 -06:00
Travis Ralston
3f9d088667 Put the stickerpicker below dialogs
Fixes https://github.com/vector-im/riot-web/issues/9353

The ContextualMenu now accepts a zIndex parameter which can be used to control its level. Dialogs are at around 4000 in the z-index, and the context menu defaults to 5000 for the things that need tooltips and such in a dialog.
2019-04-01 20:34:33 -06:00
Travis Ralston
a4f76670c4 Don't re-init the stickerpicker unless something actually changes
Fixes https://github.com/vector-im/riot-web/issues/9354

https://github.com/matrix-org/matrix-react-sdk/pull/2801 introduced a change which tried to make sure that when the widget URL was changed that the picker would be re-mounted, however it accidentally introduced a regression. While it effectively did the task it wanted to, it failed to keep the previously-mounted sticker picker alive. This is because the Stickerpicker component is remounted when opened, and the _updateWidget function is called. This results in this.state not having the "current" widget, meaning a URL change is always detected when the component is remounted (room changes, open sticker picker). 

Instead of remounting always, we'll instead track which sticker picker widget is being used out of band. This therefore means that whenever the Stickerpicker component is mounted it doesn't create a whole new widget, and the existing (background) picker can be used. This also fixes the loading screen that people would see when opening the sticker picker after switching rooms, something which the persistent widget stuff is supposed to solve.
2019-04-01 19:48:05 -06:00
Travis Ralston
7e2291592c Apply 50% opacity to left breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/8564

We listen for membership changes to make sure the state is kept up to date.
2019-04-01 11:59:39 -06:00
David Baker
5b2cee2fc1 Implement redesigned upload confirmation screens
Also fairly significant refactor of the uploading code: there are
a number of different ways of triggerring a file upload and each
went through a different code path (the media config size limit
worked on one of those paths). Basically take a lot of code out
of the views and put it into ContentMessages.

Sorry about the size of this patch.

https://github.com/vector-im/riot-web/issues/7565
2019-04-01 16:42:41 +01:00
Travis Ralston
86e4d29582 Merge remote-tracking branch 'origin/develop' into travis/cancel-3pid 2019-03-29 11:47:46 -06:00
Travis Ralston
07cc640089 Add common utility for checking 3pid invites
We just need to make sure they are structurally sound - actual validation is done by other parties.
2019-03-29 11:45:07 -06:00
Bruno Windels
a326c83016
Merge pull request #2842 from matrix-org/bwindels/bacat-scrolling-merged-develop
BACAT Scrolling
2019-03-29 14:02:15 +00:00
Travis Ralston
0258f61f63 Fix typo preventing custom status from deregistering listeners on tiles 2019-03-28 21:02:24 -06:00
Travis Ralston
99dc2c4738 Add MemberInfo for 3pid invites and support revoking those invites
Fixes https://github.com/vector-im/riot-web/issues/625
Fixes https://github.com/vector-im/riot-web/issues/6411
Fixes https://github.com/vector-im/riot-web/issues/5490
2019-03-28 21:02:24 -06:00
Bruno Windels
0a4ef44bcf fix lint 2019-03-28 18:29:48 +01:00
Travis Ralston
acb33e1aa0
Merge pull request #2839 from matrix-org/travis/breadcrumbs/visual
Add custom tooltips and scrolling to breadcrumbs
2019-03-28 11:29:48 -06:00
Bruno Windels
41c5582a7b make resizeNotifier optional so tests don't fail 2019-03-28 17:56:12 +01:00
Travis Ralston
87ca3069bb Misc code cleanup 2019-03-28 10:43:01 -06:00
Travis Ralston
92c99546f6
Merge pull request #2837 from matrix-org/travis/breadcrumbs/persist
Persist breadcrumb state between sessions
2019-03-28 10:32:26 -06:00
Travis Ralston
f73556d278 Remove unnecessary params 2019-03-28 09:52:12 -06:00
Travis Ralston
9b64dd0cd7 Support horizontal scrolling on breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/8714
Fixes https://github.com/vector-im/riot-web/issues/8890
Fixes https://github.com/vector-im/riot-web/issues/9034
Fixes https://github.com/vector-im/riot-web/issues/8954

This turned out to be much more complicated than it needed to be. We use an IndicatorScrollbar to do all the math for us and some minor changes have been made so it can flag left/right overflow. The complicated part is the css changes which make the gradients work: unlike the RoomSubList, we have to calculate the offset of the indicators (gradients) on our own because position:sticky doesn't work horizontally.

The changes to the css (well, mostly pointer-events:none) make it so the gradient doesn't interfere with the room avatars. 

9034 and 8954 are fixed by this because they represent an overflow-x:none style breakage where browsers won't let you scroll without a scrollbar. The gradient offset problem is also demonstrated in 8954.
2019-03-27 17:52:05 -06:00
Travis Ralston
90d7e82399 Use custom tooltips on breadcrumb icons
Fixes https://github.com/vector-im/riot-web/issues/9303

We have to track our own onHover for this, and out of safety we ensure that exactly 1 room is hovered at a time.
2019-03-27 17:51:48 -06:00
Travis Ralston
bbbf509a8c Always append the current room to the breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/8659
Fixes https://github.com/vector-im/riot-web/issues/8970
2019-03-27 15:38:42 -06:00
Travis Ralston
c8e42d61f5 Persist breadcrumb state between sessions
Fixes https://github.com/vector-im/riot-web/issues/8549
2019-03-27 15:32:51 -06:00
Bruno Windels
adf263c4af Merge branch 'develop' into bwindels/bacat-scrolling-merged-develop 2019-03-27 11:46:28 +01:00
Travis Ralston
1ba23d6833 Fix typo preventing users from adding more widgets easily
Fixes https://github.com/vector-im/riot-web/issues/9266
2019-03-23 23:53:21 -06:00
J. Ryan Stinnett
c17f7a2949 Trim the logging for URL previews
It should be sufficient to have the error stack and general log message for URL
preview failure.
2019-03-22 18:50:08 +00:00
Bruno Windels
494779393f Merge branch 'develop' into bwindels/bacat-scrolling 2019-03-21 13:50:32 +01:00
Bruno Windels
f164a78eaa reimplement typing notif timeline shrinking prevention
instead of setting a min-height on the whole timeline,
track how much height we need to add to prevent shrinking
and set paddingBottom on the container element of the timeline.
2019-03-20 17:10:30 +01:00
Travis Ralston
94e91e6f9a
Merge pull request #2796 from matrix-org/travis/upgrade-warning
Warn that members won't be autojoined to upgraded rooms
2019-03-20 08:34:33 -06:00
Travis Ralston
a397f333d7 Discard old sticker picker when the URL changes
Fixes https://github.com/vector-im/riot-web/issues/7547
2019-03-16 16:02:38 -06:00
Travis Ralston
f6e3437944 Update text in RoomUpgradeWarningBar to match suggestions 2019-03-15 16:08:35 -06:00
Bruno Windels
bab2730d40 use ResizeNotifier as well to relayout room list 2019-03-15 10:16:21 +01:00
Bruno Windels
af0a51d3b2 use AutoHideScrollbar in member info panel 2019-03-15 10:16:21 +01:00
Bruno Windels
dad382a4b7 use AutoHideScrollbar in memberlist 2019-03-15 10:16:21 +01:00
Bruno Windels
f71a9f10dd remove onChildResize in RoomView as it's unused 2019-03-15 10:16:21 +01:00
Travis Ralston
5ded646db0 Warn that members won't be autojoined to upgraded rooms
Fixes https://github.com/vector-im/riot-web/issues/8173

Wording is questionable though.
2019-03-14 17:33:34 -06: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
J. Ryan Stinnett
77a06756e3 Remove padlock click handler to show unknown devices
The unknown devices dialog is confusing at the moment due to the complex trust
model in Riot involving various possible device states.

The room header padlock allows you to access this dialog even if there are no
unknown devices, which leads users to be unsure what they can believe and
reduces confidence in Riot. For now, we'll remove the room header click handler
that shows this dialog.

Fixes https://github.com/vector-im/riot-web/issues/8815
2019-03-13 12:58:23 +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
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
J. Ryan Stinnett
0791f220fb
Merge pull request #2776 from matrix-org/erikj/fix_null_counter
Fix simple header counters to correctly handle zero, take two
2019-03-12 10:46:51 +00:00
Erik Johnston
1a35130869 Fix simple header counters to correctly handle zero, take two 2019-03-12 10:00:10 +00:00
Travis Ralston
7eea62a22b
Merge pull request #2764 from matrix-org/travis/fix-hover
Fix sticky hover state by listening for hover on the document
2019-03-11 16:35:25 -06:00
Erik Johnston
03d60e6af2 Fix header counters to correctly handle zero
Currently if you set the value to zero the counter is not displayed.
2019-03-11 14:04:15 +00:00
Travis Ralston
241309ab83 Use CSS for hovering the tile 2019-03-07 14:55:17 -07: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
Travis Ralston
5b49584d79 Fix sticky hover state by listening for hover on the document 2019-03-06 16:27:29 -07: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
Travis Ralston
b5ffd4a538 Stop listening to account data when the stickerpicker is unmounted
Fixes https://github.com/vector-im/riot-web/issues/8994
2019-02-28 14:15:01 -07:00
Jason Robinson
a74cb001b4 Remove unnecessary ref from Stickerpicker
There is a ref=target in the call to render AccessibleButton for
the hide stickers button. This ref is not present in the show case.

When clicking the stickerpicker show button, React gives a warning:

> Warning: Stateless function components cannot be given refs
> (See ref "target" in AccessibleButton created by Stickerpicker).
> Attempts to access this ref will fail.

Removed the ref. Stickerpicker hide/show still works fine, no warning.

Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-02-28 15:51:36 +02:00
Travis Ralston
93043c8cc0
Merge pull request #2709 from matrix-org/t3chguy/badge_51
Show nearest lower badge, e.g show Mod for 51... etc
2019-02-27 18:30:57 -07:00
Michael Telatynski
f16011394e Merge branches 'develop' and 't3chguy/composer_demote' of github.com:matrix-org/matrix-react-sdk into t3chguy/composer_demote
# Conflicts:
#	src/components/views/rooms/MessageComposer.js
2019-02-27 00:28:16 +00:00
Michael Telatynski
7dfbf3feb2 move canSendMessages into state so that it will re-render the composer
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-27 00:23:37 +00:00
Michael Telatynski
93323421de Show nearest lower badge, e.g show Mod for 51... etc
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-26 23:59:40 +00:00
Bruno Windels
4d95af705d fix lint 2019-02-26 10:26:33 +01:00
Bruno Windels
77f979ed6d also pass permalinkCreator here 2019-02-25 18:43:08 +01:00
Bruno Windels
fb672ffb28 change handling of event permalinks in replies 2019-02-25 18:43:08 +01:00
Bruno Windels
31dda34e6b use new permalink class in share dialog & context menu 2019-02-25 18:43:08 +01:00
Bruno Windels
f7ea9cfeb2 rename all instances of permalinkCreator 2019-02-25 18:43:08 +01:00
Bruno Windels
f97ea37717 permalink is one word 2019-02-25 18:43:08 +01:00
Bruno Windels
29be28919d create permalink creator in roomview and pass it on to the event tiles 2019-02-25 18:43:08 +01:00
Travis Ralston
8049d5c2b2
Merge pull request #2684 from matrix-org/travis/fix-e2e-menu-item
Only set e2e info callback if the event is encrypted
2019-02-25 07:31:17 -07:00
Travis Ralston
1c10b3050d Revert "Add some logging for riot-web#7838"
This reverts commit f5ff580e35.
2019-02-24 18:05:40 -07:00
Travis Ralston
c12bea06c8
Merge pull request #2698 from matrix-org/t3chguy/room_member_filter_clear
Add abilities to clear Filter room members input
2019-02-24 18:00:02 -07:00
Michael Telatynski
ee47e0f72e pass through className
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 04:44:38 +00:00
Michael Telatynski
5052039b36 Re-use SearchBox from filter rooms for filter room members
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 04:42:04 +00:00
Michael Telatynski
c99b4bda32 view user on click typing tile
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 02:30:45 +00:00
Travis Ralston
20cd198784 Only set e2e info callback if the event is encrypted
Fixes https://github.com/vector-im/riot-web/issues/8551
2019-02-22 10:31:14 -07:00
J. Ryan Stinnett
150c941340
Merge pull request #2682 from jryans/simplify-composer-state-change
Remove duplicated conversion from `enableRichText`
2019-02-22 16:57:37 +00:00
Travis Ralston
d6f89f422b
Merge pull request #2679 from matrix-org/travis/settings/field-editable-list
Fix AliasSettings and RelatedGroups UX
2019-02-22 09:40:34 -07:00
J. Ryan Stinnett
f5c477bbc8 Remove duplicated conversion from enableRichText
`enableRichText` would convert the editor state between rich and md versions
explicitly, but then it would also call `createEditorState`, which can do the
same thing.

This removes the duplication, and also supplies the right arguments to
`createEditorState` so it can do its work correctly.
2019-02-22 15:48:44 +00:00
J. Ryan Stinnett
ccd4dee0d2 Isolate rich text notifications from other input changes
The step that would notify parent components of rich text state changes was
stirred into the input's change handler, which leads to race which the parent is
sometimes notified of the old rich text state instead of the new.

Here we avoid this complication by using a separate path for sending the rich
text state when we know we have updated it correctly.
2019-02-22 15:18:24 +00:00
J. Ryan Stinnett
3e6199c0f7 Change Markdown buttons to onClick
`AccessibleButton` expects click handlers, which we can use here, as long we
make some additional changes to avoid race processing the new state (see
subsequent patch).

Fixes https://github.com/vector-im/riot-web/issues/8866
2019-02-22 15:18:06 +00:00
Travis Ralston
003d0eb0bf Show changes to related groups (flair) in the timeline 2019-02-21 17:03:15 -07:00
Bruno Windels
d9b8b0f988 fix indentation 2019-02-21 10:51:09 +01:00
Bruno Windels
f11505a9de bring back user page
Adds a UserView that contains a MainSplit with an empty div
and a RightPanel, preset to the given member.

UserView fetches the profile and creates a fake member, which
it passed on to the RightPanel.

this doesn't use the view_user action on purpose, to avoid any
interference of the UserView when trying to view a room member.
2019-02-20 12:45:55 +01:00
J. Ryan Stinnett
5fb990eb5f Convert Markdown button to SVG mask
This makes it easier to theme via CSS, which helps with the dark theme.
2019-02-18 18:26:52 +00:00
J. Ryan Stinnett
09ed795c79 Allow theming member info minimise button 2019-02-18 16:02:10 +00:00
J. Ryan Stinnett
6c954dadc8 Allow theming message composer buttons 2019-02-13 10:47:04 +00:00
J. Ryan Stinnett
8652a094f3 Allow theming room header buttons 2019-02-13 10:47:04 +00:00
Bruno Windels
875f792728
Merge pull request #2620 from matrix-org/bwindels/e2eiconsanddialog
Fixes and styling related to e2e icons and dialogs
2019-02-13 09:18:58 +01:00
Bruno Windels
12b6383831
Merge pull request #2618 from matrix-org/bwindels/fixstickers
Fix: stickers layout
2019-02-13 09:17:21 +01:00
Bruno Windels
5047d15a3b
Merge pull request #2615 from matrix-org/bwindels/breadcrumbs
Labs feature: recent room breadcrumbs
2019-02-13 09:16:40 +01:00
Bruno Windels
240dc3c1cc
Merge pull request #2612 from matrix-org/bwindels/roomlistlag
Fix: roomlist reordering lags
2019-02-13 09:15:46 +01:00
Bruno Windels
bfdf1251e8 only wrap e2e icon in button if there is a click handler 2019-02-12 19:59:31 +01:00
Bruno Windels
5e298dc58d only show member e2e icon in encrypted rooms 2019-02-12 19:42:17 +01:00
Bruno Windels
158e949165 add context menu option to show "event e2e info dialog" 2019-02-12 19:10:42 +01:00
Bruno Windels
08272bc75e make e2e icons clickable again 2019-02-12 18:58:02 +01:00
David Baker
6c1ed57b70 flag todo 2019-02-12 17:53:00 +00:00
Bruno Windels
2f345401c4 show unknown devices dialog when clicking e2e warning in room header 2019-02-12 18:43:28 +01:00
Bruno Windels
3b10b8042a restyle unknown devices dialog 2019-02-12 18:34:35 +01:00
David Baker
9ec00f8d9b Change text in e2e UX to new copy 2019-02-12 16:01:38 +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
Bruno Windels
229d905835 copyright 2019-02-12 12:21:40 +01:00
Bruno Windels
2315e4bfb4 add animation when adding a room 2019-02-12 12:16:56 +01:00
Bruno Windels
735c9d1121 hide breadcrumbs when collapsed 2019-02-12 11:31:50 +01:00
Bruno Windels
5efd92f3ec make rooms come in from left rather than the right 2019-02-12 11:26:46 +01:00
Bruno Windels
aaea40a93d add breadcrumbs component 2019-02-12 11:04:25 +01:00
Bruno Windels
7c72fddf80 Merge branch 'develop' into bwindels/roomlistlag 2019-02-11 17:06:16 +01:00
Bruno Windels
ab6535b135 lint 2019-02-11 16:27:29 +01:00
Bruno Windels
fbc0bbfb6f clear hover flag after 1000ms of not moving the mouse
as a fix for #8184
2019-02-11 16:17:15 +01:00
Bruno Windels
b6aa72da55 update RoomTile notificationCount through props so updates are consistent 2019-02-11 15:40:17 +01:00
David Baker
742af81224
Merge pull request #2594 from matrix-org/dbkr/dont_verify_restore
Prompt to restore backup rather than verify
2019-02-08 17:49:04 +00:00
Bruno Windels
8fdb94911c header doesn't have a room yet while joining 2019-02-08 17:35:49 +00:00
Matthew Hodgson
ce24165e19 port over low_bandwidth mode to develop 2019-02-08 16:44:03 +00:00
David Baker
9b4a6cf442 Make prettier 2019-02-08 16:27:25 +00:00
Travis Ralston
8cdfdd2e24 Merge branch 'develop' into travis/render-join-rules 2019-02-08 09:24:07 -07:00
Bruno Windels
2eff03ba78 fix whitespace 2019-02-08 12:03:58 +00:00
David Baker
ac98da4a8a Prompt to restore backup rather than verify
Direct the user to restore the backup in order to both get the keys
out of the backup and start putting them in.

Also hide the advanced key backup stuff in a diclosure.
2019-02-08 11:51:22 +00:00
Travis Ralston
5d4406cbab Render join rules and guest access changes in the timeline
Fixes https://github.com/vector-im/riot-web/issues/8435
2019-02-07 12:14:58 -07:00
Bruno Windels
e8533beafb guard custom tags with feature flag 2019-02-07 18:07:30 +00:00
David Baker
b7fd1336de
Merge pull request #2532 from boeserwolf/boeserwolf/get-set-topic
Extend slash command '/topic' to display the room topic
2019-02-07 13:45:59 +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
1a1f8bdf82 fix wrong way of unregistering from store 2019-02-06 14:24:17 +00:00