[GH-ISSUE #4366] [Feature] Resolve stable local constant BrowserWindow options through shared binding facts #1723

Closed
opened 2026-10-16 21:09:30 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @N0zoM1z0 on GitHub (Oct 16, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/4366

Before submitting

  • I searched open and closed issues/PRs; this is a scoped implementation child of #3536, tracked in #4027.
  • I understand the contribution scope and fail-closed integration rule.
  • No credentials or private samples are included.

Area

Evidence, artifacts, or reconstruction

Current limitation

At 8ab5024397ddbd3b37ab68a13cabedc2eb7ce7dd, inspectBrowserWindow accepts only inline object syntax. A same-scope const options = {webPreferences: {nodeIntegration: true, contextIsolation: false}}; new BrowserWindow(options) remains dynamic. This is source-derived on current main; #3536 reports earlier executed CLI reproductions and the actual Joplin 3.7.21 ElectronAppWrapper.js case.

Desired outcome and success criteria

Resolve unambiguous same-scope const option/preference object initializers through the existing lexical and alias-aware mutation owner. Preserve shadowing, unknown computed overrides, reassignment, mutation, escape, cycles and use-before-initialization as uncertainty. Preserve exact source Evidence and original constructor identity. Do not execute target code, infer Electron defaults, or add tools. Keep equivalent inline inputs unchanged.

This slice excludes setWindowOpenHandler override records/parent relations; #3536 remains open for that independent contract change.

Expected interaction with targets

Read existing files as inert source.

Verification available so far

Source inspection plus prior public-app report in #3536. Current-runtime reproduction and performance measurements are pending.

Verification details

Use the unchanged official Joplin 3.7.21 ASAR and exact source selection, compare current-main vs candidate CLI/MCP and retained facts, and record token/context, elapsed/CPU and process-family memory costs. Add deterministic negative source cases at the producing boundary. No runtime Electron behavior is claimed by static reconstruction.

Alternatives considered

Manual source reading preserves facts but leaves the shared graph and summary incomplete. A separate resolver duplicating lexical/mutation interpretation would create maintenance and correctness risks.

References

Parent #3536; umbrella #4027; code-mode deferral #4091.

Originally created by @N0zoM1z0 on GitHub (Oct 16, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/4366 ### Before submitting - [x] I searched open and closed issues/PRs; this is a scoped implementation child of #3536, tracked in #4027. - [x] I understand the contribution scope and fail-closed integration rule. - [x] No credentials or private samples are included. ### Area Evidence, artifacts, or reconstruction ### Current limitation At `8ab5024397ddbd3b37ab68a13cabedc2eb7ce7dd`, `inspectBrowserWindow` accepts only inline object syntax. A same-scope `const options = {webPreferences: {nodeIntegration: true, contextIsolation: false}}; new BrowserWindow(options)` remains dynamic. This is source-derived on current main; #3536 reports earlier executed CLI reproductions and the actual Joplin 3.7.21 `ElectronAppWrapper.js` case. ### Desired outcome and success criteria Resolve unambiguous same-scope const option/preference object initializers through the existing lexical and alias-aware mutation owner. Preserve shadowing, unknown computed overrides, reassignment, mutation, escape, cycles and use-before-initialization as uncertainty. Preserve exact source Evidence and original constructor identity. Do not execute target code, infer Electron defaults, or add tools. Keep equivalent inline inputs unchanged. This slice excludes `setWindowOpenHandler` override records/parent relations; #3536 remains open for that independent contract change. ### Expected interaction with targets Read existing files as inert source. ### Verification available so far Source inspection plus prior public-app report in #3536. Current-runtime reproduction and performance measurements are pending. ### Verification details Use the unchanged official Joplin 3.7.21 ASAR and exact source selection, compare current-main vs candidate CLI/MCP and retained facts, and record token/context, elapsed/CPU and process-family memory costs. Add deterministic negative source cases at the producing boundary. No runtime Electron behavior is claimed by static reconstruction. ### Alternatives considered Manual source reading preserves facts but leaves the shared graph and summary incomplete. A separate resolver duplicating lexical/mutation interpretation would create maintenance and correctness risks. ### References Parent #3536; umbrella #4027; code-mode deferral #4091.
bsakaguchi 2026-10-16 21:09:30 +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#1723
No description provided.