Commit graph

163 commits

Author SHA1 Message Date
Travis Ralston
3f99332f4b Use componentDidMount in place of componentWillMount where possible
This fixes a common React warning we see. Most of these components should be using constructors instead, however componentDidMount is just as good (and doesn't require converting most of these).

Conversion to classes will be done in a later stage of React warning fixes.

For https://github.com/vector-im/riot-web/issues/12877
2020-03-31 14:14:17 -06:00
Travis Ralston
19f78d4d97 Fix class construction in MemberList 2020-01-09 14:17:33 -07:00
Travis Ralston
fde32f13a5 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-develop 2020-01-09 14:15:09 -07:00
Travis Ralston
59f608ffd6
Merge pull request #3761 from matrix-org/travis/babel7-wp-es6-export
Convert CommonJS exports to ES6 exports
2020-01-08 09:09:11 -07:00
Michael Telatynski
f9e386adaa Improve SORT_REGEX 2019-12-27 17:04:14 +00:00
Michael Telatynski
ab12288979 Add more punctuation to regex 2019-12-26 19:29:25 +00:00
Michael Telatynski
e320f64ba1 fuzzy-sort MemberList 2019-12-26 19:27:04 +00:00
Travis Ralston
f1ac3d2f64 Convert imports to ES6 from CommonJS
This is needed because `require()` means something different in webpack - it ends up importing the module as something we didn't expect (and is occasionally async)
2019-12-22 21:16:06 -07:00
Travis Ralston
042bd35d79 Fix MatrixClientPeg imports 2019-12-22 21:15:54 -07:00
Travis Ralston
344dac4fb9 Convert CommonJS exports to ES6-compatible exports
We use `export default` begrudgingly here. Ideally we'd use just `export`, though this entire SDK expects things to be exported as a default. Instead of breaking everything, we'll sacrifice our export pattern for a smaller diff - a later commit can always do the default export -> regular export conversion.
2019-12-22 21:01:02 -07:00
Travis Ralston
225695ab5c Fix exports for rate limited functions and MatrixClientPeg
MatrixClientPeg in particular doesn't work very well with this.
2019-12-12 19:33:08 -07:00
Michael Telatynski
f1db0cf027 Various ARIA a11y fixes.
Notate RightPanel tabs.
Shorten Screen Reader queues.
Make AccessibleTooltipButton screen reader friendly
Flatten DOM for Sticker button using React Fragments

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 09:35:39 +01:00
Michael Telatynski
70ff2bc9cd Switch to createReactClass: views/rooms and test/components. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-06 15:04:46 +01:00
Michael Telatynski
bc4bff64f6 Fix logic around MemberList invites section, specifically regarding 3pid
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-03 08:38:08 +01:00
Michael Telatynski
3cd9c152c2 Check permission to invite before showing invite buttons/disable them
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-11 19:45:24 +01:00
Travis Ralston
86e4d29582 Merge remote-tracking branch 'origin/develop' into travis/cancel-3pid 2019-03-29 11:47:46 -06:00
Travis Ralston
07cc640089 Add common utility for checking 3pid invites
We just need to make sure they are structurally sound - actual validation is done by other parties.
2019-03-29 11:45:07 -06:00
Travis Ralston
99dc2c4738 Add MemberInfo for 3pid invites and support revoking those invites
Fixes https://github.com/vector-im/riot-web/issues/625
Fixes https://github.com/vector-im/riot-web/issues/6411
Fixes https://github.com/vector-im/riot-web/issues/5490
2019-03-28 21:02:24 -06:00
Bruno Windels
dad382a4b7 use AutoHideScrollbar in memberlist 2019-03-15 10:16:21 +01:00
Michael Telatynski
ee47e0f72e pass through className
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 04:44:38 +00:00
Michael Telatynski
5052039b36 Re-use SearchBox from filter rooms for filter room members
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 04:42:04 +00:00
J. Ryan Stinnett
20e296b20e Convert image URLs in React to require calls
This allows Webpack to insert the proper image URL after builds steps like
adding a hash and so on. The path you supply to `require` is relative to the JS
source file, just like any other would be.
2019-01-17 22:06:49 -06:00
Travis Ralston
5a2113e1a9 Fix a comparison bug in ordering the MemberList 2019-01-03 21:56:19 -07:00
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