Skip to content

Releases: Parallel-7/FlashForgeUI-Electron

FlashForgeUI v1.0.4-alpha.1 (Pre-release)

31 Dec 18:31
91d137f

Choose a tag to compare

Add Arm64 build

FlashForgeUI v1.0.3-alpha.2 (Pre-release)

30 Dec 14:41
91d137f

Choose a tag to compare

Bug Fixes

  • (Spoolman Integration) Fixed unresponsive spool selection windows in the Desktop UI

New Features

  • Added toggleable FPS overlay to the Desktop and WebUI camera components
  • Supports the oem camera (mjpeg) and custom cameras (rtsp)

FlashForgeUI v1.0.3-alpha.1 (Pre-release)

18 Dec 18:56
91d137f

Choose a tag to compare

New Features

Refined Theme System

  • Create and save your own themes in both the Desktop and WebUI!
  • Pick from existing built-in themes, inspired by other 3D Printer interfaces (Fluidd, Mainsail, etc)

Improvements

  • Cleaned up all legacy CSS styling , and transitioned all usages over to the configurable theme system

Bug Fixes

  • Fixed an issue where the Desktop Camera Stream could go into an unresponsive (stuck) state
  • Fixed custom theme's in the WebUI not properly applying , despite being correctly saved

Development

  • Refactored all code to ESM, and migrated from webpack to vite
  • Migrate all internal scripts to Go

FlashForgeUI v1.0.3

16 Nov 16:52

Choose a tag to compare

Grid & Layout Platform

  • Established the GridStack dashboard foundation with palette window, component registry, and dense modern styling so users can compose layouts freely (2884c66, eb137fe, 2221d9a, 947a90a, 8710553).
  • Added component pinning with shortcut dialogs plus rounded multi-window support, keeping pinned widgets synchronized with polling and the log system (13dc8cf, df82527).
  • Introduced per-printer layout and shortcut persistence keyed by stable serials, a redesigned welcome screen, and layout reset
    tooling for easy recovery (bf073da, da9c2cd, 2f1d9ea).

WebUI Overhaul

  • Rebuilt the WebUI with GridStack, robust layout validation, mobile-responsive mode, uniform component sizing, layout reset button,and per-context layouts/layout switching fixes (f616dcd, 9ee555a, b07c3d5, bf3d3ac, 60b368a, 6f9f2ae).
  • Modularized the gigantic app.ts into feature modules (auth, contexts, layout/theme, job control, material matching, spoolman, camera) plus shared utilities and UI controllers, then migrated renderer code to webpack bundles for maintainability (652e0a1, 88919cd, ead74db, 335a8bc, 5c1b90e, 4b25169, 2607b28, ff1fffe)

Spoolman Integration

  • Integrated Spoolman across desktop and WebUI: IPC handlers, dialogs, component registration,
    config broadcasting, and AD5X safeguards (d8a1b2d, b3308bb, cc04a5a).
  • Migrated spool state into the main process, sequenced initialization after window creation, added connection tests/health monitoring/offline dialog, and ensured multi-context trackers stay in sync with temperature monitors (e778289, 8eccf5f, 635fb06, e3ee61d, ed90189, e0e628a).

Update, Notifications, & Services

  • Implemented a GitHub-powered auto-update pipeline with dialogs, sanitized release notes, macOS ZIP handling, and CI workflow updates (1f28d5d, 764d087, b93bd13).
  • Implemented precise job timers, centralized print/temperature monitors, Discord webhook restoration with a settings test button, and Spoolman usage tracking across contexts (8aac234, ed90189, e0e628a, 469ee23, 18d1588).
  • Extended Rounded UI compatibility checks and upgraded headless/bootstrap logic so configs resolve correctly before service initialization (d630743, 5669d69, 9d3691b).

Visual & Theme Enhancements

  • Added Lucide icons everywhere (main UI, dialogs, palette, WebUI) with consistent hydration, modernized window controls, refreshed topbar/menu, tabbed dialogs, and status dialog redesign (3b86865, 07b41fd, d2d2499, 38c4448, 683796c, 1488405, 5fda8d4, 1b4316d).
  • Added a dual theme systems: desktop/WebUI colors stored in config, live previews, HSV picker, reset flows, and headless-ready WebUI controls (7d6835b, 6dfd7e3, bffd6b8, 0a30fbe).
  • Updated welcome/placeholder screens and log/LED components for a cohesive dark aesthetic (da9c2cd, ae8176d)

Reliability & Platform Fixes

  • Stabilized GridStack initialization and squished-component defaults, repaired pinned dialogs, and reverted experimental responsive layout/panel-header regressions (dc41efe, 8570f7b, 68666ea, c4a952b, 7b15f63, dc2e551, fc1d0f6).
  • Fixed RTSP streaming by always initializing services, expanding ffmpeg path detection, patching PATH propagation, and moving camera initialization to safe points (2103d28, 2cfc722, 0bbd3d0, 1d7ea08).
  • Removed restrictive CORS middleware, standardized NSIS artifact naming, ensured .npmrc exists in CI, corrected headless config paths, and mirrored AD5X fixes into the WebUI (5b129a5, cbe48d4, 9ba4919, 1d764c0, 5669d69, f5c85c0).
  • Hardened Spoolman initialization queues, temperature displays, and config race conditions so components and dialogs always hydrate with validated data (635fb06, e3a1835, 01e9bb1).
  • Addressed security and packaging by overriding js-yaml to 4.1.1, unifying Lucide resource paths, and cleaning dangling filament-tracker routes/config keys (6ff96c1, b424245, 8d3a2ab, 926be79).
  • Improved window controls hover coverage, disabled Clear Status during prints, and ensured AD5X single-color jobs always trigger material mapping (db69004, 7101310, 80c1d8e).

About Dialog

  • Added an about dialog with app metadata, version info (stable/pre-release detection), developer credits, and external links to GitHub/documentation. Accessible from the main drop-down menu with security-validated link opening via Electron shell (1efa7f3)

Refactored Settings Window (Backend)

  • Refactored settings renderer into modular section-based architecture. Extracted 9 individual section classes (AutoUpdate, DesktopTheme, Discord, InputDependency, PrinterContext, RoundedUI, Spoolman, Tab) with shared SettingsSection interface for improved maintainability and testability (77a5067)

Optimize Lucide Bundling

  • Replaced dynamic runtime resolution with static ESM imports using custom icon registry.
  • Reduced renderer.bundle.js from ~7.5 MiB to ~3 MiB through proper tree-shaking

FlashForgeUI v1.0.2-alpha.9 (Pre-release)

13 Nov 03:05
07eedd5

Choose a tag to compare

New Features

Per-printer WebUI Control

  • WebUIManager tracks registered contexts and only stops server when all contexts disconnect
  • Independent WebUI enablement: one printer can disable remote access without affecting others
  • Add WebUI toggle in Settings dialog UI with proper per-printer persistence

(Fixed) Per-printer layouts and shortcuts with serial-based persistence (bf073da)

  • Per-printer layout persistence
  • Per-printer shortcut configuration
  • Context-aware grid rebuilding on printer switches

Standardize component sizing

  • Standardized Desktop component minimum sizes (60b368a)
  • Standardized WebUI component minimum sizes (bf3d3ac)

Improved desktop theme editor UI (bffd6b8)

  • Replaced vertical color input list with responsive grid layout
  • Added hex input fields with paste support (#RGB and #RRGGBB validation)
  • Interactive color swatches with visual feedback

Improved job timer precision and state tracking (8aac234)

  • Add isInitializing flag to PollingData to distinguish connection states
  • Add elapsedTimeSeconds field to JobProgress for precise time display
  • Job time now shows in mm:ss/HH:mm:ss format

Improve filament usage display with slicer-meta v1.1.0** (1c18216)

  • Upgrade @parallel-7/slicer-meta from 1.0.0 to 1.1.0
  • Fix filament length display to show meters instead of millimeters
  • Combine filament weight and length on same line (e.g., "17.42 m • 51.95 g")
  • Add file.filaments fallback for material matching dialog
  • Only show used filaments (fixes multi-slot bug)

Discord webhook sync in TypeScript** (469ee23)

  • Restore Discord webhook integration with full TypeScript implementation
  • Hybrid notification system: timer-based periodic updates (default 5min) + event-driven notifications (per-context)
  • Multi-printer support with sequential webhook sends and 1s rate limiting
  • Rich Discord embeds with printer status, temperatures, progress bars, layer info, and ETA
  • Event-driven notifications for print complete and printer cooled
  • Idle state transition detection with single notification

Misc

Add macOS local network permission for Sequoia 15.0+** (912193d)
Add reset button in edit mode (2f1d9ea)
Add test button for Discord webhook integration (18d1588)

Improvements

Fix config load issue (01e9bb1)

  • Ensure all components wait for config to be loaded before initialization
  • Prevent components (notably Spoolman) from initializing with default settings

Extended Rounded UI compatibility (d630743)

  • Rounded UI now detects and disables on Windows 11 (in addition to macOS)
  • Update settings dialog with dynamic warning messages per platform

Bug Fixes

Window controls hover coverage on Windows/Linux** (db69004)

  • Ensure minimize/maximize hover fills reach top/bottom edges
  • Close button's red hover now spans full square with correct icon spacing

Material matching dialog for single-color 3MF files** (80c1d8e)

  • Show material matching dialog for all AD5X 3MF files with filament data
  • Fixes #18

Context switching and layout breakage in WebUI** (6f9f2ae)

  • Fixes: layout duplication, refresh requirements, mobile rotation breakage, context selection

FlashForgeUI v1.0.2-alpha.8 (Pre-release)

09 Nov 03:37
07eedd5

Choose a tag to compare

Spoolman Integration

  • Automatic filament tracking with Spoolman integration for all connected printers (d8a1b2d)
  • Multi-context support - Track different spools for each connected printer simultaneously (ed90189)
  • WebUI Support - Full Spoolman integration in WebUI (cc04a5a)
  • Smart deduction - Automatic filament consumption tracking on print completion with weight/length modes
    (e0e628a)

Customizable Theme System

Independently theme the Desktop and WebUI

FlashForgeUI v1.0.2-alpha.7 (Pre-release)

03 Nov 22:16

Choose a tag to compare

Fix ffmpeg detection on MacOS/Linux

FlashForgeUI v1.0.2-alpha.6 (Pre-release)

01 Nov 00:16

Choose a tag to compare

FlashForgeUI v1.0.2-alpha.6

This is (hopefully 😆 ) the final alpha build before releasing 1.0.3

FlashForgeUI v1.0.2-5 (Pre-release)

28 Oct 00:54

Choose a tag to compare

Pre-release

Changes and Updates

  • GridStack Layout System for WebUI with Modern Theme (f616dcd)
    • Completely refactored WebUI with customizable dashboard layout system using GridStack.js
    • Draggable and resizable dashboard panels with per-printer layout persistence
    • Demo mode support for testing without printer connection
    • Modern dark theme with CSS custom properties matching the Electron app aesthetic
    • Component-based architecture matching the Electron app
  • Enhanced WebUI Grid Layout Validation and Sizing (9ee555a)
    • Robust layout sanitization with type coercion and constraint enforcement
    • Comprehensive dimension validation ensuring all values are valid integers with min/max bounds
    • Updated default component layout (v2) with improved panel sizes and positioning
    • Increased grid minimum rows to 11 to accommodate taller panels
    • Added flex wrapping and overflow handling to prevent content squishing
    • Ensures GridStack layout remains stable even with invalid or out-of-bounds configuration values
  • Auto-Update System with GitHub Integration (1f28d5d) ⚠️ (WIP - Not fully tested)
    • Comprehensive auto-update capabilities using electron-updater with support for stable and alpha release channels
    • New update dialog UI with real-time progress tracking and install controls
    • Settings panel integration with channel selection (stable/alpha) and update preferences
    • GitHub publish configuration for automatic update distribution via release workflow
    • Platform-specific auto-download support (Windows/macOS) with manual check fallback
    • Support for check-on-launch, auto-download, manual update checks, and per-version dismissal
    • Update dialogs display release notes with real-time download progress
    • AutoUpdateService for managing complete update lifecycle and state

🐛 Bug Fixes

  • Camera Preview GPU Artifact Fix (1f28d5d)
    • Fixed GPU rotation artifact accumulation in camera preview component (hopefully 🙏 )

🔧 Maintenance

  • Updated build process to include GridStack library assets (f616dcd)
  • Enhanced GitHub release workflow for update manifest publishing (1f28d5d)

FlashForgeUI v1.0.2-4 (Pre-release)

26 Oct 18:51

Choose a tag to compare

Pre-release

🐛 Bug Fixes

  • Log panel functionality: Unify log panel rendering with shared controller (df82527)
    • Fixed log panel to work both as a button (standalone dialog) AND as a grid component
    • Introduced reusable LogPanelController for consistent rendering across GridStack widgets, component dialog,
      and standalone log dialog
    • Eliminated code duplication and ensured identical behavior in all contexts
    • Moved parseLogEntry utility to shared module for reuse
    • Renamed GridStack widget content IDs to grid-{id}-content to prevent CSS collisions
    • Scoped GridStack absolute positioning to prevent interference with dialog chrome
  • Grid component layout: Prevent bottom-row components from appearing squished (68666ea)
    • Increased default height from 80px to 160px for printer status, temperature controls, filtration controls, and
      additional info components
    • Added CSS min-height safeguard to prevent collapse
    • Enhanced component palette window size (350×700px) for better UX
  • WebUI authentication: Remove CORS middleware to support non-standard network IPs (5b129a5)