This website requires JavaScript.
85d65f5eda
feat(analysis): slice tall pages to the pixel budget for reliable OCR
MechaCat02
2026-06-13 22:36:23 +02:00
ab9b8fb172
fix(analysis): raise default ANALYSIS_MAX_TOKENS 900 -> 4096
MechaCat02
2026-06-13 21:33:35 +02:00
8b5bd99446
feat(analysis): live SSE updates in the admin coverage dashboard
MechaCat02
2026-06-13 21:12:56 +02:00
d0cd31c9a7
feat(analysis): live SSE event stream for the admin dashboard
MechaCat02
2026-06-13 21:06:20 +02:00
6bb72b8775
feat(analysis): admin coverage overview + per-page result inspector UI
MechaCat02
2026-06-13 20:39:54 +02:00
824f5acf22
feat(analysis): admin coverage + per-page inspection API
MechaCat02
2026-06-13 20:34:05 +02:00
268e8cc6c2
fix(analysis): use json_schema response_format + surface vision error bodies
MechaCat02
2026-06-13 20:14:38 +02:00
7e675b72cc
feat(analysis): admin analysis section uses manga search + chapter picker
MechaCat02
2026-06-13 20:05:09 +02:00
8b7ea2e1b2
feat(analysis): admin UI — reader context-menu action + dashboard section
MechaCat02
2026-06-13 19:57:03 +02:00
9607488278
feat(analysis): scoped admin re-enqueue (all/manga/chapter) + force-on-include
MechaCat02
2026-06-13 19:49:54 +02:00
d36f24e9af
feat(search): frontend content search (text + warnings) + manga warning banner
MechaCat02
2026-06-13 19:12:34 +02:00
bd39476ac7
feat(mangas): content-warning filter on search + deduped banner on detail
MechaCat02
2026-06-13 19:03:26 +02:00
af870bd157
feat(search): page content-search endpoint (multi-tag AND + text + warnings)
MechaCat02
2026-06-13 18:58:07 +02:00
7d80a437bf
feat(analysis): worker daemon + real dispatcher + app wiring
MechaCat02
2026-06-13 18:51:53 +02:00
dbde6e02c4
feat(analysis): vision client + system prompt + AnalysisConfig
MechaCat02
2026-06-13 18:45:57 +02:00
2bbf1595ff
feat(analysis): enqueue page-analysis on upload/crawl + admin backfill endpoints
MechaCat02
2026-06-13 18:39:03 +02:00
63e1aa5484
feat(analysis): page-analysis schema, domain types, and analyze_page job kind
MechaCat02
2026-06-13 18:27:08 +02:00
f30600162e
feat(page-tags): normalize page_tags onto the shared tags table
MechaCat02
2026-06-13 17:44:38 +02:00
33f684887d
feat(mangas): add tag-similarity "Similar" section on manga detail
MechaCat02
2026-06-13 15:48:15 +02:00
6c901e64c9
feat(search): tag-based page search surface + per-page tags & collections
MechaCat02
2026-06-13 15:51:38 +02:00
9910a0a995
fix(frontend): reader back button pops history instead of pushing (0.60.2)
MechaCat02
2026-06-08 20:59:10 +02:00
00577071fd
fix(frontend): mobile layout polish + overflow handling (0.60.1)
MechaCat02
2026-06-08 20:58:21 +02:00
1e3fd27308
feat(frontend): mobile account hub + library wrapper (0.60.0)
MechaCat02
2026-06-07 11:35:07 +02:00
f5842510b7
feat(frontend): mobile reader with tap zones + settings sheet (0.59.0)
MechaCat02
2026-06-07 11:22:54 +02:00
780632bee3
feat(frontend): mobile manga detail with hero + sticky CTA (0.58.0)
MechaCat02
2026-06-07 11:07:30 +02:00
be6b974150
feat(frontend): mobile catalog with sheet filters + sort (0.57.0)
MechaCat02
2026-06-07 10:54:58 +02:00
6dcb720a0f
feat(frontend): mobile primitives + bottom-nav chrome (0.56.0)
MechaCat02
2026-06-06 19:46:16 +02:00
d6ac648ac9
feat(admin): crawler observability dashboard + reliability hardening (0.55.0)
MechaCat02
2026-06-06 18:49:56 +02:00
679abae736
feat(chapter): preserve source-site order in chapter list (0.52.0)
MechaCat02
2026-06-03 07:25:09 +02:00
b812c6d16c
fix(reader): drop "Chapter N:" prefix from chapter title display (0.51.2)
MechaCat02
2026-06-03 07:22:17 +02:00
e93eec89e5
fix(crawler): queue chapter content in ascending number order (0.51.1)
MechaCat02
2026-06-02 21:13:51 +02:00
8818c890c5
feat(reader): chapter select dropdown for direct chapter jumps (0.51.0)
MechaCat02
2026-06-02 07:09:30 +02:00
c134bdbbde
feat: cover retry backfill + admin force-resync for manga & chapter (0.50.0)
MechaCat02
2026-06-01 22:00:09 +02:00
5c22dfdb41
feat: paginate list views, fix stale page titles, tidy admin filter bar
MechaCat02
2026-06-01 21:18:53 +02:00
e50fc093c3
feat: add PRIVATE_MODE site-wide auth gate (0.48.0)
MechaCat02
2026-06-01 20:05:30 +02:00
72756cfef2
feat(crawler): honour CRAWLER_LIMIT in the in-process daemon (0.47.0)
MechaCat02
2026-06-01 20:07:01 +02:00
4e20350645
fix(crawler): translate socks5h:// → socks5:// for Chromium --proxy-server
MechaCat02
2026-05-31 20:55:29 +02:00
713ca139c4
feat(deploy): add optional tor service to dev compose for native-backend dev
MechaCat02
2026-05-31 20:36:24 +02:00
e3cff9d874
fix(deploy): pivot tor service to password auth + wrapper entrypoint
MechaCat02
2026-05-31 20:25:54 +02:00
d47e832613
fix(crawler): redact TorAuth::Password in Debug, drop NEWNYM info→debug
MechaCat02
2026-05-31 20:25:36 +02:00
c30c7a546f
fix(crawler): unify recircuit budget semantics — N = total attempts
MechaCat02
2026-05-31 20:25:25 +02:00
a0db7beb81
chore: bump to 0.46.0 for TOR proxy + recircuit feature
MechaCat02
2026-05-31 18:55:46 +02:00
ecbbebafc4
feat(deploy): dockurr/tor service + torrc; wire crawler to use it by default
MechaCat02
2026-05-31 18:54:40 +02:00
8c6378b877
feat(crawler): recircuit TOR on transient pages and unauthenticated probes
MechaCat02
2026-05-31 18:52:28 +02:00
8557e432a2
feat(crawler): plumb TorController through FetchContext and pipelines
MechaCat02
2026-05-31 18:43:15 +02:00
d6d84dedcb
feat(crawler): retry_on_transient_with_hook for between-retry side effects
MechaCat02
2026-05-31 18:37:38 +02:00
d37b94871e
feat(crawler): TorController for control-port NEWNYM signaling
MechaCat02
2026-05-31 18:36:24 +02:00
8e39fadd21
ci: build via host docker socket (plain build); fix missing daemon socket (#5 )
fabi
2026-05-31 17:40:14 +00:00
3b3d13a0f6
fix(crawler): walk list pages incrementally; stop on empty page (0.45.1) (#4 )
fabi
2026-05-31 16:37:14 +00:00
0f90af80cb
ci(test-backend): ubuntu-latest + rustup (fix node-not-found) (#3 )
fabi
2026-05-31 16:18:21 +00:00
6b49a47d0a
feat(crawler): system Chromium via CRAWLER_CHROMIUM_BINARY (0.45.0) (#2 )
fabi
2026-05-31 15:47:47 +00:00
e851355f28
Merge pull request 'ci: no-SSH local deploy + Dockerfile build fixes' (#1 ) from fix/ci-deploy-pipeline into main
fabi
2026-05-31 15:43:54 +00:00
2a0cc24c07
ci: deploy to the local stack over the runner socket, not SSH
fabi
2026-05-31 17:26:58 +02:00
a615b0aee7
fix(docker): unblock image builds on this host
fabi
2026-05-31 17:26:58 +02:00
a2826d6467
feat(crawler): CRAWLER_ALLOW_ANY_HOST bypasses the host allowlist (0.44.0)
MechaCat02
2026-05-31 14:52:49 +02:00
1eebb90e25
fix(crawler): unhang shutdown on lingering Arc<Browser>, silence WS noise (0.43.1)
MechaCat02
2026-05-31 14:47:36 +02:00
030b27754b
feat(api): admin-initiated user creation via POST /admin/users (0.43.0)
MechaCat02
2026-05-31 14:00:31 +02:00
2f47faa11c
feat(auth): ALLOW_SELF_REGISTER toggle + public /auth/config endpoint (0.42.0)
MechaCat02
2026-05-31 13:56:18 +02:00
6dd21451a8
chore: sync Cargo.lock for 0.41.2
MechaCat02
2026-05-30 22:26:24 +02:00
f6728dc71a
fix(admin): security-audit findings — paginate chapters, lock down unchecked helper (0.41.2)
MechaCat02
2026-05-30 22:23:55 +02:00
aa2159ca06
fix(admin): three review findings — audit no-op, 404, chapter priority (0.41.1)
MechaCat02
2026-05-30 21:58:15 +02:00
b434c9b68d
feat(frontend): /admin dashboard with users/mangas/system views (0.41.0)
MechaCat02
2026-05-30 21:49:39 +02:00
cc4ec76d17
feat(api): admin system metrics endpoint with disk/mem/cpu alerts (0.40.0)
MechaCat02
2026-05-30 21:45:06 +02:00
bf7c9b5c2a
feat(api): admin manga/chapter overview with derived sync state (0.39.0)
MechaCat02
2026-05-30 21:41:09 +02:00
0b2018ceca
feat(api): admin user management endpoints with audit log (0.38.0)
MechaCat02
2026-05-30 21:35:35 +02:00
ab8b7acc34
feat(auth): admin role with cookie-only RequireAdmin extractor (0.37.0)
MechaCat02
2026-05-30 21:26:26 +02:00
9925f54695
fix(crawler): narrow browser-dead heuristic to typed downcasts (0.36.7)
MechaCat02
2026-05-30 20:41:59 +02:00
eaa5afda50
fix(crawler): skip sync when empty chapters + prior > 0 (0.36.6)
MechaCat02
2026-05-30 20:17:42 +02:00
5c04b0532b
fix(crawler): panic-isolate the cron tick body (0.36.5)
MechaCat02
2026-05-30 20:08:11 +02:00
655ea42731
fix(crawler): scope dispatch_target to live sources, newest first (0.36.4)
MechaCat02
2026-05-30 20:03:45 +02:00
70e8a7895c
fix(crawler): relaunch chromium on CDP / nav-timeout errors (0.36.3)
MechaCat02
2026-05-30 18:39:19 +02:00
8e0b638e3f
fix(crawler): wait for page marker instead of fixed 1s sleep (0.36.2)
MechaCat02
2026-05-30 18:29:38 +02:00
e2bd1462ba
fix(crawler): wrap wait_for_navigation in 30s timeout (0.36.1)
MechaCat02
2026-05-30 18:10:51 +02:00
9f56f283d4
feat(crawler): single-mode walker gated by recovery flag (0.36.0)
MechaCat02
2026-05-29 23:49:28 +02:00
33f7e19077
fix(crawler): serialize sync_manga_chapters per-manga (0.35.6)
MechaCat02
2026-05-29 20:45:01 +02:00
c6bb9160e3
fix(crawler): scope chapter_sources lookup per-manga (0.35.5)
MechaCat02
2026-05-29 20:43:08 +02:00
50763addcf
fix(crawler): quarantine recently-dead chapters from re-enqueue (0.35.4)
MechaCat02
2026-05-29 20:42:41 +02:00
766c6eebac
fix(crawler): guard ack_done/ack_failed/release on state='running' (0.35.3)
MechaCat02
2026-05-29 20:42:18 +02:00
c686d6eb51
fix(crawler): sentinel-gate parse_chapter_list to stop false drops (0.35.2)
MechaCat02
2026-05-29 20:41:47 +02:00
dea9b1aaa8
fix(crawler): close walker race against site reordering (0.35.1)
MechaCat02
2026-05-29 20:14:01 +02:00
f57ca8e45c
feat: harden auth, shutdown, and session bundle (0.35.0)
MechaCat02
2026-05-28 20:27:21 +02:00
8d34132883
bugfix: security & correctness bundle (0.34.1)
MechaCat02
2026-05-28 20:24:51 +02:00
c5c1179e9d
chore: full hop-by-hop header strip and 60s timeout on /api/* proxy
MechaCat02
2026-05-28 19:20:55 +02:00
c320eda7cd
chore: dedupe is_unique_violation, lift SQL into repo, centralise URL parsing
MechaCat02
2026-05-28 19:31:49 +02:00
bd9a6bd257
chore: drop dead 'failed' branch from crawler_jobs partial index
MechaCat02
2026-05-28 19:23:55 +02:00
ebc1966103
chore: run containers as non-root, add HEALTHCHECK, npm ci
MechaCat02
2026-05-28 19:22:04 +02:00
e4333631e1
chore: run CI on PRs, require POSTGRES_PASSWORD, document HTTPS need
MechaCat02
2026-05-28 19:23:04 +02:00
e7662d18d6
feat: gitea actions for build, push, and ssh deploy (0.34.0)
MechaCat02
2026-05-28 06:56:13 +02:00
45ce0d8f12
feat: incremental crawl mode with seed-completion gate (0.33.0)
MechaCat02
2026-05-28 06:41:26 +02:00
51f42b03e9
feat: default crawler browser to headless (0.32.0)
MechaCat02
2026-05-27 20:27:05 +02:00
fa0a7da311
feat: edit existing manga metadata (0.31.0)
MechaCat02
2026-05-27 20:26:23 +02:00
9ff49166a5
feat: transient-page detection across the crawler (0.30.0)
MechaCat02
2026-05-26 22:47:21 +02:00
b845d88766
feat: bookmark create enqueues SyncChapterContent jobs (0.29.0)
MechaCat02
2026-05-25 20:59:14 +02:00
9fe0f26d75
feat: in-process crawler daemon with cron and worker pool (0.28.0)
MechaCat02
2026-05-25 20:32:02 +02:00
93c7fd63fc
feat: crawler job queue ops and dedup index (0.27.0)
MechaCat02
2026-05-25 19:59:09 +02:00
89b84252a5
bugfix: subquery-wrap pending chapters query so DISTINCT + ORDER BY agree (0.26.1)
MechaCat02
2026-05-24 22:20:15 +02:00
728d704a66
feat: CRAWLER_KEEP_BROWSER_OPEN waits for Ctrl+C in headed mode (0.26.0)
MechaCat02
2026-05-24 21:33:18 +02:00
d24e68c78d
feat: chapter content sync via PHPSESSID + per-host pacing (0.25.0)
MechaCat02
2026-05-23 00:28:36 +02:00
51346227dd
feat: route reader by chapter id, allow duplicate-numbered chapters (0.24.0)
MechaCat02
2026-05-22 23:37:07 +02:00
c51353ead3
bugfix: chapter source key uses chapter id, not /pg-1/ (0.23.1)
MechaCat02
2026-05-22 23:15:36 +02:00