mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-05-09 08:25:54 +02:00
[PR #652] [CLOSED] [Fix]: Non-Bambu Lab Spools can now be fully linked/unlinked to Spoolman #1095
Labels
No labels
A1
automated
automated
bug
bug
Closed due to inactivity
contrib
dependencies
dependencies
duplicate
enhancement
feedback
hold
invalid
Notes
P1S
pull-request
security
ThumbsUp
user-report
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/bambuddy-maziggy-1#1095
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/maziggy/bambuddy/pull/652
Author: @shrunbr
Created: 3/7/2026
Status: ❌ Closed
Base:
0.2.3b1← Head:0.2.3b1📝 Commits (10+)
e07c180v0.2.2b1 (#602)7ebe770Revert "v0.2.2b1 (#602)" (#603)42ea935Expanded link logic to accept a generic spool tag (spool_tag, tray_uuid, or tag_uid) and validate 16/32-char hex values, including rejection of all-zero tags. Added a new unlink endpoint that clears Spoolman extra.tag for a given spool ID.18c33e7Updated the link validation expectation to match the new 16-or-32-hex rule. Added an integration test for the new unlink endpoint to verify extra.tag is cleared and success is returned.df86159Updated the link API call to send spool_tag instead of tray_uuid. Added a new unlinkSpool API helper that calls the new backend unlink route.8064d2bSwitched modal data source from inventory spools to Spoolman unlinked spools so the list matches the backend response you shared. Updated the link action to call Spoolman link directly and use trayUuid or tagUid as the slot tag.a718d2bRefactored Spoolman card behavior so actions render correctly across linked/unlinked cases, and added support for an Unlink from Spoolman button under Open in Spoolman. Final UI rule now hides Unlink for Bambu Lab filament and shows it only for non-Bambu linked spools.2ec32ddAdded fallback slot-tag generation so untagged slots can still be linked/unlinked reliably and linked spool lookups work consistently across AMS, AMS-HT, and external trays. Wired a new unlink mutation and passed per-slot unlink callbacks into the hover card, with query invalidation for linked/unlinked spool caches after unlink.f083c0cAdded/updated the noTrayUuid message to reflect that either tray UUID or tag UID is required when no slot tag is available. This keeps error text aligned with the new tag fallback and modal behavior.b3f11ceAdded noTrayUuid message in the other languages. The translation was done using Google Translate.📊 Changes
150 files changed (+12305 additions, -24303 deletions)
View changed files
📝
CHANGELOG.md(+1 -107)📝
README.md(+0 -1)📝
backend/app/api/routes/archives.py(+13 -115)📝
backend/app/api/routes/auth.py(+7 -89)➖
backend/app/api/routes/bug_report.py(+0 -95)📝
backend/app/api/routes/cloud.py(+26 -3)📝
backend/app/api/routes/inventory.py(+30 -110)📝
backend/app/api/routes/printers.py(+0 -1)📝
backend/app/api/routes/settings.py(+0 -1)📝
backend/app/api/routes/spoolbuddy.py(+3 -282)📝
backend/app/api/routes/spoolman.py(+56 -12)📝
backend/app/api/routes/support.py(+4 -101)📝
backend/app/core/config.py(+1 -2)📝
backend/app/core/database.py(+0 -94)📝
backend/app/main.py(+0 -22)➖
backend/app/models/bug_report.py(+0 -20)📝
backend/app/models/spool.py(+0 -2)📝
backend/app/models/spoolbuddy_device.py(+1 -8)📝
backend/app/schemas/archive.py(+0 -21)📝
backend/app/schemas/printer.py(+0 -1)...and 80 more files
📄 Description
Description
This fixes the issue where the "Link to Spoolman" button was not showing for non-Bambu Lab spools. Generic tags are generated for each non-Bambu spool using Printer ID + AMS ID + Tray ID. This tag is then used in the extra.tag field within Spoolman.
In addition to fixing the spoolman linking issue, I've also added an Unlink from Spoolman button to non-Bambu spools which are linked so that the tag field can be cleared right from the interface rather than going into Spoolman to do it manually.
COPILOT WRITTEN SUMMARY BELOW
This pull request refactors and expands the Spoolman spool linking functionality to support both tray UUIDs and generic tag UIDs, improves validation and error handling, and adds support for unlinking spools. It also updates frontend components and tests to match these backend changes, ensuring a consistent user experience and robust integration.
Related Issue
#639
Type of Change
Changes Made
FRONTEND CHANGES
BACKEND CHANGES
TRANSLATIONS
Screenshots
Testing
Checklist
Additional Notes
N/A
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.