• v2.5.96
    All checks were successful
    Release / Test backend (push) Successful in 40s
    Release / Check ui (push) Successful in 1m38s
    Release / Docker / caddy (push) Successful in 41s
    Release / Docker / backend (push) Successful in 3m15s
    Release / Docker / runner (push) Successful in 4m34s
    Release / Upload source maps (push) Successful in 1m33s
    Release / Docker / ui (push) Successful in 3m39s
    Release / Gitea Release (push) Successful in 40s
    Stable

    gitea-actions released this 2026-04-05 22:53:55 +05:00 | -410 commits to main since this release

    • Add POST /api/admin/text-gen/chapter-names/async backend endpoint: fire-and-forget,
      returns job_id immediately (HTTP 202), runs batch generation in background goroutine,
      persists proposed titles in ai_job payload when done
    • Register new route in server.go alongside existing SSE endpoint (backward compat)
    • Add SvelteKit proxy at /api/admin/text-gen/chapter-names/async
    • Add SvelteKit proxy for GET /api/admin/ai-jobs/[id] (job detail with payload)
    • Add Review button on ai-jobs page for done chapter-names jobs; inline panel shows
      editable title table (old to new) with Apply All button that POSTs to chapter-names/apply
    Downloads
  • v2.5.95
    All checks were successful
    Release / Test backend (push) Successful in 42s
    Release / Check ui (push) Successful in 1m44s
    Release / Docker / caddy (push) Successful in 41s
    Release / Docker / backend (push) Successful in 2m42s
    Release / Docker / runner (push) Successful in 2m56s
    Release / Upload source maps (push) Successful in 1m30s
    Release / Docker / ui (push) Successful in 2m42s
    Release / Gitea Release (push) Successful in 1m14s
    Stable

    gitea-actions released this 2026-04-05 22:12:29 +05:00 | -409 commits to main since this release

    • Backend: add GET /api/audio-preview/{slug}/{n} — generates first ~1800-char
      chunk via CF AI so playback starts immediately; full chapter cached in MinIO
    • Frontend: replace CF AI spinner with preview blob URL + background swap to
      full presigned URL when runner finishes, preserving currentTime
    • AudioPlayer: isPreview state + 'preview' badge in mini-bar during swap
    • pocketbase.ts: fix 403 on stale token — reduce TTL to 50 min + retry once
      on 401/403 with forced re-auth (was cached 12 h, PB tokens expire in 1 h)
    • Footer build time now rendered in user's local timezone via toLocaleString()
    Downloads
  • v2.5.94
    All checks were successful
    Release / Test backend (push) Successful in 41s
    Release / Check ui (push) Successful in 1m41s
    Release / Docker / caddy (push) Successful in 41s
    Release / Docker / backend (push) Successful in 3m23s
    Release / Docker / runner (push) Successful in 2m53s
    Release / Upload source maps (push) Successful in 1m27s
    Release / Docker / ui (push) Successful in 2m32s
    Release / Gitea Release (push) Successful in 42s
    Stable

    gitea-actions released this 2026-04-05 21:26:05 +05:00 | -406 commits to main since this release

    When PREBUILT=1 the pre-built artifact is downloaded into ui/build/ but
    .dockerignore excludes 'build', so Docker never sees it and /app/build
    doesn't exist in the builder stage — causing the runtime COPY to fail.

    Fix: rewrite ui/.dockerignore on the CI runner (grep -v '^build$') so the
    pre-built directory is included in the Docker context.

    Also in this commit:

    • book page: gate EPUB download on isPro (UI upsell + server 403 guard)
    • book page: chapter names default pattern changed to '{scene}'
    Downloads
  • v2.5.91
    All checks were successful
    Release / Test backend (push) Successful in 46s
    Release / Check ui (push) Successful in 1m41s
    Release / Docker / caddy (push) Successful in 44s
    Release / Docker / backend (push) Successful in 4m15s
    Release / Docker / runner (push) Successful in 4m28s
    Release / Upload source maps (push) Successful in 53s
    Release / Docker / ui (push) Successful in 7m30s
    Release / Gitea Release (push) Successful in 49s
    Stable

    gitea-actions released this 2026-04-05 20:20:32 +05:00 | -403 commits to main since this release

    • ListeningMode: replace inline voice dropdown with full-screen modal + voice search
    • ListeningMode: add chapter search box (shown when > 6 chapters) + click-to-play via autoStartChapter
    • CommentsSection: collapse by default when empty, auto-expand once comments load
    • AudioPlayer: always use streaming endpoint for Kokoro/PocketTTS (backend deduplicates via AudioExists)
    Downloads
  • v2.5.90
    All checks were successful
    Release / Test backend (push) Successful in 40s
    Release / Check ui (push) Successful in 1m36s
    Release / Docker / caddy (push) Successful in 45s
    Release / Docker / backend (push) Successful in 4m27s
    Release / Docker / runner (push) Successful in 3m32s
    Release / Upload source maps (push) Successful in 44s
    Release / Docker / ui (push) Successful in 2m46s
    Release / Gitea Release (push) Successful in 58s
    Stable

    gitea-actions released this 2026-04-05 20:08:14 +05:00 | -402 commits to main since this release

    • Add /admin/ai-jobs page with live-polling jobs table, status badges, progress bars, and cancel action
    • Add listAIJobs() helper in pocketbase.ts; AIJob type
    • Add POST /api/admin/ai-jobs/[id]/cancel SvelteKit proxy
    • Add ai-jobs link to admin sidebar nav (all 5 locales)
    • Cache image-gen and text-gen model lists in Valkey (10 min TTL) via scraper.ts helpers
    • Cache changelog Gitea API response (5 min TTL)
    • Improve 502/504 error message on image-gen page with CF AI timeout hint
    • Show CF AI timeout warning in advanced options when a Cloudflare/FLUX model is selected
    Downloads
  • v2.5.89
    All checks were successful
    Release / Test backend (push) Successful in 38s
    Release / Check ui (push) Successful in 1m40s
    Release / Docker / caddy (push) Successful in 38s
    Release / Docker / backend (push) Successful in 5m3s
    Release / Docker / runner (push) Successful in 3m41s
    Release / Upload source maps (push) Successful in 1m44s
    Release / Docker / ui (push) Successful in 4m8s
    Release / Gitea Release (push) Successful in 2m42s
    Stable

    gitea-actions released this 2026-04-05 18:15:44 +05:00 | -401 commits to main since this release

    Downloads
  • v2.5.87
    All checks were successful
    Release / Test backend (push) Successful in 1m9s
    Release / Check ui (push) Successful in 51s
    Release / Docker / caddy (push) Successful in 46s
    Release / Docker / backend (push) Successful in 4m30s
    Release / Docker / runner (push) Successful in 3m54s
    Release / Upload source maps (push) Successful in 53s
    Release / Docker / ui (push) Successful in 2m57s
    Release / Gitea Release (push) Successful in 57s
    Stable

    gitea-actions released this 2026-04-05 17:53:07 +05:00 | -398 commits to main since this release

    glitchtip-cli v0.1.0 uploads chunks but never calls the assemble endpoint,
    leaving releases with 0 files. sentry-cli correctly calls assemble after
    chunk upload — confirmed working in manual test (2.5.84-test3 = 211 files).

    Downloads
  • v2.5.86
    All checks were successful
    Release / Test backend (push) Successful in 45s
    Release / Check ui (push) Successful in 50s
    Release / Docker / caddy (push) Successful in 43s
    Release / Docker / backend (push) Successful in 2m46s
    Release / Docker / runner (push) Successful in 2m43s
    Release / Upload source maps (push) Successful in 4m36s
    Release / Docker / ui (push) Successful in 4m38s
    Release / Gitea Release (push) Successful in 4m46s
    Stable

    gitea-actions released this 2026-04-05 17:31:05 +05:00 | -397 commits to main since this release

    • Add homelab/glitchtip/files_api.py with GzipChunk fallback for sentry-cli 3.x
      raw zip uploads; bind-mount into both glitchtip-web and glitchtip-worker
    • Add release.yaml prune step to delete all but the 10 newest GlitchTip releases
    • Reader page: remove dead code and simplify layout
    Downloads
  • v2.5.84
    All checks were successful
    Release / Test backend (push) Successful in 41s
    Release / Check ui (push) Successful in 49s
    Release / Docker / caddy (push) Successful in 51s
    Release / Docker / backend (push) Successful in 2m47s
    Release / Docker / runner (push) Successful in 2m38s
    Release / Upload source maps (push) Successful in 3m20s
    Release / Docker / ui (push) Successful in 2m59s
    Release / Gitea Release (push) Successful in 1m45s
    Stable

    gitea-actions released this 2026-04-05 16:59:06 +05:00 | -395 commits to main since this release

    • Mount glitchtip_uploads named volume to /code/uploads on both
      glitchtip-web and glitchtip-worker so chunk blobs written by the
      web container are readable by the worker during assembly
    • Set MEDIA_ROOT=/code/uploads explicitly on both services so the
      Django storage path matches the volume mount and DB blob records
    Downloads
  • v2.5.83
    All checks were successful
    Release / Test backend (push) Successful in 43s
    Release / Check ui (push) Successful in 47s
    Release / Docker / caddy (push) Successful in 53s
    Release / Docker / backend (push) Successful in 3m13s
    Release / Docker / runner (push) Successful in 2m54s
    Release / Upload source maps (push) Successful in 3m46s
    Release / Docker / ui (push) Successful in 2m25s
    Release / Gitea Release (push) Successful in 1m26s
    Stable

    gitea-actions released this 2026-04-05 16:14:33 +05:00 | -394 commits to main since this release

    • Strip v prefix from GlitchTip release name in upload-sourcemaps job
      so it matches PUBLIC_BUILD_VERSION reported by the deployed app
    • Focus mode: hide bottom nav/comments, show floating prev/next/exit pill
    • Listening mode: full-screen overlay with transport, speed pills, voice selector
    • Settings panel: dedup speed/auto-next/sleep controls (single source of truth)
    • Mini-bar: unified speed steps, headphones button opens ListeningMode
    Downloads