Commit Graph

17 Commits

Author SHA1 Message Date
5097c91261 feat: store AP note extensions in JSONB and render movies-diary posts as rich cards 2026-05-24 04:29:04 +02:00
fccc4064cf fix(federation): include header_url as AP banner (image) in actor JSON 2026-05-24 02:18:41 +02:00
01932cf337 feat: add image upload for avatar and banner 2026-05-24 02:06:47 +02:00
1874954ad7 fix: resolve thoughts compile errors after k-ap migration 2026-05-17 23:02:49 +02:00
f12cc7e2a7 chore: move ap_ports into activitypub adapter, delete activitypub-base 2026-05-17 22:48:22 +02:00
6936b7ce62 chore: switch activitypub-base to k-ap git dep 2026-05-17 22:47:32 +02:00
d56d34cc27 refactor: replace long arg lists with input/config structs and builder
- Thought::new_local → NewThought struct (7 args → 1)
- UserWriter::update_profile → UpdateProfileInput struct (6 args → 2)
- update_profile use case → UpdateProfileInput (8 args → 3)
- ActivityPubService::new → builder pattern (9 args → 5 required + 4 optional setters)
- accept_note → AcceptNoteInput struct (8 args → 1)
- ThoughtNote::new_public → ThoughtNoteInput struct (8 args → 1)

Remove all #[allow(clippy::too_many_arguments)] annotations.
2026-05-17 12:25:53 +02:00
2c2decba72 clean up 2026-05-17 12:14:45 +02:00
2d1044e5c3 chore: add pre-commit fmt+clippy hooks, fix clippy warnings 2026-05-17 12:09:24 +02:00
d813e59b5c fmt 2026-05-17 12:04:51 +02:00
54910c6459 fix: make ThoughtNote sensitive field optional (default false) 2026-05-17 12:02:58 +02:00
be0924d463 fix: promote worker event logs from debug to info 2026-05-17 12:02:13 +02:00
2c34eb44e4 fix: make ThoughtNote url field optional for AP compat 2026-05-17 11:57:10 +02:00
7dcdbb4551 feat: implement verify() for all stub activity handlers
Undo: inner activity actor must match Undo actor
Announce/Like/Block: verify_domains_match(activity_id, actor_url)
Add: attributedTo must match actor (same as Create/Update)
2026-05-17 11:55:17 +02:00
bb48819cad feat: implement federation post/connections backfill schedulers
schedule_actor_posts_fetch now spawns backfill_outbox in background,
fetching all pages of a remote outbox and persisting via accept_note.
schedule_connections_fetch follows AP collection next-links, resolves
profiles, and caches them in the DB. Both were no-ops ("deferred").

Add connections_repo field to ActivityPubService; wire both factories.
2026-05-17 11:49:53 +02:00
a0aa3f381e refactor: extract inline test modules to separate files
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
2026-05-16 12:08:38 +02:00
9aee4ceb6d feat: v2 rewrite — hexagonal arch, ActivityPub federation, NATS, deployment-ready (#1)
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
2026-05-16 09:42:40 +00:00