mirror of
https://github.com/logos-messaging/sds-go-bindings.git
synced 2026-07-24 00:43:17 +00:00
nim-sds release/v0.4 moved to nim-ffi v0.1.5 and now exposes a JSON + snake_case `sds_*` C ABI (sds_create, sds_wrap_outgoing_message, sds_unwrap_received_message, ...). Rewrite the cgo layer to match: requests/responses are marshalled as JSON, with seq[byte] carried as a JSON number array (jsonByteArray) and retrievalHint as base64. Also add repair_ready event support (OnRepairReady) and guard the manager registry with rmRegistryMu: libsds fires the global callbacks on its own worker threads, which raced the register/unregister writes done on the manager-owning goroutines. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>