Skip to content

Releases: hammersurf1/FlowState

FlowState v1.0.0

12 May 08:56

Choose a tag to compare

Changelog

[1.0.0] - 2026-05-12

Added

  • Core Engine: Human-like typing simulator with variable rhythms, cognitive pauses, and realistic error simulation (spatial, transposition, omission, doubling) based on Gaussian distribution.
  • Cross-Platform Support: Native support for both Windows and macOS, featuring a decoupled TypingEngine and OS-specific driver abstraction layer (src/os_layer/).
  • Settings GUI: A comprehensive, unified Tkinter-based Settings UI accessible from the system tray for real-time configuration of typing parameters, delays, and dynamic hotkey customization.
  • System Tray Integration: Native tray icons with dynamic status updates using pystray.
  • Dynamic Browser Integration: "Stateless" Playwright automation that correctly attaches to the active Chrome tab upon trigger and detaches seamlessly, preventing focus-stealing deadlocks.
  • On-Screen Display (OSD): Real-time status overlay HUD for improved accessibility and situational awareness during execution.
  • Setup & Build Automation: Transparent local manual setup scripts (setup_windows.bat, setup_mac.sh), GitHub Actions CI/CD workflows, and automated release building using PyInstaller and Inno Setup (Windows) / hdiutil (macOS).
  • Repository Standards: Added issue/PR templates, security policy, .gitignore, and detailed README.md with usage instructions and project metrics badges.

Changed

  • Modularized the codebase to maintain a clean platform-agnostic core by splitting logic between src/engine.py and OS-specific drivers (playwright_driver_win.py, playwright_driver_mac.py).
  • Refactored shortcut handling to use macOS-native pynput (avoiding root/sudo requirements) and Windows keyboard libraries.
  • Improved the ESC key handling for immediate and reliable abort/pause mechanisms across all platforms.
  • Synced and cleaned up package requirements (requirements_win.txt, requirements_mac.txt) to resolve PyInstaller packaging deadlocks and improve environment reproducibility.