Commit graph

578 commits

Author SHA1 Message Date
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
Richard Lewis
55593416fa Hide apps drawer when viewining room settings. 2018-02-09 13:23:34 +00:00
Richard van der Hoff
5823b32ab1
RoomView: guard against unmounting during peeking
it's possible for the user to change room before the peek operation completes. Check if we've been unmounted before setting state.
2018-02-08 10:01:24 +00:00
Luke Barnard
8c84c3f929
Merge pull request #1680 from matrix-org/t3chguy/hide_roomstatusbar
Hide status bar on visible->hidden transition
2018-01-05 15:26:22 +00:00
Michael Telatynski
9f295b7a86
fix typo
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-05 12:03:46 +00:00
Michael Telatynski
558a90a359
comment out RoomView.onStatusBarHidden
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-05 11:58:42 +00:00
Richard Lewis
54671ab67e Send m.sticker messages 2018-01-04 21:57:24 +00:00
Richard Lewis
eb4053bc99 Handle sticker message payloads 2018-01-04 18:41:47 +00:00
Richard Lewis
e96d199b28 Inject stickers 2018-01-04 09:53:26 +00:00
Aidan Gauland
35780f5ae0 Remove use of deprecated React.PropTypes
Replace all uses of React.PropTypes with PropTypes and importing PropTypes from
'prop-types'.
2017-12-26 14:03:18 +13:00
Alexandr Korsak
78af02b29b Replace lodash/every by Array.prototype.every function 2017-12-18 15:51:01 +03:00
Alexandr Korsak
c07c4fd1cb Allow multiple file uploads on drag & drop 2017-12-18 13:20:18 +03:00
Richard Lewis
f410112983 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into rxl881/snapshot 2017-12-15 10:18:56 +00:00
David Baker
0d38e7510d
Merge pull request #1600 from matrix-org/dbkr/udd_no_auto_show
Don't Auto-show UnknownDeviceDialog
2017-12-08 16:33:25 +00:00
Richard Lewis
c9b8aab0e0 Workings for future posterity - Can't access iframe content from parent. iframe needs to initiate. Postmessage data up the stack. 2017-12-03 19:44:59 +00:00
Luke Barnard
363fe04a10 isCtrlOrCmdKeyEvent -> isOnlyCtrlOrCmdKeyEvent 2017-12-01 10:44:00 +00:00
Luke Barnard
fe81fcb8c6 Factor out isCtrlOrCmdKeyEvent, use that in TagPanel
as opposed to the incorrect ctrl || meta
2017-12-01 10:30:49 +00:00
David Baker
196eafdc7f Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show 2017-11-16 15:59:16 +00:00
Luke Barnard
dad797d4a2 Run linting --fix 2017-11-16 13:19:36 +00:00
David Baker
f8fc6dc83e Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show 2017-11-15 12:11:33 +00:00
David Baker
b1ec430523 Remove now-unused dispatches 2017-11-09 16:09:12 +00:00
David Baker
820d9c1c25 Show staus bar on Unknown Device Error
Don't pop up the dialog as soon as we can't send a message.

Also removes dispatches used to keep the RoomStatusBar up to date.
We can get the same events straight from the js-sdk via the
pending events event.
2017-11-09 15:58:15 +00:00
Travis Ralston
289b0c2b6a
Merge branch 'develop' into travis/granular-settings 2017-11-07 14:55:12 -07:00
Richard Lewis
f1db564506
Merge pull request #1533 from anoadragon453/develop
Remember whether widget drawer was hidden per-room
2017-11-06 14:29:25 +00:00
Travis Ralston
358298e4ee Support room color in settings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-04 16:10:25 -06:00
Travis Ralston
893c39bfbe Merge branch 'develop' into travis/granular-settings 2017-11-03 22:00:07 -06:00
David Baker
4953d4de4d Give autocomplete providers the room they're in
Removes the gut-wrenching that RoomView does to jam the user list
into the user autocomplete provider.
2017-11-02 17:51:08 +00:00
Travis Ralston
786bd87fec Support URL previews (with bugs)
Known issues at this point:
* The room-level setting accepts the current user's default, which is wrong
* The checkboxes on RoomSettings are not independent
* The checkboxes in RoomSettings need some layout fixes

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 21:48:29 -06:00
Travis Ralston
ae10a11ac4 Convert synced settings to granular settings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 01:43:52 -06:00
Andrew (anoa)
b4868a6846
showWidget->hideWidgetDrawer and remove logs
Signed-off-by: Andrew (anoa) <anoa@openmailbox.org>
2017-10-26 11:27:58 -07:00
Luke Barnard
b1f2a6c1e9 Dramatically simplify use of mx_fadable
by applying it to parent elements of things that need to be faded.
2017-10-25 15:15:49 +01:00
Luke Barnard
2f8f2ce76e Swap from ui_opacity to panel_disabled
to simplify the process of disabling panels in the UI.
2017-10-25 11:23:51 +01:00
Andrew (anoa)
f032284eff
Remember whether widget drawer was hidden per-room
Fixes #4850

Signed-off-by: Andrew (anoa) <anoa@openmailbox.org>
2017-10-24 16:28:10 -07:00
Travis Ralston
c34b55c6c7 Merge branch 'develop' into travis/pinned_messages 2017-10-14 16:10:32 -06:00
Matthew Hodgson
9f64261707 Merge branch 'develop' into travis/alone_warning 2017-10-14 22:43:36 +01:00
Travis Ralston
df7f1b46bf Stop peeking if anything went wrong, not just explicit failure
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-12 07:24:20 -06:00
Travis Ralston
f1032bb115 Set isPeeking to false if peeking failed
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-12 07:05:09 -06:00
Travis Ralston
f3b1baa3c0 Suggest to invite people when speaking in an empty room
Adds vector-im/riot-web#1053

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-11 21:15:00 -06:00
Travis Ralston
6ce7eb952a Don't send RR or RM when peeking at a room
Fixes vector-im/riot-web#696

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-11 18:43:24 -06:00
Luke Barnard
e0e5d51451 Merge pull request #1460 from matrix-org/dbkr/show_send_message_error
Show failures when sending messages
2017-10-11 19:46:32 +02:00
Luke Barnard
d3f9a3aeb5 Run eslint --fix
Fixing 1000s of lint issues. Some rules cannot be `--fix`ed but this goes some way to linting the entire codebase.
2017-10-11 17:56:17 +01:00
David Baker
5626c06b3c Show failures when sending messages
This is useful for the spam checking where otherwise you don't
really know why your message has failed to send
2017-10-11 17:42:54 +01:00
Travis Ralston
f71e07670d Send toggle handler for the cancel button in the pinned events pane
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 08:56:21 -06:00
Travis Ralston
874d383a8f Add dock for pinned messages at the top of the room
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 08:56:21 -06:00
David Baker
c265ec9571 Fix RoomView stuck in 'accept invite' state
After accepting a 3pid invite.

Rather than clear the joining flag when the join request completes,
leave it so the RoomView can see that we're expecting the user to
be joined in the various stages that might go through (waiting for
join request, waiting for room object, waiting for 'joined' member
event). The problem in this case was that we had to wait a bit for
the last one, and there was no bit of state to represent it.

This hopefully also makes the logic somewhat simpler.

Fixes https://github.com/vector-im/riot-web/issues/5041
2017-09-15 15:07:09 +01:00
David Baker
6cb98d7196 Hopefully make comment clearer 2017-09-11 18:39:30 +01:00
David Baker
531fc3ac54 Fix 'Failed to load timeline position' regression
Ignore the update that comes in from the RoomViewStore when the
current room changes or we save our scoll state against the new
room rather than the old one.

Fixes https://github.com/vector-im/riot-web/issues/5010
2017-09-11 17:57:52 +01:00
David Baker
aee2f3cdef Rename onHaveRoom
And move some code out of it which didn't really have any reason
to be hanging out there rather than just be where we set the room
a few lines above.
2017-09-08 18:11:13 +01:00
David Baker
bf982004f6 Give onHaveRoom the info it needs explicitly
Rather than giving it a state object which is not actually the
whole state but happens to be everything it actually wants
(currently)
2017-09-08 17:56:53 +01:00
David Baker
03dcded72f Blank line to make comment clearer 2017-09-08 17:39:10 +01:00
David Baker
1be35a77ec Don't wait for setState to run onHaveRoom
onHaveRoom sets some more state (among other things) so putting it
in the setState callback so it could observe the new state caused
us to have to re-render again unnecessarily. Just give it the new
state as a parameter.
2017-09-08 17:06:46 +01:00
David Baker
59c54d3756 Remove redundant code 2017-09-08 13:39:22 +01:00
David Baker
82d1afcc47 Correct comment 2017-09-07 17:16:32 +01:00
David Baker
408b8c18ea Introduce a RoomScrollStateStore
to keep the place we're scrolled to in rooms. This mainly eleimates
the extra, superfluous onRoomViewStoreUpdate callback that
happened when the previous room saved back its scroll state.
Moving the scroll state to a separate store means we can have this
not emit events because nothing needs to know when the scroll state
changes.
2017-09-07 17:08:36 +01:00
David Baker
32b33c66b9 Merge pull request #1346 from matrix-org/t3chguy/shouldHideEvent_RoomStatusBar
apply shouldHideEvent fn to onRoomTimeline for RoomStatusBar
2017-08-30 13:58:40 +01:00
Michael Telatynski
05c232c8c3
revert fancy indents
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-30 13:32:07 +01:00
Michael Telatynski
282618d5a1
separate concepts of showing and managing RRs to fix regression 2017-08-30 13:18:14 +01:00
Michael Telatynski
315f7a3ae7
apply shouldHideEvent fn to onRoomTimeline for RoomStatusBar
prevents N new message(s) when a hidden message comes in.
2017-08-28 13:46:09 +01:00
Michael Telatynski
56ea528f43
don't track error messages .2
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 15:17:52 +01:00
Michael Telatynski
24599ace32
don't track error messages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:49:11 +01:00
Michael Telatynski
bf98c0da7c
un-i18n Modal Analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-27 17:19:18 +01:00
Richard van der Hoff
086304532e Merge pull request #1213 from matrix-org/rav/bluebird
Switch matrix-react-sdk to bluebird
2017-07-13 12:06:11 +01:00
Luke Barnard
04dd98e6e9 Remove references to tabComplete, which are now redundant
(since the old composer has been removed)
2017-07-13 10:16:59 +01:00
Richard van der Hoff
0254d2b3a2 q(...) -> Promise.resolve
```
find src test -name '*.js' | xargs perl -i -pe 's/\b[qQ]\(/Promise.resolve(/'
```
2017-07-12 18:05:08 +01:00
Richard van der Hoff
a06bd84213 replace imports of q with bluebird
update `package.json`

```
find src test -name '*.js' |
   xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'

find src test -name '*.js' |
   xargs perl -i -pe 'if (/import [qQ]/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 18:05:08 +01:00
David Baker
53316a76f4 Sandbox app iframes 2017-07-12 10:22:14 +01:00
Kegsay
cf158530f5 Implement new widget API (#1201)
* Implement new widget API

This allows clients to see who provisioned which widgets.

* Update to make state_key the wid

* Update to latest API

* Only show widgets which have required fields

* Don't constantly show apps dialog

* Fix example to include data key
2017-07-11 12:15:27 +01:00
Richard Lewis
ff1636aaf5 Simplify boolean assignment. 2017-06-28 12:21:05 +01:00
Richard Lewis
06dafdc099 Remove unused state variable. 2017-06-28 12:20:07 +01:00
Richard Lewis
bf2a4afce5 Change to allow setting of DEBUG at run-time. 2017-06-28 12:02:07 +01:00
Richard Lewis
8dfd047f03 Don't show widgets when editing room settings and lint fixes. 2017-06-27 17:39:29 +01:00
Richard Lewis
ad9a3d9ddc Remove unused case statement. 2017-06-27 11:55:32 +01:00
Richard Lewis
89f051e693 Fix automerge error. 2017-06-27 11:52:49 +01:00
Richard Lewis
ddc0da396d Merge in changes from develop 2017-06-27 11:44:36 +01:00
Luke Barnard
ddb84f034e Update tab-complete state onRoom received after joining
As opposed to doing it when the component mounts.

Fixes https://github.com/vector-im/riot-web/issues/3700 (hopefully)
2017-06-23 17:52:50 +01:00
Luke Barnard
87609582c6 Merge branch 'develop' into rte-fixes2
Conflicts:
	package.json
	src/autocomplete/CommandProvider.js
	src/autocomplete/UserProvider.js
	src/components/structures/RoomView.js
	src/components/structures/UserSettings.js
	src/components/views/rooms/MessageComposerInput.js
2017-06-23 15:30:06 +01:00
Matthew Hodgson
032650e095 Merge branch 'develop' into t3chguy/fix_forwarding 2017-06-19 01:53:35 +01:00
Luke Barnard
be58e1095e Don't peek when creating a room
This causes a race between receiving the room when starting to peek and receiving the room from joining it - https://github.com/vector-im/riot-web/issues/4330, https://github.com/matrix-org/riot-web-rageshakes/issues/196
2017-06-16 18:24:07 +01:00
Michael Telatynski
7b4cd31124 make forward_message be friendly with the RVS stuffs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-16 16:12:52 +01:00
David Baker
64b555dfe3 Merge pull request #1107 from matrix-org/luke/fix-use-room-alias-in-preview
Make sure to pass the roomAlias to the preview header if we have it
2017-06-16 11:21:03 +01:00
Luke Barnard
807f01b57e Make sure to pass the roomAlias to the preview header if we have it 2017-06-16 11:10:55 +01:00
David Baker
af6392d7ca Fix URL previews
and also things like the unsent message error and encryption
warning.

Stuff that we need to do at room view mount time had got moved into
a clause of the if statement in onHaveRoom and so wasn't being
executed.

Fixes https://github.com/vector-im/riot-web/issues/4327
2017-06-15 22:57:41 +01:00
Luke Barnard
9d74001f4f Show a spinner when accepting an invite and waitingForRoom 2017-06-15 15:32:01 +01:00
Luke Barnard
cc46fd34d7 Only stop peeking if at some point we were joined 2017-06-15 14:21:23 +01:00
Luke Barnard
5c37d591b0 Unbreak auto joining 2017-06-15 13:35:19 +01:00
Luke Barnard
fc7da536d6 Add forceUpdate for memberships !== join 2017-06-15 13:32:56 +01:00
Luke Barnard
30566beb43 Fix if-statement thinko 2017-06-15 13:28:52 +01:00
Luke Barnard
d55d61e456 Remove redundant isUserJoined 2017-06-15 12:37:01 +01:00
Luke Barnard
b90ceaa111 Display a spinner until new room object after join success
If we successfully join, display a spinner until the js-sdk indicates (via room membership event or room event) that we can start using the room normally. A room event indicates we have never seen that room which means we need to use the new room object to clobber state.room. This is to make sure we replace the room that is set up for peeking with the room that can be used normally. For historical rooms, this isn't a problem.

This is a workaround for the fact that when peeking, the js-sdk calls onRoom, which is difficult to handle from the clients perspective because onRoom should only be called for rooms that you've never seen before. But if you peek a room that you've joined and left and get an onRoom, you run into trouble. You also can't just always use onRoomMembership because this won't be triggered for the first time you see the room. So we end up using a combination of both.

See https://github.com/matrix-org/matrix-js-sdk/issues/464 for discussion on improving this
2017-06-15 12:01:16 +01:00
Luke Barnard
58554cce53 Remove racey condition
joining might become false before we get the room down the sync
2017-06-14 17:13:13 +01:00
Luke Barnard
ed5f01d46f Add logging for diagnosis 2017-06-14 16:53:21 +01:00
Luke Barnard
b5fd78a97f Only attempt to peek once in the lifetime of RoomView 2017-06-14 16:50:46 +01:00