Commit graph

2165 commits

Author SHA1 Message Date
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
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
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
Matthew Hodgson
fa14bc9b8d don't gutwrench 2017-12-18 22:49:23 +00:00
Matthew Hodgson
e65c67ca15 fix https://github.com/vector-im/riot-web/issues/5841 2017-12-18 22:47:28 +00: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
Luke Barnard
6f896098e3 Get Group profile from TagTile instead of TagPanel
So that instead of getting all group profiles everytime the tags
change order, get them when the TagTile mounts for a group tag.
2017-12-15 17:18:46 +00:00
Luke Barnard
8b11b10531 Avoid NPEs by using ref method for collecting loggedInView in MatrixChat 2017-12-15 15:24:37 +00: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
Luke Barnard
9975941f3c
Merge pull request #1653 from matrix-org/luke/feature-ordered-tag-panel
DnD Ordered TagPanel
2017-12-14 10:36:16 +00:00
Luke Barnard
950f591b3f Clarify more docs 2017-12-13 15:50:20 +00:00
lukebarnard
f38690f265 Doc orderedGroupTagProfiles 2017-12-13 10:51:04 +00:00
lukebarnard
a8b245d0cf Add unmounted guard 2017-12-13 10:42:11 +00:00
lukebarnard
42c1f3cfe2 Fix incorrect bind 2017-12-13 10:41:24 +00:00
Michael Telatynski
5c229b9ef8
DRY matrix.to link generation so it is all changeable in one class
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-12 23:33:40 +00:00
Luke Barnard
13925db251 Refactor to allow dispatching of two kinds of Actions
They are:
 1. The existing type of Action, Objects with an `action` type.
 1. Asyncronous Actions, functions that accept a `dispatch` argument, which can be used to dispatch Actions asyncronously.
2017-12-12 17:32:43 +00:00
Luke Barnard
a120335130 Handle groups being joined and left 2017-12-11 18:03:19 +00:00
Luke Barnard
aa914098dc Return null if TagOrderStore is loading
The view should decide the default state.
2017-12-11 17:19:29 +00:00
Luke Barnard
991ea4ebe5 Fix a few bugs with TagOrderStore:
- Have TagOrderStore listen for MatrixSync actions so that it can initialise
   tag ordering state.
 - Expose an empty list until the client has done its first sync and has
   fetched list of joined groups
2017-12-11 17:17:05 +00:00
David Baker
bb9376098a
Merge pull request #1654 from matrix-org/dbkr/crypto_store_migrate_warning
Warn when migrating e2e data to indexeddb
2017-12-08 16:52:05 +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
Luke Barnard
8f0774496f Remove redundant MatrixChat 2017-12-08 11:29:21 +00:00
Luke Barnard
72550961e5 Move 'commit_tags' to action creator 2017-12-08 10:52:20 +00:00
Luke Barnard
ee6df105fe Introduce action creators
These can be used to dispatch actions immediately, or after some asynchronous
work has been done. Also, create GroupActions.fetchJoinedGroups as an example.

The concept of async action creators can be used in the following cases:
 - stores or views that do async work, dispatching based on the results
 - actions that have complicated payloads, would make more sense as functions
   with documentation that dispatch created actions.
2017-12-07 14:17:32 +00:00
David Baker
1a3671d241 remove stray param 2017-12-06 19:04:29 +00:00
David Baker
5bca5a7a8e More underscore 2017-12-06 19:02:26 +00:00
David Baker
aa99b898ce Add that it might not work now either
also a comma
2017-12-06 18:57:48 +00:00
David Baker
4462694438 lint 2017-12-06 16:06:33 +00:00
David Baker
65c210cdde Warn when migrating e2e data to indexeddb 2017-12-06 15:28:20 +00:00
Luke Barnard
7e1f1cdbd9 Move DragDropContext to wrap LoggedInView
Becuase the tests rely on being able to inspect the state of MatrixChat
2017-12-06 15:01:16 +00:00