Automattic / Automattic/jetpack
Move Jetpack::disconnect_site() into connection package
- 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
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