fix(civitai): anchor model-page URL parsing and improve missing-model diagnostics (#1140)

This commit is contained in:
Eric-Yeh
2026-10-09 08:07:00 +08:00
committed by GitHub
parent fad17decdf
commit 01ffda7303
6 changed files with 71 additions and 8 deletions
+12
View File
@@ -352,6 +352,12 @@ describe('civitaiUtils', () => {
});
describe('extractCivitaiModelUrlParts', () => {
it.each(['civitai.com', 'civitai.red'])('rejects download and API URLs on %s', (host) => {
for (const path of ['/api/download/models/3390681', '/api/v1/models/3390681', '/models/3390681invalid']) {
expect(extractCivitaiModelUrlParts(`https://${host}${path}?modelVersionId=3390681`))
.toEqual({ modelId: null, modelVersionId: null });
}
});
it('extracts model and version ids from civitai.red model URLs', () => {
expect(
extractCivitaiModelUrlParts('https://civitai.red/models/65423/name?modelVersionId=98765')
@@ -376,6 +382,12 @@ describe('civitaiUtils', () => {
});
describe('classifyModelRelinkUrl', () => {
it.each(['civitai.com', 'civitai.red', 'civarchive.com'])('rejects non-model pages on %s', (host) => {
for (const path of ['/api/download/models/3390681', '/api/v1/models/3390681', '/models/3390681invalid']) {
expect(classifyModelRelinkUrl(`https://${host}${path}`))
.toEqual({ source: null, modelId: null, modelVersionId: null });
}
});
it('classifies civitai.com model URLs', () => {
expect(
classifyModelRelinkUrl('https://civitai.com/models/649516/name?modelVersionId=726676')