Merge upstream PRs #322, #316, and the code portion of #309 - #2
Merged
Merged
Conversation
When a metadata provider fails (403, 500, timeout, Cloudflare block), the error is now caught and logged for that provider only. The search /match / aggregation continues with remaining providers instead of aborting the entire operation with a 500 error. Fixes Snd-R#216
Verified: api.mangabaka.dev now returns HTTP 500 while api.mangabaka.org returns valid series data, confirming the service moved domains. Snd-R#322
Prevents a single failing metadata provider from aborting search and match operations for all providers. Snd-R#316
Cherry-picks only the source changes from upstream PR Snd-R#309, excluding the prebuilt binaries, build scripts, docs, submodule bump, and the removal of COEP/COOP headers that PR also contained. - treat 404 as resource-not-found alongside 204 - pass libraryId to api/series/scan - use api/upload/chapter with KavitaCoverUploadRequest for cover reset Snd-R#309
…nly) Takes only the source changes from upstream PR Snd-R#309. Deliberately excludes the rest of that PR: - prebuilt .wasm/.js binaries committed to komf-app resources - Komelia submodule bump to bf519dcf, which does not exist in Snd-R/Komelia and would break submodule init - removal of Cross-Origin-Embedder-Policy / Cross-Origin-Opener-Policy - build-docker.ps1 pushing to a third-party Docker Hub account - extension.md linking a Google Drive extension download Snd-R#309
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.
Pulls in three open upstream PRs from
Snd-R/komf. Two were merged whole; the third was taken in part, for reasons below.Merged in full
#322 — mangabaka links .dev → .org
Verified before merging, since it changes a database download URL and not just display links:
https://api.mangabaka.dev/v1/series/1→ HTTP 500https://api.mangabaka.org/v1/series/1→ HTTP 200, correctly-shaped payload (series 1 = "DICE")The service genuinely moved. Four files, URL constants only.
#316 — graceful per-provider failure handling
A single failing metadata provider no longer aborts search/match for every other provider. One file.
Two notes for later, neither blocking:
MetadataService.ktusesmetadataMatch.mapValues { it.value?.let { null } }, which always evaluates tonull— an obfuscatedmapValues { null }.ProviderErrorEvent.Merged in part
#309 — Kavita 0.9.x+ compatibility — code changes only.
The genuine fix is 12 lines across two files, and it is included:
libraryIdtoapi/series/scanapi/upload/chapterusingKavitaCoverUploadRequestThe remaining ~2.1MB of that PR was excluded:
.wasmblobs + minifiedkomelia-app.jscommitted tokomf-app/src/main/resources/komelia/Komeliasubmodule bump tobf519dcfSnd-R/Komelia(GitHub API returns 422), so the binaries above are built from unavailable source, andgit submodule updatewould failDefaultHeadersblockCross-Origin-Embedder-Policy: require-corpandCross-Origin-Opener-Policy: same-originbuild-docker.ps1loloky/komf, a third-party Docker Hub accountextension.mdResult
7 source files changed, no binaries, no submodule movement, COEP/COOP headers intact.
Test plan
:komf-core:compileKotlinJvm— clean:komf-mediaserver:compileKotlinJvm— clean:komf-client:compileKotlinJvm— clean:komf-app:compileKotlin— clean.wasm/.ps1/submodule/resource files present in the diff.orghost