• v2.3.6 aef9e04419

    fix(runner): harden catalogue scrape against 429s; disable sourcemap upload
    Some checks failed
    Release / Test backend (push) Successful in 29s
    Release / Check ui (push) Successful in 43s
    CI / Test backend (pull_request) Successful in 28s
    Release / Docker / caddy (push) Successful in 1m8s
    CI / Docker / caddy (pull_request) Failing after 39s
    CI / Check ui (pull_request) Successful in 55s
    Release / Docker / runner (push) Successful in 2m22s
    Release / Docker / ui (push) Successful in 2m20s
    CI / Docker / backend (pull_request) Successful in 2m32s
    CI / Docker / ui (pull_request) Successful in 1m28s
    CI / Docker / runner (pull_request) Successful in 2m25s
    Release / Docker / backend (push) Successful in 2m33s
    Release / Gitea Release (push) Failing after 2s

    kamil released this 2026-03-28 16:28:36 +05:00

    • scraper.go: ScrapeCatalogue now uses retryGet (9 attempts, 10s base) +
      500–1500ms inter-page jitter instead of bare GetContent. ScrapeMetadata
      also switched to retryGet so a single 429 on a book page is retried rather
      than aborting the whole refresh.
    • catalogue_refresh.go: per-book delay is now configurable
      (RUNNER_CATALOGUE_REQUEST_DELAY, default 2s) + up to 50% random jitter
      applied before every metadata fetch. Only metadata is scraped here —
      chapters are fetched on-demand, not during catalogue refresh. Progress
      logged every 50 books instead of 100.
    • config.go / runner.go / main.go: add CatalogueRequestDelay field wired
      from RUNNER_CATALOGUE_REQUEST_DELAY env var.
    • release.yaml: comment out upload-sourcemaps job and remove it from the
      release needs; GlitchTip auth token needs refreshing after DB wipe.
    Downloads