Commit Graph
1182 Commits
Author SHA1 Message Date
MartinNYHC 5f2bb02ff9 Fix spelling errors in German localization 2026-02-15 09:30:42 +01:00
MartinNYHC 4820a0df6f Merge branch '0.2.0b' into 0.2.0b 2026-02-15 09:29:28 +01:00
maziggy 3c29e200d7 fix: clear inventory spool assignments when switching to Spoolman mode
When enabling Spoolman, stale built-in inventory slot assignments
persisted in the database and the printer card UI still showed
assign/unassign buttons from the internal inventory. Now bulk-deletes
all SpoolAssignment records on mode switch, invalidates the frontend
spool-assignments cache, and hides inventory UI on printer cards while
Spoolman is active.
2026-02-15 09:27:09 +01:00
MartinNYHC 9fb0c59dba Merge branch '0.2.0b' into 0.2.0b 2026-02-15 09:13:19 +01:00
maziggy 6e56aa7ab3 Inventory UX improvements, color catalog expansion, settings polish
- Replace browser confirm() with styled ConfirmModal for inventory
  delete (danger) and archive (warning) actions
- Expand default color catalog from 258 to 638 entries (6 → 20 brands)
  with measured hex codes from FilamentColors.xyz
- Expand eSUN from 10 generic placeholders to 79 measured colors
  across 10 material lines
- Add built-in inventory note about third-party spool assignment
- Increase Spool/Color Catalog settings card height (400px → 600px)
- Add i18n keys for all new strings (en, de, fr, it, ja)
- Update wiki inventory docs with catalog management details
2026-02-15 09:12:34 +01:00
maziggy d67f1a1c03 fix: inventory spool weight_used reset by AMS remain% sync
The on_ams_change() handler recalculated weight_used from the AMS
remain% sensor on every status update, overwriting precise values
from the usage tracker. For small prints on large spools (e.g. 1.6g
on 1000g), the integer-resolution sensor (10g steps) still reported
100% remain, resetting weight_used back to 0. The sync now only
increases weight_used, never decreases it.
2026-02-15 08:40:12 +01:00
maziggy 46f2b8ee0d fix: AMS slot configure modal not pre-populating black filament color
The color pre-population logic skipped hex 000000 (black) to guard
against empty/uninitialized slots, but empty slots already don't pass
trayColor to the modal. Removed the unnecessary check so black filament
color is now pre-populated like any other color.
2026-02-15 08:33:59 +01:00
maziggy a6b1f6fc28 Updated update_website_wiki.sh 2026-02-15 08:25:37 +01:00
MartinNYHC 10375aa3f9 Merge pull request #381 from nmori/fix/faile-to-start
Fixing Startup Error (start_bambuddy.bat)
2026-02-15 08:25:11 +01:00
MartinNYHC fac02ff7b3 Merge branch '0.2.0b' into fix/faile-to-start 2026-02-15 08:24:58 +01:00
maziggy a37dfaf7fb feat: dual external spool support, AMS slot model filtering & pre-population
Backend:
- Add dual external spool support for H2D (vt_tray as list: Ext-L/Ext-R)
- Add cloud filament ID map endpoint (/cloud/filament-id-map)
- Fix RFID spool data erased by periodic AMS updates (skip tag matcher
  for RFID-tagged trays)
- Fix AMS slot config overwrites RFID spool state
- Fix K-profile selection corrupts existing profiles on X1C/P1S
- Resolve K-profiles filament name via cloud filament ID map
- Update print scheduler and usage tracker for dual external spools

Frontend:
- Add printer model filtering to ConfigureAmsSlotModal (cloud/local/builtin
  presets filtered by @BBL model suffix and compatible_printers)
- Add pre-population for configured slots (preset, color, K-profile)
- Add K-Profiles view with accurate filament name resolution
- Internationalize all ConfigureAmsSlotModal strings (en/de/fr/it/ja — 21 keys)
- Add 5 new ConfigureAmsSlotModal tests (model filtering, pre-selection,
  color pre-population, i18n)
- Update PrintersPage for dual external spool rendering

Docs:
- Update CHANGELOG, README, website features, and wiki AMS docs
2026-02-15 08:04:01 +01:00
Mori Naoyuki bb88527915 Changed to use %~dp (for improved security) 2026-02-15 10:04:23 +09:00
Mori Naoyuki 3ce98899fb The script stopped launching after moving the folder, so I fixed it. 2026-02-15 09:35:14 +09:00
Matteo Parenti 4f59be46c9 Merge branch '0.2.0b' of https://github.com/Keybored02/bambuddy into 0.2.0b 2026-02-14 09:00:28 +01:00
Matteo Parenti 33c4bd8f84 Fix spool assignments query, mismatch dialog premature closing, confirm modal black text, add missing de.ts, fr.ts, and ja.ts locales 2026-02-14 09:00:17 +01:00
MartinNYHC 40f6ddc059 Merge pull request #363 from maziggy/dependabot/npm_and_yarn/frontend/npm_and_yarn-d1b1a1bb7d
Bump markdown-it from 14.1.0 to 14.1.1 in /frontend in the npm_and_yarn group across 1 directory
2026-02-14 08:18:31 +01:00
MartinNYHC f8ba8d4ef9 Merge branch '0.2.0b' into 0.2.0b 2026-02-14 08:15:26 +01:00
maziggy 12e92a301d @rebase markdown-it 2026-02-14 08:15:10 +01:00
Matteo Parenti 12e758e68e Add insufficient filament warning 2026-02-13 22:37:06 +01:00
dependabot[bot] 2bbe7b9da2 Bump markdown-it
Bumps the npm_and_yarn group with 1 update in the /frontend directory: [markdown-it](https://github.com/markdown-it/markdown-it).


Updates `markdown-it` from 14.1.0 to 14.1.1
- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/markdown-it/compare/14.1.0...14.1.1)

---
updated-dependencies:
- dependency-name: markdown-it
  dependency-version: 14.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-13 20:52:04 +00:00
Matteo Parenti 4588cae4af Merge branch '0.2.0b' of https://github.com/Keybored02/bambuddy into 0.2.0b 2026-02-13 17:01:51 +01:00
Matteo Parenti 51d3a92263 Add material mismatch check 2026-02-13 17:01:16 +01:00
MartinNYHC 1d25eb15a0 Merge pull request #360 from Keybored02/0.2.0b
Add Spool card fixes and additions, It locale update
2026-02-13 16:39:31 +01:00
Matteo Parenti 30b6190163 Add Spool card fixes and additions, It locale update 2026-02-13 16:26:18 +01:00
maziggy f88c7704bc Add AMS slot info to filament_details notification variable (#336)
filament_details now shows which AMS unit and tray each filament came
from (e.g. "AMS-A T1 PLA: 12.4g | AMS-A T3 PETG: 2.8g"). External
spool holders show "Ext". Falls back to type-only format when usage
tracking data is unavailable (e.g. Spoolman mode).

- usage_tracker: include spool material in result dicts
- main.py: pass usage_results to notification flow via archive_data
- notification_service: build filament_details with AMS labels when
  usage_results available, fall back to existing slot-based format
- Update sample data and changelog
2026-02-13 16:10:58 +01:00
MartinNYHC 232f64dbf8 Merge pull request #353 from devzwf/main
Added French language pack
2026-02-13 16:08:10 +01:00
MartinNYHC f021de64dd Merge branch '0.2.0b' into main 2026-02-13 16:05:18 +01:00
maziggy 86a2bb2400 Sync 2026-02-13 16:00:59 +01:00
maziggy d9a701fe8e Sync 2026-02-13 15:57:01 +01:00
MartinNYHC ffdb618d05 Merge pull request #359 from Keybored02/0.2.0b
Add soft-delete support for system maintenance types
2026-02-13 15:56:19 +01:00
DevZwF 740977241f updated translation file. 2026-02-13 09:52:57 -05:00
Keybored 79f68a2a40 Merge branch 'maziggy:0.2.0b' into 0.2.0b 2026-02-13 15:42:41 +01:00
Matteo Parenti c40447b5f9 Merge branch '0.2.0b' of https://github.com/Keybored02/bambuddy into 0.2.0b 2026-02-13 15:40:05 +01:00
Matteo Parenti 8b0895f63f Add soft-delete for system maintenance tasks 2026-02-13 15:39:52 +01:00
MartinNYHC 0b734113cf Merge pull request #357 from Keybored02/0.2.0b
Add filament type and color to R nozzle hover card
2026-02-13 15:35:32 +01:00
ZwF d8a48bc0af Merge branch '0.2.0b' into main 2026-02-13 10:14:28 -04:00
Keybored d7e1b480dc Merge branch 'maziggy:0.2.0b' into 0.2.0b 2026-02-13 15:09:42 +01:00
Matteo Parenti 6c36fe9ebe Add filament_id tracking for R nozzle 2026-02-13 15:08:47 +01:00
maziggy 2d989bc6e8 Unified 3MF-based filament tracking and notification usage variables (#336)
3MF slicer estimates are now the primary tracking source for ALL spools
(BL and non-BL), with AMS remain% delta as fallback. Per-layer G-code
analysis provides accurate partial usage for failed/cancelled prints.

Fix wrong-spool tracking bug: 3MF slot_id was mapped directly to AMS
tray position, but the printer remaps slicer slots at print time. Now
uses queue ams_mapping for queue prints and tray_now from printer state
for single-filament non-queue prints.

Add filament_grams, filament_details, and progress template variables
to print_complete, print_failed, and print_stopped notification events.
Webhook payloads include per-slot filament breakdown. Per-slot data
stored in archive extra_data during 3MF parsing.
2026-02-13 14:48:50 +01:00
maziggy cf91531aa2 Add next-available printer indicator and fix bulk archive delete race condition (#354)
Status summary bar on the Printers page now shows availability count
("X available") and a "Next available" indicator with printer name,
progress bar, percentage, and remaining time for the printer finishing
soonest. Always visible when printers are printing; hidden otherwise.

Fix race condition in bulk archive deletion where files were removed
from disk before the database commit. Concurrent SQLite writes could
cause a lock timeout, rolling back the DB delete while files were
already gone — leaving orphaned records with broken thumbnails. Now
deletes the DB record first and only removes files after a successful
commit.
2026-02-13 13:06:22 +01:00
maziggy cffe7e62bc Fix maintenance tasks showing wrong rod type for printer models (#351)
H2/A1 series have linear rails, not carbon rods. X1/P1/P2S have carbon
rods, not linear rails. Split rod-specific maintenance into model-aware
pairs: "Lubricate/Clean Carbon Rods" for X1/P1/P2S and "Lubricate/Clean
Linear Rails" for A1/H2. Added rod type classification to printer_models
and startup cleanup for stale/duplicate system maintenance types.
2026-02-13 12:23:34 +01:00
maziggy f9b47282a1 Nozzle-aware AMS mapping for dual-nozzle printers, BL spool detection fix, AMS startup fix, SQLite WAL (#318)
Dual-nozzle H2D/H2D Pro: filament matching now respects nozzle assignments
from the 3MF file. Each AMS unit feeds a specific nozzle (L/R), and the
scheduler/frontend constrain matching to only trays on the correct nozzle.
Falls back to unfiltered matching when no trays exist on the target nozzle.
L/R badges shown in the filament mapping UI. Translated in en/de/ja/it.

Fix AMS slot config overwritten on startup: on_ams_change unconditionally
unlinked BL spool assignments on every MQTT pushall, then re-assigned them
sending ams_filament_setting without setting_id — clearing the printer's
filament preset. Now compares spool RFID identifiers before unlinking.

Fix BL spool detection false positives: removed tray_info_idx from detection
logic in both backend is_bambu_lab_spool() and frontend isBambuLabSpool().
Third-party spools using Bambu generic presets had GF-prefixed tray_info_idx
values, causing misidentification. Now uses only tray_uuid and tag_uid.

SQLite WAL mode with 5s busy timeout reduces "database is locked" errors.
2026-02-13 11:48:32 +01:00
MartinNYHC f054ad7836 Merge branch '0.2.0b' into main 2026-02-13 09:04:51 +01:00
maziggy ee2af79f4a Add confirmation modal to skip objects (#346)
Prevent accidentally skipping the wrong object during a print by showing
a warning confirmation dialog with the object name and an irreversible
action warning. Uses the existing ConfirmModal component with warning
variant. Translations added for all 4 locales (en, de, ja, it).
2026-02-13 08:46:15 +01:00
MartinNYHC d3f2ad0b8d Merge branch '0.2.0b' into main 2026-02-13 08:16:52 +01:00
MartinNYHC bd2f6c4133 Merge pull request #350 from sbcrumb/feature/discord-image-embeds
Add camera image embeds to Discord notifications
2026-02-13 08:16:04 +01:00
MartinNYHC 7fd1218205 Merge branch '0.2.0b' into feature/discord-image-embeds 2026-02-13 08:12:21 +01:00
MartinNYHC ac9bbc354a Merge pull request #348 from sbcrumb/fix/duplicate-error-notifications
Fix duplicate HMS error notifications from race condition
2026-02-13 08:11:28 +01:00
MartinNYHC c5246e60fc Merge branch '0.2.0b' into fix/duplicate-error-notifications 2026-02-13 08:07:44 +01:00
MartinNYHC 179a9de521 Merge pull request #328 from jeffsf/fixes/327
Shut down MQTT relay and smart plug services explicitly
2026-02-13 08:06:35 +01:00