Commit graph

2193 commits

Author SHA1 Message Date
Luke Barnard
c4322892de Reword group setting delay 2018-03-29 14:33:54 +01:00
Luke Barnard
385211528d Implement "Join this community" button
for groups that have truthy summary.profile.is_joinable.
2018-03-29 12:39:09 +01:00
Luke Barnard
00167fbc06 Init page change state in willMount 2018-03-28 11:25:28 +01:00
Luke Barnard
8d994f2788 Merge branch 'develop' into luke/track-page-change-duration 2018-03-28 10:56:36 +01:00
Luke Barnard
c8312dd5ae Use a less fragile API to track page change performance 2018-03-28 10:25:28 +01:00
Michael Telatynski
fac89d9c58
Merge branch 'develop' into t3chguy/m.relates_to 2018-03-28 08:38:33 +00:00
Luke Barnard
39e9d52c04 Make sure to proxy special prop ref 2018-03-27 13:04:26 +01:00
Luke Barnard
b80568b1c5 Wrap GeminiScrollbar in a component, enabled forceGemini
Fixes https://github.com/vector-im/riot-web/issues/6294
2018-03-27 13:04:26 +01:00
Luke Barnard
69d9080dd5 Track duration of page changes
The duration measured is between
 - componentWillUpdate of MatrixChat and
 - componentDidUpdate of MatrixChat.

This does not account for *all* changes to the view that occur
when a room switch happens, for example. But it does at least
capture the difference between switching to a "big" room and
switching to a small test room.
2018-03-27 11:17:49 +01:00
Michael Telatynski
b5ed08eba2
Merge
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-03-24 17:52:49 +00:00
David Baker
580b68a1b6
Merge pull request #1652 from pvagner/dialog-a11y
Dialog a11y
2018-03-20 11:35:57 +00:00
Luke Barnard
6789a6ec25 Add missing trailing comma 2018-03-19 14:57:41 +00:00
Luke Barnard
0c125b3dff Merge branch 'develop' into luke/submit-debug-logs 2018-03-19 14:55:28 +00:00
Luke Barnard
aed7c2039d Update debug logs submission explanation 2018-03-19 14:54:50 +00:00
David Baker
f42769509f Merge remote-tracking branch 'origin/develop' into dbkr/remove_crypto_migrated_message 2018-03-16 15:48:02 +00:00
Luke Barnard
0d7099fd61
Merge pull request #1801 from matrix-org/luke/perf-room-list
Improve room list performance when receiving messages
2018-03-15 13:33:19 +00:00
David Baker
ba4626521f Remove the message on migrating crypto data
This was for when the new and old versions were available
concurrently on /develop and /app.

The various migration steps are still logged to the console in
js-sdk.
2018-03-15 10:09:12 +00:00
Luke Barnard
bc5699b3d7 Add change delay warning in GroupView settings 2018-03-14 18:17:15 +00:00
Luke Barnard
8672b97f9a Improve room list performance when receiving messages
In summary this makes RoomTiles (and RoomAvatars) do more for
themselves in terms of reacting individually to state changes in
the js-sdk.

Instead of force updating the entire room list for avatar changes
and room name changes, do this in the RoomTile and RoomAvatar
instead. This increases the number of listeners listening to the
matrix client, but allows us to properly implement a
shouldComponentUpdate for RoomTile (because the avatar, name and
notification count are now in component state)
2018-03-14 14:29:55 +00:00
Richard Lewis
b2d23b6999 Switch to 'm.sticker' message events. Allow whitelisting of wisget capabilities. 2018-03-12 13:56:02 +00:00
Luke Barnard
5ba55858e8 Use TintableSvg for TagPanel clear filter button 2018-03-08 17:06:48 +00:00
Richard Lewis
e2cedbe9d7 Pull in changes from develop 2018-03-05 16:43:59 +00:00
Luke Barnard
86295acba3 Merge branch 'develop' into luke/fix-group-avatar-update 2018-03-01 15:27:06 +00:00
David Baker
e91ae6b5ac
Merge pull request #1782 from matrix-org/luke/fix-drag-drop-click-weirdness
Workaround for atlassian/react-beautiful-dnd#273
2018-03-01 15:05:47 +00:00
Luke Barnard
61a6f140f5 onClientSync -> _onClientSync 2018-03-01 14:43:26 +00:00
Luke Barnard
4037a22492 Fix bug where avatar change not reflected in LLP
Fixes vector-im/riot-web#6189
2018-03-01 14:40:03 +00:00
Luke Barnard
64332b3021 Workaround for atlassian/react-beautiful-dnd#273
Fix two bugs in Riot due to a single bug in react-b-dnd

Fixes vector-im/riot-web#6253
Fixes vector-im/riot-web#6156
2018-03-01 13:48:46 +00:00
Luke Barnard
27c71f15b9 Add setting to disable TagPanel 2018-02-28 18:16:01 +00:00
Luke Barnard
2b49947e1e Add "Did you know:..." microcopy to groups view
To explain how to drag group avatars into the TagPanel
2018-02-27 09:20:06 +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
Matthew Hodgson
d8ef6f79b1 s/autoShow/autoshow/ 2018-02-23 10:14:02 +00:00
Luke Barnard
f08ec3498a Fix bug that prevented tint updates 2018-02-22 10:53:06 +00:00
Luke Barnard
ff868691c9 Only show "X" when filtering, add alt/title 2018-02-21 17:15:43 +00:00
Luke Barnard
fc73442cdc Change icon from "R" to "X" 2018-02-21 15:06:10 +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
Luke Barnard
7a0c82a327 Fix click background to deselect 2018-02-16 18:08:29 +00:00
Luke Barnard
113fc696d8 Implement global filter to deselect all tags
and make TagPanel scrollable whilst we're at it.
2018-02-16 17:43:43 +00:00
Luke Barnard
1a880761e0
Merge pull request #1747 from matrix-org/luke/fix-scrollbars-on-jump-to-first
Change CSS class for message panel spinner
2018-02-15 14:51:12 +00:00
Luke Barnard
3948ee8ca1 Give each GroupTile avatar its own droppable
so that they can be dragged and dropped
without interacting with each other, as
they would do if GroupView contained
one droppable to contain them all.
2018-02-14 17:53:54 +00:00
Luke Barnard
74c8a74e7d Add Droppable to GroupView
to contain the GroupTiles as Draggables
2018-02-14 16:43:01 +00:00
Luke Barnard
b626420eb9 Move DND context to LoggedInView
so that we can drag things from any part of the logged in app to
another. (Specifically GroupView and TagPanel).
2018-02-14 16:40:58 +00:00
Luke Barnard
47c232b5b3 Merge branch 'develop' into luke/fix-scrollbars-on-jump-to-first 2018-02-14 11:00:27 +00:00
David Baker
7cc82a682c
Merge pull request #1745 from matrix-org/luke/fix-login-page-feedback
Give the login page its spinner back
2018-02-14 10:31:36 +00:00
Luke Barnard
36e8bf1f20 Change CSS class for message panel spinner
to stop scrollbars appearing when we
 - jump to a message or,
 - permalink that is to an not paginated in event
2018-02-13 14:13:47 +00:00
Luke Barnard
493116b17e Give the login page its spinner back 2018-02-13 11:43:22 +00:00
Luke Barnard
db0ea9eb0e Merge branch 'develop' into luke/room-list-flux 2018-02-13 10:18:24 +00:00
Luke Barnard
6d3634a06c Move groups button to TagPanel 2018-02-13 09:44:00 +00:00
Richard Lewis
55593416fa Hide apps drawer when viewining room settings. 2018-02-09 13:23:34 +00:00
Peter Vágner
410570936a Reimplement setting aria-hidden on the main app node by dispatching actions rather than assuming we can find and manipulate the node directly 2018-02-08 22:51:07 +01:00
Luke Barnard
0154772789 Change wording of debug log submission
Fixes https://github.com/vector-im/riot-web/issues/5985
2018-02-08 18:18:57 +00:00
Richard Lewis
234ca8b062 Remove top padding from app tile. 2018-02-08 17:50:30 +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
lukebarnard
45ad46b468 Fix HS/IS URL reset when switching to Registration 2018-02-07 15:58:29 +00:00
Luke Barnard
cf4ae681f4
Offline mode (#1723)
* Allow the client to run without connection to HS (i.e. using indexeddb)

Allows running without having pushRules (it's safe not to have these 
when running from indexeddb sync.)

This means rooms will be displayed with "unknown" notifcation state.

This assumes anything that uses the push rules will get pushRule state
again when the client starts syncing again.

For recovering from being disconnected, 
* If an avatar has fallen back, try again on reconnection
* If a thumbnail image failed to load, retry on reconnect
* Load joined groups when reconnecting

Update tests to give MELS a context.matrixClient
2018-02-06 17:50:53 +00:00
lukebarnard
73e3a594ac Prevent TagTiles from being dragged into other droppables
for the time being at least.
2018-01-25 22:52:19 +01:00
lukebarnard
d0e3319bd9 Remove DragDropContext from TagPanel and RoomList
So that we can have one context that can handle DND between
the TagPanel and RoomList.
2018-01-25 22:05:20 +01:00
lukebarnard
815f52587b Move TagPanel out of LoggedInView
(...and into LeftPanel in riot-web. Can we merge the projects yet?)
2018-01-25 21:53:34 +01:00
Will Hunt
5206c9d18b Show a warning if the user attempts to leave a room that is invite only 2018-01-19 22:52:43 +00:00
Luke Barnard
a8320fe7e2
Merge pull request #1711 from matrix-org/luke/roomlist-beautiful-dnd
Swap RoomList to react-beautiful-dnd
2018-01-19 14:49:49 +00:00
lukebarnard
00dc077271 Remove react-dnd, revert fa14bc9 as no longer needed 2018-01-19 13:34:56 +00:00
Richard Lewis
910623d287 Close context menu on resize. 2018-01-18 12:04:00 +00:00
Richard Lewis
917d85d603 Refer rest parameters 2018-01-18 12:03:24 +00:00
Matthew Hodgson
80d3edfbb3 simplify the 'send anyway' text, as 'mark devices known' is meaningless to users 2018-01-18 09:57:29 +00:00
Richard Lewis
f8d7ab10fa Handle non-m.room.message event types. 2018-01-17 17:19:20 +00:00
David Baker
c64b4e1b1c Merge remote-tracking branch 'origin/develop' into dbkr/dont_paginate_while_decrypting 2018-01-16 17:38:32 +00:00
Luke Barnard
62caa4f096
Merge pull request #1705 from matrix-org/luke/tag-panel-beautiful-dnd
Replace TagPanel react-dnd with react-beautiful-dnd
2018-01-16 11:26:44 +00:00
lukebarnard
f19dcd8114 Comment workaround to atlassian/react-beautiful-dnd#273 2018-01-16 11:07:25 +00:00
lukebarnard
bda2d6b0a6 Work around atlassian/react-beautiful-dnd#273
For some reason, after dragging an item
the parent draggable receives a mouse click. The workaround is
to use onMouseDown for deselecting tags
2018-01-16 10:44:11 +00:00
lukebarnard
16c13fb079 Replace TagPanel react-dnd with react-beautiful-dnd
This new library handles the simple case of an ordered vertical
(or horizontal) list of items that can be reordered.

It provides animations, handles positioning of items mid-drag
and exposes a much simpler API to react-dnd (with a slight loss
of potential function, but we don't need this flexibility here
anyway).

Apart from this, TagOrderStore had to be changed in a highly
coupled way, but arguably for the better. Instead of being
updated incrementally every time an item is dragged over
another and having a separate "commit" action, the
asyncronous action `moveTag` is used to reposition the tag in
the list and both dispatch an optimistic update and carry out
the request as before. (The MatrixActions.accountData is still
used to indicate a successful reordering of tags).

The view is updated instantly, in an animated way, and this
is handled at the layer "above" React by the DND library.
2018-01-15 18:12:27 +00:00
Michael Telatynski
b526fc057c Add formatFullDateNoTime to DateUtils and stop passing 12/24h to DateSep 2018-01-14 18:32:17 +00:00
David Baker
e42bea6277 Don't paginate whilst decrypting events
As comment hopefully explains. This meant loading the app on an e2e
room would often be very slow as it tried to pull hundreds of events
into the timeline.
2018-01-12 18:17:03 +00:00
David Baker
b152bd4ab9
Merge pull request #1625 from matrix-org/t3chguy/analytics_info
Add Analytics Info and add Piwik to SdkConfig.DEFAULTS
2018-01-11 11:02:34 +00:00
David Baker
efb96cdd2a
Merge pull request #1695 from matrix-org/dbkr/send_without_verifying
Add 'send without verifying' to status bar
2018-01-11 10:34:56 +00:00
Michael Telatynski
1a7dc22a8d
make wantsDateSeparator generic and throw into DateUtils
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-10 12:06:24 +00:00
Michael Telatynski
1bc9d344ae
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/nvl/rich_quoting
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	src/components/views/messages/TextualBody.js
2018-01-10 11:54:58 +00:00
David Baker
9dd9a5be4b Wording tweak 2018-01-09 17:59:49 +00:00
David Baker
dbb8f878cb Tidy up imports 2018-01-09 17:57:18 +00:00
David Baker
4c101628b5 Add 'send without verifying' to status bar
Fixes other part of https://github.com/vector-im/riot-web/issues/5936
2018-01-09 13:52:37 +00:00
Richard Lewis
5df9a01e64 Use m.room.sticker event. 2018-01-08 12:06:32 +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
David Baker
845dda8f48
Merge pull request #1692 from matrix-org/t3chguy/pr-revival/turt2live/single_unsent
[revived] Singularise unsent message prompt, if applicable
2018-01-05 12:24:06 +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
David Baker
5aed77c752
Merge pull request #1677 from aidalgol/PropTypes
Remove use of deprecated React.PropTypes
2018-01-05 11:53:55 +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
David Baker
b34f360f96
Merge pull request #1690 from matrix-org/luke/remove-selected-room-prop
Remove unused selectedRoom prop
2018-01-04 17:33:36 +00:00
David Baker
5961cf3958
Merge pull request #1684 from matrix-org/luke/fix-tag-panel-shift-ctrl-click
Fix shift and shift-ctrl click in TagPanel
2018-01-04 17:08:01 +00:00
Michael Telatynski
be48460595
Singularise unsent message prompt, if applicable
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-04 15:05:08 +00:00
lukebarnard
2282f5c26f Remove unused selectedRoom prop 2018-01-04 14:19:10 +00:00
Richard Lewis
e96d199b28 Inject stickers 2018-01-04 09:53:26 +00:00
David Baker
613e3b7ac1 Remove extra full stop 2018-01-03 11:57:49 +00:00
lukebarnard
85cdd888e8 Combine TagOrderStore and FilterStore
so that shift-click semantics can work. The store that computes the shift-click
rules has to be aware of the actual order of tags displayed, so they must be done
in the same store.
2018-01-03 11:33:59 +00:00
Luke Barnard
8eef09335a
Merge pull request #1667 from matrix-org/luke/fix-naive-tag-panel-group-profile-requesting
Get Group profile from TagTile instead of TagPanel
2018-01-02 19:02:33 +00:00
Michael Telatynski
875eb3d34f
Hide status bar on visible->hidden transition
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-01 21:15: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