Skip to content

Release 0.13.3 - Voice conversation mode, File editing, YOLO mode#264

Merged
shantur merged 20 commits intomainfrom
dev
Mar 31, 2026
Merged

Release 0.13.3 - Voice conversation mode, File editing, YOLO mode#264
shantur merged 20 commits intomainfrom
dev

Conversation

@shantur
Copy link
Copy Markdown
Collaborator

@shantur shantur commented Mar 31, 2026

Thanks for contributions

Highlights

  • Edit and save files directly in CodeNomad: Update workspace files in the built-in editor, save them without leaving the app, and get safer handling for unsaved changes or edit conflicts.
  • More control over session automation: Turn on per-session YOLO mode from the Status tab, keep it visible with a clear badge, and let long-running sessions continue auto-accepting prompts as expected.
  • Better voice conversation options: Use spoken summary mode for replies and keep conversation speech settings isolated per client, so one device’s voice preferences do not unexpectedly affect another.
  • Faster session recovery: Reload a session transcript from the sidebar and see when a session is retrying, including live status feedback.

What’s Improved

  • Smoother desktop setup: Desktop builds now bundle the right CLI resources and handle microphone access more cleanly.
  • More reliable cross-platform desktop behavior: Windows process handling and npm invocation are safer, reducing environment-specific issues.
  • Clearer session status visibility: Retrying sessions now show more useful state in the sidebar and header, so it is easier to tell what is happening.
  • Cleaner in-app feedback: Long toast messages wrap properly, GitHub star counts display more cleanly, and message/code rendering behaves more predictably.

Fixes

  • Safer prompt rendering: Raw HTML in user prompts is escaped so messages display safely instead of being interpreted.
  • More reliable code previews: Incomplete syntax highlighting results are no longer cached, which helps prevent broken-looking file views.
  • Better voice handoff: Conversation playback stops when voice input starts, avoiding overlapping speech.
  • More dependable desktop releases: Native app versions now stay aligned with package releases, and stale UI assets no longer shadow new desktop builds.

Contributors

shantur and others added 20 commits March 28, 2026 15:30
## Summary
- Adds file writing capability to Monaco editor in the file viewer
- Implements writeFile API on the server for workspace files
- Integrates save functionality into the file viewer UI with proper
state management

## Bug Fixes (Review Feedback)
- Fixed failed save discarding edits when switching files - now checks
save result and only proceeds if successful
- Fixed refresh overwriting dirty editor state - now prompts for
confirmation before discarding edits
- Fixed save button unable to save empty files - changed check from `if
(content)` to `if (content !== undefined && content !== null)`
- Added agent edit conflict detection - when agent edits file while user
has unsaved changes, shows conflict dialog with Overwrite/Cancel options
- Fixed dialog appearing behind unpinned sidebar - increased alert
dialog z-index to z-100

## Related Issues
- Closes #251

---------

Co-authored-by: Jess Chadwick <jchadwick@gmail.com>
## Summary
- escape raw HTML when rendering user message markdown so prompt input
is shown as text instead of injected HTML
- keep assistant and tool markdown behavior unchanged by scoping the
escape behavior to user messages
- update markdown cache keys so escaped and non-escaped render output do
not collide

## Verification
- `npm run typecheck --workspace @codenomad/ui` *(fails in this
workspace because frontend dependencies are not installed)*
- `npm run build --workspace @codenomad/ui` *(fails in this workspace
because `vite` is not installed)*

--
Yours,
[CodeNomadBot](https://github.com/NeuralNomadsAI/CodeNomad)

Co-authored-by: Shantur <shantur@Mac.home>
## Summary
- sync the Tauri native version metadata from
`packages/tauri-app/package.json` so release builds pick up workspace
version bumps like `0.13.1`
- update the checked-in Tauri `Cargo.toml` and `tauri.conf.json`
versions from `0.12.3` to `0.13.1`
- document the prebuild sync behavior in `BUILD.md`

## Testing
- `node packages/tauri-app/scripts/sync-tauri-version.js`
## Summary
- prefer the bundled desktop UI over the downloaded cache when both
report the same version, so rebuilt installers do not keep serving stale
frontend assets
- rebuild the server workspace during the Tauri prebuild step on every
desktop package build, matching Electron's correctness boundary for
fresh UI/server assets
- add a regression test covering the equal-version bundled-vs-downloaded
UI selection path

## Why
- local desktop rebuilds should reflect the latest server and UI code
without requiring users to manually clear cached assets
- packaged updates should keep favoring the freshly bundled frontend
when the cached copy is not actually newer

## Testing
- node --import tsx --test
packages/server/src/ui/__tests__/remote-ui.test.ts
- npm run build:tauri
Let users refresh a session transcript from the sidebar without reopening it. Reuse the existing forced message loading path so the reload behavior stays aligned with normal session hydration.
## Summary
- add a per-session Yolo mode toggle for permission prompts and persist
its state
- move the control into the Status tab with clearer copy, an info
tooltip, and a visible header badge when it is enabled
- auto-accept queued permissions for any yolo-enabled session in the
instance, not only the currently focused session

## Why
- keeps this risky mode explicit and easy to audit from the session
status area
- matches the expected multi-session desktop behavior when several
sessions stay active in parallel

## Testing
- npm run typecheck --workspace @codenomad/ui
- npm run build --workspace @codenomad/ui

Closes #18
Only cache markdown HTML after Shiki has the required fence languages loaded so virtualized assistant messages can re-render with syntax highlighting when remounted.
Preserve retry metadata from session.status events so the session list and header can show a live retry countdown with context. Notify users when a session enters retry and reuse the existing error styling so retrying feels actionable without losing the current badge layout.
Constrain toast titles and bodies so long retry and error messages wrap inside the notification card instead of overflowing past the container.
@shantur shantur merged commit 278b563 into main Mar 31, 2026
11 of 12 checks passed
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.

3 participants