Skip to content

Releases: Parallel-7/FlashForgeUI-Electron

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

21 Mar 23:16
96a5c74

Choose a tag to compare

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

Desktop monitoring and control app for FlashForge printers.

This is an alpha pre-release build intended for testing before the next stable desktop release.

Changes

Added

  • Calibration Assistant with SSH/SCP transport, Klipper config parsing, bed mesh and input shaper analysis engines, report rendering, API routes, desktop dialog flows, and shared calibration types (874f9de, 40e0c1c)
  • OEM camera auto-detection from printer-reported stream URLs plus intelligent fallback probing of http://<printer-ip>:8080/?action=stream when firmware omits the URL (f4a62ed, 7d585d5)
  • Camera snapshots in Discord notifications for supported camera sources (89267c3)
  • Browser Playwright coverage for the built WebUI, including asset-versioning, auth, WebSocket login, and context-switching flows backed by a fixture server (d967df9)
  • Playwright Electron smoke coverage with a live desktop runner for launch, auto-connect, and connected-UI verification against the local FlashForgeUI profile (5a5f62d)
  • Emulator-backed Electron Playwright coverage for direct and discovery connections across 5M Pro, 5M, AD5X, Adventurer 3, and Adventurer 4, plus multi-printer discovery flows (dc58252, c9c0348)
  • Expanded source-level Jest coverage for managers, services, WebUI server/routes, WebUI static client modules, camera utilities, printer settings defaults, and the WebUI asset copy script (5d7e7e5)
  • Dedicated Electron emulator slice scripts for legacy, legacy-multi, modern-multi, smoke, and live test execution on Windows-friendly command lines (c9c0348)

Changed

  • Refactor backend selection to use per-printer legacy mode settings instead of a global legacy override, including settings/UI plumbing for 5M-series fallback coverage (7bf2db9)
  • Normalize build, lint, TypeScript, Babel, Vite, and packaging configuration to support the expanded Jest and Playwright test surface cleanly (ca99951)
  • Harden connection establishment and printer detail flows for emulator-backed direct/discovery testing, including port-aware connections and saved-printer seeding paths (dc58252)
  • Refactor calibration SSH/SCP flow and config path handling for the desktop calibration workflow (40e0c1c)
  • Extract ContextServiceInitializer and unify Discord timer setup across printer contexts (4b2e798)
  • Upgrade @ghosttypes/ff-api through the current published releases to align runtime discovery and camera support (3d57598, 0eb66a2, 7d585d5)

Fixed

  • Align runtime discovery integration with the current @ghosttypes/ff-api discovery API and keep printer tab connection state synchronized in the renderer (6de2a87)
  • Prevent stale desktop-hosted WebUI asset mixes by serving no-cache static assets and build-stamped local module URLs (5d7e7e5, ca99951)
  • Restore deterministic desktop test selection on Windows by adding explicit Electron emulator script entry points instead of relying on fragile ad hoc Playwright grep invocations (c9c0348)
  • Restore go2rtc stream matching after OEM camera auto-detection changes (64b17af)
  • Correct time and ETA reporting in the WebUI and Discord notifications (6135d60)

Security

Downloads

Download the installer or archive for your platform from the assets attached to this release.

More Information

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

31 Jan 18:37
91d137f

Choose a tag to compare

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

Misc bugfixes

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

13 Jan 02:18
91d137f

Choose a tag to compare

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

Bug Fixes & Improvements

  • Debug Logging System: Complete overhaul of debug mode (be53b98)

    • Persistent logs stored in userData/logs directory for troubleshooting
    • Network-specific debug logs for connection diagnostics
    • Added CLI flags --debug and --debug-network
    • Added nested network logging option
    • Added a button in Settings to open the logs folder
  • IFS Dialog: Refactor from hard-coded dialog to standard component (e14e058)

    • Responsive layouts: horizontal (1x4), vertical (4x1), square (2x2), and compact modes
    • Availability messaging for non-AD5X printers
  • Camera Stream: Refactor to go2rtc streaming gateway (462f35a)

    • Unified streaming gateway using go2rtc binary for MJPEG and RTSP streams
    • Native <video> element playback replacing JSMpeg canvas rendering
    • Go2rtcBinaryManager for binary lifecycle, config generation, and process spawning
    • Go2rtcService for stream management via go2rtc REST API
    • video-rtc.js custom element supporting WebRTC/MSE/MJPEG playback modes
    • Automatic format detection and protocol handling for both built-in and custom cameras

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