mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-05-09 08:25:54 +02:00
[GH-ISSUE #1038] [Feature]: Spoolman inventory integration – unified UI, storage location field & AMS deep-links #732
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#732
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?
Originally created by @netscout2001 on GitHub (Apr 19, 2026).
Original GitHub issue: https://github.com/maziggy/bambuddy/issues/1038
Originally assigned to: @netscout2001 on GitHub.
Problem or Use Case
Users who manage filament in Spoolman currently have to switch back and forth between Bambuddy and the Spoolman web UI to view or edit spool details. There is no shared "storage location" concept between both systems. Managing where a spool is physically stored requires maintaining that information separately in Spoolman without it ever being visible inside Bambuddy.
Proposed Solution
Three connected improvements that together make Spoolman feel like a first-class part of Bambuddy:
Unified inventory UI for Spoolman mode – When Spoolman is enabled, the Bambuddy inventory page proxies all spool data through Spoolman (create, edit, archive, delete) while keeping the same table/card UI as the internal inventory. This means users have a single place to manage spools regardless of which backend is active.
Storage Location field – A new "Storage Location" text field on every spool (e.g. "Shelf A, Box 3"). In internal inventory mode it is stored locally. In Spoolman mode it maps bidirectionally to Spoolman's native
locationfield – reads on load, writes back on save, and can be explicitly cleared."Open in Inventory" deep-link from AMS slot hover card – The hover card shown when hovering over an AMS slot now contains an "Open in Inventory" button (for both Spoolman-linked and internally-assigned spools). Clicking it navigates to
/inventory?spool=<id>, which immediately opens the edit modal for that exact spool without having to scroll or search. The modal opens from the already-cached spool list when possible, or via a targeted single-spool fetch as fallback.Alternatives Considered
Feature Category
Spoolman Integration
Priority
Would improve my workflow
Mockups or Examples
Printer Inventory Link, when spoolman is activated is the same as with internal inventory:
Inventory:
Spool edit with storage location:
Contribution
@maziggy commented on GitHub (Apr 20, 2026):
Don't understand this one. The workflow is the same as for the internal inventory?!
What's the purpose? You can configure all related settings in the "Configure AMS slot" modal.
Yes, that's correct. We already have some related feature requests:
So we first should figure out if/how these three FR can be satisfied.
In general we must keep parity between Spoolman and the internal inventory. So both should have exactly the same funtionality. The frontend shouldn't care about what inventory is enabled.
So that means, that the frontend of the internal inventory is also being used for Spoolman? I like!!!
Yes, we need such a field. When thinking about the logic we should respect all three FR listed above.
Fine for me.
Just my 2 cents.
@netscout2001 commented on GitHub (Apr 20, 2026):
Thanks for the detailed feedback!
On "switch back and forth":
Before this PR, Bambuddy had no inventory UI for Spoolman spools at all — Spoolman users had to open Spoolman's own web UI in a separate tab to create, edit, or delete spools. The internal inventory worked entirely within Bambuddy, but Spoolman users were left out. That's the friction this closes: both inventory backends now live inside Bambuddy with the same UI.
On Storage Location and the related FRs:
#1004 - already integrated in my feature
#829 - alternate use the new storage location field which is already there with this feature
Happy to align on the exact behavior if needed.
On parity:
That's exactly the goal — the frontend is inventory-backend-agnostic. The Spoolman proxy endpoints mirror the same CRUD surface as the internal inventory, so the UI doesn't need to know which backend is active.
@maziggy commented on GitHub (Apr 20, 2026):
Now we are in sync :)
@ic9888 commented on GitHub (Apr 20, 2026):
I love the idea of a fully featured front end for spoolman in bambuddy, thanks for incorporating #829 in the discussion,
Do you think we can include the concept of a printer location as the default storage location for a spool? i.e. When a spool is removed from an AMS attached to a printer in Location A, that is the default storage location assigned to the spool unless a more specific location is configured.
@netscout2001 commented on GitHub (Apr 20, 2026):
@ic9888 whats with that? alternate use the new storage location field which is already there with this feature.
This storage location field can be edited and not controlled by bambuddy like the location ams field.
@ic9888 commented on GitHub (Apr 20, 2026):
The goal of #829 is to populate the spool location in spoolman via bambuddy with a storage location based on the location of the printer the spool was last used in. It's not already there but under consideration and sounds like it might be rolled up into this feature @maziggy ?
@netscout2001 commented on GitHub (Apr 21, 2026):
Ok i understand. But you can do manually with this feature when you set the printer Location in the storage location field correct? This field won't be changed by bambuddy.
But you need this automatically correct?
This is an additional Feature but this FR is a good base for this.
@ic9888 commented on GitHub (Apr 21, 2026):
Perhaps I should make it more clear in #829 but the intention is for this to be done automatically by bambuddy when a spool is removed from the AMS, the point is to not need to do it manually in spoolman or bambuddy. The location field for the printer is just to let bambuddy know what location to assign the removed spool.
@maziggy commented on GitHub (May 5, 2026):
Test plan -> https://github.com/netscout2001/bambuddy/blob/feature/spoolman-inventory-ui/docs/spoolman-inventory-test-plan.md
@maziggy commented on GitHub (May 5, 2026):
docker pull ghcr.io/maziggy/bambuddy:spoolman-test_20260505