feat(lora): hide denied LoRAs from the Library tile#121
Open
gioelecerati wants to merge 1 commit into
Open
Conversation
The pod image holds every LoRA and /api/loras lists them all. This adds a client-side filter so an admin-maintained denylist (served globally by the webapp at /api/loras/hidden, backed by the orchestrator) is honored. - listLoras.ts: new listHiddenLoras() — fetches the app-origin /api/loras/hidden route (NOT the pod; the denylist is global, not per-pod). Fail-open: any error yields an empty set so a broken visibility service never blanks the Library. - LibraryTile.tsx: fetch the hidden set alongside the catalog; drop hidden LoRAs from the rendered catalog before the scale-compat filter (so the "N hidden" footer still counts scale mismatches only). Also force-disable any hidden LoRA the session currently has enabled — hiding is both a Library removal and a kill for in-flight use. The force-disable effect is keyed on the enabled set too, so a hidden LoRA that the seed auto-enables is caught on the next tick. Companion to the orchestrator + admin-UI changes in demon-public-demo. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The pod image holds every LoRA and
/api/loraslists them all, so the Library tile shows everything. This adds a client-side filter that honors an admin-maintained global denylist.Changes
listLoras.ts— newlistHiddenLoras(): fetches the app-origin/api/loras/hidden(a Vercel route backed by the orchestrator — the denylist is global, not per-pod). Fail-open: any error yields an empty set, so a broken visibility service never blanks the Library.LibraryTile.tsx— fetches the hidden set alongside the catalog; drops hidden LoRAs from the rendered catalog before the scale-compat filter (so the "N hidden" footer keeps counting scale mismatches only). Also force-disables any hidden LoRA the session currently has enabled — hiding is both a Library removal and a kill for in-flight use. The force-disable effect is keyed on the enabled set too, so a hidden LoRA the seed auto-enables is caught on the next tick.Companion
The orchestrator endpoints, Vercel routes (
/api/loras/hiddenetc.) and the admin "LoRA visibility" panel ship indemon-public-demo(PR:gio/feat/admin-lora-visibility). This DEMON PR must merge + sync-ui before the filter is live.🤖 Generated with Claude Code