Expose g_task_print_alive_tasks() as _frida.print_alive_tasks(),
wrapped as frida.print_alive_tasks() in both facades. Requires a
GLib built with G_ENABLE_DEBUG.
Reinstate the cancellable decorator, RPCResult, make_rpc_call_request
and make_auth_callback, and expose ScriptExportsAsync from frida.core
via a new facade_epilogues customization.
Facade on/off took any callable, so misshapen handlers type-checked.
Derive the stacks from the .gir: the alias name follows from the type
and signal name. Undefined aliases and single-signal types are skipped.
The .gir yields only get_device_by_id/by_type, and drops
Cancellable.connect/disconnect, whose callback is not marshallable.
Reinstate all six. connect/disconnect go over the cancelled signal,
keeping g_cancellable_connect's return-0-when-cancelled contract.
The .gir rewrite emitted only GObject-derived classes and no
annotations, so py.typed shipped an untyped facade.
Reinstate the aliases as a prelude asset and annotate the facade
from the existing pyi type mapping.
Also fixes read-only options properties and the module functions
missing from _frida.pyi.
Skip None values instead of passing them to typed setters.
Map collection kwargs onto their select_/add_ methods, walking
the parent chain. Affects specs, omits, externals, pids and
identifiers.
The prebuilt wheel path installs the generated __init__.py,
aio.py and _frida.pyi alongside the extension, not under
build/frida/, so copy them from there.
Wire up the new frida-core Script.interrupt() and terminate() methods:
- interrupt() aborts any JavaScript currently executing, leaving the
script loaded and able to run again.
- terminate() interrupts execution and unloads the script, so one
stuck in a long-running or infinite operation can still be torn
down.