Skip to content

refactor(ios): use signal instead of callbacks#24

Merged
LemonNekoGH merged 10 commits into
mainfrom
lemonnekogh/use-signal-instead-of-callbacks
Jun 7, 2026
Merged

refactor(ios): use signal instead of callbacks#24
LemonNekoGH merged 10 commits into
mainfrom
lemonnekogh/use-signal-instead-of-callbacks

Conversation

@LemonNekoGH

Copy link
Copy Markdown
Member

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the iOS native Kirie singleton to use Godot signals (matching Android/desktop behavior) instead of requiring consumers to register iOS-specific callback Callables.

Changes:

  • Removed the iOS-only registerCallbacks API and callback storage/invocation code from the native plugin.
  • Added and emitted iOS user signals (webview_ready, text_received, binary_received, data_received, ipc_error) from native notification handlers.
  • Updated the GDScript and C# client wrappers to connect signals uniformly across platforms; updated architecture docs accordingly.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/kirie/native/ios/Kirie/Sources/Kirie/KiriePlugin.mm Removes callback machinery, emits signals, and registers iOS user signals.
packages/kirie/native/ios/Kirie/Sources/Kirie/KiriePlugin.h Removes callback member fields and the registerCallbacks method declaration.
packages/kirie/addon/addons/kirie/gd_kirie.gd Removes iOS callback registration path; connects plugin signals generically.
packages/kirie/addon/addons/kirie/csharp/KirieClient.cs Removes iOS callback registration path; connects plugin signals generically.
docs/architecture.md Updates documentation to reflect signals-only bridging (no iOS callbacks).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +369 to +371
add_user_signal(MethodInfo("binary_received", PropertyInfo(Variant::PACKED_BYTE_ARRAY, "bytes")));
add_user_signal(MethodInfo("data_received", PropertyInfo(Variant::NIL, "value", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NIL_IS_VARIANT)));
add_user_signal(MethodInfo("ipc_error", PropertyInfo(Variant::STRING, "error")));
Update the local mise lockfile with mise 2026.6.0 so CI no longer rewrites it during lint and format jobs.

Pin dotnet to 10.0.300 because CI resolves the broad 10 version to that SDK on fresh runners.

Per user request, this commit intentionally skips commit signing.
@LemonNekoGH LemonNekoGH merged commit 2c62dbc into main Jun 7, 2026
9 checks passed
@LemonNekoGH LemonNekoGH deleted the lemonnekogh/use-signal-instead-of-callbacks branch June 7, 2026 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants