Commit Graph
317 Commits
Author SHA1 Message Date
maziggy 5dae3d3021 Fixed bug in skip objects modal, where the object ID markers are not correctly positioned over their corresponding objects in the build plate preview 2026-01-03 10:26:06 +01:00
maziggy 55ec08d4d1 Improved cover image retrieval 2026-01-03 10:02:00 +01:00
maziggy c9ad09864d Minor GCode viewer improvements 2026-01-03 09:59:17 +01:00
maziggy 410924a94f Fixed bug where printer card was showing wrong cover image, if print file has multiple plates 2026-01-03 08:36:59 +01:00
maziggy 62a0b8671b Fixed bug in archive card's context menu #46 2026-01-03 08:16:29 +01:00
maziggy d03fe7598f Fixed bug in Spoolman sync 2026-01-03 08:11:55 +01:00
maziggy 74e2d95ea8 Changed version to 0.1.6b6 2026-01-02 17:22:05 +01:00
maziggy 94c961dbaf Add real-time fan status monitoring to printer cards
- Controls section: New section before Filaments with fan status and printer controls
  - Part cooling fan (Fan icon, cyan)
  - Auxiliary fan (Wind icon, blue)
  - Chamber fan (AirVent icon, green)
  - Stop/Pause/Resume buttons moved from Temperature section
- Real-time updates: Fan speeds now broadcast via WebSocket
- Backend: Parse MQTT fan data (cooling_fan_speed, big_fan1_speed, big_fan2_speed)
  - Convert 0-15 scale to 0-100%
- Always-visible badges with dynamic coloring based on fan state
- Removed horizontal dividers before Controls and Filaments sections
2026-01-02 16:05:20 +01:00
maziggy 83cbac04b7 - Add interactive API Browser to Settings > API Keys
- New APIBrowser component with full OpenAPI schema integration
    - Fetches and parses /openapi.json automatically
    - Groups endpoints by API tags (printers, archives, settings, etc.)
    - Expandable endpoint sections with color-coded method badges
    - Path parameter, query parameter, and JSON body editors
    - Auto-populates request body with schema examples
    - Live API request execution with response display
    - Response shows status code, timing, and formatted JSON
    - Copy response button with clipboard fallback
    - Search to filter endpoints across all categories
    - Expand All / Collapse All buttons
    - Link to Swagger UI (/docs)

  - Two-column layout for API Keys tab
    - Left: API key management + webhook documentation
    - Right: API Browser with dedicated test key input

  - Parameter validation
    - Shows warning for missing required parameters
    - Validates before sending requests to avoid 422 errors

  - UX improvements
    - "Use in API Browser" button on newly created keys
    - Responsive layout (stacked on mobile, side-by-side on xl+)
2026-01-02 15:00:21 +01:00
maziggy 61c8682fa9 Fixed dark theme's logo 2026-01-02 14:22:31 +01:00
maziggy 021318437d Updated screenshots 2026-01-02 14:12:36 +01:00
maziggy 0f65fb9484 - Bugfixes
- AMS "Unexpected format" warnings fixed - P1S/P1P send partial updates without full tray list (per https://github.com/Doridian/OpenBambuAPI/blob/main/mqtt.md). Now handled correctly.
  - FTP improvements:
    - Added timeouts (60s download, 30s listing)
    - Better logging at INFO level
    - Shows what files exist in /cache
  - Fallback archive - When 3MF can't be downloaded, creates minimal archive so prints are tracked
2026-01-02 13:21:57 +01:00
maziggy ad40dfa67f - Minor fixes 2026-01-02 12:36:16 +01:00
maziggy 29f1fa9732 - Improved Docker environment 2026-01-02 12:28:32 +01:00
maziggy e356d03ee1 - Added new settings tab Filament and moved Spoolman Sync card 2026-01-02 12:00:57 +01:00
maziggy 32bd11ad82 - Fixed bug in update module for Docker based installations 2026-01-02 11:43:48 +01:00
maziggy 5e5eb572b3 - Pre-built Docker images on GitHub Container Registry
- Add multi-architecture support: linux/amd64 and linux/arm64 (Raspberry Pi 4/5)
  - Add docker-publish.sh script for building and pushing images
    - Supports --parallel flag for simultaneous architecture builds
    - Uses Docker Buildx with QEMU emulation
  - Update docker-compose.yml to support both pre-built and source builds
    - `docker compose up -d` pulls pre-built image
    - `docker compose up -d --build` builds from source
2026-01-02 11:21:35 +01:00
maziggyandClaude Opus 4.5 a1c12331db Add Spoolman integration tests and update spool comment
Backend tests:
- 21 integration tests for all Spoolman API endpoints
- Status, connect/disconnect, spools, filaments, link, sync

Frontend tests:
- 20 component tests for SpoolmanSettings
- Rendering, disabled/enabled states, connection status, sync UI

Also changed auto-created spool comment to "Created by Bambuddy"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 10:42:43 +01:00
maziggy ea0bf5f932 - Add print quantity tracking for project progress
- Track number of items per print job (default: 1)
  - Project stats now show total items vs print jobs
  - Progress bar counts items toward target, not just archives
  - "Items Printed" field in archive edit modal

  Backend:
  - Added quantity field to PrintArchive model
  - Database migration for quantity column
  - Updated project stats to use SUM(quantity)
  - Updated backup/restore to include quantity
  - Updated CSV/Excel export with quantity field

  Frontend:
  - Added quantity input to EditArchiveModal
  - Updated ProjectsPage to display total_items
  - Updated ProjectDetailPage stats
  - Fixed project delete not refreshing the list
2026-01-02 10:24:31 +01:00
maziggy 4e25377e5b Updated website 2026-01-02 10:17:21 +01:00
maziggy 019a9822a0 - Fixed bug, where Bambu Lab filament colors not showed correctly
- Added all Bambu Lab filament color tags
2026-01-02 09:41:26 +01:00
maziggy 5b8d24f2ce - Spoolman: Add link spool feature, UUID display, and sync feedback
- Link to Spoolman: Manually link existing Spoolman spools to AMS trays
    - Hover over AMS slot to see "Link to Spoolman" button
    - Select from list of unlinked Spoolman spools
    - Automatically sets extra.tag field in Spoolman
  - Spool UUID display: View and copy Bambu Lab spool UUID in AMS hover card
    - Shows first 8 chars with copy button (full UUID to clipboard)
    - Fallback copy method for HTTP contexts
  - Sync feedback: Shows synced count and skipped spools with reasons
    - Expandable list when more than 5 skipped
    - Color swatches for identification
  - Fixed Spoolman 400 Bad Request: extra field values must be valid JSON
  - Updated documentation (wiki, website)
2026-01-02 09:20:24 +01:00
maziggy fd3919574b - Major fixes for skip objects feature 2026-01-01 18:31:59 +01:00
maziggy 2dcd1a2ef2 - Enhanced skip objects feature with visual improvements and better UX
- Skip Objects Modal:
    - Object ID markers overlaid on preview image (grid layout)
    - Large prominent ID badges to match printer display
    - Info banner explaining to match IDs with printer screen
    - Layer warning when skip unavailable (layer <= 1)
    - Red badge on button showing skipped count
    - Preview image now shown when paused (not just running)
    - Close with ESC key or click outside modal
    - Full light/dark theme support

  - Backend:
    - Extract object positions from 3MF (include_positions=True)
    - API returns x/y coordinates for objects (when available)
    - Parse s_obj from printer MQTT for skipped state persistence
    - Cover URL available in PAUSE/PAUSED states

  - Tests:
    - Added test for objects with position data
2026-01-01 18:01:41 +01:00
maziggy fe250b9b7f - Added frontnend/backend tests for printer controls 2026-01-01 16:02:25 +01:00
maziggy f7994df84f - Added basic printer controls
- Reprint/Stop
  - Pause/Resume
  - AMS slot re-read
2026-01-01 15:52:43 +01:00
maziggy 2c61ba930a Updated version to 0.1.6b4 2026-01-01 14:10:41 +01:00
maziggyandClaude Opus 4.5 1234e44eb2 - Docker update detection for in-app updates
- Added _is_docker_environment() function
  - Check endpoint returns is_docker and update_method fields
  - Apply endpoint rejects Docker with helpful instructions
- Added updates API tests
- Updated CHANGELOG

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 14:06:06 +01:00
MartinNYHC 7e3fcec02d Merge pull request #42 from maziggy/0.1.6b4
v0.1.6b4

### New Features

  # Printer Cards
  - Refactored AMS section for better visual grouping and spacing

### Bugfixes

  ### Printer Hour Counter
  - Fixed runtime_seconds not incrementing during prints
  - Bug fix: first timestamp was set but never committed

  ### Slicer Protocol
  - Add OS detection for slicer protocol handler
  - Windows: `bambustudio://`, macOS/Linux: `bambustudioopen://`
  - Updated all usages in Archives and Model Viewer
  - 
  ### Camera Popup Window
  - Auto-resize to fit video resolution on first open
  - Persist window size and position to localStorage
  - Restore saved window state for subsequent opens

  ### Maintenance Page
  - Improved duration display with better precision (weeks instead of imprecise months)
  - Large print hours now show readable units (e.g., 478h → 3w, 100h → 4d)
v0.1.6b4
2026-01-01 12:38:59 +01:00
maziggy 865f3d78fb Updated CHANGELOG 2026-01-01 12:36:32 +01:00
maziggy 079e9fc2cc - Camera popup window:
- Auto-resize to fit video resolution on first open
  - Persist window size and position to localStorage
  - Restore saved window state for subsequent opens
2026-01-01 12:29:25 +01:00
maziggy d3686a1b60 - Fixed maintenance interval display on status page 2026-01-01 12:21:12 +01:00
maziggy ccdb084f23 - Refactored printer card's AMS section for better experience 2026-01-01 12:08:55 +01:00
maziggy 569dbc3d21 - Printer Hour Counter:
- Fix runtime_seconds never incrementing during prints
  - Bug: first timestamp was set but never committed (updated_count was 0)
  - Add needs_commit flag to ensure timestamp is saved on first iteration
2026-01-01 07:58:23 +01:00
maziggy 01bc211616 - Slicer Protocol:
- Add utils/slicer.ts with OS detection for protocol handler
  - Windows: bambustudio://, macOS/Linux: bambustudioopen://
  - Update all usages in ArchivesPage.tsx and ModelViewerModal.tsx
2026-01-01 07:52:47 +01:00
maziggy 2457577f54 - Added frontend/backend tests for new theme functions
- Fixed some bugs, where settings were not backed up or restored
- Docker: Fixed mounting of database for persistence
2025-12-31 17:07:15 +01:00
maziggy bca1a80172 * Add customizable theme system with style, background, and accent options
Implement comprehensive theme customization with independent settings for
  dark and light modes:

  - Style layer: Classic (clean shadows), Glow (accent-colored glow effects),
    Vibrant (dramatic deep shadows)
  - Background layer: Neutral, Warm, Cool (light mode); plus OLED, Slate,
    Forest (dark mode only)
  - Accent colors: Green, Teal, Blue, Orange, Purple, Red

  All combinations work independently (e.g., Glow + Forest + Teal). Settings
  sync across devices via database and show toast confirmations on change.

  Backend:
  - Add 6 new settings fields (dark_style, dark_background, dark_accent,
    light_style, light_background, light_accent)
  - Add integration test for theme settings API

  Frontend:
  - Refactor index.css with 3-layer CSS variable system
  - Update ThemeContext for dual-mode theme management
  - Add Appearance section to Settings page with 6 dropdowns
  - Update components for new ThemeContext API
2025-12-31 15:44:52 +01:00
MartinNYHC fca1fe9611 Merge pull request #39 from maziggy/0.1.6b3
Housekeeping 0.1.6b3
2025-12-31 12:25:46 +01:00
maziggy 297c3212fa Housekeeping 2025-12-31 12:24:17 +01:00
MartinNYHC ec1828e73a Merge pull request #38 from maziggy/0.1.6b3
0.1.6b3

*  Bug Fixes
    - Fixed printer hour counter inconsistency - Printer card and maintenance page now show consistent hour values (both use Math.round)
    - Improved printer hour tracking accuracy - Introduced real-time runtime counter that tracks actual machine active time (RUNNING/PAUSE states), including calibration, heating, and bed leveling. This provides more accurate hours matching the printer's display
    - Fixed Add Smart Plug modal scrolling - Modal now scrolls properly on lower resolution screens (https://github.com/maziggy/bambuddy/issues/34)
    - Excluded virtual printer from discovery - Bambuddy's own virtual printer no longer appears in "Add Printer → Discovery" results
    - Fixed bottom sidebar layout

*  New Features
    - Confirmation modal for quick power switch - Sidebar smart plug toggle now requires confirmation before turning on/off to prevent accidental clicks

* Repository
   - Added community files: CODE_OF_CONDUCT.md, CONTRIBUTING.md, SECURITY.md
   - Updated screenshots
v0.1.6b3
2025-12-31 12:17:36 +01:00
maziggy 219d26b8ab - Fixed bug in printer's hour counter 2025-12-31 12:01:17 +01:00
maziggy 16c21cf1fa - Added confirmation modal to sidebar's quick power switch 2025-12-31 11:40:14 +01:00
maziggy 9f665a9382 Housekeeping 2025-12-31 11:36:53 +01:00
maziggy d267e8b605 Housekeeping 2025-12-31 11:32:50 +01:00
maziggy 22222e502c - Excluded Bambuddy virtual printer from SSDP discovery 2025-12-30 15:58:11 +01:00
MartinNYHC 29215de097 Update README.md 2025-12-30 15:49:12 +01:00
maziggy 0291f09649 - Fixed bug where add smart plug modal doesn't scroll on lower resolution screens (https://github.com/maziggy/bambuddy/issues/34) 2025-12-30 12:22:22 +01:00
maziggy a0c4106aef Deleted .github/FUNDING.yml 2025-12-30 11:03:29 +01:00
maziggy 86b4fd9c6b Deleted .github/FUNDING.yml 2025-12-30 11:03:09 +01:00
maziggy ac6cbd757a - Added
- .github/FUNDING.yml
  - CODE_OF_CONDUCT.md
  - CONTRIBUTING.md
  - SECURITY.md
2025-12-30 10:58:34 +01:00