OctoPrint / OctoPrint/OctoPrint

[Request] Some kind of "octoprint bisect" to help determining problematic third party plugins

Open
#4,248 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

request
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.