scholarr/app/services
Justin Visser 4620978dce feat(ingestion,frontend): add live scholar progress counter to dashboard
Emit scholar_progress SSE events during two-pass ingestion so the
Activity Monitor shows "X / N visited · Y finished · Z new publications"
in real time instead of static post-run counts.

- scholar_processing: add on_progress callback to _run_first_pass and
  _run_depth_pass; build _emit closure in run_scholar_iteration that
  publishes visited/finished/total via run_events; batch-emit scholars
  finished in first pass before depth pass; skip emission on abort/cancel
- run_status store: add scholarProgress state, reset on stream open and
  reset(); subscribe to scholar_progress SSE events with safe parsing
- DashboardPage: show live counter during run, fall back to static text
  when run is not active or no progress received yet

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 17:36:43 +01:00
..
arxiv fix: resolve CI lint and docs build failures 2026-03-01 23:00:31 +01:00
crossref Bugfixeds 2026-03-01 22:54:23 +01:00
dbops Bugfixeds 2026-03-01 22:54:23 +01:00
doi ci: add CodeQL security scanning and Dependabot 2026-02-27 00:05:17 +01:00
ingestion feat(ingestion,frontend): add live scholar progress counter to dashboard 2026-03-03 17:36:43 +01:00
openalex after audit 2026-03-01 18:14:22 +01:00
portability fix: resolve all mypy type errors across service modules 2026-02-27 15:49:27 +01:00
publication_identifiers refactor: decompose scholars service and pdf_queue into focused modules 2026-02-27 14:39:12 +01:00
publications fix(db,frontend): reserve DB connections for API and reduce frontend polling 2026-03-02 19:09:06 +01:00
runs Bugfixeds 2026-03-01 22:54:23 +01:00
scholar after audit 2026-03-01 18:14:22 +01:00
scholars " " 2026-03-01 23:11:52 +01:00
settings ci: add CodeQL security scanning and Dependabot 2026-02-27 00:05:17 +01:00
unpaywall after audit 2026-03-01 18:14:22 +01:00
users ci: add CodeQL security scanning and Dependabot 2026-02-27 00:05:17 +01:00
__init__.py ci: add ruff linting and mypy type checking 2026-02-26 22:11:41 +01:00