Skip to content

Version 1.4

Choose a tag to compare

@Unknnownnn Unknnownnn released this 15 Jun 08:33

Added Direct File Sharing with Progress Bars

  • Removed Directory Polling: Eliminated the legacy, disk-heavy "DropZone watched folder" directory watcher mechanism.
  • Direct Button Sharing: Users can now select and send files directly via the Send File button in the Windows GUI or the Android app.
  • Unified Channel Routing: Transfers are streamed in encrypted 64KB chunks over the active connection pathway (Local WebSocket, STUN/UDP, or Firebase Fallback).

Smart Connection Auto-Routing

  • mDNS Scan Prioritization: When initiating a connection to a device listed under "Cloud Relay" (manually or via Auto-Connect), the Android app now runs a quick 2.5-second local mDNS scan first. If the PC is found on the same network, it automatically routes the connection over the local WebSocket (Stage 1), prioritizing speed and zero-cost local traffic.

VPN & Network Resiliency

  • Winsock Address Family Fix: Fixed IPv6/IPv4 lookup failures on Windows hosts behind VPN interfaces. The agent now strictly resolves STUN hostnames to IPv4 endpoints.
  • Half-Open Socket Detection: Configured Server-Sent Events listeners on the Windows agent with a (10, 45) second connect/read timeout threshold, forcing automatic socket reconnection when switching network interfaces or toggling VPNs.

Bug Fixes & Stability Upgrades

Android Application

  • Fixed 100% Notification Hang: Resolved a bug where the file-receive notification progress bar would get stuck at "100% ongoing" if the notification drawer was open. Progress updates are now throttled to only fire when the percentage integer changes, and the redundant 100% progress call is skipped to allow the completion notification to cleanly take over.
  • Mismatched Clock Drift Tolerance: Extended the Firebase PC activity threshold from 2 minutes to 10 minutes, preventing online PCs with minor clock drifts from disappearing from the device discovery list.
  • Fixed Connection Overlaps (EADDRINUSE): Implemented proper coroutine job cancellation (connectJob.cancel()) on subsequent connect requests or disconnections. This prevents concurrent connection loops from running in the background and colliding on socket port bindings.

Windows Agent

  • Socket Port Reuse: Enforced SO_REUSEADDR bindings on the UDP client socket to eliminate address family collisions and BindException issues when cycling connections.
  • Single Instance Lock: Improved single-instance socket locks to prevent double agent instances from running on the host.