Feat/release nudge slice3b - #1150
Merged
Merged
Conversation
kavin-114
approved these changes
Sep 6, 2026
venkat102
force-pushed
the
feat/release-nudge-slice3b
branch
from
September 6, 2026 13:24
fcdb9f7 to
5e9aa90
Compare
The bubble already can't chat when a hard update-notice is active (its send
routes through jarvis.chat.api.send_message -> validate_can_send, same as the
full chat). But a refused send ({ok:false, reason:'release_update_required'})
was falling through to stream.busy + polling, spinning the panel forever, and
never surfaced the reason. Handle the refusal: stop, drop the optimistic
message, and show a legible 'a new <brand> version is required — ask your
administrator to update' (the pill/banner nudge stays off the bubble by design).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PLe4dYCaKebmj2NasDo4kg
…n welcome Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PLe4dYCaKebmj2NasDo4kg
…rning) The banner yielded to hasUrgentAlert, which included the soft, chat-still-works alerts (workersWarnNotice / llmApplying / llmApplyStuck). Those render above the composer, don't conflict with the top-of-chat banner, and are common (a bench low on background workers has worker_warning=True) -- so the update banner was suppressed on essentially any busy bench and never appeared. Yield only to the alerts where the chat is actually unusable/paused. (Smoke finding.) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PLe4dYCaKebmj2NasDo4kg
The soft banner is a single-line, message-only banner with tall (26px) action buttons, but Banner.vue's row is items-start (tuned for multi-line title+message, jarvis#725) — so the message text sat ~6px above the buttons' centre. Add an opt-in align='center' prop to Banner (default 'start', existing callers unchanged) and use it here so the icon, message, and buttons align on one line. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PLe4dYCaKebmj2NasDo4kg
…the pill Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PLe4dYCaKebmj2NasDo4kg
The PWA update banner switched from blue to severity colours (amber/red), so the --blue/--blue-bg tokens added for it are no longer referenced. Remove them. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PLe4dYCaKebmj2NasDo4kg
…ApplyStuck, bubble copy test, comment tidies - pillFor: green is reserved for tier "none"; soft OR any unknown-but-versioned future tier falls through to amber, never a false "on the latest". Mirror in bannerShouldShow: banner fires for any versioned tier except none/hard. - bannerToneFor(): single-source the banner tone from pillFor. Both UpdateBanner frontends (SPA + PWA) now derive tone from it instead of duplicating the tier->tone branch. - ChatView hasUrgentAlert: put llmApplyStuck back in (chat genuinely can't answer, so the nudge yields); workersWarnNotice/llmApplying stay dropped (soft, chat still works). Comment corrected. - panel_send_copy.mjs: extract the bubble refusal-reason -> copy decision into a pure, node-testable module (mirrors panel_readiness.mjs); Panel.vue imports it. - Tests: pillFor unknown-tier/green-reserved cases, bannerToneFor, unknown-tier bannerShouldShow, panel_send_copy suite, and a source-slice regression pin for hasUrgentAlert/updateBannerVisible in readiness.spec.js. - Comment tidies: ChatView banner comment (severity-coloured, shows on welcome); drop the orphaned --blue "info tone" comment in pwa/src/index.css. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PLe4dYCaKebmj2NasDo4kg
venkat102
force-pushed
the
feat/release-nudge-slice3b
branch
from
September 6, 2026 14:16
5e9aa90 to
a206d39
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Pre-merge checklist
testscheck on this PR passes (never merge on ❌)develop, orversion-N-hotfixfor a backport)version-N: this is the release PR fromversion-N-hotfix,__version__is bumped, andrelease-sourceis green