Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Networked swift bindings #181

Open
wants to merge 28 commits into
base: develop
Choose a base branch
from
Open

Networked swift bindings #181

wants to merge 28 commits into from

Conversation

za-creature
Copy link
Collaborator

This is a complete overhaul of the swift bindings with the following major changes:

  • implemented the loopback authentication protocol developed on the service branch
  • exposed all (known) RPCs exposed by the current library
  • all get* methods have been replaced with actual async getters
  • exposed subscriptions via AsyncStream, semantically equivalent to the dart api
  • memory management is now done implicitly via reference counting, the close methods are not exposed (but are called internally on deinit)
  • the bindings are now free from force unwraps (except one instance where Apple's API is weird)
  • ported dart tests with a current coverage of ~75%
  • imported documentation from dart wherever possible

Other QoL changes:

  • moved the relevant post-checkout script from the 'app' repo here (init.sh)
  • updated the build tools to support swift build and command line coverage generation (cov.sh)
  • renamed from OuisyncLib to Ouisync (the name collision with the UI is resolved by renaming its module to Runner)

madadam
madadam previously approved these changes Jan 27, 2025
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.

2 participants