Skip to content

fix(web): refresh virtual model rows after preference changes - #101

Merged
PsychedelicShayna merged 1 commit into
nightlyfrom
fix/provider-model-row-refresh
Oct 20, 2026
Merged

PsychedelicShayna merged 1 commit into
nightlyfrom
fix/provider-model-row-refresh

Conversation

@PsychedelicShayna

@PsychedelicShayna PsychedelicShayna commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

What

Refresh cached model-setting rows when their favorite/visibility state, filtering context, custom editor inputs or handlers change. Keep the existing bounded virtual list.

Why

Fix-forward for #99, refs #67. Installed GUI proof showed the favorite was saved correctly but the row's star/button stayed stale until the settings section remounted. Model identity alone cannot invalidate that render. This repairs that concrete regression without changing persistence or provider defaults.

Testing

  • Failing-first: actual installed fcb2e67 Electron app in private :10 state; clicking Favorite persisted it, but the row updated only after General → Providers remounted it.
  • Targeted formatting passed for the component and ledger.
  • Web typecheck passed with exit 0.
  • The existing two model-data test files passed 5/5 on the preceding integrated head and are unchanged here; no presentation-mock test added.
  • PASS: actual rebuilt/installed 76dba7c on private :10. Favorite and visibility changes update in place without remounting; filter/empty recovery, custom add/reveal/edit/save/reorder/remove and the small catalog pass. Installed proof.

  • vp check and vpr typecheck pass (CI runs both; locally run only the checks for the touched scope, per AGENTS.md › Verifying) — only scoped checks; web typecheck and targeted formatting passed; no full-repo checks.
  • Tested locally — failing-first and passing-after installed interactions, plus scoped checks above.
  • Before/after images (video for motion) uploaded to GitHub for UI changes, not committed (if user-facing) — before, installed, video.

GPT-6 Astra (openai-codex/gpt-6-astra), NeoPi harness.

Include the virtual rows' external render state in LegendList invalidation. A model object can stay identical when its favorite, visibility, filter context or custom editor changes. The list must refresh the controls and their callbacks rather than retaining the previous render.

The installed #99 proof reproduced a saved favorite whose button remained unchanged until the settings section remounted. That distinguishes stale row rendering from a failed settings write. Keep the bounded list and full-catalog behavior; no persistence or default changes.

Targeted formatting passed. The existing two focused model files passed all five tests on the preceding integrated head; they are unchanged here. Web typecheck and the repaired installed GUI interaction pass are recorded in the PR when complete.

Model: openai-codex/gpt-6-astra
Co-authored-by: GPT-6 Astra <noreply@openai.com>
@PsychedelicShayna PsychedelicShayna added bug Something isn't working priority: p2 Useful planned work mergeable Meets this repository's documented merge criteria; who merges is policy labels Oct 20, 2026
@PsychedelicShayna
PsychedelicShayna merged commit 76dba7c into nightly Oct 20, 2026
18 of 23 checks passed
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S labels Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working mergeable Meets this repository's documented merge criteria; who merges is policy priority: p2 Useful planned work size:S vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant