All notable changes to this project will be documented in this file.
- Web Client: Implemented internationalization (i18n) support with Chinese and English translations.
- Web Client: Integrated haptic feedback using
web-hapticsfor button interactions and slider adjustments. - Web Client: Added visual click feedback for non-modifier functional keys.
- Web Client: Optimized iOS compatibility and keyboard layout, ensuring functional keys remain accessible when the system keyboard is open.
- Web Client: Refactored theme switching to apply classes to the root
<html>element for improved CSS targeting. - Web Client: Refactored
ConnectionStatusto use constant objects for better type safety.
- Web Client: Fixed UI glitches in FAB (Floating Action Button) positioning relative to the function panel.
- Server: Added real-time rate monitoring (Packets Per Second and Bytes Per Second) to the system tray icon.
- Server: Added a "Show Rate" toggle to the system tray menu for real-time performance tracking.
- Server: Implemented dynamic tray icon rendering with text overlay and automatic font fallback for cross-platform compatibility.
- Docs: Added
AGENTS.mdto provide specialized instructions for AI coding assistants.
- Server: Resolved mDNS service name conflicts when running multiple instances in development environments.
- Web Client: Improved connection status display and transport layer metrics collection.
- Server: Resolved a critical 404 error affecting long-term application uptime by ensuring static files are correctly persisted and served from the application package.
- Server: Added a "Restart" option to the system tray menu. Now uses service-level soft restart to instantly reload the web server and mDNS without restarting the process.
- Server: Added a "Enable/Disable Logs" toggle to the system tray menu for real-time logging control.
- Server: Added command-line arguments (
--port,--log) to configure the initial port and logging state.
- Server: Fixed a crash on Windows when restarting the application in packaged (PyInstaller) builds by replacing process spawning with internal service reloading.
- Server: Fixed a crash in non-console environments (like Windows GUI mode) caused by logging configuration.
- Server: Fixed an issue where toggling logs off did not correctly release file handlers.
- UI: Added Light Mode toggle and theming support.
- Settings: Added scroll position toggle (left/right) for better accessibility.
- Docs: Updated README with new screenshots showing different modes.
- CI: Updated release workflow artifact paths.
- Settings: Enhanced sensitivity settings and added a scroll sensitivity feature.
- UI: Added scroll slider to the settings zone.
- Build: Added support for macOS bundler (
.appcreation) and linux. - Docs: Added
READMEdocumentation andPWA. - UI: Update function keys layout and improve navigation controls.
- Refactor: General refactoring of both server and frontend codebases for better maintainability.
- Optimization: Optimized application size.
- UI: Added a "Special Function Keys" panel containing Esc, Tab, Win/Cmd, Alt, Shift, Ctrl, and Arrow keys.
- Interaction: Implemented "Sticky Keys" logic for modifier keys (Ctrl, Alt, Shift, Win/Cmd), allowing for easier combination key presses (e.g., Ctrl+C).
- Protocol: Updated communication protocol to support modifier masks for
ClickandKeyActionevents.
- Input: Added support for using the mobile device's native keyboard to type on the remote computer.
- UI: Added a bottom toolbar with a keyboard toggle button.
- Protocol: Introduced
Text(0x05) andKeyAction(0x06) opcodes for handling text strings and specific key presses (like Enter, Backspace).
- Architecture: Major Overhaul. Replaced the native mobile app (Flutter) with a Zero-Install Web Client. No app installation required on the phone.
- Protocol: Switched to a custom Binary WebSocket Protocol for high-performance, low-latency communication.
- Discovery: Implemented mDNS (Zeroconf) for automatic service discovery. Users can now access the controller via
http://hostname.local:port.
- Server: Migrated backend to Python 3.13+ using FastAPI for serving the web client and handling WebSockets.
- Client: Built with TypeScript and HTML5, utilizing
requestAnimationFramefor 60FPS smooth control.
- Server: Refactored server into a GUI application with System Tray support (minimizes to tray, right-click to exit).
- UX: Replaced button-based UI with a Full-Screen Touchpad experience.
- Gestures:
- One finger: Move cursor, tap to left-click.
- Two fingers: Scroll (directionally), tap to right-click.
- Three fingers: Drag and drop.
- Layout: Added support for Landscape mode.
- Settings: Added sensitivity controls for cursor movement.
- Initial release of Remote Mouse.
- Client: Flutter-based mobile application (iOS/Android).
- Server: Python script using
socketandpyautogui. - Features:
- Automatic device discovery via UDP broadcast.
- Basic touchpad area for cursor movement.
- Dedicated Left/Right click buttons.
- Dedicated Scroll Strip for vertical scrolling.
- Basic text transmission.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.