FeatureFuel
3

Proposal: Rust Sync Engine — Eliminating iOS Background Sync Failures at the Architecture Level

Source: immich-app/immich#26950 · opened by @santoshakil
> TL;DR: The iOS background sync bugs (#22850, #22522, #22101, #22320, #20331 — 267 comments combined, all open) share one root cause: Dart isolates can't share memory. A Rust shared library eliminates this by giving foreground and background the same Mutex<Connection> — no locks, no heartbeats, no 5-second timeout. I built a working proof-of-concept with 82 passing tests on real devices. --- The Root Cause: One Picture Current — fragile lock coordination: Proposed — shared Rust engine: --- The Code Causing These Bugs [background.service.dart]( Bug 1: Background gives up after 5 seconds (#22850 — 42 comments) Foreground holds lock → background waits 5s → gives up → user's photos never upload. Bug 2: False crash detection → concurrent writes (#22522 — 50 comments) Foreground busy rendering → doesn't respond in 3s → background steals lock → both write → UNIQUE constraint failure. Bug 3: Orphaned lock after kill (#22101, #20331 — 140 comments) …

No pledges yet. Be the first to back this.

Make a pledge

Pledge your monetary support if this feature is added.

$

Comments

No comments yet.

Replying to

Add a comment

What do you think about this feature request?


Similar requests