Make WordPress Core

Opened 5 weeks ago

Last modified 11 days ago

#65223 accepted defect (bug)

Connectors plugin install flow does not show filesystem credentials form when FTP is required

Reported by: ekamran's profile ekamran Owned by: westonruter's profile westonruter
Milestone: 7.0.1 Priority: normal
Severity: normal Version: 7.0
Component: AI Keywords: has-test-info has-patch
Focuses: javascript, administration Cc:

Description

When installing a connector plugin from Settings > Connectors on a site that requires filesystem credentials, the install attempt fails with a generic notice instead of showing the standard "Connection Information" filesystem credentials form.

The regular Plugins > Add Plugin installer shows the credentials form correctly for the same plugin in the same environment.

Steps to Reproduce

  1. Install WordPress 7.0-RC3.
  2. Log in as an administrator.
  3. Force filesystem credentials, for example by setting FS_METHOD to ftpext in wp-config.php.
  4. Ensure the AI plugin is installed and active.
  5. Ensure one connector provider plugin is not installed, for example ai-provider-for-anthropic.
  6. Go to Settings > Connectors.
  7. Click Install for Anthropic.

Actual Results

The page stays on Settings > Connectors and shows a generic notice:

Failed to install plugin for Anthropic.

No filesystem credentials modal is shown.

Expected Results

The Connectors install flow should surface the standard WordPress "Connection Information" modal so the administrator can enter FTP credentials, matching the behavior of Plugins > Add Plugin.

Control Test

Using the same environment and the same plugin:

  1. Go to Plugins > Add Plugin.
  2. Search for ai-provider-for-anthropic.
  3. Click Install Now.

This correctly opens the "Connection Information" dialog with Hostname, FTP Username, FTP Password, and Connection Type fields.

Environment

WordPress: 7.0-RC3
AI plugin: 0.9.0
Connector tested: AI Provider for Anthropic 1.0.2
Filesystem method: ftpext
Environment: Local Docker wp-env

Notes

This appears to affect the Connectors page install flow that uses the REST plugin save flow. The standard plugin installer handles the filesystem credentials case correctly, so this may need special handling in the Connectors install action.

Attachments (1)

core-bug.png (338.0 KB) - added by gaurangsondagar 4 weeks ago.

Download all attachments as: .zip

Change History (16)

#1 @westonruter
5 weeks ago

  • Milestone changed from Awaiting Review to 7.0

Related: https://github.com/WordPress/gutenberg/issues/77352

If we can't fix this for 7.0 properly, at least we could treat a FS_METHOD of ftpext as being the same as DISALLOW_FILE_MODS.

#2 @westonruter
5 weeks ago

The actual work for this would need to be done in the Gutenberg repo. For a recent PR touching these files, see https://github.com/WordPress/gutenberg/pull/77521

See also https://github.com/WordPress/wordpress-develop/pull/11779

#3 @manhar
5 weeks ago

Confirmed the bug on WordPress 7.0-RC3. No patch exists yet — I'm looking into the Connectors install flow in Gutenberg. The relevant files appear to be touched in gutenberg/pull/77521. Will follow up with a patch if feasible.

#4 @westonruter
4 weeks ago

In order to test this out myself, I wanted to ensure that my wordpress-develop environment was configured with a live FTP filesystem method. I created a repo with instructions for how to set this up: https://github.com/westonruter/wordpress-develop-ftp-fs

With that active, I can confirm when attempting to install the Open AI provider I get an error:

Failed to install plugin for OpenAI.

Note: Make sure the ftp_credentials is deleted in WordPress options to ensure the credentials dialog is opened.

Last edited 4 weeks ago by westonruter (previous) (diff)

#5 @ekamran
4 weeks ago

Thanks for confirming this.

I re-tested this against WordPress 7.0-RC4 and can still reproduce the same behavior with FS_METHOD set to ftpext.

In this setup, the standard Plugins > Add Plugin flow opens the expected “Connection Information” FTP credentials modal, but installing a provider from Settings > Connectors still stays on the Connectors screen and shows the generic error notice instead.

I’m happy to help test a patch for this flow, or help with a Gutenberg-side fix if that would be useful.

#6 @westonruter
4 weeks ago

  • Keywords has-patch added; needs-patch removed

@ekamran Thanks!

I have created a Gutenberg PR (with the help of Claude): https://github.com/WordPress/gutenberg/pull/78367

Please test.

#7 @westonruter
4 weeks ago

  • Owner set to westonruter
  • Status changed from new to accepted

#8 @gaurangsondagar
4 weeks ago

Patch Testing Report:

Patch Tested: https://github.com/WordPress/gutenberg/pull/78367

The environment I am using below:

  • PHP: 8.2.x
  • WordPress: 7.0-RC4
  • Web server: Apache
  • Database: MySQL
  • Browser: Chrome
  • OS: Windows 11
  • Theme: Twenty Twenty-Five

Steps I followed:

  • Installed WordPress 7.0-RC4 and logged in as an Administrator.
  • Forced filesystem credentials by setting FS_METHOD to ftpext in the wp-config.php file.
  • Verified that the AI plugin was installed and active, while the ai-provider-for-anthropic plugin was not yet installed.
  • Navigated to Connectors and clicked the Install button for Anthropic.

Result:

  • Before applying the patch, I encountered the error: "Failed to install plugin for Anthropic."
  • After applying the patch, the FTP credentials modal appeared correctly when clicking the Install button for Anthropic.

#9 @ekamran
4 weeks ago

I re-tested the latest Gutenberg PR branch locally with FS_METHOD set to ftpext.

After rebuilding the Gutenberg assets, I can confirm the filesystem credentials modal now appears for both flows I checked:

  • Installing a provider connector from Settings > Connectors.
  • Installing the AI plugin from the top callout on Settings > Connectors.

I also noted a failing targeted unit test on the Gutenberg PR itself, so I left the detailed test output there to keep the code-specific discussion on GitHub.

#10 @westonruter
4 weeks ago

@ekamran Thanks. I followed up with a commit to fix the tests.

This ticket was mentioned in Slack in #core by audrasjb. View the logs.


4 weeks ago

#12 @audrasjb
4 weeks ago

This will be fixed by this Gutenberg PR: https://github.com/WordPress/gutenberg/pull/78367
@wildworks @westonruter do you think this one is realistic for 7.0 final RC scheduled today? I'd say we can fix this in 7.0.1.

#13 @audrasjb
4 weeks ago

  • Milestone changed from 7.0 to 7.0.1

As per today's bug scrub and according to @wildworks's feedback, I'm moving this ticket to 7.0.1 as it will need more review and work.

#14 @audrasjb
4 weeks ago

Removing trunk version as this is not going to be shipped with WP 7.0 but in the next releases.

#15 @riccardodicurti
11 days ago

@audrasjb does this ticket still need more testing, or has it been fixed by the Gutenberg PR https://github.com/WordPress/gutenberg/pull/78367 you shared?

Note: See TracTickets for help on using tickets.