Conversation
A successful subscription-status probe with runner: unavailable was treated as zero model candidates, so the playground asked users to add a provider key. That is the wrong fix when models come from a mounted subscription login. Keep the composer locked, but show a temporary runtime-outage message instead of the providers CTA.
|
@li872 is attempting to deploy a commit to the agenta projects Team on Vercel. A member of the Team first needs to authorize it. |
|
✅ Thanks @li872! This PR now meets the contribution requirements and has been reopened. A maintainer will review it soon. |
📝 SummarySummary by CodeRabbit
WalkthroughThe change adds explicit runner-unavailable state to model candidate resolution, maps it to shared composer metadata, and updates OSS and mobile banners and placeholders. Tests cover candidate resolution, gate behavior, messaging, provider setup visibility, and unlocked states. ChangesRunner-aware composer state
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~25 minutes Severity of issue fixed: Medium Sequence Diagram(s)sequenceDiagram
participant AgentRunner
participant CandidateResolution
participant useAgentModelKeyStatus
participant ComposerSurface
AgentRunner-->>CandidateResolution: runner unavailable probe result
CandidateResolution->>useAgentModelKeyStatus: runnerUnavailable true
useAgentModelKeyStatus->>ComposerSurface: locked state, outage message, placeholder
ComposerSurface-->>ComposerSurface: hide provider setup action
Merge Risk: ⚪ Minimal · up to No merge-blocking behavior issue remains in the runner-availability composer changes. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
web/mobile/src/features/chat/ConnectModelStrip.tsx (1)
12-12: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueReduce both comments to one short line. The checked-in frontend guidance applies to
ConnectModelStrip.tsxandLiveConversation.tsx; shorten the multi-line comments at the cited locations.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Advanced
Run ID: cf1c13b1-c1a4-415c-8bf6-386b52afe3d4
⛔ Files ignored due to path filters (2)
docs/pr-6764-demo/missing-key.pngis excluded by!**/*.pngdocs/pr-6764-demo/runner-unavailable.pngis excluded by!**/*.png
📒 Files selected for processing (12)
web/mobile/src/features/chat/ConnectModelStrip.tsxweb/mobile/src/features/chat/LiveConversation.tsxweb/mobile/tests/unit/ConnectModelStrip.test.tsxweb/oss/src/components/AgentChatSlice/AgentConversation.tsxweb/oss/src/components/AgentChatSlice/components/AgentComposerDock.tsxweb/oss/src/components/AgentChatSlice/components/ConnectModelBanner.test.tsxweb/oss/src/components/AgentChatSlice/components/ConnectModelBanner.tsxweb/oss/src/components/AgentChatSlice/hooks/useAgentModelKeyStatus.test.tsweb/packages/agenta-chat/src/hooks/useAgentModelKeyStatus.tsweb/packages/agenta-chat/tests/unit/hooks/useAgentModelKeyStatus.test.tsweb/packages/agenta-entities/src/workflow/state/agentModelCandidates.tsweb/packages/agenta-entities/tests/unit/agent-model-candidate-sources.test.ts
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review.
Closes #6764
Summary
A successful
subscription-statusprobe withrunner: unavailablewas treated as zero model candidates, so the playground asked users to add a provider key. That is the wrong fix when models come from a mounted subscription login. Keep the composer locked, but show a temporary runtime-outage message instead of the providers CTA.resolveAgentModelCandidateSourcesnow setsrunnerUnavailablefor that probe result when nothing else is runnable.connectModelGatestays off;composerBlockedstill locks the composer. SharedmodelComposerChromecopy:Desktop
ConnectModelBannerand mobileConnectModelStripboth use that helper. When the probe later returnsconnected, the existing 15s refetch clears the outage without a full reload.Tradeoff: a workspace that already has a vault key still gets candidates / unlocked composer while the runner is down (same as before). Only the empty-candidate case is reclassified.
Testing
Verified locally
pnpm --filter @agenta/entities test:unit(1616 passed)pnpm --filter @agenta/chat test:unit(1026 passed)ConnectModelStriptestsAdded or updated tests
runner: "unavailable"+ empty vault must not activate connect-model copysubscriptionErrorstill reportsstatus: "error"(not missing-key ready)QA follow-up
/mDemo
Before/after for
runner: "unavailable"with no vault key (subscription-only workspace shape). Composer stays locked; providers CTA only on the missing-key path.