Skip to content

fix(electron): avoid shell for resource prep#436

Merged
shantur merged 1 commit into
NeuralNomadsAI:opencode-config-mergefrom
Pagecran:fix/electron-windows-node-path-quoting
May 12, 2026
Merged

fix(electron): avoid shell for resource prep#436
shantur merged 1 commit into
NeuralNomadsAI:opencode-config-mergefrom
Pagecran:fix/electron-windows-node-path-quoting

Conversation

@pascalandr
Copy link
Copy Markdown
Contributor

Summary

  • Avoid routing the Electron resource-prep Node invocation through the Windows shell.
  • Fix local build:win when Node is installed under C:\Program Files\nodejs\node.exe.

Validation

  • npm run build:win --workspace @neuralnomads/codenomad-electron-app

Notes

Run the Electron resource preparation step through the Node executable directly instead of routing process.execPath through the Windows shell. This prevents Node installations under paths like C:\Program Files\nodejs\node.exe from being split by cmd.exe during build:win.

The change is scoped to the prepare-resources invocation because the npm/npx build steps still need the existing shell behavior on Windows. Validated with npm run build:win --workspace @neuralnomads/codenomad-electron-app on Windows.
@shantur
Copy link
Copy Markdown
Collaborator

shantur commented May 12, 2026

Thanks for PR

@shantur shantur merged commit 8be3433 into NeuralNomadsAI:opencode-config-merge May 12, 2026
3 of 4 checks passed
shantur added a commit that referenced this pull request May 14, 2026
…cloning, chat search and more (#443)

## Thanks for contributions

- [@pascalandr](https://github.com/pascalandr):
[#394](#394),
[#397](#397),
[#405](#405),
[#410](#410),
[#411](#411),
[#423](#423),
[#424](#424),
[#425](#425),
[#426](#426),
[#428](#428),
[#436](#436)
- [@jollyxenon](https://github.com/jollyxenon):
[#381](#381),
[#409](#409)
- [@OfflinePing](https://github.com/OfflinePing):
[#415](#415)

## Highlights

- **Web previews create a much tighter fix loop**: Open a live preview
from a session, highlight the exact part of the page that needs work,
and tell the model what to change right from the webpage. CodeNomad
sends that page and element context back into chat so the LLM can act on
specific visual feedback instead of vague descriptions.
- **Bringing repositories into CodeNomad is much easier**: You can now
clone a Git repository directly from the workspace picker, making it
faster to start work on a fresh project without leaving the app.
- **Searching inside long conversations is finally practical**: Session
history search can now find matches across messages, tool output, and
related content, helping you jump straight to the part of a conversation
you need.
- **Sessions are easier to manage at a glance**: Parent sessions now
show aggregated token and cost totals across subagents, the message
timeline can be hidden when you want more room, and tabs can be
reordered.
- **Mobile views and narrow screens feel much better**: Prompt controls,
message actions, timeline behavior, and other session UI pieces adapt
more cleanly when space gets tight.

## What’s Improved

- **Smoother workspace startup**: The home screen, empty states, and
startup flow are clearer, and returning between active projects and the
home view feels more natural.
- **More useful browsing and previewing**: Markdown now supports math
rendering, web previews are integrated into the session flow, and
unrestricted browsing respects the selected workspace root more
reliably.
- **Cleaner model and agent selection**: Models are grouped by provider,
and primary agent selection now follows OpenCode’s visibility rules more
closely.
- **Better prompt and attachment handling**: File attachment picking is
more consistent with drag-and-drop behavior, and prompt controls are
laid out more clearly in compact layouts.
- **More self-contained packaging**: Desktop builds do a better job
bundling the runtime, shipping the CodeNomad OpenCode plugin, and
producing more consistent release artifacts.

## Fixes

- **Permission flows are more reliable**: Stale permission events are
ignored after a reply, permission metadata is preserved more safely, and
attachment context survives more consistently.
- **Idle/session indicators behave more predictably**: Idle badges now
stay visible until they are actually seen, and session status behavior
is easier to understand across parent and child sessions.
- **Desktop and packaged builds are more dependable**: Bundled resources
refresh more reliably, packaged session storage is isolated correctly,
remote window titles are preserved, and Windows resource preparation
avoids a brittle shell path.
- **Compact layouts are less frustrating**: Message actions, tool-call
controls, timeline spacing, and prompt controls behave better in narrow
center panes and smaller screens.
- **Release/update navigation is clearer**: Update links stay visible
more reliably, making it easier to see and open release information when
an update is available.

### Contributors

-   [@pascalandr](https://github.com/pascalandr)
-   [@jollyxenon](https://github.com/jollyxenon)
-   [@OfflinePing](https://github.com/OfflinePing)

## Merged Pull Requests

### @shantur

- PR [#397](#397) “Add
clone repository workspace flow”
- PR [#399](#399)
“feat(ui): allow tab reordering”
- PR [#400](#400)
“feat(ui): add chat history search”
- PR [#430](#430) “Add
session web preview mode”
- PR [#432](#432)
“fix(ui): align prompt attachment picker with drop behavior”
- PR [#433](#433)
“Package CodeNomad OpenCode plugin”
- PR [#434](#434)
“Refactor workspace startup and empty session states”
- PR [#437](#437)
“Improve prompt layout for narrow session panes”
- PR [#438](#438)
“Improve messages layouts on narrow screens”

### @pascalandr

- PR [#394](#394)
“fix(tauri): refresh bundled resources on rebuild”
- PR [#405](#405)
“fix(tauri): prefer bundled server entry in release”
- PR [#410](#410)
“fix(ui): keep update release link visible”
- PR [#411](#411)
“fix(ui): return to active projects from home”
- PR [#423](#423)
“fix(ui): follow up idle badge behavior”
- PR [#424](#424)
“fix(ui): drain yolo permissions outside shell render”
- PR [#425](#425)
“fix(ui): ignore stale permission events after reply”
- PR [#426](#426)
“fix(ui): reconcile permission tool attachments”
- PR [#428](#428)
“feat(ui): make message timeline hideable”
- PR [#436](#436)
“fix(electron): avoid shell for resource prep”

### @OfflinePing

- PR [#415](#415)
“feat(ui): show aggregated total tokens and cost for parent sessions
including subagents”

### @jollyxenon

- PR [#381](#381)
“Fix(ui): Support Markdown Math Rendering”
- PR [#409](#409)
“fix(ui): align primary agent selection with OpenCode”
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants