Commit graph

669 commits

Author SHA1 Message Date
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
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
290dc9d8fb Merge branch 'experimental' into bwindels/roomgridview-experimental 2019-01-07 14:17:57 +01: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
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
J. Ryan Stinnett
402f58225f Show in-room reminder when key backup creating device unverified
If the current device hasn't verified the device that created the account's
current key backup version, then the current device is won't use the key backup.
This change adjusts an existing in-room reminder to do the right thing for this
case by allowing the user to verify the device that created the key backup.

Fixes vector-im/riot-web#7902.
2019-01-02 15:36:40 -06:00
Bruno Windels
c8243357ea disable editor history/persistence when in grid to avoid pesky bug 2018-12-13 13:01:59 +01:00
Bruno Windels
f593bff3c3 show right panel tabs inside panel instead of room header in grid mode 2018-12-13 13:01:59 +01:00
Bruno Windels
44200a6f78 only listen and dispatch to room-local dispatcher in room view, composer 2018-12-13 13:01:59 +01:00
Bruno Windels
9a24249fb5 emit focus_composer after updating the active room in GroupGridView
also change the active room from there so RoomView is oblivious
to grid view stuff
2018-12-13 13:01:59 +01:00
Bruno Windels
cf0f75cad4 allow changing active room in grid by clicking it 2018-12-13 13:01:59 +01:00
Bruno Windels
df8539d6bc pass the RoomViewStore down with a prop instead of global var.
this will allow to have more than 1 RoomView further on
2018-12-13 12:59:18 +01:00
Bruno Windels
ac9902e52a apply redesign to topunreadmessagebar
with placeholder for message count
2018-12-11 15:43:00 +01:00
J. Ryan Stinnett
a92d2902c4 Add an in-room reminder to set up key recovery
This adds an in-room reminder above the message timeline to set up Secure
Message Recovery so that your keys will be backed up. If you try to ignore it,
an additional dialog is shown to confirm.

Fixes vector-im/riot-web#7783.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-07 14:13:02 -06:00
Will Hunt
2b077b4f5d Merge remote-tracking branch 'upstream/develop' into hs/upload-limits 2018-12-01 16:24:43 +00:00
Bruno Windels
887defda9c temp solution to make room settings usable
make mx_fadable not do anything anymore, and make room settings
full size.

Room settings haven't been designed yet, so all of this will
have a full pass when we have a go at it.
2018-11-26 17:58:51 +01:00
Bruno Windels
465d767bf1 remove typing notifications from status bar 2018-11-12 18:11:17 +01:00
Bruno Windels
9be4598a0e use main element for room/group view 2018-11-02 15:05:55 +01:00
Bruno Windels
b4dd739771 Merge branch 'experimental' into bwindels/rightpanelbelowheader 2018-10-31 14:57:16 +01:00
Bruno Windels
a40f1933f2 put RightPanel as sibling of .mx_RoomView_body instead of RoomView 2018-10-30 18:13:17 +01:00
Bruno Windels
4972b1ba7c move aux panel into room body
to put a resize handle between the body and the right panel later on
2018-10-30 13:25:06 +01:00
Aaron Raimist
49ce4ef117
eslint --fix src/
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-26 22:50:38 -05:00
Travis Ralston
d7367a7cfd Merge branch 'develop' into travis/permalink-routing 2018-10-24 09:12:14 -06:00
Aaron Raimist
1aa3085958
Oh right, can't change these
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-22 23:33:38 -05:00
Aaron Raimist
cb033bcadd
Why not change it everywhere while we're at it
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-22 23:16:07 -05:00
David Baker
c677dd8a24
Merge pull request #2225 from matrix-org/travis/join-room-text
Add a bit of text to explain the purpose of the RoomPreviewSpinner
2018-10-22 13:11:09 +01:00
David Baker
b8153dcec7
Merge pull request #2219 from matrix-org/travis/login-register-composer
Move the login box from the left sidebar to where the composer is
2018-10-22 13:05:19 +01:00
Travis Ralston
7383133846 Support parsing matrix.to links in the timeline with ?via= in them
This ends up being translated to ?server_name= in the matrix-js-sdk, although that has a bug at the time of writing. It converts `server_name: ['a', 'b']` to `?server_name=a,b` instead of `?server_name=a&server_name=b`

For reference: the `viaServers` option is routed through the 'join_room' action to RoomViewStore#_joinRoom which is passed directly to the js-sdk http-api#joinRoom function.

Next steps:
* Fix the js-sdk parsing
* Make the SDK generate matrix.to links with ?via=
2018-10-19 13:31:18 -06:00
Travis Ralston
af8dfda9a7 Add a bit of text to explain the purpose of the RoomPreviewSpinner
Fixes https://github.com/vector-im/riot-web/issues/5869
2018-10-17 13:53:12 -06:00
Travis Ralston
2d62fda862 Don't show the invite nag bar when peeking 2018-10-15 14:35:36 -06:00
Travis Ralston
94aac62f25 Move the login box from the left sidebar to where the composer is
Fixes https://github.com/vector-im/riot-web/issues/4227

This includes removing the collapse button that isn't needed anymore.
2018-10-15 14:26:24 -06:00
Will Hunt
5a72a5863f Merge remote-tracking branch 'upstream/develop' into hs/upload-limits 2018-10-15 19:20:55 +01:00
David Baker
6f9d673b79 Focus composer after closing room settings
For some reason the slate update means the composer doesn't
have the focus after closing the room settings, and the end to end
tests pick this up!
2018-10-09 17:35:40 +01:00
Bruno Windels
e8b4770940 fix lint 2018-09-17 20:01:55 +02:00
Bruno Windels
841aa4b800 check LL with client as this takes server support into account 2018-09-17 19:28:06 +02:00
Bruno Windels
0ce7bb8995 pass membersLoaded state to TimelinePanel to force it to re-render
... once the members are loaded.
2018-09-17 19:27:25 +02:00
Bruno Windels
473f2dd72b pass room to _loadMembersIfJoined, it's called when newState not applied
_loadMembersIfJoined is called from
_onRoomLoaded < _onRoomViewStoreUpdate, before incoming state
from the store is applied to this.state, so looking up the room
with this.state.roomId doesn't always work, which would cause
the members not to be loaded. Pass in the room instead.
2018-09-17 19:24:34 +02:00
Bruno Windels
2ed414494f use Room.myMembership event instead of RoomMember.membership for me
This is more reliable with LL enabled as the syncing user is
only known when it was active in the current timeline
or when the members have been loaded
2018-09-17 19:14:52 +02:00
Bruno Windels
86cbe34181 rerender after members are loaded so pills and RR get rerendered 2018-09-14 18:35:16 +02:00
Bruno Windels
f194f323f4 postpone loading the members until the user joined the room
when peeking, the members weren't being loaded at all because
the room wasn't available yet,
and the need for loading the members was never re-evaluated after that.

This only loads the members once the user has joined the room,
which also helps to avoid load all the members before an invite
is accepted.
2018-09-13 18:43:24 +02:00
Bruno Windels
deaad4bcb1 even better as the method called is on room 2018-09-10 18:11:08 +02:00
Bruno Windels
694ee5a2c8 fix logging room id when LL members fail 2018-09-10 18:09:11 +02:00
David Baker
27fa21e403 Replace view_set_mxid with require_registration
To put all the other flows through the to-ilag-or-not-to-ilag flow
2018-09-05 18:08:49 +01:00
David Baker
bd0a9cf3a0 Merge remote-tracking branch 'origin/develop' into dbkr/room_upgrade 2018-08-29 15:51:07 +01:00
David Baker
269670ed20
Merge pull request #2128 from matrix-org/dbkr/move_tiffany_check
Fix CPU spin on joining large room
2018-08-23 09:33:17 +01:00
David Baker
a5f98b6a29 Make the is-alone check use efficient methods 2018-08-22 17:05:36 +01:00
David Baker
f679acea08
Revert "Revert "Fix showing peek preview while LL members are loading"" 2018-08-22 16:35:58 +01:00
David Baker
bf7633250a
Revert "Fix showing peek preview while LL members are loading" 2018-08-22 16:16:17 +01:00
David Baker
852d6a3be5 Fix CPU spin on joining large room
checkIfAlone() filters the whole member list, which is fine until
we do it once for every membership event, then we have an n^2
problem. Move it into the rate limited function.

Fixes https://github.com/vector-im/riot-web/issues/7163
2018-08-22 14:34:02 +01:00
Bruno Windels
a54629276f use getJoinedMemberCount() instead of getJoinedMembers().length as the latter doesnt take LL into account 2018-08-22 14:08:18 +02:00
Bruno Windels
c38b286e8e falsy check is obsolete now 2018-08-22 12:28:00 +02:00
Bruno Windels
01a0260ac8 use getMyMembership instead of member 2018-08-22 10:33:13 +02:00
David Baker
9f19896df0 Support for room upgrades
* Show when a room upgrade is needed
 * Dialog box to perform the upgrade
2018-08-17 14:54:43 +01:00
Bruno Windels
1009bc43ae call method on room now to LL members 2018-08-07 14:47:06 +02:00
Bruno Windels
b151956f7b Use room method to help with DM detection with fallback to summary heroes/counts. 2018-08-02 11:42:19 +02:00
Bruno Windels
908de56c6d replace getMember(myId).membership with getMyMembership
This works with rooms which haven't had their members
loaded yet.
2018-08-02 11:42:05 +02:00
Bruno Windels
33f5560666 move error message to caller of lazy loading 2018-07-25 16:10:49 +02:00
Bruno Windels
201332d96c move comment after rebase 2018-07-25 16:10:49 +02:00
Bruno Windels
af07d73432 hide lazy loading behind feature flag 2018-07-25 16:10:49 +02:00
Bruno Windels
e237a02fa5 use more consistent naming 2018-07-25 16:10:49 +02:00
Bruno Windels
6ff92ede8f this code actually never fires, so remove it
and that's ok because createRoom will already mark a DM as such
on the inviter's side. So here we just handle the invitees side.
2018-07-25 16:10:49 +02:00
Bruno Windels
19387805ac Don't assume RoomMember has a state event in direct chat detection
Instead call the method on the member that takes lazy loading into account
2018-07-25 16:10:49 +02:00
Bruno Windels
de3e143a8f only lazy load the members when viewing a joined room 2018-07-25 16:10:49 +02:00
David Baker
7aab6fa6f1 Merge remote-tracking branch 'origin/develop' into dbkr/widget_echo 2018-07-18 09:35:57 +01:00
Bruno Windels
b412b9e84d Fix stopPeeking not being called at the right time
stopPeeking is currently not called when navigating to a joined room
after having peeked a room. This causes the /events endpoint for the
peeked room to be called until peeking another room, even when not
viewing the peeked room anymore.

The current code would only stop peeking if you joining were true (note the nesting),
e.g. when waiting for your join to be confirmed by /sync.

This change might make stopPeeking called also when not needed by there is a guard in
that method to do nothing if not currently peeking.
2018-07-12 15:19:25 +02:00
David Baker
b6f854abe4 Simplify event name as it's the only one 2018-07-05 20:00:42 +01:00
David Baker
eb552e5cef Just pass the roomId into WidgetEchoStore 2018-07-05 18:43:20 +01:00
David Baker
8b64ddcbe8 Do some level of local echo for widgets
* Show a spinner while we wait for widgets to be deleted
 * Hide widgets while they're pending deletion
 * Don't put another jitsi widget into the room if there's already
   one pending
2018-07-03 11:16:44 +01:00
David Baker
9539a749e5 More refactoring 2018-06-26 16:03:58 +01:00
David Baker
553111b6e2
Merge pull request #2001 from matrix-org/t3chguy/default_url_previews_off_e2ee
default to not showing url previews in e2ee rooms.
2018-06-25 11:50:14 +01:00
Will Hunt
541f1d71fb Move upload verification logic to RoomView.
Improve upload dialog ux
2018-06-23 14:28:39 +01:00
Will Hunt
736b76bbb0 If HttpStatus == 413, refresh media limits 2018-06-23 13:00:56 +01:00
Will Hunt
caf2086585 Restructure limits to be set at RoomView, so they may change if the
upload fails
2018-06-23 13:00:56 +01:00
Michael Telatynski
b7396c8ef0
trigger urlPreviews state update on {,room}AccountData changes of settings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-22 19:17:55 +01:00
Michael Telatynski
acbc84a69c
switch to another settings key for e2e url previews to protect on change
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-22 18:44:54 +01:00
Michael Telatynski
ed1f801254
add comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-22 18:36:07 +01:00
Michael Telatynski
a45dc837b4
add copyright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-22 18:36:01 +01:00
Michael Telatynski
891070d001
update UrlPreview settings to be more privacy-aware in e2ee rooms
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-22 18:35:54 +01:00
Michael Telatynski
6200c147a6
Upload File confirmation modal steals focus, send it back to composer
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-19 08:41:24 +01:00
David Baker
50e08c7560
Merge pull request #1947 from matrix-org/t3chguy/invite_checkIfAlone
re-run checkIfAlone if a member change occurred in the active room
2018-06-08 17:36:42 +01:00
Michael Telatynski
0b9b03c9ee
re-run checkIfAlone if a member change occurred in the active room
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-07 22:01:27 +01:00
Travis Ralston
83f0459a7f
Merge branch 'develop' into travis/persist-pinned-open 2018-06-06 09:17:08 -06:00
Luke Barnard
da9fe9917b Fix click on faded left/right/middle panel -> close settings
- implement generic dispatch to close user/room/group settings
 - use dispatch to allow clicks on disabled left/right/middle panel to
   close settings

A much more maintainable approach would be to use dedicate routing
instead of doing different things depending on what page of the app is
currently being viewed. At the very least we could make the concept of a
settings page generic.
2018-05-29 13:16:39 +01:00
Travis Ralston
752605429c Persist pinned message open-ness between room switches
Addresses part of https://github.com/vector-im/riot-web/issues/5405

Signed-off-by: Travis Ralston <travpc@gmail.com>
2018-05-26 19:58:12 -06:00
Michael Telatynski
4c3f811050
switch RoomView:uploadFile to async to clean up then/catch handling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-02 13:14:47 +01:00
Michael Telatynski
db55f87699
avoid .done and .then anti-pattern
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-01 18:14:35 +01:00
Michael Telatynski
bbf4d3e39f
add comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-04-29 00:34:27 +01:00
Michael Telatynski
82d117974f
Remove unused import
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-04-27 11:16:29 +01:00
Michael Telatynski
1d90835de0
Merge branches 'develop' and 't3chguy/m.relates_to' of github.com:matrix-org/matrix-react-sdk into t3chguy/m.relates_to
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	src/components/structures/RoomView.js
2018-04-04 11:08:34 +01:00
Richard Lewis
35fcb2c9ab Catch rather than 'done' error handler. 2018-03-29 16:56:02 +01:00
Richard Lewis
23a52bdb4c Indentation. 2018-03-29 16:46:22 +01:00
Michael Telatynski
b5ed08eba2
Merge
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-03-24 17:52:49 +00:00
Richard Lewis
b2bf4d4709 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/snapshot 2018-02-23 15:37:33 +00:00
Luke Barnard
f08ec3498a Fix bug that prevented tint updates 2018-02-22 10:53:06 +00:00
Michael Telatynski
665ddccb0d
restrict to m.text for now
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-20 15:45:25 +00:00
Michael Telatynski
90f9badbf3
s/Reply/ReplyThread/
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-20 15:40:19 +00:00
Luke Barnard
bc15303358 Factor out updateDmState 2018-02-20 14:10:34 +00:00
Luke Barnard
d21f55633d Fix DMs being marked as with the current user ("me")
Whilst testing various DM paths, @lukebarnard1 found that there were
many failures to add the room as a DM against the correct user. It
turned out most of the failures seen were because the user chosen
was the current user. If the user accepted an invite it would often
be marked as with themselves because we chose the sender of the
join event as the DM user.

This fix makes the DM room setting process the same for both the
inviting client and the invited client. A RoomState.members
event causes the DM room state to be set in the room, regardless
of whether we are currently `joining` (see previous impl.)

The two cases for setting a DM are:
 - this user accepting an invite with is_direct
 - this user inviting someone with is_direct

This should handle all cases for setting DM state.
2018-02-20 14:03:43 +00:00
Michael Telatynski
7048d85246
attach message_sent and replies to file uploads
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-19 23:42:04 +00:00