Skip to content

fix(all/coomer): default missing added/edited fields to null - #19132

Draft
Starmania wants to merge 3 commits into
keiyoushi:mainfrom
Starmania:fix/src/all/coomer
Draft

Starmania wants to merge 3 commits into
keiyoushi:mainfrom
Starmania:fix/src/all/coomer

Conversation

@Starmania

Copy link
Copy Markdown
Contributor

Added KemonoPostDto default value because they are not always returned by the api

Closes #16145

Checklist:

  • Updated versionCode value in build.gradle.kts
  • Updated baseVersionCode in build.gradle.kts (if updated multisrc theme code)
  • Reset versionCode value
  • Referenced all related issues in the PR body (e.g. "Closes #xyz")
  • Set the contentWarning configuration in build.gradle.kts appropriately
  • Have not changed source names
  • Have explicitly kept the id if a source's name or language were changed
  • Have tested the modifications by compiling and running the extension through Android Studio
  • Have removed web_hi_res_512.png when adding a new extension
  • This PR is AI-assisted, I have reviewed the changes manually and confirmed they are not slop

StarmaniaBot and others added 3 commits September 9, 2026 21:50
kemono's API stopped always including the added and edited fields on
post objects. KemonoPostDto declared them as nullable String? but
without a default value, so kotlinx.serialization still required the
JSON key to be present and threw MissingFieldException the moment
either was omitted, taking down chapter listing and page listing for
every post entirely.

Both fields are already treated as optional by toSChapter()'s
edited ?: published ?: added fallback, so giving them (and published,
same fallback chain) an explicit null default lets parsing tolerate a
missing key instead of failing the whole post.

Bumped the shared kemono theme's baseVersionCode since this lib is
shared with src/all/kemono.
KeiSource sets Referer and Origin on every request and installs its own
compression interceptor, so the hand-rolled headersBuilder and the
Brotli reordering hack both go away. Details and chapters now share one
fetchMangaUpdate that honours the fetchDetails/fetchChapters flags, and
the 429 retry loop sleeps with delay instead of blocking a thread.

Post dates no longer mutate a shared SimpleDateFormat's time zone from
fetchChapterList; the zone is passed to toSChapter and parsed with
DateTimeFormatter, which also drops the deprecated tryParse.

Both extensions on the theme (coomer, kemono) move to 1.6 with it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Images do not load in COOMER and KEMONO

2 participants