Skip to content

Add Daily News Digest #minor#24

Merged
jgordijn merged 116 commits into
mainfrom
daily-news-digest
May 9, 2026
Merged

Add Daily News Digest #minor#24
jgordijn merged 116 commits into
mainfrom
daily-news-digest

Conversation

@jgordijn

@jgordijn jgordijn commented May 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds the user-specific Daily News Digest feature end-to-end.
  • Adds scheduled/manual digest generation, regeneration, archive browsing, settings, and digest-scoped entry references.
  • Archives and syncs the completed OpenSpec change.

Verification

  • go test ./internal/... ./cmd/knowledgehub -count=1
  • go test ./internal/ai ./internal/engine ./internal/routes -coverprofile=coverage.out -covermode=atomic -count=1 (total 90.2%)
  • go test ./... -count=1
  • go vet ./internal/... ./cmd/knowledgehub
  • cd ui && bunx vitest run
  • cd ui && bun run build
  • cd ui && bun run check currently fails only on pre-existing/unmodified frontend files/config (ui/vite.config.ts, LinkPanel.svelte, QuickAddModal.svelte, plus existing warnings).

Proof

CAD-xxxx — Daily News Digest proof

Proof captured from worktree daily-news-digest on 2026-05-09 against a local PocketBase/Svelte app at http://127.0.0.1:18090.

What is proven

  • Authenticated users see the new Daily News navigation item.
  • The Daily News page renders a latest digest with newspaper styling.
  • Digest Markdown entry markers render as internal Open referenced entry controls.
  • The digest sanitizer does not execute raw HTML or javascript: links; the malicious sample appears as inert text.
  • Referenced entries open through the digest-scoped entry modal.
  • Daily News settings are readable and saveable through the explicit API route.
  • Manual generation is accepted asynchronously as a persisted pending job.

UI proof

1. Sign-in screen

Initial auth screen

2. Credentials filled before sign in

Login form filled

3. Feed after sign in, including Daily News navigation

Feed with Daily News nav

4. Daily News latest digest

Shows the latest digest, controls, sanitized body, internal reference controls, settings, and previous editions.

Daily News latest digest

5. Digest-scoped entry reference modal

Clicking an internal [[kh-entry:<id>]] reference opens the referenced entry card modal with source, stars, summary, takeaways, and original-article link.

Referenced entry modal

6. Settings area before/while editing

Settings area

7. Settings saved confirmation

Settings saved

API proof

Recorded requests and responses are in api-proof.md. Highlights:

  • GET /api/daily-news/settings returns materialized per-user defaults.
  • PUT /api/daily-news/settings persists generation time, timezone, enabled state, and extra instructions.
  • GET /api/daily-news/digests/{digestId} returns the proof digest, body Markdown, counts, references, status, and period.
  • GET /api/daily-news/digests/{digestId}/entries/{entryId} returns only a validated digest-scoped referenced entry DTO.
  • POST /api/daily-news/generate returns 202 Accepted with a pending job DTO.

Self-review

This proof shows the actual Daily News Digest changes present in this worktree: new navigation/page, digest rendering, sanitized Markdown behavior, entry-reference modal, settings API/UI, and manual generate API behavior. The API transcript uses bearer tokens redacted and captures both request intent and responses. The UI screenshots cover each visible state change used in the proof.

@jgordijn jgordijn merged commit 13b7e32 into main May 9, 2026
1 check passed
@jgordijn jgordijn deleted the daily-news-digest branch May 9, 2026 08:40
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.

1 participant