Commit graph

8703 commits

Author SHA1 Message Date
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
David Baker
59bb5ce9d8
Merge pull request #1798 from matrix-org/luke/limit-group-requests
Limit group requests to 3 at once
2018-03-13 11:50:14 +00:00
Luke Barnard
35cc443562 Limit group requests to 3 at once
using a FIFO queue.

This is needed in order to lower the priority of getting group
state and prioritise everything else, namely initial sync.

It should be noted that this by no means guarantees that the
first incremental sync will happen sooner; the client could
end up doing some other requests first instead.
2018-03-13 11:35:19 +00:00
Luke Barnard
99b3922998
Merge pull request #1796 from matrix-org/luke/fix-group-invite-flow
Show GroupMemberList after inviting a group member
2018-03-12 17:53:59 +00:00
Luke Barnard
0a480b05aa Show GroupMemberList after inviting a group member
because we might be looking at a member when inviting a new
member.

See https://github.com/vector-im/riot-web/pull/6303
2018-03-12 17:23:31 +00:00
Luke Barnard
0341b299ae
Merge pull request #1794 from matrix-org/dbkr/baseavatar_syntax
Fix syntax fail
2018-03-12 15:33:00 +00:00
David Baker
d416b9d7d1 Copyright 2018-03-12 15:24:32 +00:00
David Baker
ac85938186 Fix syntax fail 2018-03-12 15:23:22 +00:00
David Baker
e87f8ee7b8
Merge pull request #1793 from matrix-org/luke/fix-tag-panel-clear-filter-tinting
Use TintableSvg for TagPanel clear filter button
2018-03-08 17:30:17 +00:00
Luke Barnard
5ba55858e8 Use TintableSvg for TagPanel clear filter button 2018-03-08 17:06:48 +00:00
Luke Barnard
a03778388d
Merge pull request #1792 from matrix-org/luke/fix-privileged-users-cosmetics
Fix missing space between "...is a" and user ID
2018-03-08 16:47:46 +00:00
Luke Barnard
a1d0cf65d6 Fix missing space between "...is a" and user ID 2018-03-08 16:34:19 +00:00
Luke Barnard
5148ca1a88
Merge pull request #1791 from matrix-org/luke/e2e-request-keys-button
E2E "fudge-button"
2018-03-08 15:07:58 +00:00
Luke Barnard
3a3cced905 E2E "fudge-button"
Implement a UI to expose a JS-SDK API for cancelling and resending
a room key request for an event.

This is useful in scenarios where the user has dismissed the request
on their other devices and would like to send the restart the
verification dance manually.

Depends on JS-SDK PR https://github.com/matrix-org/matrix-js-sdk/pull/624
2018-03-08 14:13:33 +00:00
Luke Barnard
441a8c722c
Merge pull request #1790 from matrix-org/dbkr/hello_trace_why_are_you_here
Remove spurious console.trace
2018-03-08 09:58:57 +00:00
David Baker
d919c1a41d Remove spurious console.trace
There's no comment to say why this is here and the commit that
add it (e91e94fd4) doesn't mention it either, so it's presumably
unintentional.
2018-03-08 09:47:42 +00:00
Matthew Hodgson
7a77da7a4c
Merge pull request #1789 from matrix-org/dbkr/presence_only_on_user_activity
Don't reset the presence timer on every dispatch
2018-03-06 20:18:00 +00:00
David Baker
a97e7375d5 Don't reset the presence timer on every dispatch
Only on user activity (there's now a dispatch every time we set a
member event, ie. A LOT, hence this now being a problem)
2018-03-06 17:48:21 +00:00
David Baker
d167dbcf86
Merge pull request #1788 from matrix-org/luke/fix-flair-store-potential-mem-leak
Potentially fix a memory leak in FlairStore
2018-03-06 12:22:14 +00:00
Luke Barnard
faf517419f Return null instead of undefined on failure 2018-03-06 12:14:41 +00:00
Luke Barnard
0fc79a4a0d Remove delay used in testing 2018-03-06 12:13:46 +00:00
Luke Barnard
afbd563810 Potentially fix a memory leak in FlairStore
For each successful request of a group profile, we previously
emitted an `updateGroupProfile` event per caller of
`getGroupProfileCached`. This is sub-optimal because only a single
event emit is required to update the views listening.

It's possible that this was enabling some race to cause a memory
leak but this is not certain, hence the extra logging for future
debugging.
2018-03-06 11:33:56 +00:00
Luke Barnard
213e25ab0f
Merge pull request #1785 from matrix-org/luke/fix-room-tile-cosmetics
Implement transparent RoomTile for use in some places
2018-03-06 09:43:33 +00:00
Luke Barnard
a95f6a9804 Implement transparent RoomTile for use in some places
where a transparent appearance is required (i.e. in MemberInfo
or ChatCreateOrReuseDialog)
2018-03-05 12:36:02 +00:00
David Baker
9a7a7ea2d6
Merge pull request #1784 from matrix-org/luke/fix-group-avatar-default-colour
Fix varying default group avatar colour for given group
2018-03-01 15:56:33 +00:00
Luke Barnard
94c1baa25d Fix varying default group avatar colour for given group 2018-03-01 15:42:22 +00:00
Luke Barnard
a62a650c5a
Merge pull request #1783 from matrix-org/luke/fix-group-avatar-update
Fix bug where avatar change not reflected in LLP
2018-03-01 15:38:12 +00:00
Luke Barnard
86295acba3 Merge branch 'develop' into luke/fix-group-avatar-update 2018-03-01 15:27:06 +00:00
Luke Barnard
d5908fbc1e Fix FlairStore cache busting 2018-03-01 15:06:05 +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
David Baker
ef58f71152
Merge pull request #1781 from matrix-org/luke/feature-disable-tag-panel
Add setting to disable TagPanel
2018-03-01 15:05:09 +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
f29918b766 gen-i18n 2018-02-28 18:18:59 +00:00
Luke Barnard
27c71f15b9 Add setting to disable TagPanel 2018-02-28 18:16:01 +00:00
David Baker
1ac62a17ff
Merge pull request #1779 from matrix-org/luke/fix-room-settings-power-levels
Fix room power level settings
2018-02-28 17:07:31 +00:00
Luke Barnard
fa9ff4ae6e
Merge pull request #1769 from matrix-org/t3chguy/fix_hide_joins_parts
fix shouldHideEvent saying an event is a leave/join when a profile ch…
2018-02-28 16:58:26 +00:00
Luke Barnard
d3dc2a33b4 Fix bug preventing setting room power levels
- don't use refs, use onChange of PowerSelector
 - store power levels as state in the RoomSetting component
2018-02-28 16:32:20 +00:00
Luke Barnard
567d83ba52 Update PowerSelector to support powerLevelKey prop
As a key to send as second argument to onChange. This is useful
when passing the same callback to multiple PowerSelectors.
2018-02-28 16:15:20 +00:00
Luke Barnard
9a72e69a43 Handle lack of room directory visibility response 2018-02-28 16:14:18 +00:00
Luke Barnard
dd529791fb Remove unused prop 2018-02-28 16:13:01 +00:00
Luke Barnard
d91d1932f4 Add tests for RoomSettings
For setting:
 - name
 - topic
 - history visibility
 - power levels

Testing RoomSettings required more stubbing on the matrix client.

The power level tests should be failing at this commit, with
fixes being made in upcoming commits.

Some tests are marked as known failures that we should fix but
aren't necessarily bugs:
 - SettingStore.setValue is used when saving despite the user not
   having made a change.
 - Testing directory publicity changes cannot be tested because we
   update state asynchronously in componentWillMount (which we do
   not block on in beforeEach).

Also, we needed to use `export default` to make sure everything
uses the same client peg and client.
2018-02-28 16:07:21 +00:00
Michael Telatynski
bd4b40309d
fix based on PR review
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-28 00:49:14 +00:00
Luke Barnard
b78e248110
Merge pull request #1777 from matrix-org/luke/groups-my-groups-microcopy
Add "Did you know:..." microcopy to groups view
2018-02-27 15:11:12 +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
Matthew Hodgson
3552800d19
Merge pull request #1753 from matrix-org/luke/fix-room-list-drop-target-bg
Give emptySubListTip a container for correct bg colour
2018-02-23 16:36:10 +00:00
David Baker
d23cb4dc1f
Merge pull request #1776 from matrix-org/luke/fix-to-device-event-bug
Do proper null-checks on decypted events to fix NPEs
2018-02-23 15:15:56 +00:00
Luke Barnard
fae7af1a62 Do proper null-checks on decypted events to fix NPEs
Previously we assumed that a decrypted event has a room_id
but this isn't necessarily true for to_device events.

It makes sense to ignore events that aren't associated with
rooms anyway given that the list we're updating only contains
rooms!
2018-02-23 15:04:04 +00:00
David Baker
a28691b9de
Merge pull request #1775 from matrix-org/luke/fix-room-list-reordering-e2e
Reorder the RoomListStore lists on Event.decrypted
2018-02-23 10:38:49 +00:00