OctoPrint / OctoPrint/plugins.octoprint.org

[Potential Bug] Plugin ID generated in plugins.json is not using the 'id' field (and instead the name of the file)

Open
#652 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted
Dominant language
Less
Stars
144
Forks
370
Avg merge
4d 3h
Merged PRs (30d)
3

Description

Problem

Seems that the file plugins.json is grabbing its plugin ID from the name of the file under _plugins/, rather than the id: field in the data at the top of the file. If this is intended, it should be documented and the id field removed.

This causes a problem with:

  • the built in backup & restore
  • Upgrade to Python 3

since they look to compare the internal ID with the repository, and don't find a match.

Example

https://plugins.octoprint.org/plugins/DiscordRemote/

The internal ID is discordremote, which is in the file _plugins/DiscordRemote.md correctly - however, in the plugins.json file, the ID is wrong

Linking https://github.com/cameroncros/OctoPrint-DiscordRemote/issues/141, and first noticed with https://github.com/Kragrathea/OctoPrint-PrettyGCode/issues/68#issuecomment-691246463

One issue with changing it

Might need to check that no plugins are adversely affected (ie. wrong ID inside the file, but filename is right), but this is probably not a problem since it says that the ID should be correct

Contributor guide

No contributing guide indexed for this repository

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

Start with the generated plugins.json and the _plugins/DiscordRemote.md example, comparing the published ID with the file's id field. Review the linked DiscordRemote and PrettyGCode issues for affected behavior and check whether other plugins show the same mismatch. Done means the intended ID source is established and affected plugin IDs are consistently accounted for.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.