Commit graph

3902 commits

Author SHA1 Message Date
Luke Barnard
929c8627d3 Add button to get to MyGroups (view_my_groups or path #/groups) 2017-09-27 17:45:49 +01:00
Luke Barnard
f3b6b2cc06 Fix GroupView summary rooms displaying without avatars
- GroupView can now render with rooms in the summary that do not have an avatar
 - RoomAvatar no longer has a redundant fallback avatar (this is handled by BaseAvatar)
 - RoomAvatar was delinted
2017-09-27 16:18:15 +01:00
Luke Barnard
d52355f80e Implement adding rooms to a group (or group summary) by room ID 2017-09-27 15:30:58 +01:00
David Baker
2d8bc783b0 Merge pull request #1431 from matrix-org/luke/feature-flair-tooltip
Give flair avatars a tooltip = the group ID
2017-09-27 14:44:25 +01:00
Luke Barnard
f528e147e3 Give flair avatars a tooltip = the group ID 2017-09-27 14:36:22 +01:00
Luke Barnard
e3405cfd95 shouldOmitSelf -> includeSelf 2017-09-27 11:52:05 +01:00
Luke Barnard
6bc9b32ab7 Fix ability to feature self in a group summary
By default the AddressPicker would omit the currently logged-in user. This adds a property to override that to allow "self" to be picked.
2017-09-27 11:04:41 +01:00
Luke Barnard
1ca9102442 Fix spinner appearing above RP header
By wrapping the spinner in the mx_MemberList class. Also, use mx_RoomHeader_cancelButton for group settings cancel
2017-09-27 10:36:44 +01:00
Stefan Parviainen
35cb52febc Fix merge conflict 2017-09-27 08:41:37 +02:00
Luke Barnard
1b12602ea5 Merge branch 'develop' into luke/groups-add-rooms 2017-09-26 17:12:52 +01:00
Luke Barnard
20d65535c0 Use all known rooms instead of public rooms 2017-09-26 17:11:54 +01:00
Luke Barnard
ddab8d7b5c Implement "Add room to group" feature 2017-09-26 14:49:13 +01:00
David Baker
8d0983ab02 Fix group membership publicity
* Read the new flag in the summary API (the one we were reading
   was actually whether the group server listed you as a member to
   non-members).
 * Remove call to now-dead _loadGroupFromServer andf use the store
   instead
2017-09-26 14:46:57 +01:00
Robert Swain
24de01e21d AppTile: Test if widgetUrl startsWith instead of has a substring
The event origin should be at the beginning of the URL.
2017-09-25 17:14:25 +02:00
Robert Swain
6e49926228 AppTile: Do not test for electron platform
The method platform method is instead stubbed on all other platforms.
2017-09-25 17:13:18 +02:00
Robert Swain
b047f1caaa Merge branch 'develop' into rob/electron-screensharing 2017-09-25 17:02:30 +02:00
David Baker
2ab860f487 Merge pull request #1427 from matrix-org/luke/feature-flair-cache-bust
Bust the flair caches after 30mins
2017-09-25 15:39:06 +01:00
Luke Barnard
20c731f627 Bust the flair caches after 30mins
Group profile data and the groups a user has publicised will be removed from the cache 30mins after retrieval.

There may be some benefits to caching the group profiles for longer than the group memberships but for now they're naively busted after the same 30mins.
2017-09-25 15:21:56 +01:00
David Baker
d9c2f6e610 Merge pull request #1426 from matrix-org/dbkr/profile_in_group_member_info
Show displayname / avatar in group member info
2017-09-25 15:14:30 +01:00
David Baker
0b96871be4 Lint 2017-09-25 15:07:02 +01:00
David Baker
af2df77b8e Merge pull request #1418 from matrix-org/luke/groups-summary-store
Create GroupSummaryStore for storing group summary stuff
2017-09-25 14:59:32 +01:00
Luke Barnard
e42e7bd3ad Merge pull request #1419 from matrix-org/dbkr/publicity_toggle
Add status & toggle for publicity
2017-09-25 14:52:57 +01:00
David Baker
58ec732fb3 Add width/height/resizeMethod params 2017-09-25 14:51:21 +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
Luke Barnard
83e6218930 Remove listeners from group summary store on unmount 2017-09-25 14:49:12 +01:00
Luke Barnard
8e7d58797d _loadGroupFromServer -> _initGroupSummaryStore 2017-09-25 14:48:49 +01:00
David Baker
5b312ffb03 Show displayname / avatar in group member info 2017-09-25 14:38:43 +01:00
David Baker
1a82f121c0 lint 2017-09-25 13:17:07 +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
Luke Barnard
b8dca58f4f Pass matrixClient as an argument to GSS constructor 2017-09-25 10:02:13 +01:00
Stefan Parviainen
2b5b708057 Translate unknown presence label
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-09-24 10:14:04 +02:00
Stefan Parviainen
dbae5a66e3 Use translation in img alt text
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-09-24 09:43:52 +02:00
Stefan Parviainen
14bce1119c Make theme names translatable
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-09-23 21:36:10 +02:00
Stefan Parviainen
f2f5302a7b Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into develop 2017-09-23 09:47:51 +02:00
Stefan Parviainen
cc441f42f9 Some more translatable strings
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-09-23 09:02:51 +02:00
Stefan Parviainen
d4929b558e Add dummy translation function to mark translatable strings
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-09-22 21:43:27 +02:00
Michael Telatynski
6d530eeb6e
apply i18n _t to string which has already been translated
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-22 20:04:04 +01:00
David Baker
af73f1c3bb Add status & toggle for publicity
This doesn't work at the moment because it looks like it's broken
in synapse as per https://github.com/matrix-org/sytest/pull/391

But if it did work, the client side code might look something
like this.
2017-09-22 19:27:02 +01:00
Luke Barnard
791bc5e7ac Create GroupSummaryStore for storing group summary stuff
- Acts as a layer between GroupView and the group APIs that modify the summary individually. This allows for abstraction of getting the new summary once a successful API hit has been done.
 - The plan is to also control the avatar, topic, body of the summary via the same class
2017-09-22 18:52:06 +01:00
David Baker
5004d90a3a Merge remote-tracking branch 'origin/develop' into dbkr/member_list_show_more 2017-09-22 18:03:16 +01:00
David Baker
de43972881 Merge pull request #1416 from matrix-org/dbkr/truncatedlist_invite
Make the invite section a truncatedlist too
2017-09-22 18:02:44 +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
Luke Barnard
4c1a85cb71 Merge pull request #1415 from matrix-org/luke/groups-remove-featured-rooms-and-users
Implement removal function of features users/rooms
2017-09-22 16:32:40 +01:00
David Baker
a868fa4be9 Merge pull request #1412 from matrix-org/dbkr/truncatedlist_experiment
Allow TruncatedList to get children via a callback
2017-09-22 16:25:45 +01:00
Luke Barnard
3f9d20de97 Implement removal function of features users/rooms
With the appeareance of a "X" in the top right of each featured item when editing.

NB: No reloading of summary is done after adding/removing a user/room. The plan is to better than threading a callback all the way down.
2017-09-22 15:56:35 +01:00
David Baker
621a108b5e Use flow style function definition for doc 2017-09-22 15:15:10 +01:00
David Baker
dba48e2f8f use start, end rather than min, max 2017-09-22 15:07:45 +01:00
David Baker
0f9f1c85a8 Remove done todo 2017-09-22 14:58:49 +01:00
David Baker
4a36e32c8d Show displayname & avatar url in group member list 2017-09-22 14:52:52 +01:00
David Baker
f1a2b6d327 lint 2017-09-22 13:35:49 +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
David Baker
29d8df2c9e De-lint TruncatedList 2017-09-22 10:00:46 +01:00
Luke Barnard
c19ee66565 Merge pull request #1408 from matrix-org/luke/groups-membership-section-redesign
Redesign membership section in GroupView
2017-09-21 17:49:47 +01:00
Luke Barnard
3351770b54 Fix dodgy merge 2017-09-21 17:26:16 +01:00
Luke Barnard
d75efb83f1 Merge branch 'develop' into luke/groups-membership-section-redesign 2017-09-21 17:25:12 +01:00
Luke Barnard
cf23ac5931 Merge branch 'develop' into luke/groups-add-feature-rooms 2017-09-21 17:20:12 +01:00
David Baker
3c2e6fdf9e Honour the is_privileged flag in GroupView 2017-09-21 16:55:56 +01:00
Luke Barnard
5f840a3031 Implement adding rooms to the group summary
This includes making UserPickerDialog more generic such that it can also pick rooms from groups.
2017-09-21 16:53:10 +01:00
David Baker
add91f9a7d Update when a group arrives 2017-09-21 16:28:49 +01:00
David Baker
5940b11fd2 Merge pull request #1404 from matrix-org/luke/feature-flair-click-for-group
Implement `view_group` dispatch when clicking flair
2017-09-21 15:18:28 +01:00
Luke Barnard
16f5a667c6 Redesign membership section in GroupView 2017-09-21 15:03:30 +01:00
Luke Barnard
41a9ff22fb Rename profile object properties to camelCase
Also, add correct PropTypes for FlairAvatar
2017-09-21 14:22:43 +01:00
David Baker
60d444b841 Merge pull request #1402 from matrix-org/luke/groups-add-featured-rooms-and-users
GroupView: Add a User
2017-09-21 14:19:58 +01:00
Luke Barnard
e64cc3b666 Implement view_group dispatch when clicking flair 2017-09-21 13:25:36 +01:00
Luke Barnard
3f0e596e97 Only show "Add" button when editing the group 2017-09-21 12:44:17 +01:00
Luke Barnard
4d9c43b3c8 Display dialog when errors occur whilst featuring users 2017-09-21 12:34:16 +01:00
Luke Barnard
9cd4cdf6df Filter group users results based on query 2017-09-21 10:52:28 +01:00
Luke Barnard
03ddb63507 Remove redundant slice 2017-09-21 10:34:11 +01:00
Luke Barnard
515222c25f Track action button click event 2017-09-20 17:16:49 +01:00
Luke Barnard
7ef55946da Fix console error log statement 2017-09-20 17:04:05 +01:00
Luke Barnard
5471431ee5 Disable "Add a Room" button for when we have a room picker 2017-09-20 17:02:20 +01:00
Luke Barnard
adf0a79585 Implement avatar, displayname for featured users
Profile data has been added to the API response for users in the group summary
2017-09-20 16:54:12 +01:00
Luke Barnard
1c1bf82c2a Add users to group summary using new API 2017-09-20 16:32:02 +01:00
Luke Barnard
44c38652ab Implement UserPickerDialog for adding users
Also, use AccessibleButtons.
2017-09-20 15:44:42 +01:00
Luke Barnard
1c6cecbd43 Add "Add a User/Room" buttons and always display default lists 2017-09-20 14:41:29 +01:00
David Baker
6ad4ba767b Merge pull request #1401 from matrix-org/luke/fix-separate-sender-profile
Separate sender profile into elements with classes
2017-09-19 17:21:52 +01:00
Luke Barnard
979b580e1f Merge branch 'develop' into luke/fix-ugly-integ-button 2017-09-19 17:04:06 +01:00
Luke Barnard
e2ae6e6235 Separate sender profile into elements with classes
For separate CSS manipulation so that we can vary opacity independently for flair/name/aux
2017-09-19 16:56:14 +01:00
Luke Barnard
668e096194 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into develop 2017-09-19 16:36:51 +01:00
Luke Barnard
7414d4d1f9 Fix issue with "props.aux" being inserted instead of e.g. "sent an image" 2017-09-19 16:36:30 +01:00
David Baker
80e0205b78 Fix promise error in flair
Import bluebird other wise it gets a native promise on my dev box
which does not have a finally method
2017-09-19 15:53:54 +01:00
Luke Barnard
5295d7f058 Merge branch 'develop' into luke/feature-flair 2017-09-19 14:55:54 +01:00
Luke Barnard
e9fb5712bd Merge branch 'develop' into dbkr/group_userlist 2017-09-19 13:26:55 +01:00
Luke Barnard
61a0f1ef67 Fix ugly integration button, use hover to show error
This simplifies the implementation of the button but also adjusts the appeareance such that a warning triangle appears in the top-right of button if an error has occured. The error popup will now appear when hovering over the button (with related CSS).
2017-09-19 11:57:23 +01:00
David Baker
658285ebbf Merge pull request #1396 from matrix-org/dbkr/3pid_invite_update_when_joined
Fix RoomView stuck in 'accept invite' state
2017-09-19 10:34:39 +01:00
Luke Barnard
241d442284 Fail gracefully for non-supporting servers 2017-09-18 15:12:38 +01:00
Luke Barnard
6add06db44 Fix big with rejecting promises upon error 2017-09-18 15:11:49 +01:00
Luke Barnard
26941e994f Merge branch 'develop' into luke/feature-flair 2017-09-18 14:46:50 +01:00
Luke Barnard
3476cfca79 getPublicGroups->getPublicisedGroups
To match dbkrs js-sdk wrappers for flair: matrix-org/matrix-js-sdk/pull#542
2017-09-18 14:44:35 +01:00
Luke Barnard
548e5f516c Put flair into labs 2017-09-18 14:38:41 +01:00
Luke Barnard
caaf5cca14 Only show the integ management button if user is joined 2017-09-18 13:34:33 +01:00
Matthew Hodgson
09e6ea00c5 Merge pull request #1273 from matrix-org/t3chguy/hide_chevron_memberlist_3pid_notarget
suppressOnHover for member entity tiles which have no onClick
2017-09-17 23:19:35 +01:00
Matthew Hodgson
141ae916ce Merge pull request #1387 from turt2live/travis/tooltip_redacter
Show who redacted an event on hover
2017-09-17 22:36:18 +01:00
Matthew Hodgson
b06d540f4c Merge pull request #1388 from matrix-org/t3chguy/start_mels_expanded
start MELS expanded if it contains a highlighted/permalinked event.
2017-09-17 22:09:44 +01:00
Matthew Hodgson
6a53b7b149 Merge pull request #1389 from turt2live/travis/ignored_users
Add ignore user API support
2017-09-17 22:05:02 +01:00
Travis Ralston
2605004edb Update ignored users when js-sdk on UserSettings on change
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-17 15:04:03 -06:00
Matthew Hodgson
bc565ba925 Merge pull request #1392 from turt2live/travis/no_emoji
Add option to disable Emoji suggestions
2017-09-17 21:40:43 +01:00
David Baker
c265ec9571 Fix RoomView stuck in 'accept invite' state
After accepting a 3pid invite.

Rather than clear the joining flag when the join request completes,
leave it so the RoomView can see that we're expecting the user to
be joined in the various stages that might go through (waiting for
join request, waiting for room object, waiting for 'joined' member
event). The problem in this case was that we had to wait a bit for
the last one, and there was no bit of state to represent it.

This hopefully also makes the logic somewhat simpler.

Fixes https://github.com/vector-im/riot-web/issues/5041
2017-09-15 15:07:09 +01:00
turt2live
b2de016b35 Add option to disable Emoji suggestions
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 21:28:12 -06:00
turt2live
0363f73e28 Fix the MessagePanel test
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 20:57:28 -06:00
turt2live
6e00f70320 Hide read receipts and typing notifs for ignored users
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 20:25:51 -06:00
turt2live
2e72d6cd7c Hide events that were sent by ignored users
This code only kicks in if the user was ignored after an event was sent. The homeserver should prevent other events from coming in.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 20:16:56 -06:00
Travis Ralston
3889df6b08 Add (un)ignore button to MemberInfo
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 19:42:09 -06:00
David Baker
f3a4856593 Merge remote-tracking branch 'origin/develop' into dbkr/fix_slash_join 2017-09-14 23:09:26 +01:00
Travis Ralston
2bc866b997 Clean up UserSettings for linting
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 16:08:20 -06:00
David Baker
1f837d2ae1 Make /join join again
The auto_join parameter to view_room got broken at some point so
/join took you to the room and then sat there like a lemon.

Fixes https://github.com/vector-im/riot-web/issues/5029
2017-09-14 23:06:00 +01:00
Travis Ralston
4579d20fd0 Unignore people from the settings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 15:33:36 -06:00
Travis Ralston
4df16e8245 Display which users are ignored in the user settings
Adds https://github.com/vector-im/riot-web/issues/1767

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 12:51:53 -06:00
Michael Telatynski
f612b1933b
start MELS expanded if it contains a highlighted/permalinked event.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-14 17:53:47 +01:00
turt2live
8dc2604d63 Show who redacted an event on hover
This should fix #3931 although it's not obvious who actually performed the redaction.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 09:03:05 -06:00
Matthew Hodgson
bb8538cd1a Merge pull request #1381 from matrix-org/dbkr/remove_spurious_cancel_button
Remove spurious cancel button
2017-09-14 10:38:26 +01:00
David Baker
5087da9247 Merge remote-tracking branch 'origin/develop' into luke/feature-flair 2017-09-13 16:52:12 +01:00
David Baker
3c3328c5f1 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-09-13 16:34:39 +01:00
David Baker
081a900524 Merge pull request #1363 from matrix-org/t3chguy/on_copy_tooltip
respond on copy code block
2017-09-13 14:27:35 +01:00
Michael Telatynski
fea7af11b4
Merge remote-tracking branch 'origin/t3chguy/on_copy_tooltip' into t3chguy/on_copy_tooltip 2017-09-13 14:18:56 +01:00
Michael Telatynski
d3bfdf495c
initialize value with false to prevent undefined.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-13 14:18:31 +01:00
David Baker
8abd35f581 Remove spurious cancel button
That appeared if you clicked on a room from the room directory
(it didn't do anything). It's only supposed to be shown when
editing room settings.
2017-09-12 15:48:13 +01:00
David Baker
757bc9fe32 Update roomlist when an event is decrypted
Events are now decrypted asynchronously, so are not decrypted
at the time of the Room.timeline which is when our RoomList
got the chance to update. It needs to update once the event has
been decrypted.

Ideally we would not update the whole room list order, but this is
how all the room list re-ordering happens right now, so staying
consistent with this.

Fixes https://github.com/vector-im/riot-web/issues/5020
2017-09-12 14:47:26 +01:00
David Baker
d90aa6ec20 Merge pull request #1368 from matrix-org/t3chguy/fix_theme
fix radio for theme selection
2017-09-12 11:54:49 +01:00
Robert Swain
aa82be1fb1 Merge branch 'develop' into rob/electron-screensharing 2017-09-12 10:54:20 +02:00
David Baker
3c70b86668 Merge pull request #1375 from matrix-org/dbkr/active_room_observer
Avoid re-rendering RoomList on room switch
2017-09-11 18:52:09 +01:00
David Baker
7e1886c2ab Merge pull request #1376 from matrix-org/dbkr/fix_failed_to_load_timeline_pos
Fix 'Failed to load timeline position' regression
2017-09-11 18:51:41 +01:00
David Baker
6cb98d7196 Hopefully make comment clearer 2017-09-11 18:39:30 +01:00
David Baker
531fc3ac54 Fix 'Failed to load timeline position' regression
Ignore the update that comes in from the RoomViewStore when the
current room changes or we save our scoll state against the new
room rather than the old one.

Fixes https://github.com/vector-im/riot-web/issues/5010
2017-09-11 17:57:52 +01:00
David Baker
be8f0991a6 Avoid re-rendering RoomList on room switch
Introduce a class that consumes updates from the RoomViewStore and
announces to listeners if the active room ID is now or is no longer
the room ID they specified. Naming suggestions welcome: it's
currently called ActiveRoomObserver.

Avoids passing the selectedRoomId down from MatrixChat all the way
through the LeftPanel / RoomList / RoomSubList to the RoomTiles.

Also introduce a CallPreview class that listens directly for
RoomViewStore changes as the call preview in the left panel needs
to know when the room changes, so this allows this component to
update without having to update the entire left panel.
2017-09-11 16:59:09 +01:00
Michael Telatynski
0580d536ad Merge branch 'develop' into t3chguy/on_copy_tooltip 2017-09-10 18:54:52 +01:00
David Baker
7617788345 Merge pull request #1372 from matrix-org/dbkr/emoji_fast_path
Fast path for emojifying strings
2017-09-10 17:44:02 +01:00
David Baker
05a986334d Separate function to add code copy button
For neatness and also so it can show up separately in the profiler.
2017-09-10 15:58:17 +01:00
David Baker
876257f4e2 Consolidate the code copy button
Adding the code code button was done by manipulating the HTML of
the event body to add a span tag, then adding the onclick handler
after the thing was mounted. Apart from splitting the code between
two places, adding the span tag was, according to Chrome's
profiler, taking up quite a lot of CPU cycles (apparently as soon
as you set the innerHTML on a div). Instead, just build the whole
lot together after the component mounts.
2017-09-10 14:23:33 +01:00
David Baker
ea5726aa4e Copyright 2017-09-08 23:14:06 +01:00
David Baker
ec3ff529e7 Fast path for emojifying strings
Emojione's regex for detecting emoji is *enourmous* and we were
running it on every display name, room name, message etc every time
those components mounted. Add a much simpler regex to rule out the
majority of strings that contain no emoji and fast-path them.

Makes room switching about 10% faster (in my tests with all the
profiling turned on).
2017-09-08 23:05:27 +01:00
Matthew Hodgson
0e8bd856bc remove obsolete this._roomViewStoreToken.remove(); 2017-09-08 20:14:27 +02:00
David Baker
663dc3e513 Don't re-render matrixchat unnecessarily
...on room switch. We were setting most of the state in viewRoom,
but getting the current room ID from the RoomViewStore, but this
meant we did one setState from the RoomViewStore updating,
re-rendered and then setState again in viewRoom causing another
render. This just sets the room ID in viewRoom.
2017-09-08 18:56:57 +01:00
David Baker
aee2f3cdef Rename onHaveRoom
And move some code out of it which didn't really have any reason
to be hanging out there rather than just be where we set the room
a few lines above.
2017-09-08 18:11:13 +01:00
David Baker
bf982004f6 Give onHaveRoom the info it needs explicitly
Rather than giving it a state object which is not actually the
whole state but happens to be everything it actually wants
(currently)
2017-09-08 17:56:53 +01:00
David Baker
03dcded72f Blank line to make comment clearer 2017-09-08 17:39:10 +01:00
David Baker
1be35a77ec Don't wait for setState to run onHaveRoom
onHaveRoom sets some more state (among other things) so putting it
in the setState callback so it could observe the new state caused
us to have to re-render again unnecessarily. Just give it the new
state as a parameter.
2017-09-08 17:06:46 +01:00
David Baker
984d639a37 Merge remote-tracking branch 'origin/develop' into dbkr/scroll_state_store 2017-09-08 15:58:38 +01:00
David Baker
13b094a3f6 Merge pull request #1369 from matrix-org/dbkr/dont_always_paginate
Don't always paginate when mounting a ScrollPanel
2017-09-08 15:51:55 +01:00
David Baker
78a2e49705 Don't always paginate when mounting a ScrollPanel
Calling just checkFill on DidMount did not initially set the
scrollTop which meant that one back pagination request is always
performed regardless. This meant we would end up rending the
first batch of events, then paginating and re-rendering again
after the pagination got another batch, causing unnecessary render
churn.
2017-09-08 15:41:19 +01:00
David Baker
59c54d3756 Remove redundant code 2017-09-08 13:39:22 +01:00
Michael Telatynski
3df379cb49
fix radio for theme selection
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-07 18:54:41 +01:00
David Baker
82d1afcc47 Correct comment 2017-09-07 17:16:32 +01:00
David Baker
408b8c18ea Introduce a RoomScrollStateStore
to keep the place we're scrolled to in rooms. This mainly eleimates
the extra, superfluous onRoomViewStoreUpdate callback that
happened when the previous room saved back its scroll state.
Moving the scroll state to a separate store means we can have this
not emit events because nothing needs to know when the scroll state
changes.
2017-09-07 17:08:36 +01:00
David Baker
d71f15adf4 Remove unused scrollStateMap from LoggedinView 2017-09-06 22:51:10 +01:00
David Baker
609d61d53c Revert "Implement sticky date separators" 2017-09-06 17:40:58 +01:00
Michael Telatynski
b10b0e573d
i18n and change message depending on success of copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-06 11:29:55 +01:00
Michael Telatynski
269f1f33e3
show response on copy so you don't mash it
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-06 11:27:25 +01:00
David Baker
289c3a5fbd Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-09-05 14:20:02 +01:00
David Baker
262d66f579 Merge pull request #1353 from matrix-org/luke/feature-sticky-date-separators
Implement sticky date separators
2017-09-05 14:15:47 +01:00
David Baker
79ee41351c Fix typo 2017-09-04 15:45:28 +01:00
Robert Swain
53574541c3 AppTile: Add Jitsi electron screensharing support 2017-09-04 09:31:25 +02:00
Luke Barnard
0ded4acba0 Mark TODO for https://github.com/vector-im/riot-web/issues/4951 2017-08-31 17:52:53 +01:00
Luke Barnard
d84190f58d Explain Flair debounce 2017-08-31 17:49:19 +01:00
Luke Barnard
e89d52ccbf Do not get avatars when no groups were/could be retrieved 2017-08-31 16:46:39 +01:00
Luke Barnard
86e8a4c7e2 Make componentWillMount not async
This was left over from a previous refactor
2017-08-31 16:44:14 +01:00
Luke Barnard
c9c0771355 Spelling 2017-08-31 16:29:45 +01:00
Luke Barnard
cdb28f956e Add comment for StickyContainer extension 2017-08-31 16:29:31 +01:00
David Baker
a2f2070966 Put setSate in the promise constructor
Avoids local variables. Also typo in comment.
2017-08-30 21:44:10 +01:00
David Baker
225fe67586 Fix room change sometimes being very slow
If the js-sdk had a lot of history in memory for a particular room,
riot would paginate all that history into the DOM and render it
when switching to that room (before then removing it all again).
This obviously made switching to that room very slow.

This was caused by the fact that we relied on the setState that
happens in TimelinePanel after the pagination taking effect such
that ScrollPanel sees that it no longer needs to paginate, but
in some situations (as far as I can see, in electron...?) this
setState would not take effect until the pagination stopped
fulfiling requests from memory and hit the network.

Fix: don't resolve the promise returned by the pagination request
until the setState has actually happened.
2017-08-30 19:14:26 +01:00
David Baker
9efa604706 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-30 17:39:47 +01:00
David Baker
cf747fcb57 Lint 2017-08-30 17:34:44 +01:00
Luke Barnard
a29e7da06b Merge branch 'develop' into luke/feature-sticky-date-separators 2017-08-30 14:06:06 +01:00
David Baker
32b33c66b9 Merge pull request #1346 from matrix-org/t3chguy/shouldHideEvent_RoomStatusBar
apply shouldHideEvent fn to onRoomTimeline for RoomStatusBar
2017-08-30 13:58:40 +01:00
Luke Barnard
d516906b36 Implement sticky date separators
Use `react-sticky` to implement sticky date separators. This will pin a date separator to the top of the timeline panel when the separator scrolls out of the top of the view.

A known issue of this is that the spinner, which is in line with event tiles in the timeline, will appear to push the stuck date separator down. In reality the first date separator after the spinner is in line with event tiles and is not stuck because the spinner forces the timeline to be scrolled slightly further down than it would be otherwise. But also, date separators in the timeline (not "stuck") have a greater height.

Ideally the date separator would be suppressed whilst back paginating, but this will cause the stuck separator to flicker on and off. This is why the suppression has been removed.
2017-08-30 13:52:46 +01:00
David Baker
22bb635ff3 Merge pull request #1352 from matrix-org/fix_hide_rr_regression
separate concepts of showing and managing RRs to fix regression
2017-08-30 13:50:44 +01:00
Michael Telatynski
05c232c8c3
revert fancy indents
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-30 13:32:07 +01:00
Michael Telatynski
282618d5a1
separate concepts of showing and managing RRs to fix regression 2017-08-30 13:18:14 +01:00
Luke Barnard
ebc1993530 Implement Flair
Add 14x14 group avatars next to sender profiles.
2017-08-30 11:10:49 +01:00
Richard Lewis
84481f1a1e Merge pull request #1350 from matrix-org/rxl881/scalarTokenFix
Make staging widgets work with live and vice versa.
2017-08-30 11:04:50 +01:00
Richard Lewis
2ff1888054 Make staging widgets work with live and vice versa. 2017-08-30 10:36:22 +01:00
Richard van der Hoff
b9e047f0ff Avoid breaking /sync with uncaught exceptions
For reasons I don't fully understand, it appears that sometimes the
ReadReceiptMarker has no offsetParent. Rather than dying with an uncaught
exception when that happens (and taking out half of React as well as the /sync
handler), log a warning and suppress the animation.
2017-08-30 10:01:45 +01:00
David Baker
824b29dc1f PR feedback 2017-08-30 09:22:26 +01:00
Luke Barnard
5e98aa4850 Merge pull request #1343 from matrix-org/t3chguy/fix_two_roomlist_regressions
we need to pass whether it is an invite RoomSubList explicitly (i18n)
2017-08-29 16:33:48 +01:00
Luke Barnard
3f11f9148f Merge pull request #1348 from matrix-org/dbkr/fix_forgot_password_percent_encode
Percent encoding isn't a valid thing within _t
2017-08-29 15:02:26 +01:00
David Baker
6d5b1b7a55 Percent encoding isn't a valid thing within _t
Just use a plain apostrophe
2017-08-29 14:18:24 +01:00
David Baker
ec983b838a Unbreak password reset with a non-default HS
Broken by the change from onHsUrlChanged to onServerConfigChanged
in https://github.com/matrix-org/matrix-react-sdk/pull/811 where
ForgotPassword got missed.
2017-08-29 14:07:43 +01:00
David Baker
d86fe0df6e Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-29 13:29:55 +01:00
Michael Telatynski
315f7a3ae7
apply shouldHideEvent fn to onRoomTimeline for RoomStatusBar
prevents N new message(s) when a hidden message comes in.
2017-08-28 13:46:09 +01:00
Michael Telatynski
edb449dfe5
we need to pass whether it is an invite RoomSubList explicitly (i18n) 2017-08-27 23:38:25 +01:00
Michael Telatynski
cd1e58cb61
_tJsx returns a React Object, the sub fn must return a React Object
not a string
2017-08-26 08:18:55 +01:00
David Baker
299db845ff PR feedback 2017-08-25 12:10:13 +01:00
David Baker
5cfec247f0 Merge pull request #1331 from matrix-org/luke/fix-completion-click-to-insert
Fix click to insert completion
2017-08-24 14:56:15 +01:00
David Baker
814e08d843 Merge pull request #1334 from matrix-org/dbkr/update_on_event_decrypted
Force update on timelinepanel when event decrypted
2017-08-24 13:35:39 +01:00
David Baker
3e92380d79 Merge pull request #1337 from matrix-org/rav/handle_call_synchronously
Dispatch incoming_call synchronously
2017-08-24 13:31:13 +01:00
Richard van der Hoff
b65e1769d7 Dispatch incoming_call synchronously
- this should fix a race where if the 'hangup' arrives hard on the tail of the
Call.incoming, we don't ignore it.

(We still have a problem in that we blip the hangup tone and UI, but that is
arguably a separate problem)
2017-08-24 13:05:17 +01:00
Michael Telatynski
ec6867dc8b
Fix React crying on machines without internet due to return undefined 2017-08-24 12:32:37 +01:00
David Baker
a2943ac348 Check room ID matches 2017-08-24 11:55:39 +01:00
David Baker
67824e9acc Force update on timelinepanel when event decrypted
Partially fixes https://github.com/vector-im/riot-web/issues/4865
(the part about messages not appearing in the timeline until you
move the cursor over the window).

Requires https://github.com/matrix-org/matrix-js-sdk/pull/529
2017-08-24 11:35:01 +01:00
David Baker
c11432c3e3 Catch the promise rejection if scalar fails
Otherwise this is incredibly annoying when developing if you don't
have a scalar that will allow you to register (ie. if you're
testing against an HS on your dev box)
2017-08-23 19:35:33 +01:00
Luke Barnard
8ed5422a45 Fix click to insert completion
And remedy weird API in the process. Autocomplete now exposes `onSelectionChange` to indicate that the user has selected another completion, rather than returning the chosen completion via onUpArrow etc.

Fixes vector-im/riot-web#4835
2017-08-23 16:22:14 +01:00
Richard Lewis
502a0480a0 Merge pull request #1327 from matrix-org/matthew/multiple-widgets
Matthew/multiple widgets
2017-08-22 10:53:51 +01:00
David Baker
e72bdffd62 Remove unused import 2017-08-22 10:22:51 +01:00
David Baker
5f816666e1 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-22 10:08:02 +01:00
Richard Lewis
a69cc9169f lint fix. 2017-08-22 10:04:57 +01:00
David Baker
ac64e9b705 Lint 2017-08-21 19:34:07 +01:00
David Baker
b898d15580 Specify default number of members to load 2017-08-21 19:30:28 +01:00
David Baker
e77ea352e4 Support full group membership cycle
Apart from knocking, ie. Invite / accept / reject / leave
2017-08-21 19:18:32 +01:00
David Baker
a0fe3d1cb0 Merge pull request #1326 from matrix-org/rav/userpicker_proptypes
Fix proptypes on UserPickerDialog
2017-08-21 16:43:15 +01:00