Commit Graph
56 Commits
Author SHA1 Message Date
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)
2026-01-01 12:38:59 +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 29215de097 Update README.md 2025-12-30 15:49:12 +01:00
maziggy b1d07a4ef2 Added new screenshots 2025-12-30 09:48:47 +01:00
maziggy 4ccf048dc1 Added new screenshots 2025-12-30 09:46:21 +01:00
maziggy 88e84ca45a - Add Virtual Printer feature - emulate Bambu printer on network
- Virtual printer appears in Bambu Studio/Orca Slicer via SSDP discovery
  - Secure TLS/MQTT communication with auto-generated certificates
  - Queue mode (pending uploads) or auto-start mode
  - Configurable access code for authentication
  - Docker support with network_mode: host and certificate persistence
  - Fix backup/restore for virtual printer settings (auto-save no longer overwrites)
2025-12-29 15:52:48 +01:00
maziggy b3ef6ccb32 - Add AMS filament preview for reprints and file type badges
- AMS Filament Preview:
    - Add GET /archives/{id}/filament-requirements endpoint to extract
      filament data from archived 3MF slice_info.config
    - Show filament comparison in reprint modal when printer is selected
    - Compare both filament type AND color with visual indicators:
      - Green checkmark: Type and color match
      - Yellow warning: Same type, different color
      - Orange warning: Different type or empty slot
    - Handle AMS-HT units (id >= 128) and virtual tray (slot 254)
    - Normalize color formats between API (RRGGBBAA) and 3MF (#RRGGBB)

- File Type Badge:
  - Archive cards show GCODE (green) or SOURCE (orange) badge
  - Helps users identify which files have print data vs source-only
  - Badge appears next to printer name in card content area

- Camera Stream Stability:
  - Increase ffmpeg read timeout from 10s to 30s
  - Add ffmpeg RTSP options: -timeout, -buffer_size, -max_delay
  - Add frontend auto-reconnection with exponential backoff (2s-30s)
  - Show reconnection UI with countdown and attempt counter
2025-12-28 13:50:29 +01:00
maziggy b1be35ba8c - Add timelapse editor with trim, speed adjustment, and music overlay
- Add TimelapseEditorModal component with visual timeline scrubber
  - Add timelapse processing endpoints (info, thumbnails, process)
  - Add TimelapseProcessor service using FFmpeg for video processing
  - Support trim (start/end), speed (0.25x-4x), and audio overlay
  - Add Edit button to TimelapseViewer
  - Fix browser caching with timestamp query parameter
  - Change default timelapse playback speed from 2x to 1x
2025-12-28 13:06:30 +01:00
maziggy db5cb86d3a - Project page enhancements and bug fixes
- Add filament color swatches to project cards showing colors from assigned archives
  - Add "Hide done" toggle to filter completed BOM items
  - Include projects in backup/restore (with BOM items and attachments)
  - Add file type validation for project attachments
  - Enhance project card design with gradients, shadows, and glow effects
  - Improve layout spacing on project list and detail pages
  - Replace browser confirm dialogs with styled confirmation modals
  - Fix attachment uploads not persisting (SQLAlchemy JSON column mutation)
2025-12-28 12:04:33 +01:00
maziggy 8acc91d3cd - Add subnet scanning for printer discovery in Docker environments
- Detect Docker environment automatically via /.dockerenv and cgroup
  - Show subnet input field in Add Printer dialog when running in Docker
  - Scan IP range for Bambu printer ports (8883 MQTT, 990 FTPS)
  - Query SSDP to get printer name/serial/model from discovered IPs
  - Map raw SSDP model codes to friendly names (BL-P001→X1C, O1D→H2D)
2025-12-28 09:40:47 +01:00
maziggy 40e31f4b3d Added Docker section to README 2025-12-14 10:15:16 +01:00
maziggy 9ba4ef6355 Fix docker build 2025-12-12 16:48:12 +01:00
maziggy 745f192b10 Added visitor counter 2025-12-12 10:53:53 +01:00
maziggy dededf3c5a Added visitor counter 2025-12-12 10:49:04 +01:00
maziggy 83be67539f Added visitor counter 2025-12-12 10:46:24 +01:00
maziggy 6571643a4c 1. Wiki links updated to http://wiki.bambuddy.cool:
- Header navigation link
    - Installation guide link
    - Documentation section with all 5 doc links
    - Footer documentation link
  2. Screenshots updated with new images:
    - Replaced old maintenance screenshots with maintenance-1.png and maintenance-2.png
    - Replaced old profile screenshots with cloud_profiles-1.png, cloud_profiles-2.png, k_profiles-1.png, k_profiles-2.png
    - Replaced old settings screenshots with settings_general.png, settings_smart_plugs.png, settings_notifications.png, settings_api_keys.png
    - Removed old unused screenshot files from docs/screenshots/
2025-12-12 10:37:36 +01:00
maziggy 722ae5b45b Updated README 2025-12-12 09:32:44 +01:00
maziggy 9cdce0d603 Updated README; Added new screenshots 2025-12-10 17:41:37 +00:00
maziggy 596956c5c6 Updated README; Added new screenshots 2025-12-10 17:33:35 +00:00
maziggy 09bdb183b9 Updated README; Added new screenshots 2025-12-10 17:27:10 +00:00
maziggy d1518083fc ## New Features
### Projects / Print Grouping
  - Create projects to group related prints (e.g., "Voron Build" with 50 parts)
  - Track progress with target count and completion percentage
  - Assign archives to projects via edit modal or context menu
  - Project cards show archive thumbnails with clickable links
  - Color-coded project badges on archive cards
  - Filter and manage projects by status (active/completed/archived)

  ### Full-Text Search (FTS5)
  - SQLite FTS5 virtual table for efficient searching
  - Search across print_name, filename, tags, notes, designer, filament_type
  - Automatic index sync with triggers for INSERT/UPDATE/DELETE

  ### Webhooks & API Keys
  - API key authentication with granular permissions
  - Permissions: can_read_status, can_manage_queue, can_control_printer
  - Secure key generation with prefix display only after creation
  - Settings page API Keys tab for key management
  - Webhook endpoints for external integrations

  ### Failure Analysis
  - Dashboard widget showing failure rate with color coding
  - Correlate failures with conditions (filament type, printer, time)
  - Top failure reasons breakdown
  - Weekly trend visualization

  ### Archive Comparison
  - Select 2-5 archives to compare side-by-side
  - Highlight differences in print settings (yellow)
  - Success/failure correlation insights
  - Modal with close via button, X, Escape, or backdrop

  ### CSV/Excel Export
  - Export archives and statistics with current filters
  - Support for both CSV and Excel (.xlsx) formats
  - openpyxl dependency added

  ## Bug Fixes
  - Fixed context menu submenu not showing (removed overflow-hidden)
  - Fixed project card thumbnails using correct API endpoint
  - Fixed EditArchiveModal to invalidate projects query on save
  - Fixed clipboard API fallback for HTTP contexts
  - Fixed archive PATCH 500 error (FTS5 index rebuild)
  - Fixed FastAPI trailing slash routing for projects endpoint

  ## UI Improvements
  - Context menu submenu with hover/click support
  - Project badge on archive cards with project color
  - "Go to Project" context menu item for assigned archives
  - Clickable project card thumbnails linking to archives
  - Reset Layout button moved to Stats page header
2025-12-10 17:06:43 +00:00
maziggy 302b8a10cf Moved documentation to it's own repository 2025-12-09 14:41:31 +00:00
maziggy 67d57e6a5e Add comprehensive documentation 2025-12-09 14:05:37 +00:00
maziggy 6d71261de7 Renaming app to Bambuddy 2025-12-09 08:55:59 +00:00
Martin Ziegler 838b613359 Updated screenshots 2025-12-08 20:29:49 +01:00
MartinNYHC 79b64ac90e Merge branch 'main' into 0.1.5b 2025-12-08 18:07:47 +01:00
maziggy 7a0e41e36c Updated README 2025-12-08 17:05:31 +00:00
maziggy 2867401116 Add Cloud Profiles template visibility and preset diff view
Cloud Profiles (ProfilesPage.tsx):
  - Add template visibility control (showInModal flag)
    - Eye/EyeOff toggle in templates modal to show/hide templates
    - Only templates with showInModal=true appear in preset modals
    - Default new templates to showInModal=true in save dialog
  - Add preset diff/compare view with two modes:
    - Compare button in edit modal (preset vs base)
    - Compare mode on main page (two-preset comparison)
    - Side-by-side diff with added/removed/changed highlighting
    - Stats showing added/removed/changed/same counts
    - Search filter and Changes/All toggle
    - Type restriction (only compare same preset types)
  - Fix array value display (show "value" instead of ["value"])
  - Fix printer preset G-code display (format escaped \n as real newlines)
  - Fix modal overflow issues with proper flex patterns
  - Fix light theme colors for compare selection text
2025-12-08 14:03:38 +00:00
maziggy 71e15b0ed7 Add AMS humidity/temperature indicators with configurable thresholds
- Add dynamic humidity indicator with Bambu Lab style water drop icons
    - Empty drop for good (dry), half-filled for fair, full for bad (wet)
    - Configurable thresholds via Settings page

  - Add dynamic temperature indicator with thermometer icons
    - Empty for good, half-filled for fair, full for hot
    - Colors match humidity: green/gold/red

  - Add AMS Display Thresholds settings card
    - Humidity thresholds (good/fair) configurable
    - Temperature thresholds (good/fair) configurable
    - Persisted in backend settings

  - Fix AMS card stability issues
    - Add ams_extruder_map to WebSocket broadcasts
    - Cache AMS data and extruder map to prevent bouncing
    - Fix L/R nozzle indicator for dual-nozzle H2 printers

  - Fix status summary bar counting
    - Don't count printers with unknown status as offline

  - Theme-aware L/R nozzle badges (light/dark theme support)
2025-12-07 14:56:52 +00:00
MartinNYHC 4ef8efda12 Update README.md 2025-12-02 10:35:44 +01:00
MartinNYHC 989e8fe34b Revise printer support information in README
Updated printer support details in README.
2025-12-01 15:57:45 +01:00
Martin Ziegler e0ff18633b Fixed bug when retrieving k profiles from printer 2025-12-01 09:35:03 +01:00
Martin Ziegler faeae88aef Fixed bug when retrieving k profiles from printer 2025-12-01 09:32:01 +01:00
Martin Ziegler 8bc263ad02 Added Spoolman support to add unknown Bambu Lab spools and track them 2025-11-30 19:37:36 +01:00
Martin Ziegler a862958deb Added Spoolman support to add unknown Bambu Lab spools and track them 2025-11-30 19:30:14 +01:00
Martin Ziegler 68eb02e48b Updated README 2025-11-30 17:15:08 +01:00
Martin Ziegler 41efcddee1 Added new screenshots 2025-11-30 17:08:33 +01:00
MartinNYHC 69c154a995 Update README.md 2025-11-30 17:00:42 +01:00
Martin Ziegler 17c37a7ccd Added notification module 2025-11-30 16:51:27 +01:00
Martin Ziegler 5548b05f27 Added k profile management 2025-11-30 15:31:55 +01:00
Martin Ziegler 28a5e786e9 Added configurable logging; Major improvements and bugfixes 2025-11-30 12:55:00 +01:00
MartinNYHC 0ff94ebb12 Update README with new screenshots and descriptions
Added new images and descriptions for queueing, cloud profiles, and settings.
2025-11-29 15:07:43 +01:00
Martin Ziegler 7048ae9436 Final 0.1.2 2025-11-29 14:52:56 +01:00
MartinNYHC 8d27e58393 Merge pull request #2 from maziggy/0.1.2
Final 0.1.2
2025-11-29 14:49:01 +01:00
Martin Ziegler af8120604b Added scheduling and queueing; Misc improvements 2025-11-29 14:47:19 +01:00
Martin Ziegler ff30bb48ab Updated README 2025-11-29 12:34:16 +01:00
MartinNYHC 10e12620c8 Merge pull request #1 from maziggy/0.1.2
0.1.2 - Lots of new features
2025-11-28 14:10:30 +01:00
Martin Ziegler 437e520748 Added HMS health status; Added MQTT debug log window 2025-11-28 14:09:35 +01:00
Martin Ziegler b407e1b6d8 Added calculation for print time accuracy; Added duplicate detection and filter 2025-11-28 13:40:06 +01:00
Martin Ziegler 5c27da41c5 Added support for Tasmota based smart power plugs and automation 2025-11-28 13:17:22 +01:00