[PR #103] [MERGED] v0.1.6b9 #928

Closed
opened 2026-05-06 12:34:00 +02:00 by BreizhHardware · 0 comments

📋 Pull Request Information

Original PR: https://github.com/maziggy/bambuddy/pull/103
Author: @maziggy
Created: 1/19/2026
Status: Merged
Merged: 1/19/2026
Merged by: @maziggy

Base: mainHead: 0.1.6b9


📝 Commits (10+)

  • 5d6ba0f Root cause: Frontend was firing multiple concurrent PUT requests when toggling MQTT, causing SQLite "database is locked" errors after 6-second timeout.
  • 0b2c0c2 Add Fusion 360 (.f3d) design file attachments to archives
  • 06d1d24 Add Home Assistant smart plug integration
  • 564bc0b Minor improvements for HA smart plug module
  • 3a2ec80 Fix multi-plate 3MF metadata extraction (Issue #92)
  • af0dad1 Add multi-plate 3MF plate selection for reprinting (Issue #93)
  • b2831d0 Frontend ESLint Warnings (8 fixed)
  • d48abe0 Add File Manager and enhanced Queue features
  • 35c9f6e Added missing frontend tests
  • 5c77684 Changed version; Updated CHANGELOG

📊 Changes

86 files changed (+19538 additions, -9862 deletions)

View changed files

📝 CHANGELOG.md (+175 -652)
📝 README.md (+2 -2)
📝 backend/app/api/routes/archives.py (+361 -36)
backend/app/api/routes/library.py (+1168 -0)
📝 backend/app/api/routes/notification_templates.py (+1 -0)
📝 backend/app/api/routes/print_queue.py (+14 -0)
📝 backend/app/api/routes/settings.py (+55 -5)
📝 backend/app/api/routes/smart_plugs.py (+59 -6)
📝 backend/app/api/routes/webhook.py (+6 -2)
📝 backend/app/core/config.py (+1 -1)
📝 backend/app/core/database.py (+130 -0)
📝 backend/app/main.py (+6 -2)
📝 backend/app/models/__init__.py (+3 -0)
📝 backend/app/models/archive.py (+1 -0)
backend/app/models/library.py (+86 -0)
📝 backend/app/models/print_queue.py (+11 -0)
📝 backend/app/models/smart_plug.py (+7 -2)
📝 backend/app/schemas/archive.py (+5 -0)
backend/app/schemas/library.py (+236 -0)
📝 backend/app/schemas/print_queue.py (+25 -0)

...and 66 more files

📄 Description

v0.1.6b9

New Features

  • Add to Queue from File Manager - Queue sliced files directly from File Manager:
    • New "Add to Queue" toolbar button appears when sliced files are selected
    • Context menu and list view button options for individual files
    • Supports multiple file selection for batch queueing
    • Only accepts sliced files (.gcode or .gcode.3mf)
    • Creates archive and queue item in one action
  • Print Queue plate selection and options - Full print configuration in queue edit modal:
    • Plate selection grid with thumbnails for multi-plate 3MF files
    • Print options section (bed levelling, flow calibration, vibration calibration, layer inspect, timelapse, use AMS)
    • Options saved with queue item and used when print starts
  • Multi-plate 3MF plate selection - When reprinting multi-plate 3MF files (exported with "All sliced file"), users can now select which plate to print:
    • Plate selection grid with thumbnails, names, and print times
    • Filament requirements filtered to show only selected plate's filaments
    • Prevents incorrect filament mapping across plates
    • Closes #93
  • Home Assistant smart plug integration - Control any Home Assistant switch/light entity as a smart plug:
    • Configure HA connection (URL + Long-Lived Access Token) in Settings → Network
    • Add HA-controlled plugs via Settings → Plugs → Add Smart Plug → Home Assistant tab
    • Entity dropdown shows all available switch/light/input_boolean entities
    • Full automation support: auto-on, auto-off, scheduling, power alerts
    • Works alongside existing Tasmota plugs
    • Closes #91
  • Fusion 360 design file attachments - Attach F3D files to archives for complete design tracking:
    • Upload F3D files via archive context menu ("Upload F3D" / "Replace F3D")
    • Cyan badge on archive card indicates attached F3D file (next to source 3MF badge)
    • Click badge to download, or use "Download F3D" in context menu
    • F3D files included in backup/restore
    • API tests for F3D endpoints

Fixed

  • Multi-plate 3MF metadata extraction - Single-plate exports from multi-plate projects now show correct thumbnail and name:
    • Extracts plate index from slice_info.config metadata
    • Uses correct plate thumbnail (e.g., plate_5.png instead of plate_1.png)
    • Appends "Plate N" to print name for plates > 1
    • Closes #92

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

## 📋 Pull Request Information **Original PR:** https://github.com/maziggy/bambuddy/pull/103 **Author:** [@maziggy](https://github.com/maziggy) **Created:** 1/19/2026 **Status:** ✅ Merged **Merged:** 1/19/2026 **Merged by:** [@maziggy](https://github.com/maziggy) **Base:** `main` ← **Head:** `0.1.6b9` --- ### 📝 Commits (10+) - [`5d6ba0f`](https://github.com/maziggy/bambuddy/commit/5d6ba0f875a9b1eb8304ed92912d0118a44b6bae) Root cause: Frontend was firing multiple concurrent PUT requests when toggling MQTT, causing SQLite "database is locked" errors after 6-second timeout. - [`0b2c0c2`](https://github.com/maziggy/bambuddy/commit/0b2c0c214dfc06381d047c65e78a0418b604bdd7) Add Fusion 360 (.f3d) design file attachments to archives - [`06d1d24`](https://github.com/maziggy/bambuddy/commit/06d1d24b9c7759dc5f70eed28303db6976fd59a9) Add Home Assistant smart plug integration - [`564bc0b`](https://github.com/maziggy/bambuddy/commit/564bc0bca3fa0f57dc8af26ef54dc0d373bbf05a) Minor improvements for HA smart plug module - [`3a2ec80`](https://github.com/maziggy/bambuddy/commit/3a2ec8056cf871c983afdb5bbbcf566338b03c8f) Fix multi-plate 3MF metadata extraction (Issue #92) - [`af0dad1`](https://github.com/maziggy/bambuddy/commit/af0dad11ec7cd61ae4e55e1facad1007cabf0375) Add multi-plate 3MF plate selection for reprinting (Issue #93) - [`b2831d0`](https://github.com/maziggy/bambuddy/commit/b2831d09a2e8886bcc9918225bb8dc9dd632b7a8) Frontend ESLint Warnings (8 fixed) - [`d48abe0`](https://github.com/maziggy/bambuddy/commit/d48abe0f6a89b2ab50f2187e2628e9a5152385e3) Add File Manager and enhanced Queue features - [`35c9f6e`](https://github.com/maziggy/bambuddy/commit/35c9f6e0cbcf155cd846c2aa218d9df47ceabf8b) Added missing frontend tests - [`5c77684`](https://github.com/maziggy/bambuddy/commit/5c7768401db53c1d6c48d50453f0e7c277bbfb2a) Changed version; Updated CHANGELOG ### 📊 Changes **86 files changed** (+19538 additions, -9862 deletions) <details> <summary>View changed files</summary> 📝 `CHANGELOG.md` (+175 -652) 📝 `README.md` (+2 -2) 📝 `backend/app/api/routes/archives.py` (+361 -36) ➕ `backend/app/api/routes/library.py` (+1168 -0) 📝 `backend/app/api/routes/notification_templates.py` (+1 -0) 📝 `backend/app/api/routes/print_queue.py` (+14 -0) 📝 `backend/app/api/routes/settings.py` (+55 -5) 📝 `backend/app/api/routes/smart_plugs.py` (+59 -6) 📝 `backend/app/api/routes/webhook.py` (+6 -2) 📝 `backend/app/core/config.py` (+1 -1) 📝 `backend/app/core/database.py` (+130 -0) 📝 `backend/app/main.py` (+6 -2) 📝 `backend/app/models/__init__.py` (+3 -0) 📝 `backend/app/models/archive.py` (+1 -0) ➕ `backend/app/models/library.py` (+86 -0) 📝 `backend/app/models/print_queue.py` (+11 -0) 📝 `backend/app/models/smart_plug.py` (+7 -2) 📝 `backend/app/schemas/archive.py` (+5 -0) ➕ `backend/app/schemas/library.py` (+236 -0) 📝 `backend/app/schemas/print_queue.py` (+25 -0) _...and 66 more files_ </details> ### 📄 Description v0.1.6b9 ### New Features - **Add to Queue from File Manager** - Queue sliced files directly from File Manager: - New "Add to Queue" toolbar button appears when sliced files are selected - Context menu and list view button options for individual files - Supports multiple file selection for batch queueing - Only accepts sliced files (.gcode or .gcode.3mf) - Creates archive and queue item in one action - **Print Queue plate selection and options** - Full print configuration in queue edit modal: - Plate selection grid with thumbnails for multi-plate 3MF files - Print options section (bed levelling, flow calibration, vibration calibration, layer inspect, timelapse, use AMS) - Options saved with queue item and used when print starts - **Multi-plate 3MF plate selection** - When reprinting multi-plate 3MF files (exported with "All sliced file"), users can now select which plate to print: - Plate selection grid with thumbnails, names, and print times - Filament requirements filtered to show only selected plate's filaments - Prevents incorrect filament mapping across plates - Closes [#93](https://github.com/maziggy/bambuddy/issues/93) - **Home Assistant smart plug integration** - Control any Home Assistant switch/light entity as a smart plug: - Configure HA connection (URL + Long-Lived Access Token) in Settings → Network - Add HA-controlled plugs via Settings → Plugs → Add Smart Plug → Home Assistant tab - Entity dropdown shows all available switch/light/input_boolean entities - Full automation support: auto-on, auto-off, scheduling, power alerts - Works alongside existing Tasmota plugs - Closes [#91](https://github.com/maziggy/bambuddy/issues/91) - **Fusion 360 design file attachments** - Attach F3D files to archives for complete design tracking: - Upload F3D files via archive context menu ("Upload F3D" / "Replace F3D") - Cyan badge on archive card indicates attached F3D file (next to source 3MF badge) - Click badge to download, or use "Download F3D" in context menu - F3D files included in backup/restore - API tests for F3D endpoints ### Fixed - **Multi-plate 3MF metadata extraction** - Single-plate exports from multi-plate projects now show correct thumbnail and name: - Extracts plate index from slice_info.config metadata - Uses correct plate thumbnail (e.g., plate_5.png instead of plate_1.png) - Appends "Plate N" to print name for plates > 1 - Closes [#92](https://github.com/maziggy/bambuddy/issues/92) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
BreizhHardware 2026-05-06 12:34:00 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/bambuddy#928
No description provided.