Skip to content

feat: add native filaman widget#1852

Open
ManuelW77 wants to merge 22 commits into
fluidd-core:developfrom
ManuelW77:develop
Open

feat: add native filaman widget#1852
ManuelW77 wants to merge 22 commits into
fluidd-core:developfrom
ManuelW77:develop

Conversation

@ManuelW77
Copy link
Copy Markdown

@ManuelW77 ManuelW77 commented May 24, 2026

I implemented a Widget for my FilaMan (Filamentmanagement Tool)

You can contact me:
Manuel Weiser
manuelw@filaman.app

https://www.filaman.app

ManuelW77 added 10 commits May 24, 2026 10:19
- Renamed variables and methods to reflect the new FilaMan support in FileSystem, MmuEditGateMapDialog, PrinterStatusCard, and SpoolSelectionDialog components.
- Updated localization files to include FilaMan titles and messages in both English and German.
- Enhanced the SpoolSelectionDialog to manage spools from both spoolman and FilaMan, including new computed properties for dynamic titles and labels.
- Modified actions in the Vuex store to handle FilaMan spools, including new interfaces for FilaMan responses and normalization logic.
- Adjusted the Dashboard and Settings views to conditionally render components based on the availability of spoolman or FilaMan.
- Updated mixins to check for FilaMan support alongside spoolman.
Copilot AI review requested due to automatic review settings May 24, 2026 09:52
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR adds FilaMan (“filaman” component) support by treating it as an alternative spool-tracking backend alongside Spoolman, updating UI visibility rules, and introducing Filaman-specific UI elements and API calls.

Changes:

  • Add Filaman component support checks and update settings/dashboard visibility logic to prefer Filaman where applicable.
  • Extend spoolman store/actions and socket actions to fetch/normalize Filaman spool data and set active spool via new Moonraker methods.
  • Add Filaman UI (card + assets) and new i18n strings (EN/DE), plus adjustments to existing spool selection/QR behavior.

Reviewed changes

Copilot reviewed 17 out of 20 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
src/views/Settings.vue Show spool tracking settings when either Spoolman or Filaman is supported.
src/views/Dashboard.vue Swap Spoolman card for Filaman card when Filaman is supported; update filtering logic.
src/typings/moonraker.spoolman.d.ts Add Filaman response interfaces for typed normalization.
src/store/spoolman/actions.ts Add Filaman init + pagination fetch, and normalize Filaman spools into Spoolman-shaped spools.
src/mixins/afc.ts Treat Filaman as valid spool tracking support for AFC UI.
src/locales/en.yaml Add Filaman translations.
src/locales/de.yaml Add Filaman translations.
src/globals.ts Register “filaman” component to dispatch spoolman/init.
src/components/widgets/status/PrinterStatusCard.vue Rename variables to “spool tracking” wording for broader backend support.
src/components/widgets/spoolman/SpoolSelectionDialog.vue Add Filaman-aware labeling and disable QR scanning for Filaman.
src/components/widgets/mmu/MmuEditGateMapDialog.vue Rename handlers/watchers to “spool tracking” terminology.
src/components/widgets/filesystem/FileSystem.vue Rename variables to “spool tracking” wording for broader backend support.
src/components/widgets/filaman/SpoolSelectionDialog.vue Add a Filaman-specific spool selection dialog component.
src/components/widgets/filaman/FilamanCard.vue Add a Filaman dashboard card using the existing spoolman store/dialog state.
src/components/widgets/afc/AfcCardUnitLaneBody.vue Rename state flags/watchers to “spool tracking” wording and accept Filaman support.
src/components/settings/SpoolmanSettings.vue Make settings header Filaman-aware, and hide QR settings when Filaman is active.
src/components/layout/AppSettingsNav.vue Make settings nav entry Filaman-aware and visible for either backend.
src/api/socketActions.ts Add Filaman Moonraker methods for get/post spool id and proxy spool listing.
public/img/icons/filaman-spool.svg Add Filaman spool icon asset.

Comment thread src/components/widgets/filaman/SpoolSelectionDialog.vue
Comment thread src/components/settings/SpoolmanSettings.vue Outdated
Comment thread src/components/layout/AppSettingsNav.vue Outdated
Comment thread src/components/widgets/filaman/FilamanCard.vue
Comment thread src/store/spoolman/actions.ts
Comment thread src/store/spoolman/actions.ts
Comment thread src/store/spoolman/actions.ts
Comment thread src/api/socketActions.ts Outdated
Comment thread src/views/Dashboard.vue Outdated
@thijstriemstra
Copy link
Copy Markdown
Contributor

FilaMan? Never heard of it? Maybe a link would be useful?

@ManuelW77
Copy link
Copy Markdown
Author

Ah, sorry i forgot :)

https://www.filaman.app

Comment thread src/views/Settings.vue
get supportsSpoolTracking (): boolean {
return (
this.$typedGetters['server/componentSupport']('spoolman') ||
this.$typedGetters['server/componentSupport']('filaman')
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this module actually exist? From what I can see in your code and your website, you are using the [spoolman] module and then have a Spoolman compatible API in Filaman, is that correct?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, found it! 😁
Arksine/moonraker#1074

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there, FilaMan is used by a lot of people and they wish a native implementation, because it can have more features than Spoolman.
Yes, i build a spoolman api plugin to make the switch für the user easier. But, it can do all the things that FilaMan can do and I won't be bind FilaMan to a other system, because of complexity.

So it would be nice, if I can implement FilaMan natively and get the development forward.

@pedrolamas pedrolamas added GH - Upstream First Temporarily impossible because of other factors Upstream - Moonraker For everything API related labels May 27, 2026
@pedrolamas pedrolamas requested a review from Copilot May 30, 2026 20:17
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 22 changed files in this pull request and generated 2 comments.

Comment thread src/store/server/actions.ts
Comment thread src/api/socketActions.ts
Comment thread src/api/socketActions.ts
Comment thread src/store/spoolman/actions.ts Outdated
ManuelW77 and others added 2 commits May 31, 2026 06:09
Co-authored-by: Pedro Lamas <pedrolamas@gmail.com>
Signed-off-by: ManuelW <manuel.weiser@me.com>
Co-authored-by: Pedro Lamas <pedrolamas@gmail.com>
Signed-off-by: ManuelW <manuel.weiser@me.com>
ManuelW77 and others added 3 commits May 31, 2026 06:11
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Manuel Weiser <manuel.weiser@me.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

GH - Upstream First Temporarily impossible because of other factors Upstream - Moonraker For everything API related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants