Skip to content

V7#2

Merged
joshistoast merged 155 commits into
mainfrom
v7
Jun 29, 2026
Merged

V7#2
joshistoast merged 155 commits into
mainfrom
v7

Conversation

@joshistoast

Copy link
Copy Markdown
Collaborator

Summary

Working on a v7 branch on a v7 fork is a bit reclusive, merging into main here.

Related Issues / Discussions

QA Instructions

Merge Plan

Checklist

  • The PR has a short but descriptive title, suitable for a changelog
  • Tests added / updated (if applicable)
  • ❗Changes to a redux slice have a corresponding migration
  • Documentation added / updated (if applicable)
  • Updated What's New copy (if doing a release after this PR)

joshistoast and others added 30 commits June 9, 2026 15:02
relies completely on lucide now for icons
Migration 22 recreated the models table via RENAME + DROP, which rewrote
model_relationships' foreign keys to point at the dropped models_old
table. Reads kept working but every INSERT failed with "no such table:
main.models_old". Migration 32 rebuilds the table referencing models(id)
and carries over relationships whose models still exist.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds GET /api/v2/models/models_dir returning the resolved absolute
models directory, so clients can display full paths for managed models
whose config `path` is stored relative to it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The shell frame no longer applies its own padding, so widgets own their
edge spacing; the widget header gains a bottom border and fixed height.
Gallery and preview views compensate with their own padding.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
New shell-level building blocks so widgets stop hand-rolling the same
plumbing:

- useNotify: recordNotice dispatch wrapped in success/error/info helpers
- createExternalStore/createListenerChannel: factory for module stores
  backed by useSyncExternalStore
- ConfirmDialog: controlled confirmation dialog with pending state
- MenuContent: Menu.Content with the workbench popover surface styling
  (adopted by ImageContextMenu)
- Scrollable: standard hover-scrollbar ScrollArea wrapper
- Field: gains optional error/helpText line below the control

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Full model manager for the workbench, replacing the legacy frontend's
with feature parity and more:

- models/ domain layer: REST client for /api/v2/models, open-union
  types that tolerate unknown backend values, zod form schemas, and
  module stores (library, install jobs with live socket-fed download
  progress, starter catalog, session UI state)
- center view: library master-detail with bulk delete, Add Models
  (starters with one-click bundles and filters, URL/local path,
  HuggingFace, folder scan, API keys), and a live install queue with
  pause/resume/cancel/retry
- side panel: compact browser with drill-in detail overlay
- detail pane: identity editing, per-model default settings, related
  models, trigger phrases, cover image upload, convert/re-identify/
  delete with confirmations
- shared ModelSelect combobox over the installed library
- maintenance menu: refresh, orphaned-model cleanup, empty model cache
- ModelsRuntime keeps stores synced across reconnects and toasts
  install outcomes even when no manager surface is mounted
- model install socket events forwarded through the queue coordinator;
  Model Manager layout preset; new deps: zod, react-icons

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bundles act like playlists in a left sidebar: clicking one filters the
models list to its contents, and a per-bundle download action queues
every missing model in the pack (green check once fully installed).
An "All starter models" row returns to the full catalog, the list
header reflects the selected bundle, and search/type/base filters
apply within it. Replaces the bundle cards and their hover previews;
sidebar and list scroll independently, with the AddModelsView tab
icons added alongside.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
# Conflicts:
#	invokeai/app/api/routers/session_queue.py
#	invokeai/app/services/session_queue/session_queue_sqlite.py
#	invokeai/app/services/shared/sqlite/sqlite_util.py
#	invokeai/app/services/shared/sqlite_migrator/migrations/migration_32.py
@joshistoast joshistoast merged commit 3cd31f4 into main Jun 29, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant