Commit graph

5754 commits

Author SHA1 Message Date
Bruno Windels
5044d4f2d6 dont keep the spinner in the memberlist when fetching /members fails 2018-09-10 14:56:10 +02:00
Bruno Windels
0cd222ef0b make users available in member by requesting them from client right before
before this was already foreseen, but memberDict wasn't being refreshed
as it's only used in roomMembers(), I got rid of memberDict as well
2018-09-07 23:44:20 +02:00
Bruno Windels
7fe822ca17 Merge branch 'develop' into bwindels/dontupdatememberlistwhileloading 2018-09-07 23:43:25 +02:00
Bruno Windels
467cdd2f1f Merge branch 'develop' into bwindels/optimizememberlist 2018-09-07 18:32:13 +02:00
David Baker
877e949d1c
Merge pull request #2156 from matrix-org/bwindels/dontrefreshmembersforotherrooms
avoid memberlist refresh for events related to rooms other but the current
2018-09-07 13:57:29 +01:00
Bruno Windels
101dad83aa same for right panel 2018-09-07 14:16:26 +02:00
Bruno Windels
9cc9fbf924 avoid memberlist refresh for events related to rooms other but the current 2018-09-07 14:05:26 +02:00
David Baker
fa669bf096 Error on splash screen if sync is failing
Display an error on the splash screen with the spinner if the sync
request is not working, rather than just sitting there with a spinner
as if nothing is wrong.

Fixes https://github.com/vector-im/riot-web/issues/7148
2018-09-07 12:18:25 +01:00
Bruno Windels
fec7d2ee5f avoid updating the memberlist while the spinner is shown
the memberlist gets updated constantly while the LL members
are being added to the room state. this slows things down unneed, and is one of the
main cause of dropping frames when member arrive.
2018-09-07 12:00:19 +02:00
David Baker
c8ab8bf5f8
Merge pull request #2150 from matrix-org/dbkr/disable_ilag_if_unsupported
Do full registration if HS doesn't support ILAG
2018-09-06 16:23:32 +01:00
Bruno Windels
26df485607 Merge branch 'develop' into revert-2149-revert-2145-bwindels/fixllroompermission 2018-09-06 15:35:41 +02:00
David Baker
4c8d2de563
Revert "Revert "Don't rely on room members to query power levels"" 2018-09-06 11:48:23 +01:00
David Baker
9e64a22884 s/DidMount/WillMount/ in MessageComposerInput
This fixes the tests that broke with https://github.com/matrix-org/matrix-js-sdk/pull/717

This is because of https://github.com/vector-im/riot-web/blob/master/test/app-tests/joining.js#L63
which prevents the DOM nodes from actually ending up in the DOM, even though the react components
get rendered. This means that WillMount and WillUnmount are called, but not DidMount.

Using WillMount is more symmertrical anyway since the resulting teardown code must be in
WillUnmount (since there is no DidUnmount).
2018-09-06 11:44:13 +01:00
David Baker
27fa21e403 Replace view_set_mxid with require_registration
To put all the other flows through the to-ilag-or-not-to-ilag flow
2018-09-05 18:08:49 +01:00
David Baker
34d27954cf
Revert "Don't rely on room members to query power levels" 2018-09-05 18:03:48 +01:00
David Baker
a042f4d0af Do full registration if HS doesn't support ILAG
ILAG only works on HSes that allow registering without an email
address, so whenever we redirect to the ILAG flow, check what
registration flows the server supports, and if it doesn't offer one
that's ILAG-compatible, prompt the user to go through the full
registration process instead.

This doesn't change all the entry points into ILAG, I'll do that
in a separate commit.
2018-09-05 17:07:39 +01:00
Bruno Windels
8500a7131f avoid unneeded lookups in memberDict
have members be an array of RoomMember instead of userId, so
we can avoid multiple lookups when sorting, rendering, ...
2018-09-05 15:25:08 +02:00
Bruno Windels
50de22fb51
Merge pull request #2145 from matrix-org/bwindels/fixllroompermission
Don't rely on room members to query power levels
2018-09-05 13:07:55 +02:00
David Baker
4517eaba6f
Merge pull request #2148 from matrix-org/dbkr/dont_say_email_optional_if_it_isnt
Correctly mark email as optional
2018-09-05 11:31:19 +01:00
David Baker
e5b761b754
Merge pull request #2059 from matrix-org/t3chguy/join_community_fire_ilag_flow
guests trying to join communities should fire the ILAG flow.
2018-09-05 08:15:24 +01:00
David Baker
775d995052 Lint 2018-09-04 18:51:24 +01:00
David Baker
a07799879c Fix tests 2018-09-04 18:50:18 +01:00
David Baker
dc14a42148 Correctly mark email as optional
Look at the flows to see if there is one we can complete without
an email address. Mark the email address as optional iff there is.
2018-09-04 18:26:09 +01:00
Bruno Windels
bc97a3efb5
Merge pull request #2143 from matrix-org/bwindels/fixreconnectspinner
Fix: show spinner again while recovering from connection error
2018-09-04 16:40:30 +02:00
Bruno Windels
be66f98381 use room method for checking power levels
as it is always are of the syncing user's membership
in case of lazy loading members
2018-09-04 15:35:44 +02:00
Bruno Windels
5c395e4db7 wait for room creation, to go to home page in case of failure 2018-09-04 14:26:36 +02:00
Bruno Windels
1eabb6012a
Merge pull request #2139 from matrix-org/bwindels/memberlist-spinner
Show spinner in member list while loading members
2018-09-03 15:05:27 +02:00
Bruno Windels
cae419e304 avoid rerendering when LL is disabled 2018-09-03 11:13:56 +02:00
Bruno Windels
debcc20604 also show spinner on new CATCHUP state 2018-08-30 15:39:48 +02:00
David Baker
75a2668e42
Merge pull request #2141 from matrix-org/bwindels/fixdmavatar
Fix DM avatar
2018-08-30 11:45:54 +01:00
Bruno Windels
d7868dbe33 delegate avatar selection to room for rooms with two members (but not in m.direct) 2018-08-30 10:54:01 +02:00
David Baker
2c1ba6f104
Merge pull request #2124 from matrix-org/dbkr/tombstone
Support m.room.tombstone events
2018-08-29 18:38:48 +01:00
David Baker
6cbe4144d4 unused import 2018-08-29 18:28:16 +01:00
David Baker
c40ac49b2a Merge remote-tracking branch 'origin/develop' into dbkr/roomcreate 2018-08-29 18:18:08 +01:00
David Baker
bd0a9cf3a0 Merge remote-tracking branch 'origin/develop' into dbkr/room_upgrade 2018-08-29 15:51:07 +01:00
Bruno Windels
f9c40390e9 set state after setting _showPresence to avoid all members to appear offline on matrix.org 2018-08-29 11:09:55 +02:00
Bruno Windels
e9e5abfcc5 show a spinner in the memberlist while loading the members 2018-08-29 10:30:25 +02:00
Bruno Windels
cc0375fa66
Merge pull request #2137 from matrix-org/bwindels/fixllroomavatar
Fix: dont show 1:1 avatar for rooms +2 members but only <=2 members loaded
2018-08-28 15:35:19 +02:00
Bruno Windels
06160f5fae fix lint 2018-08-27 18:52:33 +02:00
Bruno Windels
6a077655e9 bring back old behaviour to also show member avatars if not marked as 1:1 room 2018-08-27 18:48:21 +02:00
Bruno Windels
36665d3c69 Fix: dont show 1:1 avatar for room with only 2 members loaded 2018-08-27 17:40:31 +02:00
David Baker
8fd7c4a66b Merge remote-tracking branch 'origin/develop' into matthew/e2e_backups 2018-08-24 14:07:16 +01:00
David Baker
c03abddd1c s/terms and conditions/legal/ 2018-08-24 11:38:38 +01:00
David Baker
18ed6eb63c Rener terms & conditions in settings
If configured in config file
2018-08-24 11:35:21 +01:00
David Baker
98dabe1a46
Merge pull request #2132 from matrix-org/bwindels/fixllcomposeravatar
Fix LL crash trying to render own avatar in composer when member isn't available yet
2018-08-23 12:41:18 +01:00
David Baker
06ffc70aa4
Merge pull request #2127 from matrix-org/dbkr/hide_replaced_rooms
Hide replaced rooms
2018-08-23 09:33:40 +01:00
David Baker
269670ed20
Merge pull request #2128 from matrix-org/dbkr/move_tiffany_check
Fix CPU spin on joining large room
2018-08-23 09:33:17 +01:00
David Baker
b34aad50bc
Merge pull request #2131 from matrix-org/dbkr/change_mau_server_notice_format
Change format of server usage limit message
2018-08-23 09:32:56 +01:00
Bruno Windels
37e60e4fc4 wait for members loading to finish to show the avatar in the composer 2018-08-23 00:02:20 +02:00
David Baker
3b0b836637 Change format of server usage limit message
As per https://github.com/matrix-org/matrix-doc/issues/1452 /
https://github.com/matrix-org/synapse/pull/3680/
2018-08-22 17:54:02 +01:00
David Baker
a5f98b6a29 Make the is-alone check use efficient methods 2018-08-22 17:05:36 +01:00
David Baker
f679acea08
Revert "Revert "Fix showing peek preview while LL members are loading"" 2018-08-22 16:35:58 +01:00
David Baker
bf7633250a
Revert "Fix showing peek preview while LL members are loading" 2018-08-22 16:16:17 +01:00
David Baker
852d6a3be5 Fix CPU spin on joining large room
checkIfAlone() filters the whole member list, which is fine until
we do it once for every membership event, then we have an n^2
problem. Move it into the rate limited function.

Fixes https://github.com/vector-im/riot-web/issues/7163
2018-08-22 14:34:02 +01:00
Bruno Windels
a54629276f use getJoinedMemberCount() instead of getJoinedMembers().length as the latter doesnt take LL into account 2018-08-22 14:08:18 +02:00
Bruno Windels
860c6355f0 do self membership checks with getMyMembership elsewhere as well 2018-08-22 14:06:28 +02:00
David Baker
b7570002e0 Hide replaced rooms
By using new getVisibleRooms() in js-sdk
2018-08-22 12:01:29 +01:00
Bruno Windels
c38b286e8e falsy check is obsolete now 2018-08-22 12:28:00 +02:00
Bruno Windels
01a0260ac8 use getMyMembership instead of member 2018-08-22 10:33:13 +02:00
David Baker
8d6d1be992 Typo 2018-08-21 16:40:04 +01:00
David Baker
7f8cd203a8 Support m.room.tombstone events
For https://github.com/vector-im/riot-web/issues/7164
2018-08-21 15:56:56 +01:00
David Baker
ab10b5493b Support room creation events
For https://github.com/vector-im/riot-web/issues/7164
2018-08-20 16:20:59 +01:00
David Baker
9f19896df0 Support for room upgrades
* Show when a room upgrade is needed
 * Dialog box to perform the upgrade
2018-08-17 14:54:43 +01:00
David Baker
94c7ae2bf5
Merge pull request #2098 from matrix-org/dbkr/destroy_widget
Destroy non-persistent widgets when switching room
2018-08-17 09:53:41 +01:00
David Baker
e3643bd74c Lint 2018-08-17 09:42:23 +01:00
Bruno Windels
cead4096d8
Merge pull request #2118 from matrix-org/bwindels/feature_lazyloading
Lazy loading of room members
2018-08-16 18:14:55 +02:00
David Baker
8567ce585b Factor out duplication of resource limit i18n 2018-08-16 13:31:17 +01:00
David Baker
7d690d98e3 Rename variable as it's now not just MAU 2018-08-16 10:35:27 +01:00
David Baker
9bde468e30 Shift to M_RESOURCE_LIMIT_EXCEEDED errors
With support for admin_contact and limit_type fields

For https://github.com/vector-im/riot-web/issues/7091
2018-08-15 17:03:54 +01:00
David Baker
c736ae7efb Copyright 2018-08-14 16:53:34 +01:00
David Baker
f20920718a Show room version number in room settings
Also change wording of the Room ID bit to match

Requires https://github.com/matrix-org/matrix-js-sdk/pull/689
For https://github.com/vector-im/riot-web/issues/7164
2018-08-14 14:28:30 +01:00
Bruno Windels
a86ca952b3 forgot to remove this 2018-08-14 09:38:43 +02:00
Bruno Windels
7dc92fe917 Avoid clearing e2e encryption keys, also avoid warning 2018-08-13 17:24:27 +02:00
Bruno Windels
84b74247e6 check if server supports lazy loading before enabling 2018-08-13 16:19:44 +02:00
David Baker
f7f62ba09d Lint 2018-08-13 14:04:08 +01:00
David Baker
d84ecbe97c s/m.server_notices/m.server_notice/ 2018-08-13 13:53:38 +01:00
David Baker
05bf200a72 Don't crash if scrollbars updated before init
The initialisation here is done on a timer to allow the DOM
elements to be in place before it's run, so it's possible for an
update to happen ebfore the initialisation. Stop & bail out if
there is no this.stickies.
2018-08-13 13:49:22 +01:00
Bruno Windels
28292c3388 implement PR feedback, move LL dialog to UserSettings 2018-08-13 11:14:30 +02:00
Bruno Windels
a02e1aa2b2 add action/method to flush storage and reload the session 2018-08-09 18:41:18 +02:00
Bruno Windels
308a6b419e allow a setting controller to validate and revert a change (asynchronously) 2018-08-09 16:56:02 +02:00
David Baker
16b7763c0e s/limit/limit_type/ 2018-08-07 17:22:12 +01:00
David Baker
6593ee09d1 Warning bar for MAU limit hit
Somewhat untested, sorry
2018-08-07 17:04:37 +01:00
Bruno Windels
1009bc43ae call method on room now to LL members 2018-08-07 14:47:06 +02:00
David Baker
f44cc8e66e
Merge pull request #2112 from matrix-org/dbkr/recognise_server_notices_room
Recognise server notices room(s)
2018-08-07 09:52:25 +01:00
David Baker
879cf24a50
Merge pull request #2111 from matrix-org/dbkr/room_tags_spec_update
Update room tags behaviour to match spec more
2018-08-07 09:52:01 +01:00
Bruno Windels
07083e61b7
Merge pull request #2058 from matrix-org/t3chguy/hide_logout_warning_whilst_logging_out
while logging out ignore `Session.logged_out` as it is intentional
2018-08-07 10:31:29 +02:00
David Baker
b5ce1ac5e1 Recognise server notices room(s)
and put them in their own section at the bottom
2018-08-06 18:00:40 +01:00
David Baker
b2302af708 Update room tags behaviour to match spec more
Fix Riot's behaviour with room tags after my cleanup in
https://github.com/matrix-org/matrix-doc/pull/1457 . Although, reading
it again, it's not clear how you're supposed to tell the difference
between a reverse-dns tag name and a legacy freeform text tag
(contains a '.'?) - I've left it detecting these as freeform text
for now.
2018-08-06 16:58:54 +01:00
David Baker
ccdb5fa770 Don't show 'connection lost' bar on MAU error
We don't need both warning bars

Requires https://github.com/matrix-org/matrix-js-sdk/pull/680
2018-08-03 18:02:09 +01:00
David Baker
cd18744101 unused import 2018-08-03 16:10:50 +01:00
David Baker
9a2155f1ad Oops, add file to right branch 2018-08-03 16:03:27 +01:00
David Baker
b5d2fa769c Support MAU error on sync
For https://github.com/vector-im/riot-web/issues/7091
2018-08-03 14:54:52 +01:00
David Baker
bc1d359398
Merge pull request #2106 from matrix-org/dbkr/chairman_mau_pt_2_message_send
Support active user limit on message send
2018-08-03 13:14:18 +01:00
Bruno Windels
f1643f77ac fix lint 2018-08-02 19:57:20 +02:00
David Baker
02019a58b3 Support active user limit on message send
For https://github.com/vector-im/riot-web/issues/7091
2018-08-02 17:09:04 +01:00
David Baker
bb9a3eb33d Support MAU limit error on register too 2018-08-02 16:09:57 +01:00
Bruno Windels
e1843601be support directional content in pill member fake 2018-08-02 17:09:18 +02:00
David Baker
cc58b06226 Support montly active user limit error on /login
The 'contact your service administrator' should be a link but we
don't have this info from the HS yet.
2018-08-02 14:25:17 +01:00
Bruno Windels
802efc7694 given the != join check, isInvite will never be true
Also, put comments in right order
2018-08-02 11:47:24 +02:00
Bruno Windels
b151956f7b Use room method to help with DM detection with fallback to summary heroes/counts. 2018-08-02 11:42:19 +02:00
Bruno Windels
908de56c6d replace getMember(myId).membership with getMyMembership
This works with rooms which haven't had their members
loaded yet.
2018-08-02 11:42:05 +02:00
David Baker
7875d37c8e Destroy non-persistent widgets when switching room 2018-08-01 15:01:11 +01:00
David Baker
f4c073ad45 Nest ifs to avoid unnecessary work 2018-07-27 18:58:11 +01:00
David Baker
e059a08d7b Make clicking on side panels close settings (mk 3)
Just do it by fixing the somewhat hacky logic to not break if the
target elements also have additional classes, like they do if the
toolbar is showing (I think it turns out this bug is only that it
doesn't work with the toolbar showing...)

Fixes https://github.com/vector-im/riot-web/issues/5658
2018-07-27 18:53:36 +01:00
David Baker
148308235d
Merge pull request #2092 from matrix-org/dbkr/reposition_jitsi
Fix persistent element location not updating
2018-07-27 14:51:29 +01:00
David Baker
1fe0f04986 Fix persistend element location not updating
As hopefully all explained in comment
2018-07-27 14:33:05 +01:00
David Baker
b6ebb0cc37
Merge pull request #2089 from matrix-org/t3chguy/slate_cont2
Slate Fixes 42?
2018-07-27 14:00:53 +01:00
Michael Telatynski
0174f67fe7
fix Devtools input autofocus && state traversal when len === 1 && key=""
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-26 18:20:09 +01:00
Michael Telatynski
f264075369
null-guard history properly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-26 17:11:32 +01:00
Michael Telatynski
265e4267b8
remove faulty onBlur/onFocus code which caused selection to rollback
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-26 15:00:43 +01:00
Bruno Windels
d87d34030a fix dm detection and conf call code with lazy loading 2018-07-25 16:10:49 +02:00
Bruno Windels
f79e2eae40 might not have loaded members here yet 2018-07-25 16:10:49 +02:00
Bruno Windels
33f5560666 move error message to caller of lazy loading 2018-07-25 16:10:49 +02:00
Bruno Windels
201332d96c move comment after rebase 2018-07-25 16:10:49 +02:00
Bruno Windels
af07d73432 hide lazy loading behind feature flag 2018-07-25 16:10:49 +02:00
Bruno Windels
866b4bb067 use isKicked method in preview bar 2018-07-25 16:10:49 +02:00
Bruno Windels
8c9ceca14f take into account lazy loading when enlarging avatar 2018-07-25 16:10:49 +02:00
Bruno Windels
e237a02fa5 use more consistent naming 2018-07-25 16:10:49 +02:00
Bruno Windels
6ff92ede8f this code actually never fires, so remove it
and that's ok because createRoom will already mark a DM as such
on the inviter's side. So here we just handle the invitees side.
2018-07-25 16:10:49 +02:00
Bruno Windels
19387805ac Don't assume RoomMember has a state event in direct chat detection
Instead call the method on the member that takes lazy loading into account
2018-07-25 16:10:49 +02:00
Bruno Windels
de3e143a8f only lazy load the members when viewing a joined room 2018-07-25 16:10:49 +02:00
David Baker
cf6ce0c1e2
Merge pull request #2082 from matrix-org/t3chguy/slate_cont2
Moar Slate Fixes
2018-07-24 17:34:20 +01:00
David Baker
c19a5bd2a8
Merge pull request #2084 from matrix-org/dbkr/store_destroy_persistent_widget
Make ActiveWidgetStore clear persistent widgets
2018-07-24 17:12:49 +01:00
David Baker
7044410a13 Move destroyPersistentWidget to store 2018-07-24 16:50:34 +01:00
David Baker
ec4c7ffb71 Make ActiveWidgetStore clear persistent widgets
ActiveWidgetStore is now reponsible for removing the current
persistent widget from the store if it's been removed from whatever
room it was in. As per comment, this leaves us with the store updating
itself in this case but in all other cases, views call setters on the
store to update its state. We should make it so the store keeps itself
up to date and views aren't responsible for keeping the store up to date.

The store now emits events so it can notify PersistentApp when it changes.

Fixes https://github.com/vector-im/riot-web/issues/7076
2018-07-24 16:21:43 +01:00
Michael Telatynski
923de17b91
allow passing initial is_url like hs_url in query params
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-24 16:10:46 +01:00
Michael Telatynski
fe3850d61f
Merge pull request #2078 from psaavedra/fix_render_in_CreateRoomDialog
CreateRoomDialog is rendered before getting the config default_federate
2018-07-24 16:03:26 +01:00
Michael Telatynski
020e714b85
fix focus and too many <p>s after a Event>Quote in RT mode
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-24 15:54:24 +01:00
Michael Telatynski
afa19cd60d
make clicking autocomplete suggestions work again
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-24 13:48:05 +01:00
Michael Telatynski
7c3873b449
fix @room pill href=undefined and @room parsing breaking subsequent pills
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-24 12:18:10 +01:00
David Baker
b8ca65627b
Merge pull request #2076 from matrix-org/t3chguy/slate_cont2
Slate Fixes
2018-07-23 17:25:51 +01:00
David Baker
6804647dda Destroy widget when its permission is revoked 2018-07-23 17:11:53 +01:00
Pablo Saavedra
77ab7d2589 CreateRoomDialog is rendered before get default_federate value
In React the order of the execution of mount and render functions
is: `componentWillMount --> render --> componentDidMount`

The `CreateRoomDialog` `render()` function is executed before than
the `componentDidMount()` function so the

  `this.defaultNoFederate = config.default_federate === false;`

; instruction which is executed in the `componentDidMount` function
(in `CreateRoomDialog`) is evaluated always after than the rendering
of the page.

Therefore, the obvious issue is that the values obtained from the
`SdkConfig.get()` function (`config.default_federate`) are obtained
later than their usage on `render()`.

This patch makes this change to fix the described issue:

* componentWillMount instead of componentDidMount

Signed-off-by: Pablo Saavedra <psaavedra@igalia.com>
2018-07-23 17:51:51 +02:00
David Baker
4f8ece53b2 Fix CSS naming 2018-07-23 15:58:07 +01:00
David Baker
5adcd673ab Fix persisent apps being the wrong size 2018-07-23 15:08:17 +01:00
David Baker
00f78822c5 Fix widgets resetting when going to the top-left
Remove the hash from the parentUrl because this change when we
change rooms.
2018-07-23 13:50:16 +01:00
Michael Telatynski
93abb4b74b
workaround to prevent Slate getting too empty when undoing RT pastes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-20 15:06:27 +01:00
Bruno Windels
6f278ceab0
Merge pull request #2071 from matrix-org/dbkr/persistedelement_border
Fix border around persisted widgets
2018-07-20 12:23:02 +01:00
David Baker
f9af96d422
Merge pull request #2070 from matrix-org/t3chguy/slate_cont2
Even More Slate Fixes :D
2018-07-19 13:49:42 +01:00
Michael Telatynski
855f8871b8
replace heuristic for the time being as it failed with inlines like pills. Fixes vector-im/riot-web#7059
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 16:50:07 +01:00
David Baker
f868cd6699 Fix border around persisted widgets
The PersistedElement had zero height so the border ended up in the
wrong place. Add a wrapper to fix the height back.

Fixes https://github.com/vector-im/riot-web/issues/7030
Fixes https://github.com/vector-im/riot-web/issues/7029
2018-07-18 11:52:57 +01:00
Michael Telatynski
88dddb628d
in MD mode forgo any Magic Rich Pasting conversion as its confusing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 11:50:13 +01:00
Michael Telatynski
6bb88c0548
attempt to fix clash of Cmd-M on Mac. Should fix vector-im/riot-web#7047
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 11:28:48 +01:00
Michael Telatynski
3e956514b3
also prevent merge/skip on rich text pastes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 11:00:45 +01:00
Michael Telatynski
1a9de3fabe
fix undo on pasting plaintext content
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 10:58:27 +01:00
Michael Telatynski
f5856270cc
undo removal of stripping <p>s as it breaks HTML /mes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 10:48:54 +01:00
David Baker
68c46a694e lint 2018-07-18 10:18:55 +01:00
Michael Telatynski
19e5dc5799
do less rewriting for composer quote to prevent breaking pills
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 10:10:42 +01:00
Michael Telatynski
8bb08b1b75
fix focus on new editorState as it didn't have focus so broke when alt tab
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 10:10:11 +01:00
David Baker
7aab6fa6f1 Merge remote-tracking branch 'origin/develop' into dbkr/widget_echo 2018-07-18 09:35:57 +01:00
Matthew Hodgson
02c3bc9476
Merge pull request #2069 from matrix-org/t3chguy/slate_cont2
Moar Slate Fixes
2018-07-17 17:15:01 +01:00
Michael Telatynski
720a728278
workaround for placeholder being shown when empty text but block. Fixes vector-im/riot-web#7042
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 16:13:33 +01:00
Michael Telatynski
1b467f6ca8
fix pasting of plaintext content (prevent loads of <p>s) Fixes vector-im/riot-web#7043
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 16:02:37 +01:00
Michael Telatynski
414908611d
prevent exception if there is no text node at anchor
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 13:48:15 +01:00
Michael Telatynski
688776bc10
allow enter to remove current block if its empty useful for lists
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 13:29:40 +01:00
Michael Telatynski
8d4cead105
special-case 'inline-code' button because mark is called 'code'
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 13:24:28 +01:00
Michael Telatynski
ff76b6a981
allow user to break out of blockquote/etc by hitting enter twice
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 12:30:22 +01:00
Matthew Hodgson
48fbf1406f
Merge pull request #2068 from matrix-org/t3chguy/slate_cont2
fix 2nd typo in one PR :(
2018-07-16 21:36:57 +01:00
Michael Telatynski
1c24f1fd5a
fix 2nd typo in one PR :(
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 21:34:25 +01:00
Matthew Hodgson
8c17ee7281
Merge pull request #2067 from matrix-org/t3chguy/slate_cont2
check if has some completions, not if >=0
2018-07-16 21:32:04 +01:00
Michael Telatynski
547e0ed52c
check if has some completions, not if >=0
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 21:30:04 +01:00
Matthew Hodgson
a5b932bfdd
Merge pull request #2066 from matrix-org/t3chguy/slate_cont2
Slate fixes
2018-07-16 21:29:20 +01:00
Michael Telatynski
3000099991
add additional checks for hiding autocomplete to prevent text calculation
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 21:27:52 +01:00
Michael Telatynski
bdbc2cbd38
disable spellCheck when the placeholder is shown because "unencrypted"
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 18:32:50 +01:00
Michael Telatynski
c7859fed1a
add heuristic to compare documents to prevent autocomplete flicker
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 18:27:06 +01:00
David Baker
a79caed0c9 Merge remote-tracking branch 'origin/develop' into dbkr/tiny_jitsi_follows_you_between_rooms 2018-07-16 17:21:51 +01:00
David Baker
379d65bd6c
Merge pull request #2064 from matrix-org/t3chguy/slate_cont2
simplify MessageComposerStore and improve its performance
2018-07-16 17:20:48 +01:00
Michael Telatynski
2f1779751b
make the MessageComposerStore stateless for better performance
and inter-tab composition (by simplifying it. WIN-WIN)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 16:56:08 +01:00
David Baker
d16ac4d80c
Merge pull request #1890 from matrix-org/matthew/slate
Replace Draft with Slate
2018-07-16 14:16:25 +01:00
David Baker
415eef5aec
Merge pull request #2055 from matrix-org/bwindels/stop-peeking-fix
Fix not stopping to peek when navigating away from peeked room
2018-07-16 13:33:13 +01:00
David Baker
4c6419a3c5 Merge remote-tracking branch 'origin/develop' into dbkr/widget_echo 2018-07-16 13:24:13 +01:00
David Baker
ff96537048 lint 2018-07-16 11:49:53 +01:00
Michael Telatynski
29d48e5dad
guests trying to join communities should fire the ILAG flow.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-15 22:48:25 +01:00
Michael Telatynski
ffe0b35504
while logging out ignore Session.logged_out as it is intentional
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-15 22:33:00 +01:00
Michael Telatynski
4850387ae0
add null-guard for stickerpickerWidget in StickerPicker 2018-07-13 14:24:29 +01:00
Bruno Windels
7bbb967ddd
Merge pull request #2053 from matrix-org/dbkr/jitsi_always_on_screen
Implement always-on-screen capability for widgets
2018-07-13 11:14:37 +01:00
David Baker
e56feea9ec Put always-on-screen widgets in top left
always-on-screen widgets now appear in the top-left where the
call preview normally is if you're not in the room that they're in.

Fixes https://github.com/vector-im/riot-web/issues/7007
Based off https://github.com/matrix-org/matrix-react-sdk/pull/2053
2018-07-12 18:43:49 +01:00
David Baker
5a5e967262 Fix avatars vanishing on hover
Turns out the z-index was to make the avatar appear above the
EventTile_line even though it comes before in the DOM (it's
absolutely positioned to overlap with it). Instead, just put
it afterwards in the DOM.
2018-07-12 17:48:49 +01:00
Michael Telatynski
7405c5eff2
specify alternate history storage key to prevent conflicts with draft
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-12 16:35:42 +01:00
Bruno Windels
b412b9e84d Fix stopPeeking not being called at the right time
stopPeeking is currently not called when navigating to a joined room
after having peeked a room. This causes the /events endpoint for the
peeked room to be called until peeking another room, even when not
viewing the peeked room anymore.

The current code would only stop peeking if you joining were true (note the nesting),
e.g. when waiting for your join to be confirmed by /sync.

This change might make stopPeeking called also when not needed by there is a guard in
that method to do nothing if not currently peeking.
2018-07-12 15:19:25 +02:00
David Baker
8f10ee01c6 Implement always-on-screen capability for widgets
As per https://github.com/matrix-org/matrix-doc/issues/1354

This is whitelisted to only jitsi widgets for now as per comment,
mostly because any widget that we may make always-on-screen we need
to preemptively put in a PersistedElement container, which is
unnecessary for any other widget.

Apologies that this does a bunch of refactoring which could have
been split out separately: I only discovered what needed to be
refactored in the process of doing this.

Fixes https://github.com/vector-im/riot-web/issues/6984
2018-07-11 18:07:32 +01:00
Michael Telatynski
b4bc09c335
null-guard savedState since now we're accessing its props
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-11 17:13:33 +01:00
Michael Telatynski
3e05bf19c5
hide autocomplete when moving caret to match existing behaviour
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-11 16:30:45 +01:00
Michael Telatynski
95909de446
fix MessageComposer not marking translatable strings. run gen-i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-11 11:39:55 +01:00
Michael Telatynski
c3aef6e3a0
workaround for tommoor/slate-md-serializer#14
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-11 10:29:14 +01:00
Michael Telatynski
fd4f9679df
convert md<->rt if the stored editorState was in a different state
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-11 09:43:39 +01:00
Bruno Windels
3e14cd2190
Merge pull request #2024 from matrix-org/t3chguy/improve_eventtile_error_handling
fix nullguard on EventTile, getComponent never returns falsey, it throws
2018-07-11 09:12:49 +01:00
Michael Telatynski
abbb69dc36
fix fn call, fixes usage of SlashCommands
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-10 17:35:13 +01:00
David Baker
25e453badd Fix stickerpicker PersistedElement usage
Earlier PR changed the prop to persistKey in PersistedElement but
containerId here, so this was ending up as 'undefined'.
2018-07-10 17:32:17 +01:00
Matthew Hodgson
02c6f3d168 fix typo 2018-07-10 15:18:07 +01:00
Michael Telatynski
100ecfe7ce
remove trailing spaces to make linter happy (no-trailing-spaces)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-10 10:29:52 +01:00
Michael Telatynski
58301e5dd4
navigateHistory only when at edges of document, to prevent Firefox bug
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-10 10:28:17 +01:00
Matthew Hodgson
51591a4d62 fix lint 2018-07-09 20:49:31 +01:00
Matthew Hodgson
ffec1b5a95 fix lint 2018-07-09 20:11:17 +01:00
Matthew Hodgson
0d0934add7
unbreak modifier+space (e.g. emoji insert on macOS)
(cherry picked from commit c490f87)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:58:04 +01:00
Matthew Hodgson
021409aafe
apply review feedback from @lukebarnard1
(cherry picked from commit 37d4bce)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:54:57 +01:00
Michael Telatynski
5b74c615ae
add missing import
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit 47b6099)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:42:57 +01:00
Michael Telatynski
43204ea177
fix Control-Backspace after select-all
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit 0f32ec0)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:42:10 +01:00
Michael Telatynski
faf17f06c6
remove debugger statement
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit b6f7940)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:40:36 +01:00
Michael Telatynski
483116fb03
add rule to slate-md-serializer: make underlined and removed work for CM
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit b521efd)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:40:29 +01:00
Michael Telatynski
372fa29ad3
take edge into consideration when moving focus region on arrow keys
fixes: >Pressing right when the caret is immediately left of some entity (pill, emojione emoji, etc..) causes the caret to jump to the left of the next entity (or end of the message if there are no more entities)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit 0982617)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:40:20 +01:00
Michael Telatynski
c6837af398
import-type Change from slate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit 85ed499)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:40:00 +01:00
Matthew Hodgson
efdc5430d7 merge develop 2018-07-09 17:50:07 +01:00
David Baker
1646c3180c
Merge pull request #2041 from matrix-org/t3chguy/improve_devtools_perf
use TruncatedList to prevent rendering hundreds/thousands of DOM nodes
2018-07-09 10:17:05 +01:00
Matthew Hodgson
aa9208d6b4
Merge pull request #2046 from Half-Shot/hs/show-server-bans
Show m.room.server_acl
2018-07-06 19:17:30 +01:00
Will Hunt
a6cff4a969 Show server bans in the timeline 2018-07-06 11:06:31 +01:00
Luke Barnard
5af8ddcf10 Fix import 2018-07-06 11:00:39 +01:00
David Baker
b6f854abe4 Simplify event name as it's the only one 2018-07-05 20:00:42 +01:00
David Baker
eb552e5cef Just pass the roomId into WidgetEchoStore 2018-07-05 18:43:20 +01:00
Luke Barnard
d53c836fd7 Implement aggregation by error type for tracked decryption failures 2018-07-05 13:54:44 +01:00
Michael Telatynski
dc6b3cb081
showing all is pretty slow, show an additional 50 instead
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-04 13:07:57 +01:00
Michael Telatynski
e5392e2c00
use TruncatedList to prevent rendering hundreds/thousands of DOM nodes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-04 12:57:22 +01:00
Michael Telatynski
168edbca16
Merge branch 'develop' into t3chguy/optional_new_behaviour_roomsublist 2018-07-04 11:21:16 +01:00
Michael Telatynski
6c91952d26
Merge pull request #2039 from akihikodaki/sticker_upstream
Import react as React in src/components/views/messages/MStickerBody.js
2018-07-04 11:11:53 +01:00
Akihiko Odaki
f941c93322 Import react as React in src/components/views/messages/MStickerBody.js
Signed-off-by: Akihiko Odaki <nekomanma@pixiv.co.jp>
2018-07-04 18:28:56 +09:00
David Baker
ad35fbf208 Pull out z-index to the sticker picker
As it's not a thing that's necessary for other PersistedElements,
only the sticker picker because it has to sit above the ContextMenu
it sits in.
2018-07-03 18:25:33 +01:00
David Baker
74f2d0a360 Use inline class field for PropTypes 2018-07-03 14:54:43 +01:00
David Baker
3f88721bc1 Give PersistedElement a key
So there can be more than one on a page
2018-07-03 14:43:27 +01:00
David Baker
c665ab8a22 Add error dialog if widget remove fails
Also up the timeout because matrix.org is that slow
2018-07-03 11:55:41 +01:00
David Baker
8b64ddcbe8 Do some level of local echo for widgets
* Show a spinner while we wait for widgets to be deleted
 * Hide widgets while they're pending deletion
 * Don't put another jitsi widget into the room if there's already
   one pending
2018-07-03 11:16:44 +01:00
Luke Barnard
767e67dc70
Merge pull request #2033 from matrix-org/luke/track-uisis-piwik-specify-event-name
Track an event name when tracking a decryption failure
2018-07-02 10:26:34 +01:00
Luke Barnard
0dd3a77432 Track an event name when tracking a decryption failure
Otherwise piwik will not agregate the failures correctly for all views.
2018-07-02 09:45:32 +01:00
Michael Telatynski
37a8e7f2e2
add setting to throw new RoomSubList hide behaviour behind an opt-in
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-30 17:07:28 +01:00
Michael Telatynski
ca83f1e8c8
allow RoomSubList to use old behaviour of not hiding even if empty
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-30 17:06:33 +01:00
Michael Telatynski
ea6e1b6f72
Merge branch 'develop' into t3chguy/warn_self_mute 2018-06-29 19:17:43 +01:00
Michael Telatynski
85a0736c78
update wording as per D4ve's feedback
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-29 19:16:56 +01:00
Michael Telatynski
322b77b57f
don't throw, console.warn + dummy render instead
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-29 12:54:36 +01:00
David Baker
80a9bc3f2a
Merge pull request #2029 from matrix-org/luke/fix-connection-lost-message-layout
Fix layout bug introduced by #2025
2018-06-29 10:49:15 +01:00
David Baker
b07a2cb09a
Merge pull request #2028 from matrix-org/luke/fix-room-settings-editable-text-resets
Fix room topics/names resetting when UserSetting re-renders
2018-06-29 10:46:48 +01:00
Luke Barnard
ad5f1bf180 Fix layout bug introduced by #2025
Fixes https://github.com/vector-im/riot-web/issues/6958

(https://github.com/matrix-org/matrix-react-sdk/pull/2025)
2018-06-29 09:46:01 +01:00
Luke Barnard
016e9176f6 Fix room topics/names reseting when UserSetting re-renders
This reverts a fix to EditableText introduced in
    https://github.com/matrix-org/matrix-react-sdk/pull/1445
which introduced a bug that causes room name and topic to
reset when UserSettings is rerendered because
    `initialValue != this.value`

This also fixes the same bug originally fixed by #1445:
 >fix entering the same thing twice (which had the bug of not
 >emptying the "new" field)

which, in other words meant that clicking "+" when adding a room
alias would not reset the contents of the bottom-most alias in the
list.

The fix is to increment the `key` of the element, causing a new
instance to be mounted instead of passing new props to the existing
one.
2018-06-28 18:11:52 +01:00
Luke Barnard
01dd387970 Track UISIs in bulk
Piwik supports sending an event value, which we can use to indicate
cardinality of UISIs to be tracked instead of tracking them individually.

This means we can track them at a lower frequency of (fairly arbitrary)
60s.
2018-06-28 15:07:27 +01:00
Luke Barnard
66002a4c00 Fix status bar element positioning 2018-06-27 15:19:27 +01:00
Luke Barnard
8be173cae3 Show nicer error when receiving a consent error after sending a message 2018-06-27 15:17:57 +01:00
Michael Telatynski
55f4f1723d
fix nullguard on EventTile, getComponent never returns falsey, it throws
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-27 11:44:11 +01:00
Luke Barnard
6345fcb8f2 Fix incorrectly positioned copy button on <pre> blocks 2018-06-27 11:31:55 +01:00
David Baker
6fb57c0c66
Merge pull request #2021 from matrix-org/t3chguy/room_sub_list_badge_click
on room sub list badge click goto first relevant room
2018-06-27 10:29:22 +01:00
Michael Telatynski
a6ab51cd73
change GroupInviteTile from RoomSubList css so new :hover won't apply
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-27 09:50:32 +01:00
Michael Telatynski
613e83edb4
on roomsublist invite badge click goto first room/group
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-27 09:49:58 +01:00
Michael Telatynski
b3341e6664
on click roomsublist notif badge, goto first room with notif
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-27 09:49:25 +01:00
David Baker
67dc8f2a8e
Merge pull request #2016 from matrix-org/t3chguy/hide_empty_sublist
fix historical section
2018-06-26 18:26:29 +01:00
David Baker
fddb576c3a
Merge pull request #2014 from matrix-org/luke/fix-roomlist-headers-on-resize
Fix RoomSubList headers by re-commiting 1faecfd
2018-06-26 18:23:38 +01:00
Michael Telatynski
f40802e9d8
Merge pull request #2017 from matrix-org/t3chguy/timestamp_share_dialog_stop
don't fire share dialog when clicking timestamp of event,
2018-06-26 17:46:52 +01:00
Michael Telatynski
67f803bc5f
don't fire share dialog when clicking timestamp of event,
it was tripping people up and broke search permalinks

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-26 16:59:49 +01:00
David Baker
0ee8d18f5a More code de-duping 2018-06-26 16:41:44 +01:00
David Baker
c780cd05a8 Change argument order of setRoomWidget
So when deleting a widget we can just omit the ones we don't need
2018-06-26 16:33:28 +01:00
David Baker
a88297d7a6 More code reuse 2018-06-26 16:27:17 +01:00
David Baker
9539a749e5 More refactoring 2018-06-26 16:03:58 +01:00
David Baker
6cf11a15e6 Move WidgetUtils to utils dir 2018-06-26 11:59:16 +01:00
David Baker
0f2c47937c Merge the two different widget utils files 2018-06-26 11:52:21 +01:00