#42205 closed defect (bug) (fixed)
FTP credentials dialog gets hidden behind things
Reported by: |
|
Owned by: |
|
---|---|---|---|
Milestone: | 4.9 | Priority: | low |
Severity: | normal | Version: | |
Component: | Customize | Keywords: | good-first-bug has-patch |
Focuses: | ui | Cc: |
Description
Steps to reproduce:
- Force FTP on if not already.
- Head to
Add Themes
and click on a screenshot for a full screen overlay preview. - Click
Install
in the sidebar. - Observe the
Install
button change toInstalling
with a spinner that seems to get stuck. - Close the preview overlay and observe that the FTP credentials dialog is there waiting patiently.
This is hopefully "merely" a z-index
issue. Here's how to force FTP on for testing:
<?php /** * Plugin Name: Force FTP * Description: Used to test FTP credentials screen. */ add_filter( 'filesystem_method', function() { return 'ftpext'; } ); add_filter( 'fs_ftp_connection_types', function() { return [ 'ftp' => __( 'FTP' ), 'ftps' => __( 'FTPS (SSL)' ), 'ssh' => __( 'SSH2' ), ]; } );
Attachments (2)
Change History (18)
#2
@
8 years ago
- Component changed from Upgrade/Install to Customize
- Milestone changed from Awaiting Review to 4.9
Hm, the customizer uses visibility: hidden
on the body when there are full overlays, to completely hide all elements except the customizer. This has the advantage to make the customizer the only perceivable content in the page, and its focusable elements the only ones in the page (no need to constrain tabbing within the full overlays, etc.)
However, the FTP credentials modal is inside wp-body-content
so it inherits visibility: hidden
. A proper fix would be setting visibility: visible
on the modal using just CSS.
To evaluate: why the FTP credentials modal is inside wp-body-content
? Ideally, all modals should be placed in the source before the </body>
.
To evaluate: maybe the customizer should set visibility: hidden
on #wpwrap
and not on the body.
#3
@
8 years ago
42205.diff uses just CSS preserving visibility: hidden
on the body. When testing, please be sure to hard-refresh your browser cache.
#4
@
8 years ago
@afercia,
This is being discussed in one of your topic here - https://core.trac.wordpress.org/ticket/27705
That visibility: hidden is being set for the body class and changing of hidden to visible is being done via javascript.
#5
@
8 years ago
@purnendu in this case, body should stay hidden, the customizer should stay visible (so it's the only perceivable content as discussed on #27705). Only when the customizer full overlay closes, visibility hidden gets removed from the body. In other words: we shouldn't touch that. We should just make the modal visible.
#6
@
8 years ago
@afercia
Thanks for the clarification.
That's what I did, and did that when modal opens via JavaScript.
#7
@
8 years ago
@purnendu sure, but there's no need to do that with JavaScript. Presentation should be done with CSS.
#8
@
8 years ago
@afercia I did a hard refresh, but I'm still seeing the FTP modal behind the theme preview with 42205.diff applied.
#9
@
8 years ago
@melchoyce I don't see the FTP modal at all :) I mean, seems to me it's not printed out in the markup. @westonruter any recent change that could cause the modal markup to be not printed out?
@melchoyce do you see an element with class request-filesystem-credentials-dialog
in your browser inspector?
#10
@
8 years ago
I've not had the problem of the FTP creds modal being hidden behind anything in the Customizer. As long as I activate the “Force FTP” plugin above, and apply the patch from #42184 to get the modal even output into the Customizer, it appears just fine (it doesn't work after that).
#11
@
8 years ago
Ok with #42184 applied I see the FTP credentials in the Customizer too (wp.org themes).
The original report by @helen is about the theme installer though, that's the one in the Appearance screen > Add New > click on a not installed theme to open the theme installer, for example:
wp-admin/theme-install.php?theme=placid
Click on the "Install" button and the FTP modal appears.
Behind the overlay the "Install" button turns into "Installing".
Cancel and close the modal: the button turns back to "Install".
Se everything seems to work fine, I can't test what happens when actually submitting real credentials though.
Instead, in the Customizer:
- apply also the patch on #42184
- go to the Customizer > change theme > wp.org themes
- click on theme details to open the details modal and then install
- or click directly on Install & Preview
- the FTP modal opens correctly
However, when I cancel and close the modal, all I can see is the Customizer full overlay below. There's no escape from there, the only chance is refresh or browser's Back button:
Unrelated to the FTP modal visibility, but should be fixed.
This ticket was mentioned in Slack in #core by jeffpaul. View the logs.
8 years ago
#13
@
8 years ago
For the "downloading" overlay issue, see https://core.trac.wordpress.org/ticket/42314
The patch here can be committed together with the one on #42184
#14
@
8 years ago
Will commit since simply setting visibility: visible
on the modal partially solves the issue and doesn't harm other pending fixes in #42184.
FTP credentials dialog modal visibility for the body class was hidden in core css, added the css attribute via js