Travis Ralston
77dfba8a22
Add unit tests for MemberList
...
Particularly the ordering of the tiles.
2019-01-03 21:55:52 -07:00
Travis Ralston
95844ebf9d
Comment out debugging statements
...
They are useful to have around, but not to have enabled all the time.
2019-01-03 12:15:27 -07:00
Travis Ralston
63a7b86eac
Flatten and simplify the memberlist sorting algorithm
...
The previous algorithm had a bug where it was getting stuck on the power level comparison, leaving the memberlist incorrectly ordered. The new algorithm uses less branching to try and walk through the different cases instead. Additionally, the steps used to determine the order have changed slightly to better represent an active member list.
This commit also includes changes to try and re-sort the member list more often during presence changes. Events are not always emitted, however. This may be a js-sdk bug but appears to happen prior to these changes as well.
Fixes https://github.com/vector-im/riot-web/issues/6953
2019-01-03 12:15:19 -07:00
Bruno Windels
4e773c2665
Make right panel a dark-panel instead of every descendant.
...
Also move bg color central.
2018-11-06 14:47:58 +01:00
Bruno Windels
92e43ea181
move filter member field to bottom of memberlist
...
reorganize styles as well
2018-11-06 14:47:11 +01:00
Bruno Windels
064662380f
support search icon in mx_textinput, use in memberlist
2018-11-05 09:35:27 +01:00
Bruno Windels
46389457e3
add input styling for light and dark panels (leftpanel vs room header)
2018-11-05 09:32:37 +01:00
Bruno Windels
2c039483c6
Merge branch 'develop' into experimental
2018-10-26 15:33:39 +02:00
Bruno Windels
7244d30c9c
guard against empty roomId/non-existant room
2018-10-24 16:44:18 +02:00
Bruno Windels
8c62dddb32
one big commit, sorry
...
changing looks of input & buttons
changing background color of right panels
moving invite button around
change margins and paddings in memberlist
2018-10-24 13:50:58 +02:00
Travis Ralston
78f527cf95
Remove unused classes
2018-10-22 15:14:21 -06:00
Bruno Windels
8c4f4765df
remove initial parameter and show available members on invite instead
2018-09-17 20:03:01 +02:00
Bruno Windels
0727e0f8d3
mounted can be set straight in componentWillMount
2018-09-17 20:02:15 +02:00
Bruno Windels
e8b4770940
fix lint
2018-09-17 20:01:55 +02:00
Bruno Windels
e0a789f77e
remove untrue comment, as we only load the members when joining
2018-09-17 19:21:22 +02:00
Bruno Windels
e1b9aa9626
better naming and document method
2018-09-17 19:20:26 +02:00
Bruno Windels
d276b17c2a
remove dead code
2018-09-17 19:19:07 +02:00
Bruno Windels
c3914d3493
show empty list as initial state instead of spinner
...
the spinner should only be shown when joined
2018-09-17 19:18:55 +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
27c496aecb
remove unneeded async keywords
2018-09-14 13:55:47 +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
ecaabd6b75
Merge pull request #2161 from matrix-org/bwindels/dontupdatememberlistwhileloading
...
avoid updating the memberlist while the spinner is shown
2018-09-11 10:57:29 +02:00
Bruno Windels
2aaf3e6b89
dont assign member in getInitialState
2018-09-10 17:39:03 +02:00
Bruno Windels
92f7e29132
missed one {} -> [], fix e2e tests
2018-09-10 17:32:40 +02:00
Bruno Windels
5044d4f2d6
dont keep the spinner in the memberlist when fetching /members fails
2018-09-10 14:56:10 +02:00
Bruno Windels
0cd222ef0b
make users available in member by requesting them from client right before
...
before this was already foreseen, but memberDict wasn't being refreshed
as it's only used in roomMembers(), I got rid of memberDict as well
2018-09-07 23:44:20 +02:00
Bruno Windels
7fe822ca17
Merge branch 'develop' into bwindels/dontupdatememberlistwhileloading
2018-09-07 23:43:25 +02:00
Bruno Windels
467cdd2f1f
Merge branch 'develop' into bwindels/optimizememberlist
2018-09-07 18:32:13 +02:00
Bruno Windels
9cc9fbf924
avoid memberlist refresh for events related to rooms other but the current
2018-09-07 14:05:26 +02:00
Bruno Windels
fec7d2ee5f
avoid updating the memberlist while the spinner is shown
...
the memberlist gets updated constantly while the LL members
are being added to the room state. this slows things down unneed, and is one of the
main cause of dropping frames when member arrive.
2018-09-07 12:00:19 +02:00
Bruno Windels
8500a7131f
avoid unneeded lookups in memberDict
...
have members be an array of RoomMember instead of userId, so
we can avoid multiple lookups when sorting, rendering, ...
2018-09-05 15:25:08 +02:00
Bruno Windels
cae419e304
avoid rerendering when LL is disabled
2018-09-03 11:13:56 +02:00
Bruno Windels
f9c40390e9
set state after setting _showPresence to avoid all members to appear offline on matrix.org
2018-08-29 11:09:55 +02:00
Bruno Windels
e9e5abfcc5
show a spinner in the memberlist while loading the members
2018-08-29 10:30:25 +02:00
Matthew Hodgson
cc79384839
fix https://github.com/vector-im/riot-web/issues/6643
2018-05-24 01:57:22 +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
David Baker
31b772997e
Option to remove the presence feature by HS
...
Adds a config option that disables showing presence for certain
HS URLs, so we can disable it on matrix.org where the feature is
turned off.
2018-03-19 16:47:12 +00:00
Michael Telatynski
56bd4b7d06
Fix not showing Invited section if all invites are 3PID
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-25 12:18:02 +00:00
Michael Telatynski
b0b7472901
undo bad merge
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-14 17:14:57 +01:00
Michael Telatynski
e79f9ef011
=== > ==
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-14 17:10:51 +01:00
Michael Telatynski
6ad8532bed
lowerCase query so that searching for Erik
will actually find Erik
..
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-14 17:09:58 +01:00
Michael Telatynski
a000439948
pass search query to filter fn in _updateList
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-14 17:09:30 +01: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
b202601d65
Fix showing 3pid invites in member list
2017-10-02 15:10:32 +01:00
Luke Barnard
1bd200f1b1
Merge pull request #1417 from matrix-org/dbkr/member_list_show_more
...
MemberList: show 100 more on overflow tile click
2017-09-25 14:50:33 +01:00
Richard van der Hoff
e2f8bb2ec0
Fix NPE in MemberList
...
_getChildCountInvited would throw an NPE if invoked before the js-sdk had found
the room. Make sure we initialise the state correctly.
2017-09-25 10:25:21 +01:00
David Baker
25da0f6a7a
MemberList: show 100 more on overflow tile click
...
Not the full list because on HQ that causes your browser to implode.
This should really be a decent paginated list at this point, but this is better
for now.
2017-09-22 17:01:14 +01:00
David Baker
9cbfc22352
Make the invite section a truncatedlist too
...
For uniformity and to speed up rooms like HQ with have a lot of
lingering invites.
2017-09-22 16:50:54 +01:00
David Baker
dba48e2f8f
use start, end rather than min, max
2017-09-22 15:07:45 +01:00
David Baker
16398fbfc2
Allow TruncatedList to get children via a callback
...
And update MemberList to use it as such. This means that the parent
only needs to make react elements for the elements that will
actually be rendered, rather than all of them.
In practive this doesn't make a huge difference as making React
elements is fairly fast, but experimentally (with all profiling
turned on), MemberList went from 25ms in the constructor and
81ms in render to 38ms in constructor but sub 1ms render for
Matrix HQ.
2017-09-22 13:15:02 +01:00