CodeNomad/docs/help/en/updates.md
Pascal André 1dabb5110f
docs(help): bring the user guide back in line with the current app (#1079)
docs(help): bring the user guide back in line with the current app

The help was written on 2026-10-14 and about forty user-visible changes merged since without touching it, so several pages described controls that no longer exist: Missions still listed four playbooks and a Save step for preferences that now save on each change, the depth editor kept its old names, notifications still had their former switches, and voice input pointed to a microphone button that is not in the composer.

Every English page was re-checked claim by claim against the current labels (English UI messages) and behaviour, then the nine translations were updated to match, using each locale's own UI labels. Notable corrections: Missions (Compare two models, autosaving defaults with Apply to / Global / Reset, Subsession nesting depth, prepared hand-offs, retired-task interrupts, the named causes of "Mission Control is unavailable", standalone server support); conversations and history (reasoning/tool durations, token lines adding up the cleanup selection, presets including Nothing, timeline markers following Message content, in-place reveal of long text, Open in session, focus after send, Queue message / Steer now, Retrying); settings (notification routing table and defaults, Stats, Mode, info tips, Server setting badge, localized native menus); shortcuts (72 actions, Clear shortcut, Ctrl/Cmd+K); voice (More actions entries, Save status); files (live Workspace refresh, Show 200 more); OpenCode, install, server and updates (2.1.1 recommended, OpenCode 2 beside an older installation, version card first, private loopback listener for Missions, preview releases offered once all builds are published); providers, integrations, browser, SideCars, desktop and remote pages. Translations also repaired older drift, mainly the project-tab closing passages.

The Chat settings table header (Default state, its title, item column, the thinking row and its accessible label) was still English in eight locales; it is now translated so the help can cite what users see. AGENTS.md now asks every PR changing user-visible behavior to update the affected help pages in the same PR, since CI validates structure and links but not whether the text still matches the UI; it also corrects the needs-input notification default. USER_HELP.md no longer claims native menus stay English.

Validation: npm run test:help (all ten locales, 25 pages, heading ids unchanged), a full help build, and the i18n and transcript-visibility unit tests.
2026-10-21 14:38:29 +02:00

5.8 KiB

Updates

Choose the release feed

  1. Open Settings → Info → Updates.
  2. Set Update feed to Stable releases or Previews and stable releases.
  3. Refresh/check for updates and review the offered release before accepting an installation.

The feed is saved in CodeNomad server configuration and only changes which releases are offered. It does not change desktop data profiles, drafts, windows, OpenCode sessions or service configuration. Without an explicit selection, preview-labelled builds default to previews, other builds to stable.

Stable selects the latest final release. Preview follows publication order because development builds can share a base version number; do not compare only their numeric versions. A preview release is offered only once all of its builds are published. Preview packages are for users willing to test prerelease behavior; inspect release notes and protect important drafts before restarting.

Update a desktop installation

  1. Use Help → Get Updates..., the update notification, or the button in Settings → Info → Updates.
  2. On Electron, follow the release page and obtain the archive/package for the host/platform you use.
  3. On eligible local Tauri installations, review the native offer and choose Install and restart explicitly.
  4. Save important work in every window before installation/restart, then verify Info after relaunch.
Tauri installation In-app install eligibility
Windows x64 NSIS installation Supported with the embedded updater key and a signed release payload.
macOS x64 / arm64 application Supported with the embedded updater key and a signed .app.tar.gz payload.
Linux x64 AppImage Requires the AppImage bundle marker and a nonempty APPIMAGE path, plus signed update support. APPRUN alone is insufficient.
Debian/RPM, loose Windows executable, unsigned/keyless build Opens the release page rather than installing in-app.

In Tauri application and native Preferences windows, the Updates section shows Install update when a release is offered. It checks the selected feed and offers Install and restart when an in-app update is available; otherwise it opens the release page it shows. Electron, web and remote windows instead show the Download update link, without a native updater check.

The Tauri Help → Get Updates... menu runs the update flow in the focused application window. From Preferences or a remote window, it brings the most recently used application window forward to run the check; it does not install through the remote window. If no application window can receive the action, including a targeted loading, login or pairing screen, the menu opens the release page instead.

Tauri installs only releases with a published update manifest for the chosen feed/target. If an announced release cannot be installed yet, the notification opens its release page instead. Native signature verification is required before installation. Updater signatures are distinct from OS notarization/code-signing assurances.

Installation flushes all application windows and stops the owned CodeNomad backend before replacing/restarting the app. The independently owned OpenCode daemon is not part of this shutdown. Closing CodeNomad still removes backend-dependent features until it returns; do not infer uninterrupted UI services from a continuing OpenCode session.

If a check is busy, wait for the other window's operation. For download, validation or shutdown failures, read the error and perform a fresh check; an old notification is not a license to reinstall stale bytes. A failed installation can restore the backend and reload windows, and does not automatically replay installation. If native installation is unavailable, use the release page for the appropriate package; see Install.

Update a standalone server

  1. Identify how you launched CodeNomad and save any work that depends on that backend.
  2. Stop that CodeNomad server process using its normal process/service control.
  3. Update the same package installation, then restart with the intended configuration and flags.
Launch/install method Update command
One-off stable npm launch npx @neuralnomads/codenomad@latest with your normal flags
Global stable installation npm install -g @neuralnomads/codenomad@latest
Local stable installation npm install @neuralnomads/codenomad@latest in that package directory
One-off preview launch npx @neuralnomads/codenomad-dev@latest with your normal flags
Global/local preview installation Install @neuralnomads/codenomad-dev@latest with the same global/local npm form

An already-running process does not acquire new code just because npm installed it. Keep the same configuration path intentionally; selecting a feed in Settings does not replace your npm package or automatically switch stable/preview package names. Preserve authentication/TLS flags when relaunching; see Server.

Keep OpenCode maintenance separate

Updating CodeNomad is not updating the selected OpenCode CLI. Updating that CLI is not restarting the running shared daemon. Reloading native configuration is another explicit operation with its own effects on loaded Locations and requests.

Desktop Node/npm resources are shipped with the application; an application release delivers their updates. This does not replace your system Node/npm, Electron's internal runtime, the platform webview or the independently managed OpenCode service.

Use Settings → OpenCode for runtime selection, installation/update and explicit service controls. Check OpenCode setup before restarting or reloading, especially when other windows/users or Missions share the daemon. Never repeat an uncertain prompt or mutation simply because an update/reconnect finished.