Commit graph

3491 commits

Author SHA1 Message Date
Travis Ralston
d81804e0fe Merge branch 'develop' into matthew/low_bandwidth 2019-05-30 19:42:09 -06:00
Travis Ralston
5c85f4609e Accept JSX into the GenericErrorPage and expose local session vars 2019-05-29 12:09:04 -06:00
Bruno Windels
4626581dbe scroll event into view when starting to edit 2019-05-24 15:38:51 +02:00
Travis Ralston
14dc4b47fa Merge branch 'develop' into travis/feature/wellknown2 2019-05-22 23:05:54 -06:00
Travis Ralston
f7ba8ffbd0 Translate scroll movement if the deltaX is the same as the threshold
Because the threshold is zero and the X movement is zero, we were not translating vertical movement to horizontal scrolling. 

Fixes https://github.com/vector-im/riot-web/issues/9804
2019-05-22 10:19:38 -06:00
David Baker
03d092c574
Merge pull request #3010 from matrix-org/dbkr/uiauth_send_email
js-sdk interactive auth now sends email token
2019-05-22 14:24:14 +01:00
David Baker
90eb3ce9ec js-sdk interactive auth now sends email token
We previously sent it in componentWillMount of the email token
auth component which definitely gets us on react's naughtly list.
We now pass the js-sdk a callback it can call at the appropriate
time to send the token (https://github.com/matrix-org/matrix-js-sdk/pull/926).

We should make password reset and adding email addresses work the
same way, but currently they don't even use the interactive-auth
helpers(!) so they're unaffected.

https://github.com/vector-im/riot-web/issues/9586
2019-05-22 11:51:26 +01:00
Bruno Windels
038cc45ee1
Merge pull request #3008 from matrix-org/matthew/fontmanager
load twemoji dynamically as colr or sbix; fix monospace
2019-05-22 09:36:15 +00:00
J. Ryan Stinnett
2648dbd221 Guard against null rooms in onEventDecrypted
Timeline sets may have a null room, such as with the notification timeline set.
Here we check that case when events are decrypted to avoid throw an error.

Fixes https://github.com/vector-im/riot-web/issues/9798
2019-05-22 10:08:16 +01:00
J. Ryan Stinnett
4b4d09266e
Merge pull request #3005 from matrix-org/jryans/notif-error
Only show reactions in main message timeline
2019-05-22 09:15:04 +01:00
Matthew Hodgson
4ae652e5c3 load twemoji dynamically as colr or sbix; fix monospace 2019-05-22 02:31:24 +01:00
Travis Ralston
c2c55e06e6 Add voice labels for quick add room buttons
See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 12:16:34 -06:00
J. Ryan Stinnett
238e967470 Only show reactions in main message timeline
This fixes an error that crashed that notifications panel because it was trying
to read reactions, even though we currently don't aggregate them there. This
change is more explicit about exactly which views should try to show reactions.

Fixes https://github.com/vector-im/riot-web/issues/9713
2019-05-21 18:27:10 +01:00
Travis Ralston
907c7ed119
Merge pull request #2994 from matrix-org/travis/screenreader/topleftmenu
Update TopLeftMenu for accessibility: Keyboard shortcut, reduced screen reader noise
2019-05-21 09:52:26 -06:00
J. Ryan Stinnett
b4ca586431 Fix lint errors in NotificationPanel 2019-05-21 16:38:48 +01:00
Matthew Hodgson
30a485bddd
Merge pull request #2995 from matrix-org/matthew/twemoji
Replace emojione with twemoji + emojibase
2019-05-21 11:32:53 +01:00
Travis Ralston
aac87c4635 Move focusing to the context menu create call 2019-05-20 21:07:55 -06:00
Travis Ralston
52b0f285c6 Add some clarifying comments 2019-05-20 21:07:12 -06:00
Travis Ralston
7ecab35062 Add a null guard for serverConfig
This is often null while the component is on its first render, and is called during that render. It is eventually populated by React, and the function re-called - we just have to be patient.
2019-05-20 20:10:10 -06:00
Travis Ralston
595b490fd7 Don't act busy on the login page for moving your cursor
If you were in the username field and simply tabbed out without entering anything, the form would become "busy" and not let you submit. We should only be doing this if we have work to do, like .well-known discovery of the homeserver.
2019-05-20 20:10:10 -06:00
Travis Ralston
3476be3327 Merge branch 'develop' into travis/feature/wellknown2 2019-05-20 19:50:02 -06:00
Michael Telatynski
868c99d140 Hide WhoIsTyping component if the MessagePanel is shaped e.g file grid
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-20 21:53:15 +01:00
Matthew Hodgson
d3f06763b3
Merge branch 'develop' into matthew/twemoji 2019-05-20 16:38:44 +01:00
Bruno Windels
1368a5eb80
Merge pull request #2996 from matrix-org/bwindels/composerdesign
Message editing: apply design
2019-05-20 08:42:41 +00:00
Matthew Hodgson
c63419f8a2 typos 2019-05-19 16:31:25 +01:00
Matthew Hodgson
dc72641264 replace emojione with twemoji. completely untested & debugged & unoptimised 2019-05-19 15:23:43 +01:00
Travis Ralston
c5757d8303 Support CTRL+I for opening TopLeftMenu 2019-05-17 15:29:16 -06:00
J. Ryan Stinnett
45cdf880b1 Change setting style 2019-05-17 17:43:08 +01:00
J. Ryan Stinnett
3a405701a3 Debug: Show all events 2019-05-17 16:34:01 +01:00
Bruno Windels
9a3752c571 show message editor in textual body instead of replacing event tile 2019-05-17 15:30:07 +01:00
Travis Ralston
bc5227a191 Fix some source strings noticed as incorrect by translators 2019-05-16 14:35:56 -06:00
Travis Ralston
0c7aa39273 Merge branch 'develop' into travis/feature/wellknown2 2019-05-16 12:59:50 -06:00
Travis Ralston
1ea5b42cf5
Merge branch 'travis/feature/wellknown2' into travis/wk/mxid 2019-05-16 12:47:37 -06:00
Travis Ralston
f75dc9c804
Merge pull request #2971 from matrix-org/travis/wk/fallback_hs
Only expose the fallback_hs_url if the homeserver is the default homeserver
2019-05-16 12:46:52 -06:00
Travis Ralston
8c326bff9e
Merge pull request #2964 from matrix-org/travis/wk/simplify-phases
Refactor "Next" button into ServerConfig components
2019-05-16 12:46:35 -06:00
Bruno Windels
3ef631191b show sending status for replacements as well on local echo 2019-05-16 14:44:00 +01:00
Bruno Windels
f7de8d4f58 use new events to find out about replacements 2019-05-16 14:43:32 +01:00
Travis Ralston
60a13652df
Merge pull request #2965 from matrix-org/travis/wk/tooltip
Render underlines and tooltips on custom server names in auth pages
2019-05-15 14:13:44 -06:00
Travis Ralston
6e3b06f364 Human de-linting 2019-05-15 13:56:15 -06:00
Bruno Windels
5805a88ab9 adjust to js-sdk changes of marking original event as replaced 2019-05-15 11:54:26 +01:00
Travis Ralston
9b5830bb08 Restore use of full mxid login
See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 15:01:22 -06:00
Travis Ralston
34719b9a2e Only expose the fallback_hs_url if the homeserver is the default HS
See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 13:10:02 -06:00
Travis Ralston
4c1ac38dd4 Merge branch 'develop' into travis/feature/wellknown2 2019-05-14 10:53:01 -06:00
Bruno Windels
15df72e629 reload events when event gets replaced in the timeline 2019-05-14 15:39:24 +01:00
Bruno Windels
6599d605cd wire up editor component (somewhat hacky) 2019-05-14 15:38:16 +01:00
David Baker
c11d26d809 Fix email registration, pt. 2
Regressed in https://github.com/matrix-org/matrix-react-sdk/pull/2768
where we check for an existing stored account first and restore that
instead if it exist, telling the user. We usually make a guest account
when the user first hits the page though, so this just restored this
guest account.

Don't restore the account if it's just a guest account (which, as per
comment, is not perfect, but is definitely better than the current
behaviour).

Fixes https://github.com/vector-im/riot-web/issues/9581
2019-05-14 11:59:38 +01:00
David Baker
a0ecd89c94 Fix email registration: pt. 1
We look to see if there's already a user logged in and if there is,
restore that session instead of logging the user in as their new
account. We still set this 'is_registered' flag though, even though
in that case it's not a newly registered account that's being restored,
so don't set in that case.
2019-05-14 11:44:00 +01:00
Travis Ralston
e4576dac28 Render underlines and tooltips on custom server names in auth pages
See https://github.com/vector-im/riot-web/issues/9290
2019-05-13 17:16:40 -06:00
Travis Ralston
ee33a4e9ba Refactor "Next" button into ServerConfig components
TODO still remains about making ModularServerConfig extend ServerConfig instead of duplicating everything.

See https://github.com/vector-im/riot-web/issues/9290
2019-05-13 16:30:34 -06:00
Travis Ralston
83737654ff Merge branch 'develop' into travis/feature/wellknown2 2019-05-13 09:20:10 -06:00
Travis Ralston
6a941aca91
Merge pull request #2941 from matrix-org/travis/guests/block-ui
Use validated server config for login, registration, and password reset
2019-05-10 11:21:21 -06:00
J. Ryan Stinnett
8fdb59a909 Use basic read path from JS SDK for reactions
This displays existing reactions correctly in the action bar and reaction row,
but it doesn't yet update after a new reaction is sent.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
74189b2164 Fix indentation in MessagePanel 2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
3beb70814c Fix indentation in TimelinePanel 2019-05-10 17:19:27 +01:00
Léo Mora
2342eb5426
Update 'Rooms' import 2019-05-09 16:17:54 +02:00
Travis Ralston
eab209a26b Log in to the right homeserver when changing the homeserver 2019-05-06 12:00:48 -06:00
Travis Ralston
58b9eb4cb2 Add a serverConfig property to MatrixChat for unit tests 2019-05-03 16:25:54 -06:00
Travis Ralston
a4b6464902 Appease the linter 2019-05-03 11:34:30 -06:00
Travis Ralston
1f527e71b1 Bring server config juggling into MatrixChat
This way the server config is consistent across login, password reset, and registration. This also brings the code into a more generic place for all 3 duplicated efforts.
2019-05-03 11:34:30 -06:00
Travis Ralston
0b1a0c77b7 Make login pass around server config objects
Very similar to password resets and registration, the components pass around a server config for usage by other components. Login is a bit more complicated and needs a few more changes to pull the logic out to a more generic layer.
2019-05-03 11:33:36 -06:00
Travis Ralston
b6e027f5cb Make password resets use server config objects
Like registration, the idea is that the object is passed around between components so they can take details they need.
2019-05-03 11:33:36 -06:00
Travis Ralston
00ebb5e1fd Make registration work with server configs
The general idea is that we throw the object around between components so they can pull off the details they care about.
2019-05-03 11:33:36 -06:00
Travis Ralston
6b45e60314 Update ServerTypeSelector for registration to use a server config 2019-05-03 11:32:59 -06:00
Travis Ralston
35ad68751b Remove unused skipServerDetails prop from registration 2019-05-03 11:13:36 -06:00
Travis Ralston
1620ccac53 Always default to the registration form
Fixes https://github.com/vector-im/riot-web/issues/8886
2019-05-02 23:55:40 -06:00
Travis Ralston
5a204edf90 Remove timeline explosion rageshake prompt
Concludes https://github.com/vector-im/riot-web/issues/8593

We are no longer seeing this error being triggered, and are considering it fixed. As a result, the dialog can be removed to reduce the amount of dead code in the project.
2019-05-01 13:37:57 -06:00
J. Ryan Stinnett
f4b783e802 Fix lint errors in TimelinePanel 2019-05-01 14:30:50 +01:00
J. Ryan Stinnett
a20d23daf3 Remove older password length check
Now that we have a fancier password complexity check, remove the older minimum
length to avoid the feeling of two password style guides fighting each other.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett
008ca3543b Migrate passwords on registration to new validation
In addition to migrating password fields, this also removes the remaining
support for old-style validation in registration now that all checks have been
converted.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett
aaf745ae2a Migrate phone number on registration to new validation 2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
9064875312 Migrate email on registration to new validation 2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
1cbb4be6f7 Add support for validating more strictly at submit time
When submitting a form, we want to validate more strictly to check for empty
values that might be required. A separate mode is used since we want to ignore
this issue when visiting a field one by one to enter data.

As an example, we convert the pre-existing logic for the username requirement
using this new support.
2019-04-25 14:29:09 +01:00
Bruno Windels
0fbe10a816
Merge pull request #2925 from matrix-org/bwindels/stylepreviewbar
Redesigned room preview bar
2019-04-18 08:50:56 +00:00
Bruno Windels
dd911d18cb dont show right panel when previewing a room without invite, as its empty 2019-04-17 19:29:39 +02:00
Bruno Windels
190143ca6c dispatch for user screen 2019-04-17 18:26:07 +02:00
Bruno Windels
d5cc835a93 PR feedback 2019-04-17 18:23:49 +02:00
Bruno Windels
22874f62ab Merge branch 'develop' into bwindels/stylepreviewbar 2019-04-17 11:06:21 +02:00
Bruno Windels
86620839ae make username clickable 2019-04-17 10:57:45 +02:00
J. Ryan Stinnett
adc23faf4b Test defaultServerName before showing it on forgot password
The Forgot Password screen wasn't checking the default server name for a value
before showing it, leading to a possible "Your Matrix account on <blank>"
message.

Fixes https://github.com/vector-im/riot-web/issues/9507
2019-04-17 09:35:45 +01:00
Travis Ralston
f6154bc7cd
Merge pull request #2921 from eyetime-international-ltd/hotfix/fix_static_title
use SdkConfig brand name instead of static "Riot"
2019-04-15 11:46:15 -06:00
Travis Ralston
26928a48e3
Merge pull request #2898 from matrix-org/travis/upgrades/permalinks
Use dedicated permalink creators in search results with multiple rooms
2019-04-15 11:27:58 -06:00
Bruno Windels
36951dd7b7 cleanup spinner props and use always preview bar when room operation is in progress 2019-04-15 18:49:00 +02:00
Bruno Windels
fd6c594a8f put auth buttons in preview bar 2019-04-15 17:52:17 +02:00
Thomas Karner
e256dd6b05 use SdkConfig brand name instead of static "Riot"
Signed-off-by: Thomas Karner <thomas.karner@bytepoets.com>
2019-04-15 09:13:18 +02:00
Travis Ralston
9478ccc683 Add missing newline 2019-04-14 20:46:32 -06:00
Travis Ralston
0479901daa Load data for permalink creators once 2019-04-12 10:38:39 -06:00
Travis Ralston
58ff5dc846
Merge pull request #2915 from matrix-org/travis/guests/block-ui
Add a generic error page element for startup errors
2019-04-12 10:21:20 -06:00
Bruno Windels
16ed06cebb dont show room header and timeline when room cant be peeked (just preview bar) 2019-04-12 12:47:52 +02:00
Travis Ralston
9d55d0c897 Add strings for js-sdk autodiscovery errors
For https://github.com/matrix-org/matrix-js-sdk/pull/894
2019-04-11 15:54:37 -06:00
Travis Ralston
aadc1a8d75 Add a generic error page element for startup errors
Used by Riot to communicate configuration problems.
2019-04-11 15:52:37 -06:00
Travis Ralston
934ca6908f Remove breadcrumb scroll tolerances and use sensible defaults
Fixes https://github.com/vector-im/riot-web/issues/9394
Fixes https://github.com/vector-im/riot-web/issues/9400

Numbers chosen based on user feedback. The setting has also been removed because it isn't really needed anymore.
2019-04-11 11:07:31 -06:00
Travis Ralston
ccf292f053 Load permalink creators to get proper state of the room 2019-04-11 10:59:00 -06:00
Bruno Windels
4e8b3c34c0 move room preview bar below timeline 2019-04-10 17:49:45 +02:00
Bruno Windels
6ca1a879c9 remove hacks, now that emitting show_right_panel is centralized 2019-04-10 13:22:31 +02:00
J. Ryan Stinnett
687b43f7b4
Merge pull request #2903 from jryans/rm-bottom-left-menu
Remove BottomLeftMenu and supporting bits
2019-04-09 19:09:07 +01:00
Travis Ralston
e4a9d4f5c8 Cache permalink creators out of the component's state 2019-04-09 12:01:09 -06:00
J. Ryan Stinnett
12f7d1715b Remove BottomLeftMenu and supporting bits
The `BottomLeftMenu` component is not used in the new design. This removes the
component and also any images and sub-components that were only used by it.
2019-04-09 17:38:32 +01:00
Travis Ralston
44e33ba5f1
Merge pull request #2892 from matrix-org/travis/breadcrumbs/scrolling
Add some tolerances to breadcrumb scrolling
2019-04-09 09:41:07 -06:00
Travis Ralston
12a9416741
Merge pull request #2895 from matrix-org/travis/return-client
Always return a client from onRegistered
2019-04-09 09:06:33 -06:00
David Baker
babed3e5ee
Merge pull request #2891 from matrix-org/dbkr/simplify_settings_dialog_css
Simplify settings dialog CSS
2019-04-09 09:21:21 +01:00
Travis Ralston
c49afe4d72 Use dedicated permalink creators in search results with multiple rooms
Fixes https://github.com/vector-im/riot-web/issues/9376

This also would have happened in "All Rooms" searches.
2019-04-08 16:23:00 -06:00
Travis Ralston
7407950c75 Always return a client from onRegistered
Fixes https://github.com/vector-im/riot-web/issues/9406

The return value of onRegistered eventually ends up in the pusher setup, which means we were passing undefined through the stack.
2019-04-08 12:49:14 -06:00
David Baker
a04c15d131 consistent comments 2019-04-08 19:10:20 +01:00
Travis Ralston
aa96fd27cc Add some tolerances to breadcrumb scrolling
See https://github.com/vector-im/riot-web/issues/9400
See https://github.com/vector-im/riot-web/issues/9394

Tolerances are defined as a device-only setting to give advanced users an option to override the values. No UI is exposed for this. 

The default values are picked for assumptions on comfort, however as people change the tolerances themselves the defaults may need to change.
2019-04-08 10:56:44 -06:00
David Baker
59210564b7 Fix upload cancel in e2e rooms
This is a bit of a mess of passing promises around - we weren't
taking the right promise to pass to cancelUpload.

Also e2e uploads take time to read into memory & encrypt, so allow
cancelling them during those phases too, even though we can't abort
those phases before they're done - we do mark the upload as cancelled
though so filter the current uploads for cancelled ones.

Fixes https://github.com/vector-im/riot-web/issues/4891
2019-04-08 17:53:39 +01:00
David Baker
670f6e4f99 Simplify settings dialog CSS
Stop the settings dialogs from requiring special styles on the
mx_Dialog which required passing in a classname from anywhere the
settings dialogs were opened (although this still requires
static=true). Some of the things have now been adopted for all dialogs
(border-radius), others have been moved to within the dialog content.
2019-04-08 16:48:42 +01:00
J. Ryan Stinnett
20c31082b5 Set E2E room status to warning when crypto is disabled
When crypto is disabled for the current device, we can't tell whether there are
unverified devices since we aren't tracking devices at all.

Let's be safe and default to the warning state.

See also https://github.com/matrix-org/matrix-js-sdk/pull/889
2019-04-08 16:28:19 +01:00
Travis Ralston
650185e578 Remove 'try the app' link from login
Fixes https://github.com/vector-im/riot-web/issues/8384

This will be re-addressed in https://github.com/vector-im/riot-web/issues/9388 or similar. Because the implementation is undefined, the dead code is being removed instead of just left dead.
2019-04-05 10:35:11 -06:00
Travis Ralston
6a8b98eb71
Merge pull request #2877 from matrix-org/travis/breadcrumbs/scroll-left
Translate vertical scrolling to horizontal movement in breadcrumbs
2019-04-05 09:51:13 -06:00
Travis Ralston
17a57eb3e5 Bind the onWheel listener directly to props
React doesn't seem to care if this is null/undefined.
2019-04-05 09:43:29 -06:00
Travis Ralston
1c41c3dd63 Only update analytics when there's a change
Also, the arguments are the previous state, not the new state.
2019-04-05 09:40:21 -06:00
Travis Ralston
e2edae3383 Merge branch 'develop' into travis/breadcrumbs/telemetry 2019-04-05 09:35:38 -06:00
David Baker
41c403c9a6
Merge pull request #2879 from matrix-org/dbkr/file_upload_fallout
Fix a few bugs introduced in file upload rework
2019-04-05 15:48:45 +01:00
David Baker
c8ba7d3434 Fix a few bugs introduced in file upload rework
* Fix the widget picture_snapshot command (not that I can find
   anything that uses it)
 * Remove unused prop
 * Fix plural on ContentMessages
2019-04-05 15:09:07 +01:00
Travis Ralston
04b521c48b Scroll breadcrumbs to the left when they change
Fixes https://github.com/vector-im/riot-web/issues/9355
2019-04-04 17:03:06 -06:00
Travis Ralston
138fd4ec87 Translate vertical scrolling to horizontal movement in breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/9314
2019-04-04 16:43:04 -06:00
Travis Ralston
035f6b14c0 Add telemetry for how many people use breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/9207
2019-04-04 14:17:15 -06:00
Travis Ralston
2496ee3b66 Merge branch 'travis/breadcrumbs/livereload' into travis/breadcrumbs/telemetry 2019-04-04 13:55:22 -06:00
Travis Ralston
5066d68875
Merge pull request #2861 from matrix-org/travis/breadcrumbs/badges
Add badges to breadcrumb rooms
2019-04-04 08:24:41 -06:00
J. Ryan Stinnett
fea9b009b3 Track life buoy dialog 2019-04-04 11:28:13 +01:00
Travis Ralston
f5600fd4d7 Add badges to breadcrumb rooms
Fixes https://github.com/vector-im/riot-web/issues/8606
2019-04-03 15:29:15 -06:00
Bruno Windels
a11786884e
Merge pull request #2865 from matrix-org/bwindels/smallscrollfixes
Small scroll fixes
2019-04-03 07:29:13 +00:00
Bruno Windels
fee8d79267 comment for PAGE_SIZE 2019-04-03 09:16:30 +02:00
Travis Ralston
8225b91179
Merge pull request #2863 from matrix-org/travis/stickerpicker/lower-z
Put the stickerpicker below dialogs
2019-04-02 10:23:17 -06:00
Bruno Windels
86c13b97ce increase PAGE_SIZE so users can scroll up already while waiting for pag. 2019-04-02 17:54:14 +02:00
Bruno Windels
726e91101a allow fractional values for scrollTop above and below expected value 2019-04-02 17:53:53 +02:00
David Baker
b6faaf419c PR feedback 2019-04-02 10:50:17 +01:00
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
842e19280d Apply changes to breadcrumbs setting live 2019-04-01 11:49:58 -06: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
86e4d29582 Merge remote-tracking branch 'origin/develop' into travis/cancel-3pid 2019-03-29 11:47:46 -06: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
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
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
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
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
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
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
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
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
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
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
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
Bruno Windels
8f7170a4a1 add timeline profiling markers when updateheight and onscroll run 2019-03-25 12:47:08 +01: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
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
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
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
Bruno Windels
71f6b08b26 first impl of new scrolling, still a bit broken 2019-03-19 13:42:22 +01:00
Bruno Windels
d84003ac44 dont break room directory and search 2019-03-18 14:05:56 +01:00
David Baker
591a968368
Update CustomRoomTagPanel.js 2019-03-16 12:37:34 +00: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
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
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
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
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
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
Travis Ralston
9b252cace5 Invert to be if(!form) goback 2019-03-12 10:39:38 -06: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
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
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
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
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
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
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
David Baker
75f809bf06 Merge branch 'master' into develop 2019-03-06 15:47:48 +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
David Baker
1e7af106b0 Merge branch 'master' into develop 2019-03-06 11:28:54 +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
David Baker
23f22617ed Only show hosting link if group admin 2019-03-06 10:32:30 +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
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
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
Bruno Windels
66b9363466 clear min-height for typing notifs when the timeline viewport changes size 2019-03-05 16:14:38 +01: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
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
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
Bruno Windels
0c06a702dc pr feedback 2019-02-28 16:05:55 +01:00
J. Ryan Stinnett
209ac2c587
Merge pull request #2706 from jryans/move-non-feather-icons
Move non-feather icons out of feather dir
2019-02-27 13:08:23 +00:00
J. Ryan Stinnett
404c60fb0e Keep registration spinner inside the auth modal
The spinner was taking on the full height of the modal and escaping off the
page. This keeps it contained inside the modal.

Fixes https://github.com/vector-im/riot-web/issues/8661
2019-02-27 11:21:39 +00:00
J. Ryan Stinnett
3b3f0ea957 Move E2E icons out of feather dir
They appear to all be created by Nad, according to
https://github.com/matrix-org/matrix-react-sdk/pull/2557.
2019-02-26 20:31:32 +00:00
J. Ryan Stinnett
426bdafe22
Merge pull request #2672 from jryans/password-validation
Report validity state of all registration fields on any change
2019-02-26 18:20:38 +00:00
J. Ryan Stinnett
4b29d5e228 Clarify finding first non-null field error 2019-02-26 16:41:17 +00:00
Bruno Windels
c920dd2e8a check top of node instead of bottom, since coming in from last
as we're approaching from the last node, if we're scrolled up,
the first node we encounter would be below the bottom of the viewport

change the logic to stop at the first node that has its top
above the viewport bottom.

When completely scrolled up, this was causing nodes way below
the viewport to be selected as the reference for the pixelOffset,
and when pagination came in, it would immediately try to apply
the big negative pixelOffset, scrolling to a negative scrollTop,
thus going to the top again, and triggering another pagination,
entering in an infinite pagination loop until you scrolled down.
2019-02-26 16:26:24 +01:00
Bruno Windels
ba5f16358f fall back to InteractionObserver for detecting timeline resizes
this is not nearly as smooth as using ResizeObserver, as the
callback rate is a lot lower, but seems to be quite a bit better
than what we have right now, without the 7% cpu hog that
the requestAnimationFrame polling fallback has.
2019-02-26 10:49:03 +01:00
Bruno Windels
8bb8ec141e clear min-height on timeline resets and other occasions where we load it 2019-02-26 10:49:03 +01:00
Bruno Windels
32f055bec2 clarify why we need this 2019-02-26 10:49:03 +01:00
Bruno Windels
db7203ed71 make sure the min-height doesn't get cleared by checkScroll 2019-02-26 10:49:03 +01:00
Bruno Windels
3823642863 some cleanup 2019-02-26 10:49:03 +01:00
Bruno Windels
41ae618d0e only clear min-height on scroll & adding items (componentDidUpdate)
before we would clear it as soon as you were 1px away from
the bottom of the timeline, which would still create jumping as
the whitespace would around 36px. To play it safe, we only clear it
after moving 200px from the bottom.

Also include "local echo" scroll events, caused by setting scrollTop
2019-02-26 10:49:03 +01:00
Bruno Windels
03784e586c replace getBoundingClientRect() with offset/scrollTop & clientHeight
as they are an order of magnitude faster in most browsers,
getBoundingClientRect() tends to cause relayout.
2019-02-26 10:49:03 +01:00
Bruno Windels
ecb074862e remove fix for old chrome bug 2019-02-26 10:49:03 +01:00
Bruno Windels
b3e6cbfddd restore scroll state when timeline resizes using ResizeObserver
(only where supported, polyfill doesn't give good results)
2019-02-26 10:49:03 +01:00
Bruno Windels
fb672ffb28 change handling of event permalinks in replies 2019-02-25 18:43:08 +01:00
Bruno Windels
f7ea9cfeb2 rename all instances of permalinkCreator 2019-02-25 18:43:08 +01:00
Bruno Windels
f97ea37717 permalink is one word 2019-02-25 18:43:08 +01:00
Bruno Windels
29be28919d create permalink creator in roomview and pass it on to the event tiles 2019-02-25 18:43:08 +01:00
Travis Ralston
addc7e519b
Merge pull request #2699 from matrix-org/travis/fix-bug-in-notifications
Fix NPE relating to toggling notifications
2019-02-25 07:31:59 -07:00
Travis Ralston
c12bea06c8
Merge pull request #2698 from matrix-org/t3chguy/room_member_filter_clear
Add abilities to clear Filter room members input
2019-02-24 18:00:02 -07:00
Travis Ralston
2b9b07c29d
Merge pull request #2696 from matrix-org/t3chguy/pretty_view_source
make ViewSource less awkward
2019-02-24 17:55:07 -07:00
Travis Ralston
acbd3fb748
Merge pull request #2695 from matrix-org/t3chguy/guest_share_community
Fix share community for guests
2019-02-24 17:52:05 -07:00
Travis Ralston
6cc534e503 Fix NPE relating to toggling notifications
The fallthrough for `notifier_enabled` caused a NPE on `payload.error`, so this moves the fallthrough to where it is intended and sanity checks `payload.error` for next time.
2019-02-24 17:45:03 -07:00
Michael Telatynski
ee47e0f72e pass through className
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 04:44:38 +00:00
Michael Telatynski
5052039b36 Re-use SearchBox from filter rooms for filter room members
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 04:42:04 +00:00
Michael Telatynski
7b88d5d21c make ViewSource less awkward
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 03:43:44 +00:00
Michael Telatynski
e6bf9fe9bf Fix share community for guests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 03:25:02 +00:00
Michael Telatynski
e12e2c4a3d tidy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 02:57:13 +00:00
Michael Telatynski
ac17e22556 Toggle Search using Room Header button
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 02:56:27 +00:00
J. Ryan Stinnett
ec35423a0d Use correct initial phase for server type
The initial phase of registration can differ by the default server type. In
particular, the Matrix.org HS type wants to skip to the registration form.

Fixes https://github.com/vector-im/riot-web/issues/8862
2019-02-22 16:16:08 +00:00
J. Ryan Stinnett
ca5c7b03d3
Merge pull request #2675 from jryans/default-hs-to-form
Skip server details on registration with a default HS
2019-02-22 10:19:53 +00:00
J. Ryan Stinnett
b6682c0469
Merge pull request #2673 from jryans/username-label
Clarify what the username error refers to
2019-02-22 10:17:58 +00:00
J. Ryan Stinnett
fe141412b6 Skip server details on registration with a default HS
If Riot has been configured with a `default_hs_url` (or `default_server_name`,
which then sets a default HS URL), then skip the server details on registration
by default.

Fixes https://github.com/vector-im/riot-web/issues/8840
2019-02-21 18:11:23 +00:00
Bruno Windels
ab9bf4c0e0
Merge pull request #2666 from matrix-org/bwindels/userview
Bring back user view
2019-02-21 16:05:03 +01:00
J. Ryan Stinnett
b74107116b Clarify what the username error refers to
Fixes https://github.com/vector-im/riot-web/issues/8839
2019-02-21 15:01:09 +00:00
J. Ryan Stinnett
86a375c7da Report validity state of all registration fields on any change
This passes the validity state of all fields to the consumer of
`RegistrationForm` via the `onValdiationChange` callback, instead of just the
most recent error.

In addition, we notify the consumer for any validation change, whether success
or failure. This allows old validation messages to be properly cleared. It also
allows the consumer to be aware of multiple validation errors and display the
next one after you have fixed the first.

Fixes https://github.com/vector-im/riot-web/issues/8769
2019-02-21 14:44:39 +00:00
J. Ryan Stinnett
16b9688303
Merge pull request #2669 from matrix-org/jryans/default-server-name
Restores support for `default_server_name` which discovers URLs via `.well-known`
2019-02-21 10:38:15 +00:00
Bruno Windels
d9b8b0f988 fix indentation 2019-02-21 10:51:09 +01:00
J. Ryan Stinnett
d220dd49ef Clarify that the account is a Matrix account
Now that auth flows can show a server name like `example.com` which might
delegate the HS to some other server, it could be confusing to see text like
"Sign in to example.com", especially if `example.com` runs an identity service,
uses SSO, has its own account system, or other things like this.

To clarify that we mean Matrix accounts, all auth flows are updated to talk in
terms of "<verb> your Matrix account on <server>".

Fixes part of
https://github.com/vector-im/riot-web/issues/8763#issuecomment-464823909.
2019-02-20 17:33:59 +00:00
J. Ryan Stinnett
5433feb4d4 Display default server name in forgot password
If a default server name is set and the current HS URL is the default HS URL,
we'll display that name in the "your account" text on the forgot password form.

This can be a bit more user friendly, especially when the HS is delegated to
somewhere such as Modular, since you'll then see "example.com" instead of
"example.modular.im", which you have no direct relationship with as a user.

This is the key bit of https://github.com/vector-im/riot-web/issues/8763 for
forgot password.
2019-02-20 17:33:59 +00:00
J. Ryan Stinnett
f4b7180087 Display default server name in login
If a default server name is set and the current HS URL is the default HS URL,
we'll display that name in the "sign in to" text on the login form.

This can be a bit more user friendly, especially when the HS is delegated to
somewhere such as Modular, since you'll then see "example.com" instead of
"example.modular.im", which you have no direct relationship with as a user.

This is the key bit of https://github.com/vector-im/riot-web/issues/8763 for
login.
2019-02-20 17:33:59 +00:00
J. Ryan Stinnett
91f56a4447 Display default server name in registration
If a default server name is set and the current HS URL is the default HS URL,
we'll display that name in the "your account" text on the registration form.

This can be a bit more user friendly, especially when the HS is delegated to
somewhere such as Modular, since you'll then see "example.com" instead of
"example.modular.im", which you have no direct relationship with as a user.

This is the key bit of https://github.com/vector-im/riot-web/issues/8763 for
registration.
2019-02-20 12:17:51 +00:00
Bruno Windels
23bcbc50e3 show dialog when failing to load profile info 2019-02-20 12:52:29 +01:00
Bruno Windels
f11505a9de bring back user page
Adds a UserView that contains a MainSplit with an empty div
and a RightPanel, preset to the given member.

UserView fetches the profile and creates a fake member, which
it passed on to the RightPanel.

this doesn't use the view_user action on purpose, to avoid any
interference of the UserView when trying to view a room member.
2019-02-20 12:45:55 +01:00
J. Ryan Stinnett
b846ac5800 Rework ServerTypeSelector to only emit changes after initial setup
`ServerTypeSelector` would call its `onChange` prop both at construction
(because it computed the default selected type and consumers might want to know)
as well as on actual user change. This ended up complicating consumer code, as
they want to differentiate between initial state and changes made by the user.

To simplify things, `ServerTypeSelector` now exports a function to compute the
server type from HS URL, which can be useful for setting its initially selected
type. The consumer now provides that type via a prop, and `onChange` is now only
called for actual user changes, simplifying the logic in `Registration` which
uses `ServerTypeSelector`.

In addition, some usages of `customHsUrl` vs. `defaultHsUrl` in `Registration`
are simplified to be `customHsUrl` only (since it already includes a fallback to
the default URL in `MatrixChat`).
2019-02-20 11:23:51 +00:00
J. Ryan Stinnett
4c83d898bd Show link to login even during UI auth
This gives users an escape hatch in case something goes wrong with the UI auth
step, and they'd like to go somewhere else in the auth process.
2019-02-19 13:13:21 +00:00
Bruno Windels
05ddee6a6b remove dead code 2019-02-15 13:07:33 +01:00
Bruno Windels
dedaf0f5a2 disable lazy list rendering if extraTiles are provided 2019-02-15 13:07:33 +01:00
Bruno Windels
abf96fd420
Merge pull request #2638 from matrix-org/bwindels/typingnotifswhitespacefix2
Fix excessive timeline whitespace
2019-02-14 16:38:20 +01:00
Bruno Windels
9e260ad96b make sure we're at the bottom, although that seems to always be the case in this branch? 2019-02-14 16:19:58 +01:00
Bruno Windels
790e752b7a clear min-height on scroll 2019-02-14 16:11:38 +01:00
David Baker
b242d03f7f lint 2019-02-14 12:52:38 +00:00
David Baker
e5e355ed2d Remove the white screen of welcome
If there's no home page configured, view the first room.
2019-02-14 12:35:09 +00:00
Bruno Windels
a720de81c1
Merge pull request #2632 from matrix-org/bwindels/searchthrottle
use throttle as its more responsive
2019-02-13 20:37:13 +01:00
Bruno Windels
47c14021b3 use throttle as its more responsive 2019-02-13 20:32:50 +01:00
David Baker
0ad9d71935
Merge pull request #2630 from matrix-org/dbkr/fix_register_email_link
Fix registration after clicking email link
2019-02-13 19:25:15 +00:00
David Baker
c3ca2b4d46 add comment 2019-02-13 19:06:44 +00:00
David Baker
0f4092dcbc Fix registration after clicking email link
We weren't correctly jumping into the appropriate bit of the registration
flow when coming in from an email link.

 * If we have client secret / sessionId, go straight to registration phase
 * Don't reset server URLs when the server type component tells us its
   initial value
 * Confusingly, pass the custom server URL as 'default server URL' to
   the custom server type, as this is what we want the inital section
   to be based on.

Fixes https://github.com/vector-im/riot-web/issues/8490
2019-02-13 18:12:34 +00:00
Bruno Windels
42409691b3 try to not trigger rerenders in LazyRenderList
by not creating new arrays
2019-02-13 18:36:46 +01:00
Bruno Windels
39632428d0 remove throttling after improving LazyRenderList perf 2019-02-13 18:36:19 +01:00
Bruno Windels
60d0ed4c01 make LazyRenderList stateful for better performance
it only rerenders when visible range it would render based on the
props gets OVERFLOW_MARGIN(5) items from the current renderRange
2019-02-13 18:33:57 +01:00
Bruno Windels
9c371111b7 Merge branch 'develop' into bwindels/lazyroomtilerendering 2019-02-13 17:13:23 +01:00
Bruno Windels
84163bed11 wrap roomtiles in LazyRenderList to improve perf for big accounts 2019-02-13 14:51:09 +01:00
Bruno Windels
3ce2309ae2 get scrolltop and scrollevent out of autohide/indicator scrollbar 2019-02-13 14:49:14 +01:00
J. Ryan Stinnett
e1edd56643 Allow theming group header buttons 2019-02-13 10:47:04 +00:00
J. Ryan Stinnett
f5e56708d5 Re-enable dynamic theme changes 2019-02-13 10:44:01 +00:00
Bruno Windels
875f792728
Merge pull request #2620 from matrix-org/bwindels/e2eiconsanddialog
Fixes and styling related to e2e icons and dialogs
2019-02-13 09:18:58 +01:00
Bruno Windels
5047d15a3b
Merge pull request #2615 from matrix-org/bwindels/breadcrumbs
Labs feature: recent room breadcrumbs
2019-02-13 09:16:40 +01:00
Bruno Windels
240dc3c1cc
Merge pull request #2612 from matrix-org/bwindels/roomlistlag
Fix: roomlist reordering lags
2019-02-13 09:15:46 +01:00
Bruno Windels
7d2c6fbd0b update e2e icons when membership changes 2019-02-12 18:34:22 +01:00
Bruno Windels
03c491416e put breadcrumbs behind feature flag 2019-02-12 11:41:24 +01:00
Bruno Windels
735c9d1121 hide breadcrumbs when collapsed 2019-02-12 11:31:50 +01:00
Bruno Windels
aaea40a93d add breadcrumbs component 2019-02-12 11:04:25 +01:00
J. Ryan Stinnett
44e34d9074 Explain roomId workaround 2019-02-12 08:59:38 +00:00
Bruno Windels
7c72fddf80 Merge branch 'develop' into bwindels/roomlistlag 2019-02-11 17:06:16 +01:00
Bruno Windels
b6aa72da55 update RoomTile notificationCount through props so updates are consistent 2019-02-11 15:40:17 +01:00
J. Ryan Stinnett
9d3ba2b3d9 Guard against invalid room object on join 2019-02-11 14:33:19 +00:00
J. Ryan Stinnett
4101d4e9de Always change to LOGGED_IN view to show a room 2019-02-11 14:19:05 +00:00
J. Ryan Stinnett
477d5ac0dc View welcome behind modals when not showing logged in view 2019-02-11 13:31:27 +00:00
J. Ryan Stinnett
97aa0b52fa Avoid room directory error without a client 2019-02-11 12:27:10 +00:00
J. Ryan Stinnett
5977859dd9 Call isGuest correctly 2019-02-08 18:28:39 +00:00
David Baker
09bf8099e0
Merge pull request #2599 from matrix-org/dbkr/unlabs_keybackup_sas
Remove key backup & sas from labs
2019-02-08 17:41:54 +00:00
David Baker
f99c56fedb
Merge pull request #2597 from matrix-org/jryans/add-welcome-page
SDK support for welcome page
2019-02-08 17:17:22 +00:00
David Baker
043f1ab3f0 Remove key backup & sas from labs 2019-02-08 16:58:09 +00:00
Matthew Hodgson
ce24165e19 port over low_bandwidth mode to develop 2019-02-08 16:44:03 +00:00
Bruno Windels
6f9aa9c9b9 Merge branch 'develop' into bwindels/roomlistlag 2019-02-08 16:38:57 +00:00
J. Ryan Stinnett
705c3248d4 Tweak embedded pages config name 2019-02-08 13:55:23 +00:00
J. Ryan Stinnett
7a15bb65c4 Tweak page URL defaulting 2019-02-08 13:53:17 +00:00
J. Ryan Stinnett
5701bf89de Direct some flows to the welcome page 2019-02-08 12:12:43 +00:00
Bruno Windels
e8533beafb guard custom tags with feature flag 2019-02-07 18:07:30 +00:00
J. Ryan Stinnett
c587dcab92 Use separate config settings for each page 2019-02-07 17:16:02 +00:00
J. Ryan Stinnett
7cc38f9d96 Remove a few more references to home 2019-02-07 17:09:16 +00:00
Bruno Windels
d2dd1bae13 run search after you've stopped typing for 200ms instead of every 500ms 2019-02-07 16:31:57 +00:00
J. Ryan Stinnett
b7c92ce3ff Abort embedded page load for null URL 2019-02-07 16:31:44 +00:00
J. Ryan Stinnett
843f86fc1c Add separate welcome view 2019-02-07 16:25:09 +00:00
David Baker
594bd86a0c
Merge pull request #2582 from matrix-org/bwindels/fixnotifbadgeclickandcursor
Fix: click on notif badge
2019-02-07 14:12:00 +00:00
David Baker
b7fd1336de
Merge pull request #2532 from boeserwolf/boeserwolf/get-set-topic
Extend slash command '/topic' to display the room topic
2019-02-07 13:45:59 +00:00
Bruno Windels
252a61379c its list, not lists 2019-02-07 13:40:29 +00:00
Bruno Windels
87ddb8a453
Merge pull request #2575 from matrix-org/bwindels/customtags
Bring back custom tags, also badges on communities
2019-02-07 11:37:17 +00:00
J. Ryan Stinnett
73de56d72d Generalize HomePage into EmbeddedPage 2019-02-07 11:12:28 +00:00
J. Ryan Stinnett
2fde67787c Update code style in HomePage 2019-02-07 10:49:59 +00:00
Bruno Windels
7b23fa7a4f implement PR feedback 2019-02-07 10:49:23 +00:00
J. Ryan Stinnett
0bb3843726 Remove unused iframeSrc from HomePage 2019-02-07 10:23:38 +00:00
J. Ryan Stinnett
30395f064d
Merge pull request #2578 from jryans/auth-reset-password
Style reset password to match design
2019-02-07 10:05:11 +00:00
J. Ryan Stinnett
d03f4875f3 Update style for forgot password copy, add full stops 2019-02-07 09:57:31 +00:00
J. Ryan Stinnett
8b2f2c7d5c Remove unneeded refs from reset password 2019-02-07 09:44:28 +00:00
J. Ryan Stinnett
e1b7af39dc Basic validation of HS URL for reset password 2019-02-07 09:36:43 +00:00