Commit Graph
1876 Commits
Author SHA1 Message Date
MartinNYHC 20cd8aebda Bug report logs c728d703299242fab99a492eaa6ac121.log 2026-04-08 00:40:31 +02:00
MartinNYHC c1c2718bc5 Bug report screenshot 1233d4642ac9408b88b5dfbb2ef1b90b.png 2026-04-08 00:40:30 +02:00
MartinNYHC 7000a41f05 Bug report logs a13fbff1c06f4d4a85f8ed22f29b4b4b.log 2026-04-07 19:49:21 +02:00
MartinNYHC 19f313a836 Bug report logs 47f155941ecf418da5ec2668dc51ad53.log 2026-04-07 14:10:00 +02:00
MartinNYHC a5aa8a398e Bug report screenshot ebd8a0d70ec141ffaa4e4ad920af3160.png 2026-04-07 14:09:59 +02:00
MartinNYHC a718153747 Bug report logs 331331722dbe46359a7341805717e735.log 2026-04-06 17:39:28 +02:00
MartinNYHC 796616d63d Bug report screenshot 848dd3e5482b4cbc901b9e2c4a579d51.png 2026-04-06 17:39:27 +02:00
MartinNYHC 5e89af46dc Bug report logs e102c6662e9b4749b050e84dbb430b78.log 2026-04-06 17:29:28 +02:00
MartinNYHC 2682dfe524 Bug report screenshot d8290562b4b34e8e8ca6c5a71177ffc6.png 2026-04-06 17:29:27 +02:00
MartinNYHC 0e78a90b4e Bug report logs 2061e79b926144d1808c92e3107f0fcf.log 2026-04-06 08:31:42 +02:00
MartinNYHC 24ae0ebe21 Bug report screenshot 8971b09c44704d99977564668a0bca9d.png 2026-04-06 08:31:41 +02:00
MartinNYHC 42f08b7a24 Bug report logs 4578b83e0c80400083035cbbe969fc4c.log 2026-04-06 02:35:49 +02:00
MartinNYHC f73ca14fe2 Bug report screenshot cac30e38af7c42e785ec5aa00079e42e.png 2026-04-06 02:35:48 +02:00
MartinNYHC ce32a0eb9b Bug report logs c812a922e3b24d62b459846a6e79050c.log 2026-04-06 00:00:41 +02:00
MartinNYHC 967adf32d3 Bug report logs dc9155460915482998e7cd0978f7a046.log 2026-04-05 16:41:19 +02:00
MartinNYHC 7eec99148e Bug report logs dffedab3a1614a8699fff3e8d8d5431b.log 2026-04-03 20:31:25 +02:00
MartinNYHC 5562ac6eda Bug report logs 0218c6650bb543e1bacbe3e002d462ad.log 2026-04-03 19:48:16 +02:00
MartinNYHC 1ff67c1127 Bug report screenshot f8a40ff5f3784bdcb44842f7288e591c.png 2026-04-03 19:48:15 +02:00
MartinNYHC 335ef0a5e5 Bug report logs 709d0fcf7cd94968be06848a0e05de34.log 2026-04-03 09:49:11 +02:00
MartinNYHC 142aa79fd2 Bug report screenshot 6fb0ae7e4c03489a9b92d3721f609b5e.png 2026-04-03 09:49:09 +02:00
MartinNYHC 9ad732a6e6 Bug report logs b4c7f01bef724e47975470edfccc47ce.log 2026-04-02 13:46:28 +02:00
MartinNYHC 7e9816253e Bug report logs 2237b497624f42d598c120b051a00388.log 2026-04-02 13:41:56 +02:00
MartinNYHC 48f46c5426 Bug report logs 82dc71af57da4f91b47e89aaabcd302c.log 2026-04-02 13:12:55 +02:00
MartinNYHC 921949243a Bug report logs 501ca84b3f2f406db9f29fefa0834da7.log 2026-04-01 15:47:20 +02:00
MartinNYHC 7d26d49b57 Bug report logs 363d3c9baeb94f62932d0e4357b77ed4.log 2026-04-01 14:59:51 +02:00
MartinNYHC 5b110efa7b Bug report logs 3cdd971469724fea82f5e86ec428a0aa.log 2026-04-01 14:58:06 +02:00
MartinNYHC 9127f3c50e Bug report logs 162eacde312f4bf59431b8b401388cbe.log 2026-04-01 14:53:28 +02:00
MartinNYHC d71bca3b5b Bug report screenshot eddc53793d8c4e5b87584cf97a0f2915.png 2026-04-01 14:53:27 +02:00
maziggy 88d03103e0 Fix ruff format check for spool_assignment_notifications.py v0.2.2.2 2026-03-27 09:33:03 +01:00
MartinNYHC 67f91d94de v0.2.2.2 (#830)
v0.2.2.2 (#830)
2026-03-27 09:27:47 +01:00
maziggy 8270030687 Housekeeping 2026-03-26 14:20:30 +01:00
maziggy da2be65abd Housekeeping 2026-03-26 14:08:27 +01:00
maziggy 258642f3b7 Housekeeping 2026-03-26 14:04:31 +01:00
maziggy 329be09fd9 Housekeeping 2026-03-26 14:01:41 +01:00
maziggy a699270c7a Changed pipeline 2026-03-26 13:53:12 +01:00
dependabot[bot] b824b39bd5 Bump picomatch in /frontend in the npm_and_yarn group across 1 directory (#821)
Bumps the npm_and_yarn group with 1 update in the /frontend directory: [picomatch](https://github.com/micromatch/picomatch).


Updates `picomatch` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-26 13:37:56 +01:00
maziggy d1f86efc60 Revert "extend currencies with Ukrainian Hryvnia (#801)"
This reverts commit df6926c002.
2026-03-25 08:15:07 +01:00
Vladyslav Biletskyi df6926c002 extend currencies with Ukrainian Hryvnia (#801)
extend currencies with Ukrainian Hryvnia (#801)
2026-03-25 08:12:46 +01:00
maziggy d27c85de45 Fix ruff format for user_notifications and spoolman v0.2.2.1 2026-03-22 14:23:25 +01:00
MartinNYHC 4401f5ab4d Merge pull request #785 from maziggy/0.2.2.1
# Bambuddy v0.2.2.1

  ## Virtual Printer — Breaking Changes

  ▎ Action required for existing Virtual Printer users. Please follow the migration guide before updating.

The Virtual Printer FTP server now binds directly to port 990 instead of using an iptables redirect from 990 → 9990. This fixes FTP being routed to the wrong VP when running multiple virtual printers on different bind IPs (#735).

  What you need to do:
  - Native/systemd: Remove old iptables redirect rules (990 → 9990) and verify CAP_NET_BIND_SERVICE is set in the systemd service.
  - Docker (bridge network): Change port mapping from 990:9990 to 990:990 in docker-compose.yml.
  - Docker (host network): Remove old iptables redirect rules on the host. No other changes needed.
  - Unraid/Synology/TrueNAS: Remove any iptables rules you added for 990 → 9990.

  Detailed instructions can be found here -> https://github.com/maziggy/bambuddy/blob/0.2.2.1/docs/migration-vp-ftp-port.md

  Proxy mode now supports cross-VLAN/subnet printing (#757) with transparent TCP proxying for FTP (990), file transfer (6000), and camera streaming (322). If you use proxy mode behind a firewall, ensure ports 6000 and 322 are open between the slicer and Bambuddy.

  X1C/X1 compatibility is fixed — both server mode (corrected SSDP model codes BL-P001/BL-P002) and proxy mode (end-to-end TLS passthrough preserving the printer's real certificate). Existing VPs are automatically migrated on startup.


  ## Highlights

  - Virtual Printer Overhaul (#735, #757) — Major rework of Virtual Printer networking. FTP, proxy mode, and X1C compatibility all significantly improved. Existing VP users: action required — see below.
  - Select Plates to Queue (#777) — Multi-plate 3MF files now support selecting a subset of plates to queue, with per-plate checkboxes.
  - HMS Error Visibility (#772) — Red "Problem" counter in the status bar, amber/red status pips, and HMS-first sorting for print farms.
  - Per-User Email Notifications (#693) — When Advanced Authentication is enabled, individual users can now receive email notifications for their own print jobs. Contributed by @cadtoolbox.
  - Spool Rotation During AMS Drying — Added a "Rotate spool during drying" checkbox to the manual drying popover for AMS 2 Pro and AMS-HT units.

  ## New Features

  - SpoolBuddy OTA Updates — SpoolBuddy devices can now be updated directly from the Settings → Updates tab without SSH access. Click "Check for Updates" to see if a newer version is available, then "Apply Update" to trigger the update. The daemon picks up the command via its heartbeat, pulls the latest code from GitHub, installs dependencies, and restarts automatically via systemd. Live progress is shown in the UI with status messages from the device. The status bar at the bottom automatically checks for updates every 5 minutes and shows a prominent message when one is available. Requires the device to be online.
  - Select Plates to Queue (#777) — Multi-plate 3MF files now support selecting a subset of plates to queue, instead of only "one plate" or "all plates". In add-to-queue mode, each plate has a checkbox for multi-select, with a "Select All / Deselect All" toggle. Reprint and edit modes remain single-select.
  - Camera Image Rotation (#672) — Added per-printer camera rotation (0°, 90°, 180°, 270°) for cameras mounted in portrait or upside-down orientations. Configurable in Settings → Camera for each printer. Rotation applies to live stream, embedded viewer, stream overlay, and notification snapshots.
  - Per-User Email Notifications (#693) — When Advanced Authentication is enabled, individual users can now receive email notifications for their own print jobs. Contributed by @cadtoolbox.
  - Quick Print Speed Control (#256) — Speed control badge on the printer card with Silent/Standard/Sport/Ludicrous presets.
  - Spool Name Column & Filter in Filament Inventory (#740) — Added a "Spool" column and spool name filter dropdown.
  - Spool Rotation During AMS Drying — Added a "Rotate spool during drying" checkbox to the manual drying popover for AMS 2 Pro and AMS-HT units.
  - Admin Set Default Nav-Menu Order (#761) — Admins can set their sidebar menu order as the default for new users. Contributed by @cadtoolbox.
  - Add Total Cost to Projects (#733) — Projects page now shows total cost (material + energy + BOM). Contributed by @Keybored02.
  - Material Mismatch & Insufficient Filament Checks (#720) — Warns on filament type/profile mismatch and insufficient material before printing. Contributed by @Keybored02.
  - Rework Archive Duplicates Tagging (#718) — Smarter duplicate detection (name + SHA256), reprint counter tags, parent print links. Contributed by @Keybored02.

  ## Improved

  - HMS Error Visibility on Printers Page (#772) — Red "Problem" counter in the status summary bar, red/amber status pips for errors/warnings, amber progress bars for paused prints, and HMS-first sorting.
  - Home Assistant Notifications (#750) — Added support for HA notify services. Contributed by @mrtncode.
  - Print Command Response Verification (#737) — Monitors whether the printer responds within 15 seconds after sending a print command; logs a warning if silently ignored.
  - Compact Assign Spool Modal (#725) — 3-column grid layout showing more spools without scrolling.
  - Reformatted AMS Drying Presets Table (#732) — Grouped by AMS type with inline unit labels.
  - Redesigned Bug Report Debug Log Flow — Interactive 3-step flow instead of a fixed 30-second timer.

  ## Fixed

  - Queue Print Command Not Reaching Printer (#778) — Fixed repeated MQTT reconnection cycles on printers that reject request topic subscription.
  - AMS Slot Search Shows Unrelated Profiles (#681) — Search filter now correctly applies to saved presets.
  - AMS Spools Removed After Printer Restart (#765) — Skips slot clearing on shutdown messages.
  - Carbon Rod Lubrication Maintenance Task Incorrect (#755) — Removed incorrect lubrication task for carbon rods.
  - Spurious "Job Waiting for Filament" Notification (#753) — Skips waiting notification when all printers are just busy.
  - File Rename Removes Extension (#751) — Extension is now non-editable.
  - Ntfy Notifications Fail With Non-ASCII Characters (#742) — Fixed UTF-8 encoding for header values.
  - Print Complete Notification Not Firing (#736) — Added 45-second timeout on photo capture.
  - Camera Window Overlapping Modals (#738) — Lowered camera z-index.
  - Webhook Notifications Missing Camera Snapshot (#679) — Added base64-encoded image field to webhook payloads.
  - White Filament Color Swatches Invisible in Light Theme (#726) — Changed to dark border across all views.
  - Mobile Sidebar Not Scrollable — Added overflow scrolling.
  - Send Bambu RFID Tags to Spoolman & Manual Mode Unlink (#719) — Proper RFID identifiers sent to Spoolman, unlink button in manual mode, fixed location clearing for generic spools. Contributed by @shrunbr.
  - SpoolBuddy Daemon Reports Stale Version — Version now read from backend APP_VERSION instead of hardcoded string.
  - Native Install Missing CAP_NET_BIND_SERVICE — Fixed systemd template for VP proxy on native installs.
  - UserEmailPreference Model Not Registered — Fixed SQLAlchemy model import order.

  ## Security

  - Bump pyOpenSSL 25.3.0 → 26.0.0 — Fixes CVE-2026-27448 and CVE-2026-27459.
  - Bump pyasn1 0.6.2 → 0.6.3 — Fixes CVE-2026-30922.
  - Bump flatted 3.4.1 → 3.4.2 — Fixes GHSA-rf6f-7fwh-wjgh (dev dependency).

  ## Contributors

  Thank you to everyone who contributed to this release!

  - @cadtoolbox — Admin default nav-menu order (#761), Per-user email notifications (#693)
  - @Keybored02 — Total cost in Projects (#733), Material mismatch checks (#720), Archive duplicates rework (#718)
  - @mrtncode — Home Assistant notify services (#750)
  - @shrunbr — Bambu RFID tags to Spoolman & manual unlink (#719)

  And thanks to everyone who reported issues and provided feedback!
2026-03-22 14:19:00 +01:00
maziggy 4fa1c2b08a Add missing migration for spoolbuddy update_status columns
The OTA update feature added update_status and update_message to the
  SpoolBuddyDevice model but no ALTER TABLE migration, causing
  "no such column: spoolbuddy_devices.update_status" on existing databases.
2026-03-22 14:13:12 +01:00
maziggyandClaude Opus 4.6 3a09108457 Add missing migration for spoolbuddy update_status columns
The OTA update feature added update_status and update_message to the
SpoolBuddyDevice model but no ALTER TABLE migration, causing
"no such column: spoolbuddy_devices.update_status" on existing databases.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 14:11:45 +01:00
maziggyandClaude Opus 4.6 3d0cdbb504 Merge main into 0.2.2.1 to resolve conflicts
Main had VP #735 hotfix commits that were also on dev. All conflicts
resolved by keeping 0.2.2.1 (superset of main). Verified: 2098 backend
tests pass, frontend builds clean, no conflict markers remain.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 14:06:03 +01:00
maziggy 6b4bc99d31 Suppress false-positive bandit B104 in VP proxy comparisons
Two "0.0.0.0" string comparisons (not binds) in tcp_proxy.py
  triggered B104. Added targeted # nosec B104 comments.
2026-03-22 13:45:59 +01:00
maziggy 988429b6e6 Set version 2026-03-22 13:29:50 +01:00
maziggy cbecdd18f4 Bump flatted 3.4.1 → 3.4.2 to fix prototype pollution
Fixes GHSA-rf6f-7fwh-wjgh (CWE-1321). Dev-only dependency via
  eslint → file-entry-cache → flat-cache → flatted.
2026-03-22 13:26:50 +01:00
maziggy 89bf138473 Bump flatted 3.4.1 → 3.4.2 to fix prototype pollution
Fixes GHSA-rf6f-7fwh-wjgh (CWE-1321). Dev-only dependency via
  eslint → file-entry-cache → flat-cache → flatted.
2026-03-22 13:26:24 +01:00
maziggy 407c9f84cf Bump pyOpenSSL and pyasn1 to fix 3 CVEs
pyOpenSSL 25.3.0 → 26.0.0 (CVE-2026-27448, CVE-2026-27459)
  pyasn1 0.6.2 → 0.6.3 (CVE-2026-30922)

  No breaking changes — Python 3.7 drop is irrelevant (we use 3.13),
  cryptography >=46.0.0 requirement already satisfied (we have 46.0.5),
  and we don't use set_tlsext_servername_callback (the behavioral change).
2026-03-22 13:24:36 +01:00
maziggy 311a14e7ec Improve SpoolBuddy update UX: auto-check and remove beta toggle
The SpoolBuddy layout now auto-checks for daemon updates every 5
  minutes and shows "Update available: v{version}" in the status bar.
  Removed the beta toggle since SpoolBuddy follows Bambuddy's release
  channel. The daemon version is now read from backend APP_VERSION
  instead of a stale hardcoded string.
2026-03-22 13:15:44 +01:00
maziggy 18700cf5da Fix SpoolBuddy daemon reporting stale version in update check
The daemon had a hardcoded __version__ = "0.2.2b1" that was never
  bumped, causing the update check to always show an update available.
  Changed to read APP_VERSION from backend/app/core/config.py at import
  time so the daemon version stays in sync automatically.
2026-03-22 13:08:45 +01:00