OctoPrint / OctoPrint/OctoPrint
[Request] Some kind of "octoprint bisect" to help determining problematic third party plugins
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 9.1k
- Forks
- 1.7k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 4
Description
Is your feature request related to a problem? Please describe.
We often see people experiencing issues with some of their installed third party plugins. It is fairly easy to figure out an issue is third party plugin related thanks to safe mode. Pin pointing the exact plugin causing the problem however is an excruciatingly slow process, having manually disable and enable a ton of plugins.
Describe the solution you'd like
A binary search approach similar to how git bisect works could help pin point the offending plugin faster. The use could start the debugging process. OctoPrint disables half of the plugins and restarts. The user is then instructed to test for the existance of the issue. If it still reproduces, OctoPrint disables half of the currently enabled issues. If not, OctoPrint re-enables half of the formerly disabled half of plugins. Repeat until the plugin has been clearly identified. The binary search approach will keep the number of required research at a minimum.
A challenge here will be the UI to do this. It would probably be good to be able to run through the steps both from the UI, the recovery mode and the CLI, in order to be able to apply this debugging approach even if OctoPrint's web interface itself is rendered inaccessible by the misbehaving plugin.
Describe alternatives you've considered
Continue like now and frustrate users with 50 third party plugins.
Additional context
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review OctoPrint's existing safe mode behavior and plugin management surfaces first, then trace the recovery mode and CLI entry points mentioned in the request. Done means a repeatable, user-guided binary-search workflow can identify one problematic third-party plugin, including when the web interface is unavailable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100