Keep canonical callback ownership independent of writable raw-listener
metadata. Resolve the native removal argument in current registration order,
then let EventEmitter own mutation, getter timing and removal meta-events.
Leave registrations unwrapped with explicit observation gaps when methods
or receivers do not support that ownership model. Preserve per-callback
Evidence for supported registrations and document the remaining limits.
Fixes#4513
* fix(electron): delegate once dispatch to the native runtime
Preserve the selected runtime callback dispatch and metadata semantics, recording actual entry or explicit observation gaps. Add paired cross-runtime controls and verify the real application hook source identity.
Co-authored-by: gensokyo-dev <[email protected]>
Co-authored-by: Kaoru0822 <[email protected]>
* refactor(electron): remove superseded once dispatch branches
The native once runtime owns callable-method selection. Both remaining observation-helper callers pass actual invocation frames, so remove the obsolete fifth argument and its unreachable call/apply dispatch paths.
Co-authored-by: gensokyo-dev <[email protected]>
Co-authored-by: Kaoru0822 <[email protected]>
* fix(electron): retain once gaps when registration bypasses on
Keep the unobserved synchronous registration scope with its owning channel and restore the previous scope after errors or reentry. Report the once limitation even when an application getter selects a native alias instead of patched on, while avoiding duplicate same-channel gaps.
Co-authored-by: gensokyo-dev <[email protected]>
Co-authored-by: Kaoru0822 <[email protected]>
* docs(electron): preserve native once verification cohorts
Record paired runtime controls, actual Joplin verification, and the unresolved startup, cleanup, and observation limits.
Co-authored-by: gensokyo-dev <[email protected]>
Co-authored-by: Kaoru0822 <[email protected]>
* fix(electron): retain once observation gaps on failed operations
Finalize unobserved registration scopes for both success and failure, preserving native errors and recording failed non-callable dispatch metadata.
Co-authored-by: gensokyo-dev <[email protected]>
Co-authored-by: Kaoru0822 <[email protected]>
* docs(electron): record failed once operation regressions
Preserve review findings, red/green controls, final runtime comparisons and real application limits without relabeling earlier cohorts.
Co-authored-by: gensokyo-dev <[email protected]>
Co-authored-by: Kaoru0822 <[email protected]>
---------
Co-authored-by: gensokyo-dev <[email protected]>
Co-authored-by: Kaoru0822 <[email protected]>
Classify browser-role preload configuration while event kind and role remain paired. Consume canonical dropped families once and retain unknown attribution for legacy independent totals. Correct the stale dropped IPC assertion.
Validation: hook and projection regressions passed. Fixes#2649.