fix: add runtime provider tooltips - #464
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
React Doctor found no new issues. 🎉 Reviewed by React Doctor for commit |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (3)
Included review availability: Your plan provides up to 8 included reviews per hour; 2 remain after this review. WalkthroughProvider chips and pinned model rows now show provider-name tooltips. Tooltips include authentication status, avoid native ChangesRuntime selector provider tooltips
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This change adds shared provider-name tooltips without altering selector behavior, accessibility roles, or runtime data flow; no actionable merge-blocking risk remains after normal checks and review. Sequence Diagram(s)sequenceDiagram
participant User
participant ProviderChips
participant ModelRow
participant Tooltip
User->>ProviderChips: Hover or focus provider chip
ProviderChips->>Tooltip: Render provider label
Tooltip-->>User: Display provider tooltip
User->>ModelRow: Hover provider glyph
ModelRow->>Tooltip: Render provider name
Tooltip-->>User: Display provider tooltip
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ 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 |
|
| Filename | Overview |
|---|---|
| web/src/systems/runtime/components/runtime-selector/provider-chips.tsx | Wraps provider radio chips in shared tooltips while disabling those tooltips during search. |
| web/src/systems/runtime/components/runtime-selector/model-row.tsx | Adds a provider-name tooltip around cross-provider model glyphs. |
| web/src/systems/runtime/components/runtime-selector/tests/runtime-selector.test.tsx | Covers tooltip hover, focus, authentication wording, disabled-search behavior, and model glyphs. |
| docs/qa/reports/2026-08-24-eng-143-runtime-selector.md | Records targeted verification but still closes the workstream as ready without completing the required full gate. |
| docs/qa/scenarios/ET-web-runtime-selector-minimal-slider.md | Adds tooltip evidence but retains a pass status instead of recording the required QA reset transition. |
Reviews (2): Last reviewed commit: "fix: add runtime provider tooltips" | Re-trigger Greptile
|
|
||
| - **Exit gate (full automated suite):** not run locally by instruction; CI must run `make verify` as the automated release-readiness prerequisite. | ||
| - **Task-scoped gate:** `make gate` ran the Web lint/typecheck/test lane; lint and typecheck passed, while the pre-existing `web-storybook-visual-contract.test.ts` timeout and `use-window-manager-stream.test.tsx` failure occurred independently of the ENG-143 files. Both failures reproduced or were isolated separately. |
There was a problem hiding this comment.
Completion bypasses required QA gates
The report closes the workstream and declares it ready even though the required full gate was not run, while the affected user-visible scenario retains qa_status: pass instead of undergoing the required reset-and-verification transition. This records the change as complete without satisfying the repository's mandatory release-readiness workflow.
Context Used: CLAUDE.md (source)
CI follow-up (2026-08-25)The CI run completed. The ENG-143 focused Web suite is green, but the required aggregate check is blocked by baseline failures outside this diff:
The branch diff contains only the runtime-selector implementation, its canonical tests, and the required QA evidence. No ENG-143 test or changed file appears in the CI failures. |
b3d8fcd to
91d92ce
Compare
|
@coderabbitai review |
|
Summary
Fixes Linear ENG-143: add shared provider-name tooltips throughout the web runtime selector.
The provider rail and cross-provider model rows now make provider identity discoverable without changing the selector's compact visual layout, radio behavior, or listbox semantics.
Issue and root cause
Provider chips exposed their accessible name through a native
titleattribute. That browser tooltip was not consistent with the rest of Compozy's UI, was not rendered through the shared portal/stacking behavior, and did not provide the required keyboard-focus path. Provider glyphs on pinned cross-provider model rows had no tooltip at all, so their identity depended on nearby or screen-reader-only context.Implementation
Tooltip,TooltipTrigger, andTooltipContentfrom@compozy/ui.titlefrom migrated provider chips while preserving their existingaria-label, radio role, roving tabindex, and search-disabled behavior.Provider · needs sign in) in both the accessible label and tooltip.KindIcondirectly in the model-row tooltip trigger so the row remains a non-focusablerole="option"and keeps its existingsr-onlyprovider text.No production-local
TooltipProviderwas added; the application continues to use the provider mounted inweb/src/main.tsx.Verification
Passing checks:
rtk bunx turbo run test --filter=./web --force -- --run src/systems/runtime/components/runtime-selector/__tests__/runtime-selector.test.tsx— 1 file, 93 tests passed.rtk git diff --check— clean.agent-browser errorswas empty.teardown.jsonreportsclean: truewith no survivors.rtk make gatewas run as requested. Lint and typecheck passed. The full Web test lane also passed the 93 ENG-143 tests, but the gate returned non-zero because two unrelated baseline tests failed:src/storybook/__tests__/web-storybook-visual-contract.test.tstimed out at 20 seconds, andsrc/systems/os/hooks/__tests__/use-window-manager-stream.test.tsxexpectedworkspace:homebut receivednull. The visual-contract timeout was reproduced in an isolated Turbo run; neither file is changed here. The repository-widemake verify/make gate-fullcommands were intentionally not run per task scope and remain CI responsibilities.Risks and mitigations
z-50shared primitive, so it remains above the selector popup without introducing a new stacking context.Compozy Impact Audit
compozy__*tool IDs, toolsets, descriptors, schemas, digests, capability gates, diagnostics, or CLI/API fallbacks changed.config.toml; this is a web-only presentation change using an existing UI primitive.skills/compozy/does not describe provider-selector tooltip behavior or any changed public capability/tool/CLI path.QA tracker impact
docs/qa/scenarios/ET-web-runtime-selector-minimal-slider.mdis settled asqa_status: pass. The durable report isdocs/qa/reports/2026-08-24-eng-143-runtime-selector.md; the isolated evidence bundle and clean teardown are recorded there.Follow-up
CI should run the repository-wide verification checks and investigate the two unrelated baseline test failures noted above.
Summary by CodeRabbit