Automattic / Automattic/jetpack

Move Jetpack::disconnect_site() into connection package

Open
#16,066 0 comments 0 reactions 0 assignees View on GitHub
[Focus] Jetpack DNA Connect Flow
Dominant language
PHP
Stars
1.8k
Forks
898
Avg merge
1d 14h
Merged PRs (30d)
790

Description

Right now, there's an empty `disconnect_site` method in `Automattic\Jetpack\Connection\Manager`. All the logic lives in the static method `Jetpack::disconnect_site()` in class.jetpack.php.

This requires that consumers of the connection package implement their own disconnect logic.

We have an issue here, which is that if you have two or more plugins installed that use the connection, disconnecting one may disconnect the others. We should come up with a solution here, preferably one that gives the user clear choices:

1) "This connection is shared with these these other plugins. Would you prefer to deactivate this plugin instead?"

or maybe we only display the disconnect button if there aren't other connection package consumers installed? Or something else?

Contributor guide

Open the contributing guide

Research direction

Start by comparing the empty disconnect_site method in Automattic\Jetpack\Connection\Manager with the static Jetpack::disconnect_site() implementation in class.jetpack.php. Resolve how shared connection consumers should be handled and what user choice should be presented. Done means disconnect behavior is owned by the connection package without unintentionally disconnecting other installed consumers.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.