Introduce core/ — a Rust crate owning the wire protocol (Message codec, SSE client, reconnect/backoff, send) behind a 4-method seam exported via UniFFI: Engine::new / start(handler) / send / stop. This is the single sync engine meant to back all clients; desktop links it directly, iOS binds an .xcframework, Android will bind an .aar. RTC mesh + the signal envelope are deliberately out of scope for v1 (SSE-only). Verified end-to-end against the live server: examples/roundtrip.rs has a subscriber engine receive a message published by a sender engine. iOS now links it: TetherStore drops TetherKit's TetherClient/SSEClient/ Message and drives tethercore.Engine instead (RoomIdentity still from TetherKit via selective import to avoid the Message name clash). The app builds and links the Rust staticlib for device. Artifacts (xcframework, Swift bindings) are generated by core/build-ios.sh and git-ignored; commit source + script, not the ~80MB static libs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 lines
55 B
Plaintext
5 lines
55 B
Plaintext
/target/
|
|
/bindings/
|
|
/build-xcframework/
|
|
/*.xcframework
|