Releases: dhruvesh07/Synco
Release list
Synco v1.0.1
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)
- Download
Synco-desktop-1.0.1.zipand extract it anywhere. - Open the extracted folder, then
bin\Synco.bat. - The terminal shows the server port (8765), dashboard URL, and the 6-digit PIN.
⚠️ If you were running an older build and saw endlessRejecting secondary connectionlines, this release is the fix — the server now takes over stale sockets instead of rejecting reconnects.
Phone install
- Download
Synco-1.0.1.apkand copy it to your phone (oradb install -r Synco-1.0.1.apkwith USB debugging). - Open the file on the phone and allow Install from unknown sources.
- 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
Initial release of Synco - local-first sync system connecting Android & desktop. Download the APK below and side-load on your Android device.