[GH-ISSUE #1122] Spoolman extra.tag field incompatibility with OpenSpoolman NFC usage #802

Open
opened 2026-05-06 12:33:03 +02:00 by BreizhHardware · 0 comments

Originally created by @mithkr on GitHub (Apr 24, 2026).
Original GitHub issue: https://github.com/maziggy/bambuddy/issues/1122

Originally assigned to: @netscout2001 on GitHub.

Component

Bambuddy

Bug Description

The usage of the Spoolman extra.tag field in Bambuddy currently conflicts with the OpenSpoolman project. OpenSpoolman uses this field to store the generated NFC tag value for a spool, whereas Bambuddy uses it to track AMS tray assignments (linking spools to printers). As a result, spools that have an NFC tag written by OpenSpoolman have a non-empty extra.tag field—even when not truly assigned to an AMS tray—and therefore do not appear in the AMS tray popup for assignment in Bambuddy. This creates interoperability issues for users wishing to use both Bambuddy and OpenSpoolman.

Relevant snippet from Bambuddy (backend/app/api/routes/spoolman.py):

for spool in spools:
    extra = spool.get("extra", {}) or {}
    tag = extra.get("tag", "")
    clean_tag = tag.strip('"') if tag else ""
    if not clean_tag:
        # This spool is "unlinked" (assignable)
        ...

This logic means that if extra.tag is set (even if for an unrelated NFC value), the spool is considered linked and hidden from the assignable popup.

Expected Behavior

Spools created or managed with OpenSpoolman should be discoverable and assignable in the AMS tray popup/assignment workflow in Bambuddy, regardless of the presence of an OpenSpoolman NFC tag value in the extra.tag field. There should be a way for both systems to co-exist or utilize separate fields for their respective metadata.

Steps to Reproduce

  1. Create or manage a spool using OpenSpoolman, which writes an NFC tag value to the extra.tag field.
  2. Attempt to link this spool to an AMS tray in Bambuddy via the AMS tray assignment popup.
  3. Observe that the spool does not appear as unlinked, because Bambuddy only lists spools with an empty extra.tag field.
  4. Only spools never touched by OpenSpoolman are shown as unlinked and assignable.

Printer Model

P1S

Bambuddy Version

v0.2.3.2

SpoolBuddy Version

No response

Printer Firmware Version

01.06.00.00

Installation Method

Docker

Operating System

Linux (Other)

Relevant Logs / Support Package

This is not a technical crash, but a data/interop conflict between project conventions.

Screenshots

No response

Additional Context

Please open discussion with the Bambuddy author on how to best handle metadata to allow OpenSpoolman NFC tags and AMS assignments to co-exist, perhaps by having each project use a distinct extra field or by storing a structured object in extra.tag.

References:

Copilot: This issue affects users wishing to combine OpenSpoolman and Bambuddy for their workflow.

Checklist

  • I have searched existing issues to ensure this bug hasn't already been reported
  • I am using the latest version of Bambuddy
  • My printer is set to LAN Only mode
  • My printer has Developer Mode enabled
Originally created by @mithkr on GitHub (Apr 24, 2026). Original GitHub issue: https://github.com/maziggy/bambuddy/issues/1122 Originally assigned to: @netscout2001 on GitHub. ### Component Bambuddy ### Bug Description The usage of the Spoolman `extra.tag` field in Bambuddy currently conflicts with the OpenSpoolman project. OpenSpoolman uses this field to store the generated NFC tag value for a spool, whereas Bambuddy uses it to track AMS tray assignments (linking spools to printers). As a result, spools that have an NFC tag written by OpenSpoolman have a non-empty `extra.tag` field—even when not truly assigned to an AMS tray—and therefore do not appear in the AMS tray popup for assignment in Bambuddy. This creates interoperability issues for users wishing to use both Bambuddy and OpenSpoolman. Relevant snippet from Bambuddy (`backend/app/api/routes/spoolman.py`): ```python for spool in spools: extra = spool.get("extra", {}) or {} tag = extra.get("tag", "") clean_tag = tag.strip('"') if tag else "" if not clean_tag: # This spool is "unlinked" (assignable) ... ``` This logic means that if `extra.tag` is set (even if for an unrelated NFC value), the spool is considered linked and hidden from the assignable popup. ### Expected Behavior Spools created or managed with OpenSpoolman should be discoverable and assignable in the AMS tray popup/assignment workflow in Bambuddy, regardless of the presence of an OpenSpoolman NFC tag value in the `extra.tag` field. There should be a way for both systems to co-exist or utilize separate fields for their respective metadata. ### Steps to Reproduce 1. Create or manage a spool using OpenSpoolman, which writes an NFC tag value to the `extra.tag` field. 2. Attempt to link this spool to an AMS tray in Bambuddy via the AMS tray assignment popup. 3. Observe that the spool does not appear as unlinked, because Bambuddy only lists spools with an empty `extra.tag` field. 4. Only spools never touched by OpenSpoolman are shown as unlinked and assignable. ### Printer Model P1S ### Bambuddy Version v0.2.3.2 ### SpoolBuddy Version _No response_ ### Printer Firmware Version 01.06.00.00 ### Installation Method Docker ### Operating System Linux (Other) ### Relevant Logs / Support Package This is not a technical crash, but a data/interop conflict between project conventions. ### Screenshots _No response_ ### Additional Context Please open discussion with the Bambuddy author on how to best handle metadata to allow OpenSpoolman NFC tags and AMS assignments to co-exist, perhaps by having each project use a distinct extra field or by storing a structured object in `extra.tag`. References: - OpenSpoolman NFC support: https://github.com/OpenSpoolman/OpenSpoolman - Example user report: Spools with OpenSpoolman-generated NFC are not assignable in Bambuddy. > Copilot: This issue affects users wishing to combine OpenSpoolman and Bambuddy for their workflow. ### Checklist - [x] I have searched existing issues to ensure this bug hasn't already been reported - [x] I am using the latest version of Bambuddy - [x] My printer is set to LAN Only mode - [x] My printer has Developer Mode enabled
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/bambuddy#802
No description provided.