Skip to content

feat(core): map macOS library records and add Swift bindings - #4030

Merged
datlechin merged 11 commits into
mainfrom
feat/macos-core-library
Nov 4, 2026
Merged

datlechin merged 11 commits into
mainfrom
feat/macos-core-library

Conversation

@datlechin

@datlechin datlechin commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Add ADR 0009 for moving macOS onto the shared core in slices. This slice builds and tests Swift bindings; app wiring follows after SQLite linkage and storage compatibility checks.

  • Map the group tree, connection placement and favourites onto existing CloudKit fields. Preserve unchanged server values and merge device edits field by field, with deletions taking precedence.

  • Build the core without engines as a macOS 13 XCFramework. Add Swift binding tests and regenerate the Windows bindings for the shared API.

  • Remove saved credentials after a cloud deletion succeeds. A failed storage write preserves them.

  • Fix Debian packaging installation to stage the built binaries without rebuilding them after tests changed Cargo's LTO profile. Both Debian CI jobs exhausted disk during that extra build.

Test plan

  • Local Rust storage tests: 280 passed, covering round trips, malformed records, ordering, cycle conflicts and two-device convergence.
  • Local FFI tests: 71 passed with default engines, including cloud deletion and a failed storage write.
  • Local universal XCFramework build passed for arm64 and x86_64 with a macOS 13.0 floor; all three Swift binding tests and 16 Foundation ordering pairs passed.
  • SwiftLint, Rust formatting, shellcheck, actionlint, workflow checks and 39 change-detector tests and 17 test-plan validator tests passed locally. Update the detector expectation: apple/project.yml now triggers core checks because it supplies the deployment target.
  • Local bindings verifier and .NET solution build passed; all 192 solution tests passed.
  • Default-engine clippy passed locally with warnings denied. The Debian install regression passed in a local Ubuntu 26.04 container, staging both binaries and data while the build command was disabled.

@datlechin
datlechin merged commit 9d727a6 into main Nov 4, 2026
1 check passed
@datlechin
datlechin deleted the feat/macos-core-library branch November 4, 2026 10:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant