fix(ui): keep update release link visible#410
Conversation
|
I want you to perform the gatekeeper checks for latest PR state check for regressions |
|
Gatekeeper review for latest PR state complete. Assumptions: I reviewed the checked-out Findings:
Validation:
Gatekeeper status: not ready as-is. The feature direction is good, but the implementation should be wired into the existing release metadata source and should use the established external-link opener before merge. -- |
Wire VersionPill to the shared release metadata signal so the permanent release link updates when the background dev-release refresh loop discovers a new build after the app has already loaded. Route the release link through the existing external URL opener so the folder selection screen follows the same browser-opening path in Tauri and web instead of relying on raw anchor navigation. Validation: - npm run typecheck --workspace @codenomad/ui - npm run build --workspace @codenomad/ui
|
same review again |
|
Gatekeeper review for the latest PR state complete. Assumptions: I reviewed the current checked-out Findings:
Resolved from the prior review:
Validation:
Gatekeeper status: still not ready as-is. The main regression is narrower now, but the current fallback logic can keep outdated update metadata visible indefinitely. -- |
Represent the shared update signal with an explicit uninitialized state so VersionPill only falls back to its one-shot metadata fetch before the release store refreshes for the first time. Once the shared release refresh has loaded, a null update now correctly clears the permanent release link instead of reviving stale local metadata. Validation: - npm run typecheck --workspace @codenomad/ui - npm run build --workspace @codenomad/ui
Show a stable update link in the home screen version pill whenever the server advertises `support.latestServerUrl`, even when no dev-channel update payload is present. This keeps the original dev-release link behavior, but also gives users a permanent update entry point in the exact case described by issue NeuralNomadsAI#267 where the transient toast may already be gone. Validation: - npm run typecheck --workspace @codenomad/ui - npm run build --workspace @codenomad/ui
|
PR builds are available as GitHub Actions artifacts: https://github.com/NeuralNomadsAI/CodeNomad/actions/runs/25572525695 Artifacts expire in 7 days.
|
Remove the test-only fallback that surfaced `support.latestServerUrl` in the version pill even when no update payload was available. This keeps the permanent link scoped to actual `meta.update` availability while preserving the earlier fixes that sync the version pill with the shared release refresh signal and route the link through the external opener. Validation: - npm run typecheck --workspace @codenomad/ui - npm run build --workspace @codenomad/ui
|
PR builds are available as GitHub Actions artifacts: https://github.com/NeuralNomadsAI/CodeNomad/actions/runs/25573160360 Artifacts expire in 7 days. |
|
same review again |
|
Gatekeeper review for the latest PR state complete. Assumptions: I reviewed the current checked-out Findings: No blocking findings in the current diff. The prior false-positive CTA path is gone: Residual risks / notes:
Validation:
Gatekeeper status: source review passes. I do not see remaining code-quality or regression blockers in the current PR diff, but merge confidence still depends on CI running with dependencies installed. -- |
|
PR builds are available as GitHub Actions artifacts: https://github.com/NeuralNomadsAI/CodeNomad/actions/runs/25573405726 Artifacts expire in 7 days. |
…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”
Summary
Fixes #267
Verification
npm run typecheck --workspace @codenomad/uinpm run build --workspace @codenomad/ui