[PR #2747] [MERGED] fix(javascript): retain bridge conditions on IPC joins #5361

Closed
opened 2026-10-31 01:06:02 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/2747
Author: @HeadmasterEggy
Created: 10/13/2026
Status: ✅ Merged
Merged: 10/13/2026
Merged by: @morluto

Base: main ← Head: codex/electron-join-conditions-2668


📝 Commits (10+)

  • 6e84dff fix(javascript): retain bridge conditions on IPC joins
  • 57ab604 fix(javascript): retain IPC condition ownership
  • 1a99dd2 style(javascript): format bridge path regression
  • 1790627 chore: merge upstream CI baseline fixes
  • 8770f44 fix(process): report no remaining time after a provider deadline fires
  • e745688 chore: merge captured main maintenance updates
  • 2e9b1b4 chore: merge current main into PR #2747
  • 42e7938 fix(javascript): preserve Electron join condition coverage
  • 925046d Merge commit '8fef2aa64e' into HEAD
  • bf776f4 Merge branch 'main' into codex/electron-join-conditions-2668

📊 Changes

2 files changed (+45 additions, -2 deletions)

View changed files

📝 src/application/javascript/ElectronBoundaryGraphCallPaths.ts (+2 -1)
📝 tests/boundary/cli/electronWrappedCallPaths.test.ts (+43 -1)

📄 Description

Summary

Fixes #2668. Electron IPC join edges retain conditions from both the exposed bridge path and its uniquely paired handler as separate, file-scoped groups.

bridge file:  flag  ──> bridge_conditions
                         \
                          IPC join (candidate)
                         /
handler file: !flag ──> handler_conditions

Keeping the groups separate preserves each condition's source-file context. Conditions remain static candidate evidence; the join does not claim that either guard passed at runtime.

Evidence

  • Before: the public CLI reproduction emitted only handler conditions on join edges and omitted the bridge conditions.
  • After: npm run test:focused -- tests/boundary/cli/electronWrappedCallPaths.test.ts passed 5/5. The regression places same-named, opposite conditions in the preload and main files and asserts that they remain in distinct groups; existing CLI/MCP, ambiguity, and non-join controls passed.
  • npm run check:fast: passed on Node 24.18.0; git diff --check: passed.
  • The fixtures are inert static-analysis inputs; no Electron runtime was started.

Merge Danger

Door: Two-way; a normal revert restores the prior behavior.

Blast Radius: JavaScript

Only conditions projected onto Electron IPC join edges change. The joined evidence exposes separate bridge_conditions and handler_conditions; static-candidate authority remains intact.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/2747 **Author:** [@HeadmasterEggy](https://github.com/HeadmasterEggy) **Created:** 10/13/2026 **Status:** ✅ Merged **Merged:** 10/13/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `codex/electron-join-conditions-2668` --- ### 📝 Commits (10+) - [`6e84dff`](https://github.com/morluto/rea/commit/6e84dfffd76bd6dcedecd86911e3b5a9ab1c5411) fix(javascript): retain bridge conditions on IPC joins - [`57ab604`](https://github.com/morluto/rea/commit/57ab60424b2fb7e15bc30e569a28b26087b12a6a) fix(javascript): retain IPC condition ownership - [`1a99dd2`](https://github.com/morluto/rea/commit/1a99dd25df353ad7a989f2f19be6a266d2af959b) style(javascript): format bridge path regression - [`1790627`](https://github.com/morluto/rea/commit/1790627f6d1de23402da6e450991f6e2a826fafd) chore: merge upstream CI baseline fixes - [`8770f44`](https://github.com/morluto/rea/commit/8770f44f0dac8ff93b8ab3e31b1027378ea80250) fix(process): report no remaining time after a provider deadline fires - [`e745688`](https://github.com/morluto/rea/commit/e7456885a1e985976e53f04959e7d48622bc8b77) chore: merge captured main maintenance updates - [`2e9b1b4`](https://github.com/morluto/rea/commit/2e9b1b4484fbcac0c180c9e4f8db1dc8d455e057) chore: merge current main into PR #2747 - [`42e7938`](https://github.com/morluto/rea/commit/42e793859c3f7e62b90e286e23816f46371026f6) fix(javascript): preserve Electron join condition coverage - [`925046d`](https://github.com/morluto/rea/commit/925046dd5c948f56dac07b6c7330fb28ff507330) Merge commit '8fef2aa64ec1ee742e8b70b825938d30a0ea7319' into HEAD - [`bf776f4`](https://github.com/morluto/rea/commit/bf776f4dc0abe1231ea838db8e44b69b80827ff6) Merge branch 'main' into codex/electron-join-conditions-2668 ### 📊 Changes **2 files changed** (+45 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `src/application/javascript/ElectronBoundaryGraphCallPaths.ts` (+2 -1) 📝 `tests/boundary/cli/electronWrappedCallPaths.test.ts` (+43 -1) </details> ### 📄 Description ## Summary Fixes #2668. Electron IPC join edges retain conditions from both the exposed bridge path and its uniquely paired handler as separate, file-scoped groups. ```text bridge file: flag ──> bridge_conditions \ IPC join (candidate) / handler file: !flag ──> handler_conditions ``` Keeping the groups separate preserves each condition's source-file context. Conditions remain static candidate evidence; the join does not claim that either guard passed at runtime. ## Evidence - **Before:** the public CLI reproduction emitted only handler conditions on join edges and omitted the bridge conditions. - **After:** `npm run test:focused -- tests/boundary/cli/electronWrappedCallPaths.test.ts` passed 5/5. The regression places same-named, opposite conditions in the preload and main files and asserts that they remain in distinct groups; existing CLI/MCP, ambiguity, and non-join controls passed. - `npm run check:fast`: passed on Node 24.18.0; `git diff --check`: passed. - The fixtures are inert static-analysis inputs; no Electron runtime was started. ## Merge Danger **Door:** Two-way; a normal revert restores the prior behavior. **Blast Radius:** JavaScript Only conditions projected onto Electron IPC join edges change. The joined evidence exposes separate `bridge_conditions` and `handler_conditions`; static-candidate authority remains intact. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:06:02 +00:00
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#5361
No description provided.