Commit Graph

7208 Commits

Author SHA1 Message Date
Travis Ralston
3f9d088667 Put the stickerpicker below dialogs
Fixes https://github.com/vector-im/riot-web/issues/9353

The ContextualMenu now accepts a zIndex parameter which can be used to control its level. Dialogs are at around 4000 in the z-index, and the context menu defaults to 5000 for the things that need tooltips and such in a dialog.
2019-04-01 20:34:33 -06:00
Travis Ralston
51750cf153 General cleanup of handling for WidgetMessaging instances
When setting, delete the old one. Because delete checks if it exists first, we can safely call this.

The change in FromWidgetPostMessageApi is just something noticed while debugging.
2019-04-01 19:50:05 -06:00
Travis Ralston
a4f76670c4 Don't re-init the stickerpicker unless something actually changes
Fixes https://github.com/vector-im/riot-web/issues/9354

https://github.com/matrix-org/matrix-react-sdk/pull/2801 introduced a change which tried to make sure that when the widget URL was changed that the picker would be re-mounted, however it accidentally introduced a regression. While it effectively did the task it wanted to, it failed to keep the previously-mounted sticker picker alive. This is because the Stickerpicker component is remounted when opened, and the _updateWidget function is called. This results in this.state not having the "current" widget, meaning a URL change is always detected when the component is remounted (room changes, open sticker picker). 

Instead of remounting always, we'll instead track which sticker picker widget is being used out of band. This therefore means that whenever the Stickerpicker component is mounted it doesn't create a whole new widget, and the existing (background) picker can be used. This also fixes the loading screen that people would see when opening the sticker picker after switching rooms, something which the persistent widget stuff is supposed to solve.
2019-04-01 19:48:05 -06:00
Travis Ralston
7e2291592c Apply 50% opacity to left breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/8564

We listen for membership changes to make sure the state is kept up to date.
2019-04-01 11:59:39 -06:00
Travis Ralston
842e19280d Apply changes to breadcrumbs setting live 2019-04-01 11:49:58 -06:00
J. Ryan Stinnett
d92336fc16
Merge pull request #2859 from jryans/redesign-debug-logs
Use Field component in bug report dialog
2019-04-01 18:33:22 +01:00
J. Ryan Stinnett
3948520eaa Use Field component in bug report dialog
This uses the field component in the bug report dialog, which generally improves
the styling to fit in more naturally with the rest of the app so that it feels
more trustworthy.

Fixes https://github.com/vector-im/riot-web/issues/9343
2019-04-01 17:50:12 +01:00
J. Ryan Stinnett
57d72b4deb
Merge pull request #2841 from jryans/storage-eviction-modal
Notify user when crypto data is missing
2019-04-01 17:31:39 +01:00
David Baker
0add3d0825 Translate into peoplecounting 2019-04-01 16:52:06 +01:00
David Baker
fedd4598b5 Space
The final frontier
2019-04-01 16:50:23 +01:00
David Baker
5b2cee2fc1 Implement redesigned upload confirmation screens
Also fairly significant refactor of the uploading code: there are
a number of different ways of triggerring a file upload and each
went through a different code path (the media config size limit
worked on one of those paths). Basically take a lot of code out
of the views and put it into ContentMessages.

Sorry about the size of this patch.

https://github.com/vector-im/riot-web/issues/7565
2019-04-01 16:42:41 +01:00
Travis Ralston
db66d27969
Merge pull request #2847 from matrix-org/travis/pdf-blob
Download PDFs as blobs to avoid empty grey screens
2019-03-29 16:05:07 -06:00
Travis Ralston
8d14dc4e26 Don't send options we don't need to fetch 2019-03-29 15:48:33 -06:00
Travis Ralston
fc28f094fe Set title attribute on images in lightbox
Part of https://github.com/vector-im/riot-web/issues/9324
2019-03-29 14:55:56 -06:00
Travis Ralston
62ba7dde94 Download PDFs as blobs to avoid empty grey screens
Fixes https://github.com/vector-im/riot-web/issues/8605

The grey screen of sadness comes up when Chrome tries to open the PDF but doesn't have the right CSP headers. To avoid this, we'll just force a download of the PDF through `fetch` and `Blob`. 

There are a few cases where the user might still get a grey screen though: namely if they open the URL in a new tab or when the event content is lying about the file type, or the file is too large to blobify.

`fetch` works in Chrome, Firefox, and our packaged Electron version.
2019-03-29 14:12:48 -06:00
Travis Ralston
86e4d29582 Merge remote-tracking branch 'origin/develop' into travis/cancel-3pid 2019-03-29 11:47:46 -06:00
Travis Ralston
07cc640089 Add common utility for checking 3pid invites
We just need to make sure they are structurally sound - actual validation is done by other parties.
2019-03-29 11:45:07 -06:00
J. Ryan Stinnett
328f0cd6bf Notify user when crypto data is missing
If we have account data in local storage but nothing in the crypto store, it
generally means the browser has evicted IndexedDB out from under us. This adds a
modal to explain the situation and offer to completely clear storage to get
things back to normal.

Fixes https://github.com/vector-im/riot-web/issues/9109
2019-03-29 16:06:08 +00:00
Bruno Windels
e7852ad1b4
Merge pull request #2846 from matrix-org/bwindels/atbottomfix
round scrollTop upwards to prevent never detecting bottom
2019-03-29 15:57:24 +00:00
Bruno Windels
8e4a06db77 round scrollTop upwards to prevent never detecting bottom 2019-03-29 16:41:10 +01:00
J. Ryan Stinnett
6e79cbc092 Delay Notifier check until we have push rules
The `Notifier` class expects push rules to be available, so it can explode in
strange ways if called too early. This changes to wait until the sync is in the
`PREPARED` state (when push rules should be ready) before using the `Notifier`.

Fixes https://github.com/vector-im/riot-web/issues/9323
2019-03-29 15:19:39 +00:00
Bruno Windels
a326c83016
Merge pull request #2842 from matrix-org/bwindels/bacat-scrolling-merged-develop
BACAT Scrolling
2019-03-29 14:02:15 +00:00
Bruno Windels
f157838864 dispatch supports async dispatching on its own 2019-03-29 14:32:26 +01:00
Travis Ralston
0258f61f63 Fix typo preventing custom status from deregistering listeners on tiles 2019-03-28 21:02:24 -06:00
Travis Ralston
99dc2c4738 Add MemberInfo for 3pid invites and support revoking those invites
Fixes https://github.com/vector-im/riot-web/issues/625
Fixes https://github.com/vector-im/riot-web/issues/6411
Fixes https://github.com/vector-im/riot-web/issues/5490
2019-03-28 21:02:24 -06:00
Bruno Windels
1a264006f7 turn off debug logging 2019-03-28 18:42:49 +01:00
Travis Ralston
6eb8368aa7
Merge pull request #2827 from matrix-org/travis/v3-room-permalink
Handle all the segments of a v3 event ID
2019-03-28 11:38:47 -06:00
Bruno Windels
0a4ef44bcf fix lint 2019-03-28 18:29:48 +01:00
Travis Ralston
acb33e1aa0
Merge pull request #2839 from matrix-org/travis/breadcrumbs/visual
Add custom tooltips and scrolling to breadcrumbs
2019-03-28 11:29:48 -06:00
Travis Ralston
a0e3182e47
Merge pull request #2829 from matrix-org/travis/unread-button
Check if the message panel is at the end of the timeline on init
2019-03-28 11:26:48 -06:00
Bruno Windels
41c5582a7b make resizeNotifier optional so tests don't fail 2019-03-28 17:56:12 +01:00
Travis Ralston
87ca3069bb Misc code cleanup 2019-03-28 10:43:01 -06:00
Travis Ralston
92c99546f6
Merge pull request #2837 from matrix-org/travis/breadcrumbs/persist
Persist breadcrumb state between sessions
2019-03-28 10:32:26 -06:00
Travis Ralston
f73556d278 Remove unnecessary params 2019-03-28 09:52:12 -06:00
Travis Ralston
6a840a56d6 Add a comment to explain the state of affairs for refs.messagePanel 2019-03-28 09:50:17 -06:00
Travis Ralston
9b64dd0cd7 Support horizontal scrolling on breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/8714
Fixes https://github.com/vector-im/riot-web/issues/8890
Fixes https://github.com/vector-im/riot-web/issues/9034
Fixes https://github.com/vector-im/riot-web/issues/8954

This turned out to be much more complicated than it needed to be. We use an IndicatorScrollbar to do all the math for us and some minor changes have been made so it can flag left/right overflow. The complicated part is the css changes which make the gradients work: unlike the RoomSubList, we have to calculate the offset of the indicators (gradients) on our own because position:sticky doesn't work horizontally.

The changes to the css (well, mostly pointer-events:none) make it so the gradient doesn't interfere with the room avatars. 

9034 and 8954 are fixed by this because they represent an overflow-x:none style breakage where browsers won't let you scroll without a scrollbar. The gradient offset problem is also demonstrated in 8954.
2019-03-27 17:52:05 -06:00
Travis Ralston
90d7e82399 Use custom tooltips on breadcrumb icons
Fixes https://github.com/vector-im/riot-web/issues/9303

We have to track our own onHover for this, and out of safety we ensure that exactly 1 room is hovered at a time.
2019-03-27 17:51:48 -06:00
Travis Ralston
bbbf509a8c Always append the current room to the breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/8659
Fixes https://github.com/vector-im/riot-web/issues/8970
2019-03-27 15:38:42 -06:00
Travis Ralston
c8e42d61f5 Persist breadcrumb state between sessions
Fixes https://github.com/vector-im/riot-web/issues/8549
2019-03-27 15:32:51 -06:00
Travis Ralston
64a6b47692
Merge pull request #2831 from matrix-org/travis/hidden-bing
Alert the user to unread notifications in prior versions of rooms
2019-03-27 13:23:57 -06:00
Travis Ralston
c94ae6401b Use an AccessibleButton for the clickable element 2019-03-27 13:14:31 -06:00
Bruno Windels
82e44249ff make resizeNotifier optional in MainSplit for GroupView 2019-03-27 16:38:17 +01:00
David Baker
1b8b3efece
Merge pull request #2835 from matrix-org/dbkr/no_no_referrer
Remove noreferrer on widget pop-out
2019-03-27 15:17:38 +00:00
J. Ryan Stinnett
055f833042 Change loading errors in room directory to inline instead of modal
This changes errors that may occur when loading the room directory so that the
message appears inline with the overall directory UI instead of in a new modal.
This is important so that the new room button remains on screen even if the
directory is down.

Fixes https://github.com/vector-im/riot-web/issues/9046
2019-03-27 14:57:41 +00:00
J. Ryan Stinnett
0466e0a306 Reorganise room directory code so new room is always available
This reorganises the room directory so that the new room buttons is always
available no matter what state the overall directory is in.

Part of https://github.com/vector-im/riot-web/issues/9046
2019-03-27 14:17:24 +00:00
J. Ryan Stinnett
8d27cfde36 Remove unused import 2019-03-27 13:57:48 +00:00
David Baker
1fe830d1c6 Remove noreferrer on widget pop-out
Having the referrer allows widgets to do customisation based on what
riot instance is embedding it. It gets a referrer when we embed it
in the iframe so there's nothing gained by suppressing it here.
2019-03-27 13:27:57 +00:00
Bruno Windels
adf263c4af Merge branch 'develop' into bwindels/bacat-scrolling-merged-develop 2019-03-27 11:46:28 +01:00
Bruno Windels
5d53913e35 fix filling conditions 2019-03-27 11:35:38 +01:00
Travis Ralston
ddcb7a68bd
Merge pull request #2781 from matrix-org/travis/openid-widget
Widget OpenID reauth implementation
2019-03-27 03:42:39 -06:00
Travis Ralston
04a9038a05 Alert the user to unread notifications in prior versions of rooms
Fixes https://github.com/vector-im/riot-web/issues/8161
2019-03-26 19:22:41 -06:00
Travis Ralston
4eb9fa6922 Check if the message panel is at the end of the timeline on init
Fixes https://github.com/vector-im/riot-web/issues/8503

componentDidUpdate is called a lot, and we don't really want to keep checking the messagePanel, so this introduces a new flag to check if the init is even needed.
2019-03-26 14:22:48 -06:00
J. Ryan Stinnett
db834b315a
Merge pull request #2828 from jryans/notification-labels
Clarify devices affected by notification settings
2019-03-26 17:43:19 +00:00
J. Ryan Stinnett
f8dce875f2 Clarify devices affected by notification settings
This clarifies that the notification settings only apply to the current device.
This also tries to apply the spirit of
https://github.com/matrix-org/matrix-react-sdk/pull/1995 (authored by @aidalgol)
which wanted to remove "web" from the label, since there's also a desktop
client.
2019-03-26 17:39:07 +00:00
Bruno Windels
f2f3661b7e more debug logging 2019-03-26 17:40:24 +01:00
Bruno Windels
46f5f872c4 implement scrolling to a token (best effort) 2019-03-26 15:51:02 +01:00
Travis Ralston
1703e3860b
Merge pull request #2822 from matrix-org/travis/minimize-widgets
Minimize stickerpicker when the title is clicked
2019-03-26 07:44:14 -06:00
Bruno Windels
805539fdc7 remove timestamp logging in profiler 2019-03-26 13:44:39 +01:00
Bruno Windels
82a9b348c0 add some comments and initialization for async filling 2019-03-26 13:39:18 +01:00
Bruno Windels
18b5041ed2 try filling async instead of sync in scroll handler
see if that avoids jumps
2019-03-26 12:19:30 +01:00
J. Ryan Stinnett
dbc4735b06
Merge pull request #2825 from YaoiFangirl420/develop
Add <code> blocks around homeserver and identity server urls
2019-03-26 09:35:56 +00:00
Travis Ralston
d8edf2e3fb Handle all the segments of a v3 event ID
They may contain slashes, so it is not suitable to just pull the first segment after the room ID. Instead, we just recompile the event ID from known source, assuming everything afterwards is an event ID.

Fixes https://github.com/vector-im/riot-web/issues/8315

This will need adapting to support https://github.com/vector-im/riot-web/issues/9149
2019-03-25 23:02:49 -06:00
Travis Ralston
69fcebf045 Use allow/deny instead of whitelist/blacklist for terminology 2019-03-25 21:14:21 -06:00
Travis Ralston
79ea873717
Merge pull request #2820 from matrix-org/travis/timeline-explosion-workaround
Ask the user for debug logs when the timeline explodes
2019-03-25 12:09:16 -06:00
J. Ryan Stinnett
1e5c0a8713
Apply suggestions from code review
Co-Authored-By: turt2live <travpc@gmail.com>
2019-03-25 11:56:49 -06:00
J. Ryan Stinnett
3e676454b6
Update src/components/views/dialogs/TimelineExplosionDialog.js
Co-Authored-By: turt2live <travpc@gmail.com>
2019-03-25 11:33:31 -06:00
Travis Ralston
1172488cce
Merge pull request #2823 from matrix-org/travis/fix-add-widget-button
Fix typo preventing users from adding more widgets easily
2019-03-25 09:59:43 -06:00
Travis Ralston
0d5c98634d
Merge pull request #2817 from matrix-org/travis/blacklist-unverified-devices
Attach an onChange listener to the room's blacklist devices option
2019-03-25 09:59:29 -06:00
Travis Ralston
a9ea74610a
Merge pull request #2818 from matrix-org/travis/leave-room-chain
Use leaveRoomChain when leaving a room
2019-03-25 09:57:17 -06:00
Bruno Windels
8f7170a4a1 add timeline profiling markers when updateheight and onscroll run 2019-03-25 12:47:08 +01:00
YaoiFangirl420
f2b64a8e7f Add <code> blocks around homeserver and identity server urls
To make the urls visually distinct from the surrounding non-url text

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-03-24 02:05:04 -07:00
Travis Ralston
1ba23d6833 Fix typo preventing users from adding more widgets easily
Fixes https://github.com/vector-im/riot-web/issues/9266
2019-03-23 23:53:21 -06:00
Travis Ralston
a8ae63bb06 Minimize stickerpicker when the title is clicked
Fixes https://github.com/vector-im/riot-web/issues/6437

This also fixes a bug where if the room had apps open and you clicked the sticker picker's title, you'd end up closing the apps and not the picker.
2019-03-23 23:50:06 -06:00
Travis Ralston
3654c895eb Appease the linter 2019-03-23 23:31:19 -06:00
Travis Ralston
2dcb40f1be Track OpenID automatic permissions by (widgetLocation, widgetUrl) 2019-03-23 23:25:31 -06:00
Travis Ralston
d3268801ed Merge branch 'develop' into travis/openid-widget 2019-03-23 22:48:12 -06:00
YaoiFangirl420
00335e2462 Fix bug with NetworkList dropdown
The NetworkDropdown component was incorrectly guarding against a null
check when retrieving the list of networks

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-03-23 20:53:09 -07:00
Travis Ralston
e5f7563dec Ask the user for debug logs when the timeline explodes
Fixes https://github.com/vector-im/riot-web/issues/9260
Workaround for https://github.com/vector-im/riot-web/issues/8593
Requires https://github.com/matrix-org/matrix-js-sdk/pull/869

We check if any dialogs are open before moving forward because we don't want to risk showing so many dialogs that the user is unable to click a button. We're also not overly concerned if the dialog being shown is irrelevant because whatever the user is doing will likely be unaffected, and we can scream in pain when they're finished.
2019-03-22 20:23:35 -06:00
Travis Ralston
389abed574 Define a title for generic error 2019-03-22 19:03:52 -06:00
Travis Ralston
4fd48988e9 Check for any errors leaving the room, not just the top level 2019-03-22 17:39:42 -06:00
Travis Ralston
a34a8bb425 Use leaveRoomChain when leaving a room
Requires https://github.com/matrix-org/matrix-js-sdk/pull/868
Fixes https://github.com/vector-im/riot-web/issues/8539

We don't need to use leaveRoomChain when rejecting invites because we won't have the references needed. This leaves the couple spots where we do actually leave a room, and use the new function for that.
2019-03-22 17:36:54 -06:00
Travis Ralston
50614fa7fb Attach an onChange listener to the room's blacklist devices option
Fixes https://github.com/vector-im/riot-web/issues/9235

The global option in user settings is unaffected by this bug. Users who have previously set the per-room flag without success can simply refresh the page and the change will be picked up. The bug here is that the current session would not update accordingly, however.

Introduced in https://github.com/matrix-org/matrix-react-sdk/pull/2523
2019-03-22 14:22:20 -06:00
J. Ryan Stinnett
c17f7a2949 Trim the logging for URL previews
It should be sufficient to have the error stack and general log message for URL
preview failure.
2019-03-22 18:50:08 +00:00
Bruno Windels
c9c2519240 log scroll events 2019-03-22 15:47:04 +01:00
Bruno Windels
4bfdbe3094 fix jumping when unfilling the top while scrolling down 2019-03-22 15:23:21 +01:00
Bruno Windels
ab49bc4fcf fix comment typo 2019-03-21 15:37:35 +01:00
Bruno Windels
680afc5ce0 fix scrollToToken alignment 2019-03-21 15:37:06 +01:00
Bruno Windels
494779393f Merge branch 'develop' into bwindels/bacat-scrolling 2019-03-21 13:50:32 +01:00
Bruno Windels
44f3cac5eb Merge branch 'master' into develop 2019-03-21 11:28:35 +01:00
Bruno Windels
817fe1a520 disable typing notifs jumping prevention for now 2019-03-21 11:01:47 +01:00
David Baker
324781005d
Merge pull request #2808 from matrix-org/dbkr/velocity-mainline
Go back to using mainine velocity
2019-03-20 19:01:20 +00:00
Bruno Windels
3e13a11372 restore scroll position after hiding typing notifs with checkScroll 2019-03-20 17:38:05 +01:00
Bruno Windels
85d305430f no need for forceUpdate here 2019-03-20 17:37:34 +01:00
Bruno Windels
02a5aa3b1f more logging cleanup 2019-03-20 17:15:43 +01:00
Bruno Windels
9da13fe430 small cleanup 2019-03-20 17:13:09 +01:00
Bruno Windels
a8b149cfbb cleanup scrollpanel logging 2019-03-20 17:12:49 +01:00
Bruno Windels
460f9a5959 comment typo 2019-03-20 17:10:38 +01:00
Bruno Windels
f164a78eaa reimplement typing notif timeline shrinking prevention
instead of setting a min-height on the whole timeline,
track how much height we need to add to prevent shrinking
and set paddingBottom on the container element of the timeline.
2019-03-20 17:10:30 +01:00
Travis Ralston
94e91e6f9a
Merge pull request #2796 from matrix-org/travis/upgrade-warning
Warn that members won't be autojoined to upgraded rooms
2019-03-20 08:34:33 -06:00
David Baker
1a8fe4dd43 Go back to using mainine velocity
We moved off to our own fork of velocity many moons ago to fix
a memory leak bug when velocity was being barely maintained. They
have now merged the bugfix, so go back to mainline.
2019-03-20 10:54:06 +00:00
Bruno Windels
1e372aad47 only log when node was found 2019-03-20 11:10:04 +01:00
Bruno Windels
c306181fcd take into account that node might not be in DOM while updating height 2019-03-20 11:00:27 +01:00
Bruno Windels
88f039fe44 keep track of current updateHeight request outside of method
it's only called from one place
2019-03-20 10:59:55 +01:00
Bruno Windels
2bcced72ad take (potentially clipped) content height into account for filling 2019-03-19 16:51:39 +01:00
Bruno Windels
469511aa44 correctly calculate last node in viewport
these variables are now relative to bottom of timeline,
before it was the top
2019-03-19 16:50:55 +01:00
Travis Ralston
9f6b550caa
Merge pull request #2801 from matrix-org/travis/renew-widget
Discard old sticker picker when the URL changes
2019-03-19 08:50:33 -06:00
Travis Ralston
d713c62774
Merge pull request #2799 from matrix-org/travis/widget-reload
Reload widget messaging when widgets reload
2019-03-19 08:49:24 -06:00
Bruno Windels
71f6b08b26 first impl of new scrolling, still a bit broken 2019-03-19 13:42:22 +01:00
Travis Ralston
6a7e4ba52c
Merge pull request #2806 from matrix-org/t3chguy/explicit_room_name_settings
Don't show calculated room name in room settings name input field
2019-03-18 20:32:11 -06:00
Michael Telatynski
cadf36e1c9 Don't show calculated room name in room settings name input field
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-03-18 23:33:24 +00:00
Michael Telatynski
d6f31bef8e Disable big emoji for m.emote messages as it looks weird
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-03-18 23:25:11 +00:00
Bruno Windels
d84003ac44 dont break room directory and search 2019-03-18 14:05:56 +01:00
Travis Ralston
a397f333d7 Discard old sticker picker when the URL changes
Fixes https://github.com/vector-im/riot-web/issues/7547
2019-03-16 16:02:38 -06:00
David Baker
591a968368
Update CustomRoomTagPanel.js 2019-03-16 12:37:34 +00:00
Travis Ralston
b68960ad26 Reload widget messaging when widgets reload
Fixes a bug for some widgets where they cannot do their startup routine (capabilities negotiation, etc) when someone maximizes the widget. By reloading the widget messaging, we ensure the widget is kept in the loop.
2019-03-15 22:24:27 -06:00
Travis Ralston
b48842e070 Fix imports for linter 2019-03-15 21:51:19 -06:00
Travis Ralston
f045beafc3 Support whitelisting/blacklisting widgets for OpenID 2019-03-15 21:33:31 -06:00
Travis Ralston
27c9b24cab Appease more of the linter 2019-03-15 16:44:27 -06:00
Travis Ralston
f6e3437944 Update text in RoomUpgradeWarningBar to match suggestions 2019-03-15 16:08:35 -06:00
Travis Ralston
92b851b26c Update text for room version upgrades in settings 2019-03-15 15:49:18 -06:00
Travis Ralston
da61e5e9d9 Merge branch 'develop' into travis/upgrade-warning 2019-03-15 15:32:49 -06:00
Travis Ralston
e5059fdf0f Don't show Matrix-namespaced push rules which the server doesn't declare
So that users can't change push rules they don't have. Similar to the behaviour in https://github.com/matrix-org/matrix-js-sdk/pull/860
2019-03-15 14:14:00 -06:00
Travis Ralston
8d8445429c Show options for .m.rule.tombstone push rules
Part of vector-im/riot-web#8447
2019-03-15 14:13:15 -06:00
Travis Ralston
6ad2bb515f Merge branch 'develop' into travis/browser-support-docs 2019-03-15 11:44:46 -06:00
Travis Ralston
e70ac5330e Improve links to firefox and safari 2019-03-15 11:39:10 -06:00
J. Ryan Stinnett
149a3d98bb
Merge pull request #2791 from jryans/reg-form-refs
Remove refs from `RegistrationForm`
2019-03-15 10:24:51 +00:00
Bruno Windels
bab2730d40 use ResizeNotifier as well to relayout room list 2019-03-15 10:16:21 +01:00
Bruno Windels
4795625cee emit resize event when banners are shown/hidden to restore scroll pos 2019-03-15 10:16:21 +01:00
Bruno Windels
af0a51d3b2 use AutoHideScrollbar in member info panel 2019-03-15 10:16:21 +01:00
Bruno Windels
dad382a4b7 use AutoHideScrollbar in memberlist 2019-03-15 10:16:21 +01:00
Bruno Windels
1bdbf3086f emit timeline_resize in MatrixChat based on ResizeNotifier
as it's used in PersistentElement which could be used at various places
2019-03-15 10:16:21 +01:00
Bruno Windels
891e343df6 create ResizeNotifier to derive which areas of the app resize and emit 2019-03-15 10:16:21 +01:00
Bruno Windels
f71a9f10dd remove onChildResize in RoomView as it's unused 2019-03-15 10:16:21 +01:00
Bruno Windels
30d848b86e use AutoHideScrollbar in ScrollPanel 2019-03-15 10:16:21 +01:00
David Baker
346919ed57 Fix the custom tag panel
https://github.com/matrix-org/matrix-react-sdk/pull/2780 renamed
RoomTooltip (to Tooltip) but missed the references in the custom
tag panel.
2019-03-15 09:02:24 +00:00
Travis Ralston
788041a774 Warn that members won't be invited to the new room in room settings 2019-03-14 17:33:34 -06:00
Travis Ralston
5ded646db0 Warn that members won't be autojoined to upgraded rooms
Fixes https://github.com/vector-im/riot-web/issues/8173

Wording is questionable though.
2019-03-14 17:33:34 -06:00
Travis Ralston
278b2ab633 Update CompatibilityPage to match officially supported browsers
See https://github.com/vector-im/riot-web/pull/9177
2019-03-14 13:03:32 -06:00
Travis Ralston
5409db418c
Merge pull request #2786 from matrix-org/travis/you-are-not-alone
Ensure freshly invited members don't count towards the alone warning
2019-03-14 13:00:31 -06:00
Travis Ralston
a551bf4a46
Only use exactly as many newlines as we need 2019-03-14 12:44:14 -06:00
Travis Ralston
f2421d9af4
Merge pull request #2787 from matrix-org/travis/forgot-password-e2e
Fix 'forgot password' warning to represent the reality of e2ee
2019-03-14 08:40:22 -06:00
J. Ryan Stinnett
ec51aee656 Remove refs from RegistrationForm
This aligns the code in `RegistrationForm` with other users of the `Field`
component. (In https://github.com/matrix-org/matrix-react-sdk/pull/2780, I had
thought that this code would be okay to leave alone, but I had missed the usage
of the `Field` value getter.)

Fixes https://github.com/vector-im/riot-web/issues/9172
2019-03-14 14:29:04 +00:00
J. Ryan Stinnett
c70925ab0d Restore Field value getter for RegistrationForm
When working on the `Field` validation support, I thought `RegistrationForm`'s
refs would be okay to leave as is, but I missed that they also depended on the
value getter.

For the moment, it's quicker to temporarily revive the value getter to get
registration working.

Fixes https://github.com/vector-im/riot-web/issues/9171
2019-03-14 12:29:00 +00:00
J. Ryan Stinnett
45063cad4a
Merge pull request #2780 from jryans/auth-validation
Initial portions of support for Field validation
2019-03-14 10:19:21 +00:00
Travis Ralston
3d2b0f861c Clean up unused imports
For the almighty linter
2019-03-13 15:33:14 -06:00
Travis Ralston
eb33af94d1 Fix 'forgot password' warning to represent the reality of e2ee
Fixes https://github.com/vector-im/riot-web/issues/6681
2019-03-13 15:24:05 -06:00
Travis Ralston
832660f751 Ensure freshly invited members don't count towards the alone warning
Fixes https://github.com/vector-im/riot-web/issues/7644

As explained in the code, members that have just been invited might not be counted in `getInvitedMemberCount()`, so we help the math along.
2019-03-13 14:06:34 -06:00
J. Ryan Stinnett
77a06756e3 Remove padlock click handler to show unknown devices
The unknown devices dialog is confusing at the moment due to the complex trust
model in Riot involving various possible device states.

The room header padlock allows you to access this dialog even if there are no
unknown devices, which leads users to be unsure what they can believe and
reduces confidence in Riot. For now, we'll remove the room header click handler
that shows this dialog.

Fixes https://github.com/vector-im/riot-web/issues/8815
2019-03-13 12:58:23 +00:00
Jason Robinson
bc0806581c
Merge pull request #2777 from matrix-org/jaywink/ensure-scalar-token
Ensure scalar_token is valid before opening integrations manager
2019-03-13 12:00:04 +02:00
Jason Robinson
02ff1763a2 Ensure scalar_token is valid before opening integrations manager
Since Scalar (and other integration managers) are loaded as apps into
an iframe, a valid `scalar_token` must exist when loading the app.

It is possible that a scalar_token becomes invalid between the time
when the integration manager button was rendered and the user clicking
the link. Here we make a call to integration manager `/account`
before trying to render the integration manager, which ensures we
have a valid token for the integration manager to work with.

Moving the scalar token revalidation to the cases where it is actually
needed could make it possible to decrease the amount of Scalar /account
calls we do when switching rooms, which is currently 3.

Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-03-13 11:47:00 +02:00
Travis Ralston
09600dcabd
Merge pull request #2775 from matrix-org/travis/auth-escape-hatch
Provide an escape from the registration process
2019-03-12 10:56:49 -06:00
J. Ryan Stinnett
e90d659e19 Remove validation demo code
This is example code from @ara4n's work in
https://github.com/matrix-org/matrix-react-sdk/pull/2550. We're not ready to
actually apply validation yet, so removing this for now.
2019-03-12 16:53:30 +00:00
J. Ryan Stinnett
69a066657b Remove bits of Field that supported uncontrolled
Field is no longer used as an uncontrolled component, so we can remove some
supporting code that we no longer need.
2019-03-12 16:51:19 +00:00
Travis Ralston
9b252cace5 Invert to be if(!form) goback 2019-03-12 10:39:38 -06:00
J. Ryan Stinnett
d4dbba3938 Convert uncontrolled Field usages to controlled
As part of adding validation to Field, the logic is simpler to follow if we can
assume that all usages of Field use it as a controlled component, instead of
supporting both controlled and uncontrolled.

This converts the uncontrolled usages to controlled.
2019-03-12 16:17:21 +00:00
J. Ryan Stinnett
cff3c94858 Fix indentation in PhoneNumbers.js 2019-03-12 15:39:30 +00:00
J. Ryan Stinnett
5a648ecfe4 Ensure we always set some value in Field
Always set some value on the Field's input so that it doesn't flip flop between
controlled and uncontrolled.
2019-03-12 14:02:54 +00:00
J. Ryan Stinnett
ea050683bd Use the right prop type for functions 2019-03-12 14:02:54 +00:00
J. Ryan Stinnett
57ce4d6e7d Call the parent component's onChange if it exists 2019-03-12 14:02:54 +00:00
J. Ryan Stinnett
7241418eba Appease the linter
This checks `onValidate` in `render` to make the linter happy.
2019-03-12 14:02:54 +00:00
J. Ryan Stinnett
edb7f39ec9 Validity class currently unused on tooltip 2019-03-12 14:02:54 +00:00
Matthew Hodgson
40f16fa310 adds validation for fields.
* renames RoomTooltip to be a generic Tooltip (which it is)
 * hooks it into Field to show validation results
 * adds onValidate to Field to let Field instances call an arbitrary validation function

Rebased from @ara4n's https://github.com/matrix-org/matrix-react-sdk/pull/2550
by @jryans. Subsequent commits revise and adapt this work.
2019-03-12 14:02:54 +00:00
David Baker
b39a7e01d3
Merge pull request #2770 from matrix-org/dbkr/fix_instant_rrs_pt2
Fix instantly sending RRs
2019-03-12 10:59:26 +00:00
J. Ryan Stinnett
0791f220fb
Merge pull request #2776 from matrix-org/erikj/fix_null_counter
Fix simple header counters to correctly handle zero, take two
2019-03-12 10:46:51 +00:00
Erik Johnston
1a35130869 Fix simple header counters to correctly handle zero, take two 2019-03-12 10:00:10 +00:00
J. Ryan Stinnett
2d074d0de6
Rename
Co-Authored-By: dbkr <dbkr@users.noreply.github.com>
2019-03-12 09:37:55 +00:00
J. Ryan Stinnett
ea01853233
Rename
Co-Authored-By: dbkr <dbkr@users.noreply.github.com>
2019-03-12 09:37:38 +00:00
David Baker
63d19a899b Rest of the naming changes 2019-03-12 09:37:00 +00:00
Travis Ralston
7eea62a22b
Merge pull request #2764 from matrix-org/travis/fix-hover
Fix sticky hover state by listening for hover on the document
2019-03-11 16:35:25 -06:00
Travis Ralston
9794e32f48 Provide an escape from the registration process
Fixes https://github.com/vector-im/riot-web/issues/6560

Would be better improved by https://github.com/matrix-org/matrix-doc/pull/1921 or similar in the future.
2019-03-11 16:32:50 -06:00
Travis Ralston
1165c51c77
Merge pull request #2772 from matrix-org/erikj/fix_null_counter
Fix header counters to correctly handle zero
2019-03-11 15:10:53 -06:00
J. Ryan Stinnett
c38a7e6756 Pass correct args when creating event permalink in context menu
After the permalink API was changed in
https://github.com/matrix-org/matrix-react-sdk/pull/2671, it seems we forgot to
update this call site, so it was creating `<room>/<room>` links, instead of
`<room>/<event>`.

Fixes https://github.com/vector-im/riot-web/issues/9110
2019-03-11 15:05:05 +00:00
Erik Johnston
03d60e6af2 Fix header counters to correctly handle zero
Currently if you set the value to zero the counter is not displayed.
2019-03-11 14:04:15 +00:00
David Baker
ce9f3d8a57 Rename 2019-03-11 11:38:54 +00:00
Bruno Windels
99f82a3de9
Merge pull request #2766 from matrix-org/bwindels/scrolling
Scroll investigation changes
2019-03-11 09:57:13 +00:00
Bruno Windels
10496cd4e8 also remove disconnecting from ResizeObserver 2019-03-11 10:32:30 +01:00
Travis Ralston
e1f9482107
Merge pull request #2757 from matrix-org/anoa/accept_all_invites
Ability to bulk accept all invites (and fix rejecting all invites)
2019-03-08 14:55:59 -07:00
Travis Ralston
14b3d55a76
Merge pull request #2768 from matrix-org/travis/verify-email-state
Don't trample over existing sessions when verifying email addresses
2019-03-08 10:06:59 -07:00
Travis Ralston
47b6356e10
Merge pull request #2767 from matrix-org/travis/misc-status-message-fixes
Misc fixes to StatusMessageContextMenu
2019-03-08 08:20:28 -07:00
David Baker
ce1623691e Fix instantly sending RRs
Splits UserActivity into a tristate of 'active' (last < 1s), 'passive' (lasts a
couple of mins) and neither. Read receipts are sent when 'active', read markers
are sent while 'passive'.

Also fixed a document / window mix-up on the 'blur' handler.

Also adds a unit test for UserActivity because it's quite complex now
(and changes UserActivity to make it testable by accessing the singleton
via sharedInstance() rather than exporting it directly).

Fixes https://github.com/vector-im/riot-web/issues/9023
2019-03-08 12:46:38 +00:00
J. Ryan Stinnett
d93e97bcd2 Remove span to regain explicit whitespace for country options
This change restores whitespace between the country name and prefix code in the
country dropdown.
2019-03-08 10:03:51 +00:00
Travis Ralston
0e16f3a0cc Don't trample over existing sessions when verifying email addresses
Fixes https://github.com/vector-im/riot-web/issues/6875

Instead of overwriting what we have, we'll load the session we have and try to warn the user that they have verified an address for someone else.
2019-03-07 17:09:47 -07:00
Travis Ralston
604f8f8b6b Misc fixes to StatusMessageContextMenu
"waiting" is not a property, and unmount had a typo
2019-03-07 14:57:30 -07:00
Travis Ralston
241309ab83 Use CSS for hovering the tile 2019-03-07 14:55:17 -07:00
Bruno Windels
96b1b723cd restore scroll position when encrypted download attachment iframe is shown 2019-03-07 17:22:43 +01:00
Bruno Windels
98a3f7db0f remove resizeobserver code
seems to cause more harm than good in some cases and we shouldn't need
it if we get our calls to onHeightChanged in order.
2019-03-07 17:22:27 +01:00
Bruno Windels
89b044f5d8 clearer naming in ScrollPanel 2019-03-07 17:02:19 +01:00
Bruno Windels
4e382b1dd9 rename onWidgetLoad to onHeightChanged
as it's easy to confuse it with room widgets, but has nothing to do with it.
2019-03-07 17:02:19 +01:00
Andrew Morgan
71261fc7a7 Add 2500 as default delay 2019-03-07 11:12:16 +00:00
J. Ryan Stinnett
5658e96aed
Merge pull request #2756 from jryans/settings-phone-input
Move country dropdown inside field in Settings
2019-03-07 09:59:23 +00:00
Travis Ralston
5b49584d79 Fix sticky hover state by listening for hover on the document 2019-03-06 16:27:29 -07:00
David Baker
75f809bf06 Merge branch 'master' into develop 2019-03-06 15:47:48 +00:00
Andrew Morgan
c5198418b0 Use retry_after_ms instead of hardcoded delay 2019-03-06 15:37:06 +00:00
David Baker
3a41206e90 Fix the ctrl+k shortcut
Fixes https://github.com/vector-im/riot-web/issues/9029
2019-03-06 14:53:52 +00:00
Andrew Morgan
0f14d89257 Ability to bulk accept all invites 2019-03-06 14:06:53 +00:00
David Baker
1e7af106b0 Merge branch 'master' into develop 2019-03-06 11:28:54 +00:00
J. Ryan Stinnett
13957bb5e7 Move country dropdown inside field in Settings
This updates the Settings phone input to match the new styling used on auth
flows.

Fixes https://github.com/vector-im/riot-web/issues/9049
2019-03-06 11:26:05 +00:00
J. Ryan Stinnett
5120ff83be Enable show prefix for phone input in Settings
This fixes an unrelated bug where the currently selected country's prefix number
wasn't being displayed. Since other country dropdown's show the prefix, and this
is also for phone numbers, it seems good to also show it here as well.
2019-03-06 11:22:29 +00:00
J. Ryan Stinnett
8bf5e1d19f
Merge pull request #2749 from jryans/auth-field
Use Field component in auth flows
2019-03-06 11:18:24 +00:00
J. Ryan Stinnett
35ee9c9ac7 One line for prefix container 2019-03-06 10:58:54 +00:00
J. Ryan Stinnett
df9888614b Normalize whitespace in PasswordLogin 2019-03-06 10:57:38 +00:00
David Baker
23f22617ed Only show hosting link if group admin 2019-03-06 10:32:30 +00:00
Travis Ralston
b9bd8206c1 Patch users not existing when opening settings
Fixes https://github.com/vector-im/riot-web/issues/9022
2019-03-05 18:48:41 +00:00
David Baker
cd4e22b3fd Fix media device selectors not updating
Missed a setState

Fixes https://github.com/vector-im/riot-web/issues/9036
2019-03-05 18:45:24 +00:00
David Baker
7aa451067e Add utm_campaign to the hosting links
According to where in the app the link was clicked
2019-03-05 18:33:22 +00:00
David Baker
dc0eff38fd Lint 2019-03-05 18:33:16 +00:00
David Baker
d888445ec7 Support linking to hosting providers
From link in app config
2019-03-05 18:32:56 +00:00
David Baker
c1056025ed
Merge pull request #2748 from matrix-org/dbkr/shameless_plugging
Support linking to hosting providers
2019-03-05 18:22:02 +00:00
J. Ryan Stinnett
bc54ea5623 Convert login type to Field component
This converts the login type Dropdown on the login flow to also use the Field
component so that every presents a similar visual style.
2019-03-05 17:58:42 +00:00
J. Ryan Stinnett
5a491ac053 Convert login inputs to Field component
As with other auth flows, this converts inputs on the login page to use the
Field component for consistent styling. The login type dropdown is left as-is
for now.
2019-03-05 17:58:42 +00:00
J. Ryan Stinnett
302e601fa1 Convert forgot password to Field component
This converts all fields in the forgot password form to use the Field component.
2019-03-05 17:58:42 +00:00
J. Ryan Stinnett
5b1d361577 Convert registration phone number to Field component
Now that we have prefix support in the Field component, we can also convert the
phone number with country dropdown on registration.
2019-03-05 17:58:42 +00:00
Travis Ralston
6eaaa8b687
Merge pull request #2728 from matrix-org/travis/encryption-warning
Get confirmation before enabling encryption
2019-03-05 10:15:32 -07:00
David Baker
0244990731 Add utm_campaign to the hosting links
According to where in the app the link was clicked
2019-03-05 16:42:22 +00:00
David Baker
b68a71b294 Lint 2019-03-05 16:20:18 +00:00
David Baker
57d8f6d8a2 Support linking to hosting providers
From link in app config
2019-03-05 16:12:02 +00:00
J. Ryan Stinnett
26b2aa174b Add prefix support to Fields
This allows Fields to have an optional prefix component which is placed inside
the border of the Field and to the left of the input. Since this label animation
would be complex to get right for this case, it is instead fixed to the top left
if there is a prefix component.

This canonical example of this today would be a phone number field which
includes a country dropdown.
2019-03-05 15:25:43 +00:00
J. Ryan Stinnett
bfe120fbf4 Convert registration to Field component
This converts most fields in the registration form to use the Field component,
except for the phone number, which is a left as a separate task because of the
country dropdown menu.
2019-03-05 15:25:42 +00:00
Bruno Windels
66b9363466 clear min-height for typing notifs when the timeline viewport changes size 2019-03-05 16:14:38 +01:00
Bruno Windels
96196d8c3d
Merge pull request #2746 from matrix-org/bwindels/flairnolayout
Prevent flair pushing timeline downwards
2019-03-05 15:34:09 +01:00
Bruno Windels
624572daa9 show flair container when no profiles loaded to ensure same height 2019-03-05 14:50:39 +01:00
J. Ryan Stinnett
b6351f2607
Merge pull request #2740 from jryans/reorg-field-props
Reorganise props handling in Field
2019-03-05 11:30:06 +00:00
J. Ryan Stinnett
d4a148d56c Use oneOf to check the input element 2019-03-05 11:18:58 +00:00
Travis Ralston
879fa22416 Merge branch 'develop' into travis/encryption-warning 2019-03-04 23:14:30 -07:00
Travis Ralston
363964e423 Don't loop forever if you demote yourself via Enter on a PowerSelector
The included comment explains what happens and why this is bad.

Fixes https://github.com/vector-im/riot-web/issues/9039
2019-03-04 13:08:54 -07:00
J. Ryan Stinnett
7c672e608d Reorganise props handling in Field
Several small tweaks to the props handling:

* Use destructuring instead of `delete`
* Emphasize the `element` as a primary prop
* Document `textarea` as supported
2019-03-04 17:25:19 +00:00
David Baker
a6a3716576
Merge pull request #2739 from matrix-org/dbkr/devices_toggle_update
Fix media device selectors not updating
2019-03-04 14:49:50 +00:00
David Baker
c7b019830d Fix media device selectors not updating
Missed a setState

Fixes https://github.com/vector-im/riot-web/issues/9036
2019-03-04 14:35:41 +00:00
Michael Telatynski
080c67439b
Merge pull request #2708 from matrix-org/fix_room_dict
Fix Room Directory custom homeserver entry not showing properly
2019-03-04 11:44:11 +00:00
Michael Telatynski
6b0b5e4aa3
Merge pull request #2729 from matrix-org/t3chguy/missing_permalinkCreator
Add missing permalinkCreator prop
2019-03-04 11:15:53 +00:00
Travis Ralston
71630af201 Patch users not existing when opening settings
Fixes https://github.com/vector-im/riot-web/issues/9022
2019-03-02 10:59:53 -07:00
Travis Ralston
454251d17c Use a div instead of an image
There's no source, so just make it a block element
2019-03-01 17:21:37 -07:00
Travis Ralston
8a6ae6b48e Use a mask for the continuation icon
Fixes https://github.com/vector-im/riot-web/issues/7990
2019-03-01 15:59:19 -07:00
Travis Ralston
3ce2c3a76d
Merge pull request #2724 from matrix-org/travis/stacked-dialogs
Support stacking dialogs to prevent unmounting
2019-03-01 09:03:39 -07:00
Travis Ralston
5a4676ac66
Merge pull request #2725 from matrix-org/travis/settings/pl-dropdowns
Convert PowerSelector to use mxField instead
2019-03-01 09:03:16 -07:00
Travis Ralston
f9d6d42781
Merge pull request #2726 from matrix-org/travis/settings/save-feedback
Don't re-enable the save button after saving profiles
2019-03-01 09:02:54 -07:00
Travis Ralston
ad2a98926a
Merge pull request #2727 from matrix-org/travis/email-notifs
Support multiple email pushers and remove the legacy UserSettingsStore
2019-03-01 09:02:36 -07:00
Bruno Windels
37593c117a Revert "remove fix for old chrome bug"
This reverts commit ecb074862e.
2019-03-01 16:08:41 +01:00
Bruno Windels
fe3fe208e1
Merge pull request #2676 from matrix-org/bwindels/improvedscrolling
Improved scrolling & pagination
2019-03-01 11:09:23 +01:00
Michael Telatynski
eb46e62a2e delint NetworkDropdown
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-03-01 09:39:39 +00:00
Michael Telatynski
6b07195b63 Add missing permalinkCreator prop
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-03-01 09:36:36 +00:00
Travis Ralston
7d207ca2c3 speeling 2019-02-28 20:45:31 -07:00
Travis Ralston
9402e81835 Get confirmation before enabling encryption
Fixes https://github.com/vector-im/riot-web/issues/8843
2019-02-28 20:39:07 -07:00
Travis Ralston
12d939b36f Support multiple email pushers and remove the legacy UserSettingsStore
Fixes https://github.com/vector-im/riot-web/issues/5496
Fixes https://github.com/vector-im/riot-web/issues/8424
2019-02-28 19:57:45 -07:00
Travis Ralston
b84b11d3bd Don't re-enable the save button after saving profiles
Fixes https://github.com/vector-im/riot-web/issues/8569
2019-02-28 19:13:28 -07:00
Travis Ralston
a41df7ab68 Convert PowerSelector to use mxField instead 2019-02-28 19:00:57 -07:00
Travis Ralston
0978ab3da0 Support stacking dialogs to prevent unmounting
Fixes https://github.com/vector-im/riot-web/issues/8371
2019-02-28 15:55:58 -07:00
Travis Ralston
b5ffd4a538 Stop listening to account data when the stickerpicker is unmounted
Fixes https://github.com/vector-im/riot-web/issues/8994
2019-02-28 14:15:01 -07:00
Bruno Windels
0c06a702dc pr feedback 2019-02-28 16:05:55 +01:00
Jason Robinson
a74cb001b4 Remove unnecessary ref from Stickerpicker
There is a ref=target in the call to render AccessibleButton for
the hide stickers button. This ref is not present in the show case.

When clicking the stickerpicker show button, React gives a warning:

> Warning: Stateless function components cannot be given refs
> (See ref "target" in AccessibleButton created by Stickerpicker).
> Attempts to access this ref will fail.

Removed the ref. Stickerpicker hide/show still works fine, no warning.

Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-02-28 15:51:36 +02:00