Commit Graph

22 Commits

Author SHA1 Message Date
80dbdec107 purge: skip broadcasts of deleted authors, purge outbox log, guards, 410 inbox test 2026-10-26 02:39:06 +01:00
51a70b5260 feat: account purge handler, tombstone cleanup, AP tombstone signing + 410 2026-10-26 02:30:09 +01:00
0b5d18c4ee feat: account deletion request and active-user check 2026-10-26 02:12:29 +01:00
31f5d5f337 feat: user tombstone and retired usernames 2026-10-26 02:03:36 +01:00
bde8040cc3 watchlist add: event only if inserted; adr 0015 jetstream/relay accuracy; drop vacuous assert 2026-10-26 01:56:38 +01:00
d0568d7933 relay: sink failure defers + pauses w/ backoff, no attempt spent 2026-10-26 01:53:31 +01:00
9a4d0c1714 feat: atomic social local writes, remote review enrichment
SocialCommand methods take events. Local follow ops = one FollowCommand::apply
tx (rows + events). k_ap path (remote, block/unblock): best-effort publish in
CompositeSocialAdapter after k_ap write; not atomic, k_ap owns tx.
save_remote_review takes events, enqueued in same tx via
sqlite::persistence::enqueue_events. Deps drop event_publisher: social
command, ReviewObjectHandler.

Remaining .publish( sites:
announce-only: users/delete_account UserDeleted, person/get + get_credits
PersonEnrichmentRequested, jobs/enrichment_staleness, http-axum search,
ImageStored (sync_poster, poster_sync_handler, image-converter backfill,
update_profile; object storage), federation_event_bridge (handler reaction),
nats relay (transport).
non-atomic by necessity: CompositeSocialAdapter::announce (k_ap-owned write).
Everything else rides its write.
2026-10-26 01:12:58 +01:00
62ad9f4017 feat: atomic goal, watchlist, profile writes 2026-10-26 00:49:28 +01:00
0236a488fa fix: defer blocked deliveries, claim owner token 2026-10-26 00:33:29 +01:00
53892847f2 fix: per-handler claim lease in ledger, nats max_deliver, pin handler names 2026-10-26 00:24:56 +01:00
5681d0c034 feat: processed-event ledger, idempotent dispatch 2026-10-26 00:17:28 +01:00
fa8e94817a fix: relay shutdown, claim lease, dead-letter undecodable, dedup window 2026-10-26 00:11:06 +01:00
c06d3d9207 feat: worker relays outbox to nats 2026-10-26 00:06:11 +01:00
32dfc84697 feat: event ids, outbox identity migration 2026-10-25 23:57:24 +01:00
b7e69b69dc refactor: drop postgres leftovers, narrow bootstrap api 2026-10-25 23:25:16 +01:00
980de9697a refactor: rename application AppConfig to AppSettings 2026-10-25 23:19:18 +01:00
a1c3f7760d test: move http-axum tests to tests/
Drop bootstrap dev-dep. Extractor + api handler + app-context tests (need full AppState via build_deps) -> bootstrap/tests/http_handlers/. forms tests -> http-axum/tests/log_review_form_test.rs.
Federation collection tests now go through public federation::html_routes().
Kept inline (private fns): api/social social_actor_to_dto (4), federation/blocklist_api social_actor_to_blocked_dto (1), html/social social_actor_to_template (1), router slow_down/api_governor (2).
2026-10-25 22:52:41 +01:00
07c8b011d8 fake user store: list_with_stats sorted by email 2026-10-25 22:52:41 +01:00
1e6e9ddf6b test: test app from bootstrap, prune wiring tests 2026-10-25 22:30:47 +01:00
c8d9138349 refactor: single refusal shape with openapi contract test 2026-10-25 21:55:38 +01:00
2875594ed9 test: seed ready wrapups, federation-off gate target 2026-10-25 21:30:01 +01:00
d7bac4aec3 test: classic route and openapi characterization 2026-10-25 21:27:13 +01:00