[GH-ISSUE #64] Add Electron shell and IPC instrumentation #50

Open
opened 2026-10-15 18:20:30 +00:00 by bsakaguchi · 1 comment
Owner

Originally created by @morluto on GitHub (Jul 12, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/64

Problem

Browser capture misses behavior owned by Electron main/preload processes, windows, native integrations, deep links, updater events, and IPC.

Outcome

Add an approval-gated Electron provider that correlates shell, process, IPC, network, and renderer evidence.

Contract

Inputs include an absolute packaged app or entrypoint, arguments/environment, isolated user-data/HOME, window selection, lifecycle actions, deep-link/custom-protocol events, and fixture-only updater simulation.

Outputs include BrowserWindow/WebContents lifecycle, observable preload APIs, IPC channel/direction/sender/receiver with redacted bounded payload metadata, navigation/permission/download/crash/external-open events, deep-link delivery, main/renderer errors, process trees, cleanup, and correlation IDs.

Safety

Require approval and isolation. Block external protocols/navigation by default. Never modify the package in place or contact production update services. Clean only owned processes and roots.

Acceptance criteria

Fixtures prove bidirectional IPC, multiple windows, renderer restart, deterministic deep links, single-instance behavior, redaction, truncation, failure handling, and cleanup.

Dependencies

Parent #39. Requires browser recorder, process ownership, and bundles.

Non-goals

Sandbox bypass, production updater deployment, OS-wide registration mutation, or native debugger exposure.

Originally created by @morluto on GitHub (Jul 12, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/64 ## Problem Browser capture misses behavior owned by Electron main/preload processes, windows, native integrations, deep links, updater events, and IPC. ## Outcome Add an approval-gated Electron provider that correlates shell, process, IPC, network, and renderer evidence. ## Contract Inputs include an absolute packaged app or entrypoint, arguments/environment, isolated user-data/HOME, window selection, lifecycle actions, deep-link/custom-protocol events, and fixture-only updater simulation. Outputs include BrowserWindow/WebContents lifecycle, observable preload APIs, IPC channel/direction/sender/receiver with redacted bounded payload metadata, navigation/permission/download/crash/external-open events, deep-link delivery, main/renderer errors, process trees, cleanup, and correlation IDs. ## Safety Require approval and isolation. Block external protocols/navigation by default. Never modify the package in place or contact production update services. Clean only owned processes and roots. ## Acceptance criteria Fixtures prove bidirectional IPC, multiple windows, renderer restart, deterministic deep links, single-instance behavior, redaction, truncation, failure handling, and cleanup. ## Dependencies Parent #39. Requires browser recorder, process ownership, and bundles. ## Non-goals Sandbox bypass, production updater deployment, OS-wide registration mutation, or native debugger exposure.
Author
Owner

@morluto commented on GitHub (Jul 20, 2026):

Split into focused child issues:

These replace the broad remaining scope in this issue. Closing this parent can happen once all children are closed.

<!-- gh-comment-id:5023445718 --> @morluto commented on GitHub (Jul 20, 2026): Split into focused child issues: - [ ] #375 - [ ] #376 These replace the broad remaining scope in this issue. Closing this parent can happen once all children are closed.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#50
No description provided.