Skip to content

fix(web): favorites tab shows starred models with a visible filled star - #34793

Closed
prior wants to merge 1 commit into
pingdotgg:mainfrom
prior:fix/web-favorites-tab-stars
Closed

prior wants to merge 1 commit into
pingdotgg:mainfrom
prior:fix/web-favorites-tab-stars

Conversation

@prior

@prior prior commented Nov 12, 2026 •

Copy link
Copy Markdown

Problem

On the Favorites tab, every row is already a favorite, but the star stayed hidden until hover. Hovering painted a star, which looked like the chance to favorite that row. The tooltip was the only sign that the click removes the favorite.

The other provider tabs already show a filled star for a favorite, and React Native does too (star.fill, labeled "Remove from favorites"). The web Favorites tab was the exception.

Expected: a Favorites row shows a filled star at rest, and activating it removes the favorite.

Change

Drop the web-only favoriteStarOnHover flag. A favorite keeps a filled star visible, on the Favorites tab and on the other provider tabs. Hover still says "Remove from favorites". A model that is not a favorite still shows its star only on hover.

The React Native row is unchanged. It already showed a filled star for a favorite, and this makes the web picker follow that rule.

Scope and approval

A very small, focused fix for an obvious visual bug. One visibility rule on one control in the web model picker. It adds no workflow and does not change what favoriting does, so it qualifies without a prior issue.

Verification

Checked in a worktree dev server (vp run dev, web on port 6493) with Replay (dev) models starred, then opened the Favorites tab.

Before, the rows show no star. Hover paints a star, and the tooltip says "Remove from favorites":

Favorites rows with no star

Hover reveals a star whose tooltip removes the favorite

before-hover.mp4

After, every Favorites row shows a filled star at rest. Hover keeps that star and the same remove tooltip:

Favorites rows with filled stars

Hover on a filled star still says remove

after-hover.mp4

vp run check:changed passed on this branch against current main: format, lint, knip, typecheck of the two affected packages, React compiler, and the changed-file tests. No UI test was added. This is a visual bug, and the captures are the proof.

Not checked: scenarios:prove, the native mobile client, and a standalone Electron window. Desktop and the mobile shell share this web picker. The React Native model row was read and left as it is.

Made by Claude Opus 5.5 in T3 Code (Antigravity harness).

@github-actions github-actions Bot added vouch:unvouched Author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Nov 12, 2026
@prior
prior marked this pull request as ready for review November 12, 2026 07:05
@coderabbitai

coderabbitai Bot commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The change removes favoriteStarOnHover from ModelListRow and its use in ModelPickerContent. The star’s hidden-until-hover styling now depends only on whether the model is a favorite.

Changes: Favorite star visibility

Layer / File(s) Summary
Star visibility and picker integration
apps/web/src/components/chat/ModelListRow.tsx, apps/web/src/components/chat/ModelPickerContent.tsx
ModelListRow removes the optional favoriteStarOnHover prop. Its star styling now depends only on !props.isFavorite. ModelPickerContent no longer passes the prop.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Suggested reviewers: t3dotgg

Merge Risk: Minimal · up to 524a1

Favorited models now show a filled star on the Favorites tab, and hovering still offers removal. This is a small, localized UI change with no identified merge-blocking risk.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title names the main change: the web Favorites tab now shows a filled star on starred models. The title matches the raw summary, which says the web-only favoriteStarOnHover prop was removed so fav…
Description check Passed The description follows the repository template. It has Problem, Change, Scope, and Verification sections. It explains the bug (favorites showed no star at rest), the fix (drop the web-only favoriteSt…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the main change: the web Favorites tab now shows a filled star on starred models. The title matches the raw summary, which says the web-only favoriteStarOnHover prop was removed so favorite models keep a visible star. The title is specific, follows the conventional commit form, and avoids vague wording.

Full details: Description check

Explanation

The description follows the repository template. It has Problem, Change, Scope, and Verification sections. It explains the bug (favorites showed no star at rest), the fix (drop the web-only favoriteStarOnHover flag), and why no issue is needed (small visual fix). Verification lists the commands run, the observed before and after results, and the screenshots and recordings. It also states what was not checked. The template asks for a model and harness line at the end, and the author included one.

Finishing Touches

Generate unit tests (beta)

  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Recent review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 4bf5d53 and 524a1ee.

Files selected for processing: 2

  • apps/web/src/components/chat/ModelListRow.tsx
  • apps/web/src/components/chat/ModelPickerContent.tsx
Files with no reviewable changes: 1

  • apps/web/src/components/chat/ModelPickerContent.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

@juliusmarminge

Copy link
Copy Markdown
Member

Thanks for this. Before a bug fix is taken further, the bug is reproduced on current main, and here it did not appear.

We ran the web app from current main (a35fd81) in a desktop browser with a mouse, starred a Codex model from its provider tab, then opened Favorites with an empty search and moved the pointer away. The row's star was hidden at rest, as you describe. Hovering it showed a filled yellow star with the tooltip "Remove from favorites", and clicking it removed the model from Favorites.

This is how the picker was designed when it was rebuilt in #28057. Every row on the Favorites tab is a favorite by definition, so the star is shown only on hover to keep that list quiet. The code says so next to the flag this change removes. The star that appears on hover is the filled "favorited" star, not the hollow "add" star, and its tooltip and accessible label both say it removes the favorite. Nothing in the flow behaves incorrectly.

Showing the star at rest is a reasonable preference, but it changes an intentional design rather than fixing a bug. If you'd like to argue for it, please open an Ideas discussion so the maintainers can weigh it as a design decision.

Closing this pull request. If it still happens for you, please open an issue with the exact steps, what you see, and the version and platform you are on; a fix is picked up from there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:unvouched Author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants