Commit graph

2801 commits

Author SHA1 Message Date
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
Bruno Windels
414fffba3f only show selected custom tags in room list 2019-02-05 17:38:36 +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
f029aad9fa rename to getLayout 2019-02-04 18:38:31 +00:00
Bruno Windels
d30ff13c18 pass the layout to the resizer as a lamba to avoid having the wrong layout when filtering 2019-02-04 15:09:44 +00:00
Travis Ralston
8307af6871
Merge pull request #2563 from matrix-org/travis/remove-e2e-beta-dialog
Remove warning about encryption being beta
2019-02-01 15:12:25 -07:00
Bruno Windels
45e982ac13
Merge pull request #2557 from matrix-org/bwindels/e2eicons
Add e2e icon to room header/composer/member info, more ...
2019-02-01 22:02:28 +00:00
Travis Ralston
016bd028ba Remove warning about encryption being beta 2019-02-01 14:56:29 -07:00
Bruno Windels
ce5e56aaac update icons in member info device section 2019-02-01 17:32:46 +01:00
Bruno Windels
21fe266394 add icon to member info to indicate all devices of a user are trusted 2019-02-01 17:08:09 +01:00
Bruno Windels
88ad780b6b update message e2e icons
also remove encrypted icon as header/composer already indicate encryption
2019-02-01 16:43:12 +01:00
Bruno Windels
2596a0ffc2 linting 2019-02-01 14:35:25 +01:00
Bruno Windels
09c3391dd8 replace existing icon in composer with the new one 2019-02-01 13:40:42 +01:00
Bruno Windels
0cdf3d0898 add icon to room header 2019-02-01 13:40:19 +01:00
Bruno Windels
f2928c184d create warning/verified icon to use in header/composer/member info 2019-02-01 13:39:56 +01:00
Bruno Windels
3c3aa9197c UrlPreviewSettings doesnt have a saveSettings method anymore, which I think is intentional 2019-02-01 11:24:52 +01:00
Bastian
23971b3d0d Refactor to use HtmlUtils for linkifying and sanitizing
Signed-off-by: Bastian <matrix@noxware.de>
2019-01-31 22:36:08 +01:00
Bruno Windels
0cce912cf6
Merge pull request #2519 from matrix-org/bwindels/roomdirectory-makeover
Redesign: room directory makeover
2019-01-29 19:21:42 +00:00
Travis Ralston
a16eb30cbc
Merge pull request #2518 from matrix-org/travis/rver-cap-support
Iterate upon the room upgrade warning bar
2019-01-29 11:29:17 -07:00
Bruno Windels
855dbd7d2b Merge branch 'experimental' into bwindels/roomdirectory-makeover 2019-01-29 18:33:03 +01:00
Bruno Windels
6dc042287e dont allow whitespace in room sub lists while resizing 2019-01-29 17:21:14 +01:00
Bruno Windels
9f1b4ac4cc room directory makeover 2019-01-29 15:34:58 +01:00
Bruno Windels
012e358147
Merge pull request #2515 from matrix-org/bwindels/roomlistjslayout-bisbis
Redesign: switch layout when filtering room sublists
2019-01-29 09:32:32 +00:00
Bruno Windels
529c48d1b0 avoid whitespace and expand all matching section when filtering 2019-01-29 10:01:55 +01:00
Travis Ralston
5948f9bc43 Appease the linter 2019-01-28 18:57:11 -07:00
Travis Ralston
f8de4ba2b0 Iterate upon the room upgrade warning bar
This lessens the warning for unstable-but-not-official versions while still communicating that the version is unstable. In the future, we may want to make this state dismissable.
2019-01-28 17:21:33 -07:00
Bruno Windels
8d1e105b50 add option for whitespace behaviour and handle height 2019-01-28 18:02:36 +01:00
Travis Ralston
a1e3887a74
Merge branch 'experimental' into travis/settings/positive 2019-01-28 08:25:40 -07:00
Bruno Windels
55e0838c82
Merge pull request #2507 from matrix-org/bwindels/roomlistjslayout
Redesign: new layout algorithm for room sublists.
2019-01-28 14:55:31 +00:00
Bruno Windels
0a5e8e6cfe WIP on persisting height across collapse/expand 2019-01-28 14:35:04 +01:00
David Baker
de9b964490 Fix NPE in RoomRecoveryReminder
Also fix a bug introduced in
https://github.com/matrix-org/matrix-react-sdk/pull/2506
where I failed to set the button caption in one case.

Fixes https://github.com/vector-im/riot-web/issues/8216
2019-01-25 17:49:02 +00:00
Bruno Windels
2d2f9712b5 update layout on window resize 2019-01-25 18:48:25 +01:00
David Baker
f6bbfd7e0d New text/caption for key backup by verifying device
https://github.com/vector-im/riot-web/issues/8072
2019-01-25 16:25:15 +00:00
Travis Ralston
cb6f415a05 Be more positive with setting labels
Fixes https://github.com/vector-im/riot-web/issues/6435

This is done through an on-the-fly inverter for the settings. All the settings changed are boolean values, so this should be more than safe to just let happen throughout the SettingsStore. Typically a change like this would be done in the individual handlers (similar to how setting names are remapped to different properties or even different storage locations on the fly), however doing that for this many settings would be a huge nightmare and involve changing *all* the layers. By putting a global "invert this" flag on the setting, we can get away with doing the inversion as the last possible step during a read (or write).

To speed up calculations of the default values, we cache all the inverted values into a lookup table similar to how we represent the defaults already. Without this, the DefaultHandler would need to iterate the setting list and invert the values, slowing things down over time. We invert the value up front so we can keep the generic inversion logic without checking the level ahead of time. It is fully intended that a default value represents the new setting name, not the legacy name.

This commit also includes a debugger for settings because it was hard to visualize what the SettingsStore was doing during development. Some added information is included as it may be helpful for when someone has a problem with their settings and we need to debug it. Typically the debugger would be run in conjunction with `mxSendRageshake`: `mxSettingsStore.debugSetting('showJoinLeaves') && mxSendRageshake('Debugging showJoinLeaves setting')`.
2019-01-24 20:57:40 -07:00
Bruno Windels
636955daef use offsetHeight for consistency with sizer 2019-01-24 16:45:26 +01:00
Bruno Windels
067a861f80 integrate layout/distributor with RoomList 2019-01-24 15:43:49 +01:00
Bruno Windels
45c4ca3183
Merge pull request #2481 from matrix-org/bwindels/showroomsandpeoplewhenempty
Fix: show rooms and people section when empty while filtering
2019-01-23 09:39:17 +00:00
Bruno Windels
2234a691c6
Merge pull request #2480 from matrix-org/bwindels/typingnotifsmallfix
Fix: apparently room can be null here
2019-01-22 17:04:00 +00:00
Bruno Windels
7d4165802c show rooms and people section when empty while filtering 2019-01-22 17:54:04 +01:00
Bruno Windels
1373b2f5e2 apparently room can be null here 2019-01-22 17:34:48 +01:00
Bruno Windels
85b55847e1 missing semicolon 2019-01-22 14:52:22 +01:00
Bruno Windels
689df1b506 copyright 2019-01-22 14:51:11 +01:00
Bruno Windels
5dd5f4f1dc add JumpToBottomButtom component 2019-01-22 14:49:04 +01:00
Bruno Windels
3c8bd3fc78
Merge pull request #2456 from matrix-org/bwindels/extendtypingbartiming
Avoid "jumpiness" with inline typing indicator
2019-01-22 11:04:25 +00:00
Bruno Windels
f83411ea0b whitespace 2019-01-22 11:46:02 +01:00
Bruno Windels
0e0128c297 if instead of short-circuit and for readability 2019-01-22 11:37:18 +01:00
Travis Ralston
881353037e
forgot .length somehow
Co-Authored-By: bwindels <bruno@windels.cloud>
2019-01-22 10:34:54 +00:00
Bruno Windels
86357fde51 sort combined typing users by name so order is stable 2019-01-21 17:49:46 +01:00
Bruno Windels
25aa58f29f increase/clear min-height on timeline on new message(s)
depending on whether the typing bar is visible
2019-01-21 17:35:40 +01:00
J. Ryan Stinnett
20e296b20e Convert image URLs in React to require calls
This allows Webpack to insert the proper image URL after builds steps like
adding a hash and so on. The path you supply to `require` is relative to the JS
source file, just like any other would be.
2019-01-17 22:06:49 -06:00
Bruno Windels
2920deaefe better naming 2019-01-17 18:52:22 +01:00
Bruno Windels
146e651dae add comments 2019-01-17 18:52:14 +01:00
Bruno Windels
1db6f1b652 remove logging 2019-01-17 18:32:46 +01:00
Bruno Windels
d787d3d821 clear typing bar when receiving event from user 2019-01-17 18:26:11 +01:00
Bruno Windels
7df8951efa wait to hide typing bar until event arrives or 5s timeout 2019-01-17 16:30:55 +01:00
Bruno Windels
89b576936b
Merge pull request #2448 from matrix-org/bwindels/searchmakeover
Redesign: search makeover
2019-01-17 12:12:26 +00:00
Bruno Windels
8c30d05eb8 Revert "Merge pull request #2348 from matrix-org/bwindels/roomgridview-experimental"
This reverts commit ece5cb1fcc, reversing
changes made to 64a3d2521c.
2019-01-17 10:29:37 +01:00
Bruno Windels
622b11fd91 remove commented out code from shifting things around 2019-01-16 13:04:49 +01:00
Bruno Windels
0229453482
Merge pull request #2440 from matrix-org/bwindels/smarterresizer
Improve room sublist resizing
2019-01-16 10:55:53 +00:00
Bruno Windels
899ee265e3 Merge branch 'experimental' into bwindels/searchmakeover 2019-01-16 11:17:38 +01:00
Bruno Windels
cbe3afaa1f resubmit query when switching between "This Room" / "All Rooms" 2019-01-16 11:13:35 +01:00
J. Ryan Stinnett
d8de607edc Update RoomTile on status change 2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
77cee8e67e Update MemberTile on status change 2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
443198c180 Fix lints in MemberTile.js 2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
c76b273fae Update RoomTiles on custom status change 2019-01-15 10:54:29 -06:00
Bruno Windels
77a62b9174 style search bar 2019-01-15 16:20:04 +01:00
Bruno Windels
1bbf1502ec Merge branch 'experimental' into bwindels/smarterresizer 2019-01-15 10:23:50 +01:00
Bruno Windels
7e395f0fb6 cleanup - part II
reshuffle file structure to make more sense
2019-01-14 20:33:33 +01:00
Bruno Windels
9ecb23ce71 cleanup
- move some methods to ResizeItem subclass
- allow distributor to instanciate sizer and resizeitem it needs
  through static factory methods, instead of passing in another ctor
  a distributor can only function with the right item and sizer anyways.
- use consistent import/export style
- remove obsolete code
2019-01-14 20:24:54 +01:00
David Baker
e0bc0494fa
Merge pull request #2433 from matrix-org/travis/rver/7992
Recalculate the visible rooms when rooms are upgraded
2019-01-11 10:37:32 +00:00
David Baker
93cf281ff9
Merge pull request #2432 from matrix-org/travis/rver/7998
Navigate to the upgraded room's create event where possible
2019-01-11 10:35:30 +00:00
Travis Ralston
33eef6f5ac
Merge pull request #2428 from matrix-org/travis/rver/7991
Set which servers to try and join upgraded rooms through
2019-01-10 16:28:11 -07:00
Travis Ralston
7d4b6add2c Recalculate the visible rooms when rooms are upgraded
We also do this when they are created just in case we missed the tombstone event.

Fixes https://github.com/vector-im/riot-web/issues/7992
2019-01-10 15:43:22 -07:00
Travis Ralston
b09219fe33 Navigate to the upgraded room's create event where possible
Fixes https://github.com/vector-im/riot-web/issues/7998
2019-01-10 15:29:12 -07:00
Travis Ralston
e24d3cd671 Render a tile for tombstone events
Fixes https://github.com/vector-im/riot-web/issues/7997

This isn't super elegant, but it also provides some amount of utility for people. As users might leave the old room, it might be useful to see when exactly a room was upgraded. We should fix the underlying cause for infinite back pagination though.
2019-01-10 15:15:45 -07:00
Travis Ralston
cec9c908fc Set which servers to try and join upgraded rooms through
Fixes https://github.com/vector-im/riot-web/issues/7991
2019-01-10 14:33:46 -07:00
David Baker
fc346b2766
Merge pull request #2423 from matrix-org/dbkr/lint_messagecomposerinput
Fix lint errors in MessageComposerInput
2019-01-10 18:33:52 +00:00
Bruno Windels
92b9a8cc1f persist cleared size sublists 2019-01-10 18:40:26 +01:00
Erik Johnston
cbf9ff6aee Merge branch 'experimental' of github.com:matrix-org/matrix-react-sdk into erikj/state_counters 2019-01-10 16:56:47 +00:00
Erik Johnston
fa6b33d629 Only update component state when feature is enabled 2019-01-10 16:54:08 +00:00
David Baker
9903c61a21 Fix lint errors in MessageComposerInput
and remove from ignored files

Missed a load of the async arrows functions when changing them because
they were in the ignored files, so trying to chip away at this.

A lot of these were unused imports / variables. Probably the only
interesting one was a 'this' in a non-member function which I've moved
to be a member function.
2019-01-10 09:41:26 +00:00
David Baker
3555b02f34 Merge remote-tracking branch 'origin/experimental' into dbkr/fix_recovery_reminder_cancel 2019-01-10 09:39:57 +00:00
David Baker
b9719abbc2 Oops, missed some asyncs 2019-01-09 19:36:34 +00:00
David Baker
f269b5fbbc Fix spaceless async in ignored files too 2019-01-09 19:14:30 +00:00
David Baker
7381879e3a Fix a few things with cancelling recovery reminder
* Put a cancel button on the first page of the create key backup
   dialog
 * Move settings logic into the room reminder: I know this is moving
   logic *into* a view but RoomView is quite heavyweight as it is.
 * Give the recovery reminder an explicit 'onDontAskAgainSet' rather
   than onFinished which was getting called with false when the last
   screen of the dialog was closed with the cancel 'x' rather than
   the 'close' button.

https://github.com/vector-im/riot-web/issues/8066
2019-01-09 16:27:41 +00:00
Bruno Windels
254427461d fix PR feedback 2019-01-09 12:48:13 +01:00
Erik Johnston
07c2010cce Use state rather than forceUpdate 2019-01-08 11:14:31 +00:00
Bruno Windels
56726ba8e5 fix lint 2019-01-08 12:10:42 +01:00
Bruno Windels
7227049c2a add right panel toggle button to room header when in grid 2019-01-08 12:05:39 +01:00
Erik Johnston
4c204e88be Add feature flag for counters 2019-01-07 13:52:13 +00:00
Erik Johnston
712241d710 Add simple state counters to room heading 2019-01-07 13:52:13 +00:00
Bruno Windels
290dc9d8fb Merge branch 'experimental' into bwindels/roomgridview-experimental 2019-01-07 14:17:57 +01:00
Travis Ralston
5a2113e1a9 Fix a comparison bug in ordering the MemberList 2019-01-03 21:56:19 -07:00
Travis Ralston
77dfba8a22 Add unit tests for MemberList
Particularly the ordering of the tiles.
2019-01-03 21:55:52 -07:00
Travis Ralston
cc8fa7911b Merge remote-tracking branch 'origin/experimental' into travis/fix-memberlist-order 2019-01-03 20:01:28 -07:00
J. Ryan Stinnett
920911c0a1 Room list fixes for custom status 2019-01-03 18:49:15 -06:00
Travis Ralston
1481dcf9d7 Don't re-sort the room list if the user is hovering over it
Fixes vector-im/riot-web#5624
2019-01-03 16:27:59 -07:00
Travis Ralston
8017f0a4a1 Merge remote-tracking branch 'origin/experimental' into travis/develop-for-real 2019-01-03 16:00:23 -07:00
David Baker
f928be6f59 Revert "Merge pull request #2395 from matrix-org/dbkr/merge_develop_experimental"
This reverts commit ad47144355.
2019-01-03 15:37:03 -07:00
Travis Ralston
d111fe27bb Revert "Merge pull request #2396 from matrix-org/travis/room-list-hover"
This reverts commit 5098b28672.
2019-01-03 15:36:56 -07:00
Travis Ralston
223a49d81f Don't re-sort the room list if the user is hovering over it
Fixes vector-im/riot-web#5624
2019-01-03 13:57:20 -07:00
Travis Ralston
95844ebf9d Comment out debugging statements
They are useful to have around, but not to have enabled all the time.
2019-01-03 12:15:27 -07:00
Travis Ralston
63a7b86eac Flatten and simplify the memberlist sorting algorithm
The previous algorithm had a bug where it was getting stuck on the power level comparison, leaving the memberlist incorrectly ordered. The new algorithm uses less branching to try and walk through the different cases instead. Additionally, the steps used to determine the order have changed slightly to better represent an active member list.

This commit also includes changes to try and re-sort the member list more often during presence changes. Events are not always emitted, however. This may be a js-sdk bug but appears to happen prior to these changes as well.

Fixes https://github.com/vector-im/riot-web/issues/6953
2019-01-03 12:15:19 -07:00
David Baker
982e037822 Fix merge 2019-01-03 18:05:38 +00:00
David Baker
7d161de35b Partial merge of develop to experimental
Does not include #2336 as the file has been moved out from underneath it:
will do this separately
2019-01-03 15:02:58 +00:00