Commit graph

4203 commits

Author SHA1 Message Date
Luke Barnard
38fdd155f0 Construct address picker message using provided validAddressTypes 2017-09-28 10:06:51 +01:00
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
Richard van der Hoff
764d5891ad Fix proptypes on UserPickerDialog
... so that it doesn't log an error
2017-08-21 16:30:49 +01:00
Richard Lewis
b7569a9831 Revert auxPanel changes (this should already have been fixed in a separate PR). 2017-08-21 15:29:11 +01:00
Robert Swain
385205471b AppsDrawer: Remove unnecessary bind 2017-08-21 15:34:13 +02:00
Richard Lewis
c0f0425907 Merge pull request #1322 from matrix-org/rxl881/styling
Position add app widget link
2017-08-21 14:03:27 +01:00
Richard Lewis
6c8391e3ea Remove beta tag. 2017-08-21 11:39:06 +01:00
Richard Lewis
e93a1fac3d Position add app widget link 2017-08-21 11:29:42 +01:00
Robert Swain
2eac869e27 Merge branch 'develop' into rob/apps-not-e2ee 2017-08-21 10:30:38 +02:00
Robert Swain
70824960ee AppPermission: Make strings translatable 2017-08-21 10:23:55 +02:00
Matthew Hodgson
d7f5295949 untested WIP for supporting multiple widgets properly 2017-08-18 18:40:00 +01:00
Richard Lewis
1862057695 Only render appTile body (including warnings) if drawer shown. 2017-08-18 18:33:56 +01:00
Luke Barnard
b678c2cf0f Don't bind Pill function, React does this for us 2017-08-18 17:15:27 +01:00
Robert Swain
2e00968bcd AppPermission: Note that apps are not E2E encrypted in E2E rooms 2017-08-18 17:44:33 +02:00
Richard Lewis
1c36e47403 Fix add widget link 2017-08-18 15:59:12 +01:00
Richard Lewis
b7d46d91ed Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/appFixes 2017-08-18 15:35:01 +01:00
Luke Barnard
bf07333915 Merge pull request #1316 from matrix-org/luke/fix-app-name-case
Don't apply case logic to app names
2017-08-18 15:08:40 +01:00
Luke Barnard
5e0a7212d9 Don't apply case logic to app names
As they should have the Correct Case in integrations land now
2017-08-18 14:57:28 +01:00
Luke Barnard
36fffa1696 Stop integ manager opening on every room switch
This was caused by a broken assumption which was AppsDrawer component mounting === clicking on apps draw toggle.

This was introduced in matrix-org/matrix-react-sdk#1312.

Known issue with this fix: deleting the last app doesn't hide the app drawer.
2017-08-18 14:48:58 +01:00
Richard Lewis
857a8c9519 Remove empty defaultProps. 2017-08-18 13:28:47 +01:00
Luke Barnard
3a7aa926c3 Merge pull request #1313 from matrix-org/luke/feature-app-tile-ux
Add behaviour to toggle app draw on app tile header click
2017-08-18 13:08:57 +01:00
Luke Barnard
caff761df7 Merge pull request #1308 from matrix-org/t3chguy/mels_fix
Change OOO so that MELS generation will continue over hidden events
2017-08-18 13:08:35 +01:00
Richard Lewis
84f5e5aad2 REmove unused onCancelClick 2017-08-18 12:21:48 +01:00
Luke Barnard
1a1a80b633 Merge branch 'develop' into luke/feature-app-tile-ux 2017-08-18 12:12:00 +01:00
Luke Barnard
cab3123bd8 Merge pull request #1312 from matrix-org/luke/feature-widget-timeline-events
Implement TextualEvent tiles for im.vector.modular.widgets
2017-08-18 12:10:22 +01:00
Michael Telatynski
615d96a065
catch hidden event being RM
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-18 11:53:52 +01:00
Richard Lewis
96900e76a0 Move error logging to where it is first caught. 2017-08-18 11:51:32 +01:00
Richard Lewis
4b5cdac032 Don't show widget security warning to the person who added it to the room. 2017-08-18 11:41:27 +01:00
David Baker
55998028b4 Show group invites in 'invites' section 2017-08-18 11:22:50 +01:00
Luke Barnard
57505c3a61 Add behaviour to toggle app draw on app tile header click 2017-08-18 10:56:35 +01:00
Luke Barnard
9382689675 Merge branch 'develop' into luke/feature-widget-timeline-events 2017-08-18 10:47:25 +01:00
Luke Barnard
acc54b97f1 Implement TextualEvent tiles for im.vector.modular.widgets
E.g. "Bob added a Acme widget", "Susan removed a Giraffe widget"

The name is calculated by taking the `name` in the event content, falling back on the `type`, falling back on the previous content `type`. This is then capitalised.
2017-08-18 10:35:33 +01:00
Matthew Hodgson
bb0845954d improve wording for directory listings 2017-08-17 19:10:45 +01:00
Matthew Hodgson
7c04a6671d expand auxPanel when showing apps 2017-08-17 19:06:19 +01:00
Richard Lewis
120a4f4f44 Check for valid roomId before renering manageIntegsButton. 2017-08-17 18:10:50 +01:00
Richard Lewis
0907fff080 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/appFixes 2017-08-17 17:47:46 +01:00
David Baker
91fe308f06 Merge pull request #1310 from matrix-org/t3chguy/hotfix1
hotfix bad fn signature regression
2017-08-17 17:31:55 +01:00
Michael Telatynski
766c188a1e
hotfix bad fn signature regression
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-17 17:15:18 +01:00
Michael Telatynski
bdb2d6b475
Merge remote-tracking branch 'remotes/origin/develop' into set_default_federate_by_settings
# Conflicts:
#	src/components/structures/MatrixChat.js
2017-08-17 13:39:19 +01:00
Michael Telatynski
ca5e26744f
Make dialog more specific and hide options behind advanced spoiler 2017-08-17 13:33:07 +01:00
Richard Lewis
02edadbd15 Don't bubble cancel click to room header. 2017-08-17 12:21:44 +01:00
Richard Lewis
d1ee257b5a Pass roomId rather than whole room object. 2017-08-17 12:15:01 +01:00
Richard Lewis
eb77dcc8e3 Camel case variable name 2017-08-17 11:24:25 +01:00
Richard Lewis
2c25639a61 Fix copyright header 2017-08-17 11:22:42 +01:00
Richard Lewis
9111cb421e Merge pull request #1291 from matrix-org/rxl881/maxWidgets
Show a dialog if the maximum number of widgets allowed has been reached.
2017-08-17 10:03:42 +01:00
MTRNord
59815359f8 Add misiing _tJsx import 2017-08-16 23:55:43 +02:00
MTRNord
fceccfc503 Add missing Robot string to translation 2017-08-16 23:54:36 +02:00
David Baker
ddf1017799 Make group invites work 2017-08-16 14:58:30 +01:00
David Baker
252ab208e4 Merge pull request #1300 from matrix-org/dbkr/userpicker
Refactor ChatInviteDialog to be UserPickerDialog
2017-08-16 14:29:07 +01:00
Michael Telatynski
14903274c0
Change OOO so that MELS generation will continue over hidden events
this fixes the scenario of N Member events, then an invisible event
e.g. (m.room.aliases) then more Member events. Pre hide-join-parts
this is how it worked.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-16 13:20:32 +01:00
David Baker
e1ddd3781d Merge branch 'dbkr/userpicker' into dbkr/group_userlist 2017-08-15 14:10:45 +01:00
David Baker
81273ec855 Move non-invite specific stuff to UserAddress 2017-08-15 13:42:23 +01:00
David Baker
bbcf7e1d9b s/inviteList/userList/ 2017-08-15 13:30:13 +01:00
David Baker
a15c2100d1 Sort out right panel callapsing on GroupView 2017-08-15 13:12:39 +01:00
David Baker
fa660c8211 PR feedback 2017-08-15 10:57:24 +01:00
David Baker
64f352dda7 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-15 10:49:07 +01:00
Luke Barnard
004cc42cfc Merge pull request #1298 from matrix-org/luke/store-history-as-raw-content
Store history as raw content
2017-08-15 09:18:22 +01:00
Luke Barnard
6baca05968 Merge pull request #1297 from matrix-org/luke/fix-user-pill-onclick
Add onClick to user pills
2017-08-15 09:15:50 +01:00
David Baker
b7b449434d Lint 2017-08-15 09:10:13 +01:00
David Baker
1b66e88b6e ChatInviteDialog -> UserPickerDialog pt 2
The other changes I forgot to add
2017-08-14 17:43:00 +01:00
David Baker
447aa1e5a0 Refactor ChatInviteDialog to be UserPickerDialog
Now it's just a means of choosing users and all the actual inviting
functionality is moved out to Invite.js. This will allow us to
reuse it for inviting to groups.

Adds the ability to restrict what types of addresses may be chosen,
although this isn;t used yet, it will be necessary for groups
because groups don't support 3pid invites.
2017-08-14 17:38:59 +01:00
Luke Barnard
6b1b643d41 Merge branch 'develop' into luke/store-history-as-raw-content 2017-08-14 16:42:22 +01:00
Luke Barnard
7d10a7556b Merge pull request #1295 from matrix-org/luke/fix-emoji-picker-gone
preventDefault when moving autocomplete selection with vertical arrow
2017-08-14 16:37:32 +01:00
Luke Barnard
5eff2a3df2 Merge branch 'develop' into luke/fix-user-pill-onclick 2017-08-14 16:32:01 +01:00
Luke Barnard
e48c4911b8 Merge pull request #1294 from matrix-org/revert-1290-luke/fix-user-url-no-middle-panel
Revert "At /user, view member of current room"
2017-08-14 16:31:24 +01:00
Luke Barnard
0079e70006 Display RM when it = a standalone member event
Standalone = not next to any member events in the timeline.

fixes vector-im/riot-web#4694
2017-08-14 15:40:49 +01:00
Luke Barnard
9742962d61 preventDefault when moving autocomplete selection with vertical arrow
Otherwise the composer selection updates, in turn hiding the autocomplete box - fixes vector-im/riot-web#4790
2017-08-14 15:16:13 +01:00
Luke Barnard
bb229d33a4 Add onClick to user pills
instead of using the converted matrix.to href. This is undesirable and a better solution would be to fix routing in Riot in general and then change user pills to do something like `/room/../member/@userId`.
2017-08-14 14:44:08 +01:00
Luke Barnard
2844b574d5 Re-add useful comment 2017-08-14 14:41:03 +01:00
Luke Barnard
b59de7964c Wait for first sync before dispatching view_user on /user
the RightPanel will be mounted once we're done doing the first sync, so wait until then and then dispatch a view_user. This is not very nice but it's what we do for view_room.
2017-08-14 14:37:49 +01:00
Luke Barnard
d9e8292a5e Revert "At /user, view member of current room" 2017-08-14 14:06:54 +01:00
Luke Barnard
3d5d7fa9c8 Lint 2017-08-14 13:59:12 +01:00
Luke Barnard
cbd8018ac8 Support semi-perma-disabling of lab features
Adding `override: true` will remove the feature from the labs section, and force Riot to always use the default value (i.e. ignoring localStorage). This is useful removing features entirely when they might be deliberately not working but we still want to do a release.
2017-08-14 12:26:31 +01:00
David Baker
02217c8bd2 Merge pull request #1290 from matrix-org/luke/fix-user-url-no-middle-panel
At /user, view member of current room
2017-08-11 10:49:22 +01:00
Richard Lewis
454ec40b00 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/appFixes 2017-08-11 10:35:20 +01:00
Richard Lewis
0323151bee Show a dialog if the maximum number of widgets allowed has been reached. 2017-08-10 23:53:43 +01:00
Luke Barnard
12966d06cd Merge pull request #1255 from matrix-org/t3chguy/i18n_analytics
un-i18n Modal Analytics
2017-08-10 15:35:46 +01:00
Luke Barnard
d3ba1f40dc Merge pull request #1272 from matrix-org/t3chguy/hide_other_events
allow hiding of avatar/display name changes
2017-08-10 15:35:11 +01:00
Luke Barnard
89254e77f4 When no member, use null roomId 2017-08-10 15:23:14 +01:00
Michael Telatynski
41843f021d
don't track two more potential risks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 15:21:01 +01:00
Michael Telatynski
56ea528f43
don't track error messages .2
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 15:17:52 +01:00
Michael Telatynski
ab3abd2f7f
fix string casing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:59:55 +01:00
Michael Telatynski
b19c1010aa
Merge branches 'develop' and 't3chguy/i18n_analytics' of github.com:matrix-org/matrix-react-sdk into t3chguy/i18n_analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	src/Analytics.js
2017-08-10 13:54:55 +01:00
Michael Telatynski
67f9c3774d
make string more human-friendly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:51:47 +01:00
Michael Telatynski
24599ace32
don't track error messages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:49:11 +01:00
Marcel
60c1ba4f4d Add LanguageDropdown to LoginPage (#1284) 2017-08-10 13:29:10 +01:00
Luke Barnard
07633fe67f At /user, view member of current room
With the fallback of existing behaviour, which is UserView (no middle panel and no avatar, display name).

To improve, MemberInfo should probably track the current roomId and userId and then update the view asynchronously by re-fetching the member object when either roomId or userId change.

Also, it should be hitting the profile API to get the user's avatar if a room hasn't been specified.
2017-08-10 13:12:50 +01:00
Luke Barnard
b2fd4be166 Merge pull request #1289 from matrix-org/luke/fix-quote-innerText
Quote by taking the innerText of eventTiles
2017-08-10 10:35:49 +01:00
Luke Barnard
678c472b75 Quote by taking the innerText of eventTiles
because using `body` gives inconsistent results - sometimes it will contain markdown and sometimes not, and this may not correspond with the `formatted_body`.

TODO: Do quoting proper - using `in_response_to`.
2017-08-10 10:14:14 +01:00
Luke Barnard
390e77ee22 Merge pull request #1288 from matrix-org/luke/track-richtext-mode
Track whether the user has richtext mode enabled
2017-08-10 09:31:09 +01:00
Luke Barnard
fc6977e68d Track RT mode once we've retrieved the setting from account data 2017-08-09 19:00:38 +01:00
Luke Barnard
e121440d05 Track whether the user has richtext mode enabled 2017-08-09 18:39:06 +01:00
David Baker
f4092cc9b4 Merge pull request #1287 from matrix-org/luke/fix-hide-autocomp-on-selection-change
Hide autocomplete when RTE selection state (cursor) changes
2017-08-09 18:21:25 +01:00
David Baker
4daf9064d9 Convert to API objects
& remove redundant power label
2017-08-09 18:15:31 +01:00
Luke Barnard
794bf820cc Merge pull request #1259 from matrix-org/t3chguy/fix-select-mxid-dialog
Fix Set MXID Dialog woes
2017-08-09 17:53:50 +01:00
Luke Barnard
2d47d3d2c3 Hide autocomplete when RTE selection state (cursor) changes 2017-08-09 17:36:35 +01:00
Michael Telatynski
579090a4e3 add comment 2017-08-09 16:37:38 +01:00
Richard Lewis
185379b037 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/appFixes 2017-08-09 14:07:45 +01:00
David Baker
c1546ceb59 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-09 13:46:15 +01:00
Richard Lewis
4bc25f12cb Move manage integrations button in to stand-alone component 2017-08-09 11:44:24 +01:00
Luke Barnard
610b2a3a42 For mentions, always use rawDisplayName and remove (IRC) 2017-08-09 10:40:06 +01:00
Richard van der Hoff
38114711fd Make MatrixChat do fewer render cycles during mount
This is mostly with the intent of making the login tests more reliable, but it
seems generally worthwhile:

* keep screenAfterLogin in the object props rather than `state` so that we can
  clear it without triggering a rerender

* also move our record of the window width to the object props, and call
  `handleResize` from componentWillMount rather than componentDidMount so that
  we don't trigger a rerender by updating `state.width`

* Remove update of unused `loading` state
2017-08-08 22:31:40 +01:00
David Baker
8426ada24c Merge pull request #1282 from matrix-org/rav/show_unencrypted_messages_as_unencrypted
Show unencrypted messages as unencrypted
2017-08-08 18:11:56 +01:00
Richard van der Hoff
da85cb9f45 Show unencrypted messages as unencrypted
Previously, we were special-casing outgoing messages such that they were shown
as encrypted even when encryption had failed for some reason.

There's no need for this: outgoing messages have a working isEncrypted() method
which we can use to show whether the event has been encrypted yet. Arguably we
could do better than an open padlock for events in the 'encrypting' send state,
but I'm not really sure what.
2017-08-08 17:49:41 +01:00
David Baker
b76b6791b2 Merge pull request #1279 from matrix-org/luke/fix-quoting-messages-with-mentions
Always use message `body` when quoting
2017-08-08 17:47:25 +01:00
Luke Barnard
cb8a66b5a1 When hideing autocomplete, also remove completion state 2017-08-08 17:25:11 +01:00
Luke Barnard
503fa6a7b3 Always use message body when quoting
(not formatted_body)

This is because draft-js has regressed with a bug that causes some entities to not exist within a given ContentState - see vector-im/riot-web#4756
2017-08-08 14:59:56 +01:00
David Baker
ca2273519d Merge pull request #1277 from matrix-org/luke/feature-pills-hide-avatar-setting
Add optional setting for hiding avatars in <Pill>s
2017-08-08 14:01:34 +01:00
Luke Barnard
bef6726290 Lint 2017-08-08 13:42:51 +01:00
Luke Barnard
91a1cc4431 Mandate ctrl/meta ONLY for a subset of key bindings
Because by default dratf-js doesn't check that other modifiers are _not_ pressed.
2017-08-08 13:36:43 +01:00
Luke Barnard
b08d32371d Add optional setting for hiding avatars in <Pill>s
As part of https://github.com/vector-im/riot-web/issues/4640#issuecomment-316659445
2017-08-08 11:13:29 +01:00
Luke Barnard
7018deee44 Fix ctrl+a, backspace toggling block format
Now it will delete the selected range (and not toggle the block format). Fixes vector-im/riot-web#4753
2017-08-07 17:16:42 +01:00
Luke Barnard
641fda0162 Adjust comment 2017-08-07 16:29:22 +01:00
Luke Barnard
d9d8f2055f Allow default for ctrl+shift+b, ctrl+shift+u in RTE
fixes vector-im/riot-web#4750
2017-08-07 16:23:37 +01:00
Richard Lewis
18ae5fd129 Send messages on widget addition and deletion 2017-08-06 11:01:14 +01:00
Richard Lewis
308d932b2f CancelClick prop. 2017-08-06 10:29:43 +01:00
Richard Lewis
a22e768343 Move room settings button to RoomHeader 2017-08-06 10:01:48 +01:00
Michael Telatynski
c4803c6d89
suppressOnHover for member entity tiles which have no onClick
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-05 13:01:19 +01:00
Richard Lewis
1973b2bbe7 Switch app drawer icons 2017-08-05 00:00:19 +01:00
Michael Telatynski
ffdffb643d
allow hiding of avatar/display name changes 2017-08-04 17:22:01 +01:00
David Baker
234a88c098 WIP group member list/tiles 2017-08-04 15:00:34 +01:00
Luke Barnard
a27eefd893 Fix a couple of more errors due to API changes 2017-08-03 15:20:44 +01:00
Luke Barnard
901cbf495d Update decorator strategy API in accordance with recent changes to 0.11.0
See 590cdc6c54, which is a change to the API not mentioned in the migration to v0.10 notes https://draftjs.org/docs/v0-10-api-migration.html
2017-08-03 12:02:29 +01:00
Luke Barnard
1d1cd5f691 Reflect API change for decorator strategy 2017-08-03 11:36:07 +01:00
Luke Barnard
fb5dc295aa Reflect API change for getting an Entity 2017-08-03 11:29:26 +01:00
Luke Barnard
124795006c Reflect API change for creating an Entity 2017-08-03 11:18:56 +01:00
David Baker
fe19dbee02 Remove unused component 2017-08-03 09:26:41 +01:00
Richard Lewis
5752345b80 Merge pull request #1263 from matrix-org/rxl881/warnings
Display warning if widget is mixed content
2017-08-02 17:30:46 +01:00
Richard Lewis
7599bde1f6 Fix logging line length. 2017-08-02 17:05:46 +01:00
Kegan Dougal
c914f1607b scalar-develop is a scalar URL 2017-08-02 14:35:14 +01:00
Michael Telatynski
6e39e72849
fix m.federate always being false because value is a string. Y HTML...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-02 14:00:24 +01:00
Michael Telatynski
e9afcec5b2
fix m.federate=false warning in room settings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-02 13:42:24 +01:00
Michael Telatynski
4b4b730233
fix and i18n the impl
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-02 13:41:26 +01:00
Michael Telatynski
fd454b476a
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into set_default_federate_by_settings 2017-08-02 12:15:00 +01:00
Richard Lewis
48faf72fdc Disable eslint rule 2017-08-01 21:00:18 +01:00
Richard Lewis
2ab6bc84a7 Improve clarity 2017-08-01 17:49:41 +01:00
Richard Lewis
f0224460d2 Fix comparison and handle case where app has permission to load but content is mixed protocol. 2017-08-01 17:48:02 +01:00
Richard Lewis
d29610bdd2 Fix boolean comparison. 2017-08-01 17:45:06 +01:00
Richard Lewis
f57b0d4cc7 Fix invalid translation 2017-08-01 17:43:38 +01:00
Richard Lewis
bc4d979d1e Display warning if widget is mixed content 2017-08-01 17:29:29 +01:00
Luke Barnard
a40a86669a Merge pull request #1260 from matrix-org/luke/fix-rte-pills-not-updating
Use componentWillReceiveProps to update pill state when props change
2017-08-01 16:30:25 +01:00
Luke Barnard
630c2968eb Use componentWillReceiveProps 2017-08-01 16:20:32 +01:00
Luke Barnard
71abd3aff8 Revert setting of key 2017-08-01 16:14:12 +01:00
Luke Barnard
7fcb8c5ff0 Merge pull request #1261 from matrix-org/luke/fix-agressive-emoji-auto-replace
Only auto-replace emoji following ^ or \s
2017-08-01 15:56:42 +01:00
Richard Lewis
546173d246 Fix scalar token 2017-08-01 15:53:42 +01:00
Luke Barnard
438b63bee2 Only auto-replace emoji following ^ or \s
So as not to cause issues when typing e.g. `This is what was tested: ` (the "d:" used to be transformed into an emoji)
2017-08-01 14:26:30 +01:00
Luke Barnard
9e71ba26c4 Add key prop to RTE decorated entities (Pills and links)
This will cause a re-render when the URL of the pill/link changes.

fixes vector-im/riot-web#4718
2017-08-01 13:51:08 +01:00
Richard Lewis
abae43b65e Merge pull request #1257 from matrix-org/rxl881/widgetPermissions
Widget permissions
2017-08-01 12:13:09 +01:00
Richard Lewis
5f8e86197f Check that wurl is scalar, before checking for curl 2017-08-01 12:00:03 +01:00
Richard Lewis
596efb6062 Fix missing comma 2017-08-01 11:42:50 +01:00
Richard Lewis
15f39040a0 Simplify canUserModifyWidgets API 2017-08-01 11:39:17 +01:00
Michael Telatynski
62af06104d
resolve -> reject because semantics. 2017-07-31 14:22:05 +01:00
Michael Telatynski
f310d4446c
i18n the title of the set mxid dialog 2017-07-31 13:31:07 +01:00
Michael Telatynski
25d1d21d93
copy logic from RegistrationForm to detect invalid localparts 2017-07-31 13:28:43 +01:00
Michael Telatynski
4bdaa15c47
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/i18n_analytics 2017-07-28 21:01:59 +01:00
Richard Lewis
a310ff3bab Add ToDo item. 2017-07-28 18:21:23 +01:00
Richard Lewis
6aa1d923ce Add comment 2017-07-28 16:48:13 +01:00
Richard Lewis
9935dd0051 Add comment to explain "fullWidth" component porperty. 2017-07-28 16:46:21 +01:00
Richard Lewis
8529a21f5c Translate "Allow" 2017-07-28 16:42:07 +01:00
Richard Lewis
700ef34e95 Translate warning 2017-07-28 16:39:18 +01:00
Richard Lewis
4308d2c635 Inline setState. 2017-07-28 16:36:06 +01:00
Richard Lewis
50ad80ad86 Use ES6 style import 2017-07-28 16:24:32 +01:00
Richard Lewis
2e6fb1f956 Fix license header 2017-07-28 16:23:49 +01:00
Richard Lewis
6238c1d704 Fix default prop initialisation 2017-07-28 16:23:38 +01:00
Luke Barnard
8a5f2bf2ca Interpret a split-block as format toggle for an empty block
(`split-block` is emitted when "return" is pressed)

part of fixing https://github.com/vector-im/riot-web/issues/4580
2017-07-28 14:46:57 +01:00
Richard Lewis
aff1cd9469 Add allow-presentation permission to iframe sandbox permissions 2017-07-28 11:14:04 +01:00
Richard Lewis
11335b1488 Rename variable to curlBase, for clarity 2017-07-28 10:18:06 +01:00
Richard Lewis
e1d9301eb4 Strip query parameters from content URLs 2017-07-28 10:01:58 +01:00
Richard Lewis
d69c9a36b3 Factor out check permissions code. 2017-07-27 23:38:26 +01:00
Richard Lewis
20a1693c71 Only display add app link if user has permission to add widgets in the room. 2017-07-27 23:38:02 +01:00
Richard Lewis
5e23d676b4 Remove comments. 2017-07-27 23:05:43 +01:00
Richard Lewis
51d160e7d6 Hide edit button when user does not have permission to edit. 2017-07-27 20:18:31 +01:00
Luke Barnard
6cb8b12cda Instead of inserting MD for completion, convert the Entity later
This makes sure that the length of the range for a completed Entity = the length of the text in the decoration, which apparently draftjs assumes when calculating selection state offsets.

Fixes https://github.com/vector-im/riot-web/issues/4666
2017-07-27 18:17:41 +01:00
Richard Lewis
ab7fcbb5e7 Add function to determine if a user can modify widgets and style UI components as a result. 2017-07-27 18:10:28 +01:00
Richard Lewis
27923e300c Add JSX wrapper. 2017-07-27 17:47:04 +01:00
Michael Telatynski
bf98c0da7c
un-i18n Modal Analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-27 17:19:18 +01:00
Richard Lewis
9ee1f3962d Set display URL from wurl if curl not specified. 2017-07-27 16:42:29 +01:00
Richard Lewis
8e4f1f0989 Add message spinner. 2017-07-27 16:41:52 +01:00
Richard Lewis
f2058e0a6c Add message spinner component. 2017-07-27 16:41:20 +01:00
David Baker
92746f8cb5 Merge pull request #1254 from matrix-org/luke/fix-join-command
Fix /join #alias command in markdown mode
2017-07-27 15:43:02 +01:00
Luke Barnard
5c7891a25b Remove logs 2017-07-27 15:26:36 +01:00
Luke Barnard
e71df44fc9 Fix /join #alias command in markdown mode
Tab-completing a room alias inserts a markdown link, which is now stripped before a command is parsed. We also strip the MD links when doing the autocompletion itself (getAutocompleteQuery).

There is still an issue where `/invite` will not work at all with tab-completion - the text of a user Pill is not the userID but rather the display name, which cannot be used as an argument to the command.
2017-07-27 15:18:06 +01:00
Luke Barnard
dff79c4688 Only apply room pills to matrix.to room links, exclude event links
This fixes https://github.com/vector-im/riot-web/issues/4680
and fixes https://github.com/vector-im/riot-web/issues/4670
2017-07-27 13:01:40 +01:00
Luke Barnard
4d4078be7e Remove disambiguation from pills 2017-07-27 10:54:23 +01:00
Luke Barnard
f19fade448 Strip " (IRC)" from display names inserted into the timeline 2017-07-27 10:50:41 +01:00
Luke Barnard
c4f049effe Merge pull request #1243 from matrix-org/t3chguy/hide-join-part-2
T3chguy/hide join part (attempt) 2
2017-07-26 17:15:43 +01:00
David Baker
9cb28ff33c Merge pull request #1248 from matrix-org/luke/fix-rte-auto-scroll
Scroll to the bottom of editor if on last line
2017-07-26 16:58:36 +01:00
Richard Lewis
9f52c13bea Grant permission to load app widget. 2017-07-26 16:47:58 +01:00
Michael Telatynski
2348c24369
revert the rm-always-moves-down loop as thats done Server side... 2017-07-26 14:33:48 +01:00
Michael Telatynski
3eb87e2aa3
change lastShownEventIndex -> lastShownEvent since some places
do not have the same i reference (namely MELS generation)
this way a member event at bottom of MELS (if is the last event
in the timeline will have last set appropriately)
2017-07-26 12:17:05 +01:00
Michael Telatynski
f42ae1662b
change wording of comment as per Luke's review 2017-07-26 11:46:59 +01:00
Richard Lewis
76f4f88fcd App tile permissions -- broken 2017-07-26 11:28:43 +01:00
David Baker
7469a9ae2a Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-07-25 17:20:16 +01:00
Luke Barnard
fc00eaf546 Merge branch 'develop' into luke/store-history-as-raw-content 2017-07-25 17:19:35 +01:00
Luke Barnard
1ef2a2bcf9 Merge pull request #1250 from matrix-org/dbkr/fix_truncatedlist_i18n
Fix i18n on truncatedlist & friends to be sane
2017-07-25 16:17:44 +01:00
David Baker
fa7a9818c6 Fix i19n on truncatedlist & friends to be sane
Use the proper counterpart tool for plurals rather than if > 1.
Fix up all the translation files respectively.
2017-07-25 15:59:06 +01:00
David Baker
c2034d5335 Add user list to groups 2017-07-25 15:56:16 +01:00
Luke Barnard
7e0fecbc8c Scroll to the bottom of editor if on last line
Make the MessageComposerInput scroll to the bottom if we are on the last line of the contents.

fixes https://github.com/vector-im/riot-web/issues/4652
2017-07-25 15:22:10 +01:00
Luke Barnard
eccdceae33 Rename props to entityProps for clarity 2017-07-25 11:43:12 +01:00
Luke Barnard
143994e44f Use data-offset-key in RTE decorators
This makes sure the selection state is correct when moving the cursor through an entity in the composer but only in rich text mode. https://github.com/vector-im/riot-web/issues/4666 still persists despite this, probably because the text content inserted during a completion in markdown mode has a different length to the text node within the entity.

fixes vector-im/riot-web#4654
2017-07-25 11:25:33 +01:00
Luke Barnard
b372e5d55d Merge pull request #1246 from matrix-org/luke/feature-async-pills
Get user pill profile remote data and show unrecognised rooms as links
2017-07-25 10:21:55 +01:00
Luke Barnard
76e281662b Merge pull request #1229 from matrix-org/dbkr/groupview_edit
UI for editing groups
2017-07-25 10:13:49 +01:00
Luke Barnard
11f3a1db72 Merge branch 'luke/feature-async-pills' of github.com:matrix-org/matrix-react-sdk into luke/feature-async-pills 2017-07-25 09:37:47 +01:00
Luke Barnard
ac597996e0 Remove outdated comment 2017-07-25 09:37:18 +01:00
Luke Barnard
026582bcf7 Add unmounted guard 2017-07-25 09:22:08 +01:00
Luke Barnard
5efd5bf927 done -> then, style 2017-07-25 09:20:14 +01:00
Luke Barnard
d13c4b510c Merge branch 'develop' into luke/feature-async-pills 2017-07-24 17:39:35 +01:00
Luke Barnard
bcd1ab5cd4 Merge pull request #1245 from matrix-org/luke/feature-mentions-ambiguate
Remove disambiguation from user mentions, add tooltip for mxid
2017-07-24 17:36:42 +01:00
Luke Barnard
61c16569cb Get user pill profile remote data
Instead of relying on the local avatar/displayname of a user, request the data from the server and update the pill if it shows up.

This required a slight refactor which means we're not doing everything in `render` now. Also I noticed unknown rooms weren't being rendered _at all_! So now you get something that looks like a normal link but with the room alias/ID in it.
2017-07-24 17:18:29 +01:00
Luke Barnard
727b1ca545 Remove disambiguation from user mentions, add tooltip for mxid
Also add a tooltip for room pills = room alias/ID

Requires: https://github.com/matrix-org/matrix-js-sdk/pull/513
2017-07-24 15:08:22 +01:00
Luke Barnard
dc09ad8db4 Re-add NL 2017-07-24 14:50:44 +01:00
Luke Barnard
6945fa54ea Reimplement so that only tab-completed mentions are stripped
Instead of blindly stripping all MD mentions, only strip those that were tab-completed. We do this by adding the `isCompleted` flag to the Entity data.
2017-07-24 14:41:13 +01:00
Luke Barnard
397201a74d Remove subjective comment 2017-07-24 09:41:46 +01:00
Michael Telatynski
8e66e64621
fix for loop - check happens before pre-inc so cause issues at end of TL
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 13:16:16 +01:00
Michael Telatynski
c9b547368b
add algo to ensure that RM always moves forwards
this is needed so that if a client which does not hide any events
sets and RM at bottom of timeline, then riot-web which hides events
sets the RM it'd set it at X-N where X is bottom and N is the amount of
hidden events at bottom of the timeline, this way now an RM will
fall through to the hidden events below a seen event.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 13:10:57 +01:00
Michael Telatynski
a4abd1baa7
fix comment and remove unused const
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 12:03:32 +01:00
Michael Telatynski
ae973e1e99
unrevert some more...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 11:37:21 +01:00
Michael Telatynski
7e355f7cda
unrevert most of the logic.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 23:18:18 +01:00
Michael Telatynski
1fa4fe0b9a
remove comments/commented code
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 22:51:31 +01:00
Michael Telatynski
5808fce60e
fix logic ordering
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 22:45:19 +01:00
Michael Telatynski
17758cd1db
attempt to incorporate more code #2
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 20:43:03 +01:00
Michael Telatynski
e47e14ed19
attempt to incorporate more code #1
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 20:22:01 +01:00
Michael Telatynski
928294eba3
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/hide-join-part-2 2017-07-21 19:23:42 +01:00
Luke Barnard
e315b30f6a Merge branch 'develop' into luke/fix-rte-pt-md-mentions 2017-07-21 18:06:31 +01:00
Luke Barnard
eb0575d9c1 Merge pull request #1241 from matrix-org/luke/refactor-pills
Factor out shared logic in two code-paths for pill rendering
2017-07-21 17:54:20 +01:00
Luke Barnard
feaafc7a1a Remove logging 2017-07-21 17:18:48 +01:00
Luke Barnard
e8495f637f Strip MD mentions from the body of sent messages
Because previously we just sent the display name and MD links are not very readable.
2017-07-21 16:38:31 +01:00
David Baker
f9cff50ef5 _loadGroupFromServer doesn't return a promise 2017-07-21 14:41:29 +01:00
David Baker
d48924e768 Lint 2017-07-21 14:30:09 +01:00
David Baker
be7228996a This should be null rather than false 2017-07-21 14:18:28 +01:00
David Baker
4eda2ab083 Swap classes instead of using 0 height elements 2017-07-21 14:13:57 +01:00
Luke Barnard
7db7192701 Factor out shared logic in two code-paths for pill rendering
This isn't an entirely side-effect-free refactoring:
 - the text of the timeline pills is now either the room ID/alias or user ID/ display name of the linked resource (which means that until we do a roundtrip to get user displaynames, mentions for users not in the current room will have their user IDs shown instead of what was in the link body).
 - timeline links to rooms without avatars are now rendered as links
 - fixed issue that would throw an error whilst rendering (i.e. unusable client) a room link to a room that the client doesn't know about
2017-07-21 14:07:48 +01:00
David Baker
3c44af11f7 Revert changes to ChangeAvatar
This component was basically adding nothing for group editing
2017-07-21 14:06:08 +01:00
David Baker
f2afd852d8 Make group editing work 2017-07-21 14:03:10 +01:00
Richard Lewis
b589fcc3b0 Merge pull request #1240 from matrix-org/rxl881/deleteWidgets
Hide widget panel while it is being deleted.
2017-07-21 11:14:42 +01:00
David Baker
571fada77e Make group profile editing mostly work
apart from avatars
2017-07-21 11:12:15 +01:00
Luke Barnard
bac22cfb7c Re-add removal of (IRC) suffix 2017-07-20 18:04:12 +01:00
Luke Barnard
08cc0c421d insert_displayname -> insert_mention 2017-07-20 18:02:54 +01:00
Luke Barnard
0cc890c020 WIP store history as raw content state
Not sure this solves any problems because we still have to convert from md and back
2017-07-20 18:01:39 +01:00
Luke Barnard
0600c5b049 Pretend that insert_displayname is a completion on that user
This has the advantage of us not reimplementing things and fixing the same bugs twice.
2017-07-20 16:46:53 +01:00
Luke Barnard
4bee9bd8c7 Merge branch 'develop' into luke/feature-rte-insert-pills-on-click-tl-profile 2017-07-20 15:48:38 +01:00
Luke Barnard
0419eff230 Insert pill onClick of timeline profile
When clicking someone in the timeline, insert a user pill instead of the plaintext "displayname:"
2017-07-20 15:46:36 +01:00
Luke Barnard
26b16b076c Merge pull request #1238 from matrix-org/luke/fix-rte-md-mentions
Insert MD links when autocompleting in MD mode
2017-07-20 15:32:36 +01:00
Luke Barnard
e893f994e1 Default to first room alias and then roomID 2017-07-20 15:17:07 +01:00
Luke Barnard
84fe51a162 Insert MD links when autocompleting in MD mode
These will appear decorated because they are inserted as entities. It was necessary to modify pills to have an explicit linkText that is derived from the `href` being pillified (and is thus no longer the inserted completion but rather the display name (or user ID) or room alias.
2017-07-20 15:09:59 +01:00
Richard Lewis
563f5f7bac Merge pull request #1226 from matrix-org/rxl881/beta
Show beta testing icon and help message for widgets tile.
2017-07-20 14:04:53 +01:00
Luke Barnard
352f70f9ce Implement old composer feature that inserts ': ' or ' '
after a user completion
2017-07-20 11:52:18 +01:00
Richard van der Hoff
0e8ad75248 Merge pull request #1233 from matrix-org/rav/async_crypto
Prepare for asynchronous e2e APIs
2017-07-19 21:11:36 +01:00
Luke Barnard
2f293adad5 Fix userId undefined in pillifyLinks 2017-07-19 18:21:26 +01:00
Luke Barnard
ecaf6e5223 Merge pull request #1234 from matrix-org/luke/feature-mention-pill
Add mx_UserPill_me class to user pills that match credentials.userId
2017-07-19 17:56:24 +01:00
Luke Barnard
61d5d078dd Merge pull request #1235 from matrix-org/luke/fix-rte-inline-code-format
Mimic ctrl+j of RT mode in MD mode
2017-07-19 17:44:56 +01:00
Luke Barnard
5d1b33d2a8 Merge branch 'develop' into luke/feature-mention-pill 2017-07-19 17:22:03 +01:00
Luke Barnard
3a53fabb87 Merge pull request #1228 from matrix-org/luke/feature-auto-complete-matrixto-pills
Implement composer completion user/room pill insertion
2017-07-19 17:19:47 +01:00
Luke Barnard
29b6d70aff Merge branch 'develop' into luke/fix-rte-inline-code-format 2017-07-19 17:19:25 +01:00
Luke Barnard
d179398cf2 Merge pull request #1227 from matrix-org/luke/feature-matrixto-timeline-pills
Decorate matrix.to anchor tags as mx_UserPill and mx_RoomPill
2017-07-19 17:17:48 +01:00
Luke Barnard
28c98d93d1 Mimic ctrl+j of RT mode in MD mode
by inspecting whether multiple lines are selected or the selection is empty. If either of these are true, insert a code block surrounding the selection, otherwise insert single backticks around the selection for inline code formatting.
2017-07-19 16:13:47 +01:00
Luke Barnard
b131637a11 Add mx_UserPill_me class to user pills that match credentials.userId 2017-07-19 11:00:26 +01:00
Richard van der Hoff
4998d1b359 Prepare for asynchronous e2e APIs
the js-sdk is making some of its APIs asynchronous, and adding an `initCrypto`
method which you have to call.

Particular methods we need to worry about are:

* `getStoredDevice`
* `getStoredDevicesForUser`
* `getEventSenderDeviceInfo`
* `isEventSenderVerified`
2017-07-18 23:47:36 +01:00
Luke Barnard
98ca937fef Interpret backspace at start of style block as block style toggle
Part of fixing https://github.com/vector-im/riot-web/issues/4580
2017-07-18 17:52:04 +01:00
Luke Barnard
d207ee5244 Expand groups into variables with readable names 2017-07-17 19:31:36 +01:00
David Baker
859239f881 Lint / comment out line correctly 2017-07-17 18:13:20 +01:00
David Baker
7041106bf2 Merge remote-tracking branch 'origin/develop' into dbkr/groupview_edit 2017-07-17 17:23:02 +01:00
David Baker
6f65128928 Disable edit button again
until we have an API to edit group profile info
2017-07-17 17:18:46 +01:00
David Baker
1cd79fc918 Rename group settings to 'Edit Group' 2017-07-17 17:17:18 +01:00
Luke Barnard
29757fcf11 Merge branch 'luke/feature-matrixto-timeline-pills' into pills 2017-07-17 16:43:46 +01:00
Luke Barnard
897ff05d87 Implement composer completion user/room pill insertion
This modifies the composer completion such that completing a room or user will insert an IMMUTABLE matrix.to LINK Entity for the range that was replaced. Display names will not have a colon after their name anymore as it seemed strange that we would insert one after a pill.
2017-07-17 15:53:29 +01:00
Luke Barnard
b1e3dc406c Decorate matrix.to anchor tags as mx_UserPill and mx_RoomPill
Requires https://github.com/vector-im/riot-web/pull/4597 to look OK
2017-07-17 14:50:45 +01:00
David Baker
a32113ad97 Add onChange handlers & tabIndexes 2017-07-17 14:40:38 +01:00
Richard Lewis
6aa0f68ee9 Show beta testing icon and help message for widgets tile. 2017-07-14 23:31:57 +01:00
Luke Barnard
ee5117525c Merge pull request #1225 from matrix-org/luke/feature-rte-pills
Decorate http://matrix.to links in the composer as pills
2017-07-14 17:47:16 +01:00
David Baker
f6f80bf9ce Remove now unused 'edit' block
And add some css classes
2017-07-14 17:22:17 +01:00
Luke Barnard
434660166c Decorate http://matrix.to links in the composer as pills
Any links in the composer that are recognised as matrix.to links will be decorated as `<span>`s with CSS classes (one of mx_UserPill or mx_RoomPill). This implementation has the nice bonus that switching to markdown (and back) will Just Work.

This will have some CSS changes coming to better match the design.
2017-07-14 17:04:28 +01:00
Richard van der Hoff
2a52c902e2 Merge pull request #1223 from matrix-org/rav/roomsettings_promise_usage
Fix RoomSettings save
2017-07-14 14:47:14 +01:00
Richard van der Hoff
9df1fb91ff Fix RoomSettings save
Looks like saving RoomSettings had been broken since 0d7cc59. `isFulfilled`
cannot be used as a static function.
2017-07-14 14:24:42 +01:00
Kegsay
5274cf59a0 Hook up the edit widget button (#1218)
* Hook up the edit widget button

* Review comments
2017-07-14 11:17:59 +01:00
Luke Barnard
219c00bbc3 Add code-block to the list of blocks where hitting return will split-block
Hitting return in a code-block will now split the block into two code blocks. (Holding shift will still insert a soft newline into the current block).

We still need to make it a bit more obvious that consecutive code-blocks
are not contiguous - https://github.com/vector-im/riot-web/issues/4535
2017-07-13 18:42:37 +01:00
David Baker
381f685013 Start on editing groups 2017-07-13 18:41:51 +01:00
Luke Barnard
d97de4d576 Implement disabled-by-default setting for auto-replacement of plaintext emojis
FTR a list of plaintexts and their unicode equivalents can be found here - https://github.com/vector-im/riot-web/issues/4554#issuecomment-314374303

Pressing space after a matching emoji will replace the plaintext emoji with the equivalent unicode emoji.
2017-07-13 17:37:43 +01:00
Luke Barnard
7fc10789fc Merge pull request #1217 from matrix-org/luke/fix-rte-html-links
Improve RTE HTML link handling
2017-07-13 13:57:58 +01:00
Luke Barnard
f1a4209d6b Fix indentation 2017-07-13 13:47:08 +01:00
Luke Barnard
5826b6f22a Instead of sending HTML for any Entity, only send HTML for Links
Otherwise emoji messages are sent as HTML, needlessly
2017-07-13 13:41:17 +01:00
Luke Barnard
be045a6dc0 Interpret whitespace after entity as the end of the entity
The easiest way to stop the user from inserting whitespace onto the end of an entity is to toggle the entity state of the whitespace that was just entered. This allows the user to continue drafting a message without editing the link content.

This is for pasted `<a>` tags that have been copied from a website. We probably also want to be storing entities for substrings of content that are determined to be URLs.
2017-07-13 13:28:51 +01:00
Luke Barnard
4b96963408 Send HTML if there are any entities present in the composer
This is so that pasted HTML links that are represented as entities are sent as HTML.
2017-07-13 13:27:49 +01:00
Luke Barnard
55e1202c09 Decorate pasted links so that they look like links
By default, draftjs will represent pasted `<a>` tags as `LINK` entities, but it doesn't do any default decoration of these links. Add a decorator to do so.

Most of this was taken from https://github.com/facebook/draft-js/blob/v0.8.1/examples/link/link.html (note the version, v0.8.1).
2017-07-13 13:26:13 +01:00
David Baker
2a68cce3d5 Merge pull request #1216 from matrix-org/dbkr/history_save_unload_nullcheck
Prevent exception on page unload
2017-07-13 12:38:28 +01:00
Richard van der Hoff
086304532e Merge pull request #1213 from matrix-org/rav/bluebird
Switch matrix-react-sdk to bluebird
2017-07-13 12:06:11 +01:00
David Baker
917133219f Remove sentHistory save altogether 2017-07-13 11:53:22 +01:00
Luke Barnard
ce0f9e8803 Merge pull request #1214 from matrix-org/luke/fix-rte-remove-old-disable-md-setting
Remove `disableMarkdown` setting
2017-07-13 11:33:42 +01:00
Luke Barnard
4d844ebc34 Merge pull request #1215 from matrix-org/luke/remove-old-composer
Remove MessageComposerInputOld
2017-07-13 11:33:23 +01:00
David Baker
1e80edb43c Prevent exception on page unload
Null check when saving sent history
2017-07-13 11:30:25 +01:00
Luke Barnard
04dd98e6e9 Remove references to tabComplete, which are now redundant
(since the old composer has been removed)
2017-07-13 10:16:59 +01:00
Luke Barnard
0e12e384cb Remove TabComplete-related files 2017-07-13 10:16:42 +01:00
Richard Lewis
9a1e7ad170 Hide widget panel while it is being deleted. 2017-07-13 00:27:03 +01:00
Luke Barnard
4cc8b5621d Merge pull request #1212 from matrix-org/luke/fix-ctrl-k
Enable ctrl+k room filter focus
2017-07-12 18:20:45 +01:00
Richard van der Hoff
33f330d434 Manual fixup for remaining q incantaions
* don't try to use `finally` as a static method
* work around absence of `allSettled`
2017-07-12 18:05:40 +01:00
Richard van der Hoff
0d7cc59d99 replace q method calls with bluebird ones
```
find src test -name '*.js' |
    xargs perl -i -pe 's/q\.(all|defer|reject|delay|try|isFulfilled)\(/Promise.$1(/'
```
2017-07-12 18:05:40 +01:00
Richard van der Hoff
0254d2b3a2 q(...) -> Promise.resolve
```
find src test -name '*.js' | xargs perl -i -pe 's/\b[qQ]\(/Promise.resolve(/'
```
2017-07-12 18:05:08 +01:00
Richard van der Hoff
a06bd84213 replace imports of q with bluebird
update `package.json`

```
find src test -name '*.js' |
   xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'

find src test -name '*.js' |
   xargs perl -i -pe 'if (/import [qQ]/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 18:05:08 +01:00
Luke Barnard
6ff924fc0d Remove MessageComposerInputOld 2017-07-12 18:03:13 +01:00
Luke Barnard
0585fa048f Remove disableMarkdown setting
This was used by the old composer to control whether to interpret text as markdown prior to sending.

The new setting is `MessageComposerInput.isRichTextEnabled`.
2017-07-12 17:35:19 +01:00
Luke Barnard
6547a55852 Update to reflect previous implementation
Which was originally a74bbb424c
2017-07-12 17:12:57 +01:00