v1.2.0
- new
Global Drag & Drop
Files can now be dropped anywhere in the window to initiate transfer. Supports overlay state and immediate transfer initialization.
- new
Folder Uploads
Entire directories are accepted. Client compresses folder structure before WebRTC transmission.
- new
Transfer History
Transfers are now stored in IndexedDB to maintain session history and enable client-side retrieval without server dependency.
- new
Confetti & Sound Feedback
Added celebratory confetti animation and optional sound effects upon successful file transfer completion to improve user feedback loops.
- new
QR Code Sharing
Enabled instant session sharing via dynamically generated QR codes. Allows seamless device-to-device pairing without manual signal entry.
- new
Theme Toggling
Implemented system-aware light and dark theme switching with persistent user preference storage.
- new
Pre-Transfer File Management Modal
Added a confirmation modal allowing users to remove selected files or append additional files before initiating transfer.
- new
Changelog Page
Introduced a dedicated changelog page for structured version tracking and product evolution transparency.
- improvement
Layout Refactor
Improved grid alignment and responsive behavior across connection states.
- improvement
Connection Dialog Alignment
Corrected layout issue causing the connection request dialog to render off-center on certain viewport sizes.
- improvement
Transfer State Feedback Refinement
Improved visual clarity of connection states including awaiting peer, negotiating, connected, and transferring.
- improvement
Session Lifecycle Handling
Improved cleanup logic after completed or aborted transfers to prevent residual peer state conflicts.
- tweak
Animated Network Flow Diagram
Introduced a real-time animated network visualization to represent peer-to-peer data transfer. Improves clarity of connection states and enhances onboarding experience.
- fix
Mobile File Upload Retry Bug
Resolved issue where mobile devices failed to register file input on first selection attempt due to input event handling inconsistency.