mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-05-09 05:35:30 +02:00
[PR #719] [MERGED] [Fix]: Send Bambu RFID Tags to Spoolman, Allow Unlink in Manual Mode, Stop Location Clearing for Generic Spools #1101
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
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#1101
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/719
Author: @shrunbr
Created: 3/15/2026
Status: ✅ Merged
Merged: 3/16/2026
Merged by: @maziggy
Base:
dev← Head:fix/spoolmanManualMode📝 Commits (9)
84d934dPrefers trayUuid over tagUid for using Bambu spool ID in Spoolman vs generated ID needed for generic spools9f1681cFetches Spoolman sync mode from backend, passes to FilamentHoverCard2de612fUses Spoolman sync mode, if manual, will now show unlink spool button for Bambu Lab spoolsb8cf778Checks for 32-character tags before clearing location of spools so that only Bambu lab spool locations are cleared on sync since generic spools are skippeddd40b48Adds spool link test for linking bambu spools, modifies existing test to be for generic spools5535c5fUpdates spool tags in clear location test to be 32-chars to reflect new requirement to clear location198bc29Use constant for Bambu RFID tag lengthf898717Merge branch 'dev' into fix/spoolmanManualMode5670da0Merge branch 'dev' into fix/spoolmanManualMode📊 Changes
6 files changed (+56 additions, -11 deletions)
View changed files
📝
backend/app/services/spoolman.py(+5 -0)📝
backend/tests/unit/services/test_spoolman_service.py(+8 -4)📝
frontend/src/__tests__/components/LinkSpoolModal.test.tsx(+20 -1)📝
frontend/src/components/FilamentHoverCard.tsx(+2 -1)📝
frontend/src/components/LinkSpoolModal.tsx(+4 -4)📝
frontend/src/pages/PrintersPage.tsx(+17 -1)📄 Description
Description
This PR has trayUuid take precedence over tagUid so that the Bambu spool RFID is sent to Spoolman and not the generic placeholder needed for generic spools. While fixing this, it became clear to me that if someone were running sync in manual mode they may want the ability to unlink Bambu spools from Spoolman themselves so the button now appears on Bambu spools but only if Spoolman is in Manual mode.
After testing sync in manual mode, I noticed that even though Bambuddy said it was skipping non-Bambu spools it would clear the location from non-Bambu spools in Spoolman. To fix that, we now look for the 32-char tag on the spool before clearing it since the generic ones we generate are 16-chars. Now generic spool locations are not cleared from Spoolman upon sync, they are truly skipped.
COPILOT GENERATED SUMMARY
This pull request improves the handling of Bambu Lab spools and their integration with Spoolman, focusing on more accurate identification of spools using tray UUIDs, better sync mode awareness, and clearer logic for linking/unlinking spools. It also updates the UI and tests to reflect these changes.
Related Issue
Fixes #714
Type of Change
Changes Made
Backend: Bambu Lab Spool Handling
Frontend: Spool Linking and Unlinking Logic
LinkSpoolModalnow prioritizestrayUuid(Bambu Lab path) overtagUid(generic path), ensuring the correct identifier is used for Bambu Lab spools.FilamentHoverCardand related UI now conditionally show the unlink option based on the sync mode, hiding it for Bambu Lab spools when auto-sync is enabled.PrintersPageandPrinterCardcomponents now fetch and propagate Spoolman sync mode settings, enabling context-aware UI behavior for linking and unlinking spools.LinkSpoolModaltests have been expanded to cover both Bambu Lab (trayUuid present) and generic (trayUuid missing) linking paths, ensuring correct behavior in both scenarios.Screenshots
Unlink button on a Bambu spool while in Manual sync mode

Bambu Lab RFID tags showing when available

Generic tags showing when RFID tags are not available

RFID tag in Spoolman

Testing
Checklist
Additional Notes
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.