Skip to content

feat(models): preserve starter model source links - #10234

Open
joshistoast wants to merge 2 commits into
mainfrom
feat/starter-source-links
Open

joshistoast wants to merge 2 commits into
mainfrom
feat/starter-source-links

Conversation

@joshistoast

@joshistoast joshistoast commented Nov 11, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Starter models now carry a source_urls array of model-page links, separate from the download source. Rows offer Visit source for one link or a menu for multiple links. Installation preserves links for models and dependencies, and installed model details display them alongside legacy source_url values without duplicates.

Local starter catalog entries include their repository pages; selected FLUX entries include upstream pages too. Re-identification and conversion to Diffusers retain the links. Source-link right-clicks preserve native browser actions.

QA Instructions

  • Passed: 130 owning backend tests plus focused download/external-install tests; the complete model-manager router suite passes (67 tests), including conversion persistence and recovery. Ruff 0.11.2 check and format pass.
  • Passed: 13,232 frontend unit tests; 41 affected browser tests across six files covering link/menu behavior, row context menus, pointer/keyboard focus and model details; 51 mock-backend fixture tests. Conversion and row-context regressions were verified to fail without their fixes.
  • Passed: frontend lint/types, architecture checks, API generator tests and formatting.
  • Legacy TypeScript: 41 existing diagnostic locations, matching an unmodified main baseline; the added output field's fixture has been updated.
  • Full release completion remains unverified locally. The previous local pnpm check:release attempt hit ConfirmDialog.browser.test.tsx (reconciles a confirmation closed while its Activity is hidden), also reproduced on unmodified main. CI is rerunning for the updated commit.
  • Manual visual verification and screenshots are unavailable: the browser tool reports its host is unavailable. Draft pending that verification and full release completion.

To inspect: open Model Manager → Add Models. A model with one page opens directly; one with several opens a menu. Install a starter or bundle, then open model details and check the source links.

Review

Resolved metadata loss during checkpoint-to-Diffusers conversion and source links opening the enclosing row's install menu on right-click. Regression tests exercise the conversion route with the real installer and SQLite store, and source links inside real starter rows. Menu focus tests wait for deferred focus before Escape and cover pointer and keyboard opening. No material findings remain. Source links are metadata-only and do not invalidate loaded model caches.

Compatibility / Rollout

Additive API/config metadata; generated OpenAPI and TypeScript contracts updated. Older stored records default to an empty list without a database migration. Existing source and source_url behavior is retained. Existing installed records are not backfilled.

Checklist

  • The PR has a short but descriptive title, suitable for a changelog
  • Meaningful regression coverage added / updated where needed; obsolete tests/code removed
  • Persisted-state and API changes include required migrations / compatibility validation
  • Relevant performance/efficiency opportunities considered; material claims have evidence
  • Material review findings resolved and relevant checks rerun
  • Documentation added / updated (if applicable)
  • Updated What's New copy (if doing a release after this PR)

Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

Add curated model-page links to starter rows and retain them through installation and re-identification. Display preserved sources in model details and regenerate API contracts.
@github-actions github-actions Bot added python PRs that change python files backend PRs that change backend files services PRs that change app services frontend PRs that change frontend files python-tests PRs that change python tests docs PRs that change docs labels Nov 11, 2026
Preserve model-page links on converted records and keep browser context menus available on starter links. Cover conversion persistence, row interactions, and deferred menu focus.
@github-actions github-actions Bot added the api label Nov 11, 2026
@joshistoast
joshistoast marked this pull request as ready for review November 11, 2026 05:46

This branch has not been deployed

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

Labels

7.1.0 api backend PRs that change backend files docs PRs that change docs frontend PRs that change frontend files python PRs that change python files python-tests PRs that change python tests services PRs that change app services

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant