Skip to content

Releases: dhruvesh07/Synco

Synco v1.0.1

Choose a tag to compare

@dhruvesh07 dhruvesh07 released this 18 Aug 12:46

Synco v1.0.1 — Connection Stability & FGS Crash Fix

This release fixes the ForegroundServiceDidNotStartInTimeException crash and the "Connection rejected" loop reported on Samsung/Android 13 devices, and hardens reconnection.

Fixes

  • FGS crash fixed — the foreground service is now started once for the whole connection lifecycle instead of being stopped/restarted on every transient state, eliminating the 5s Android startForegroundService timeout race.
  • Stale PIN handling — the desktop generates a fresh PIN every launch; if the stored PIN is rejected, it is now cleared and the app prompts for the current PIN instead of retrying forever.
  • Auto-reconnect capped — up to 5 attempts (3s apart); after that the app surfaces a clear "Enter the IP shown on the PC" message.
  • Desktop stale-connection takeover — a new client connection now replaces an old lingering socket instead of being rejected with "Server busy" (1013) / "Rejecting secondary connection".
  • WebSocketClient connect() — cancels a stale Connecting/Connected socket before reconnecting instead of silently no-op'ing.
  • Heartbeat timeout tuned — 30s -> 10s (2 missed 5s heartbeats) for faster dead-connection detection.

Tests

All 13 unit tests pass (was 5 failing). Robolectric pinned to SDK 34 for Java 17, test packets now carry valid timestamps/payloads, and TrustedDeviceManager is mocked (AndroidKeyStore isn't available under Robolectric).

Downloads

Asset What it is
Synco-1.0.1.apk Android client. Install on your phone.
Synco-desktop-1.0.1.zip Desktop companion distribution. Extract, then run bin\Synco.bat (Windows) or bin/Synco (Linux/macOS).

Desktop install (Windows)

  1. Download Synco-desktop-1.0.1.zip and extract it anywhere.
  2. Open the extracted folder, then bin\Synco.bat.
  3. The terminal shows the server port (8765), dashboard URL, and the 6-digit PIN.

⚠️ If you were running an older build and saw endless Rejecting secondary connection lines, this release is the fix — the server now takes over stale sockets instead of rejecting reconnects.

Phone install

  1. Download Synco-1.0.1.apk and copy it to your phone (or adb install -r Synco-1.0.1.apk with USB debugging).
  2. Open the file on the phone and allow Install from unknown sources.
  3. Launch the app, enter your desktop IP (see SETUP.md for WiFi/hotspot IP commands) and the 6-digit PIN shown on the desktop terminal.

If a previous version had a rejected/stale PIN stored, the app now clears it automatically — enter the current PIN from the desktop.

See SETUP.md for full pairing instructions.

Synco v1.0.0

Choose a tag to compare

@dhruvesh07 dhruvesh07 released this 27 Jul 12:18

Initial release of Synco - local-first sync system connecting Android & desktop. Download the APK below and side-load on your Android device.