Commit Graph

370 Commits

Author SHA1 Message Date
8b3dfffd3b feat: followers/following links on remote profile; render remote post content as HTML
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m39s
test / unit (pull_request) Failing after 10m48s
test / integration (pull_request) Failing after 16m54s
2026-05-15 00:04:54 +02:00
0b4c8c6c40 fix(frontend): render bio HTML properly instead of as escaped text
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m24s
test / unit (pull_request) Failing after 12m17s
test / integration (pull_request) Failing after 17m10s
2026-05-15 00:01:13 +02:00
fcfc1750fc fix: truncate remote actor username to VARCHAR(32); fix outbox URL by following 'first' link
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m33s
test / unit (pull_request) Failing after 10m46s
test / integration (pull_request) Failing after 16m54s
2026-05-14 23:53:33 +02:00
4d2d56c8ae fix(nats): revert to consumer.messages() — fetch() defaults no_wait:true which skips empty queues
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m21s
test / unit (pull_request) Failing after 10m57s
test / integration (pull_request) Failing after 16m44s
2026-05-14 23:34:51 +02:00
a4377fe209 fix(nats): remove filter_subject from consumer config
Some checks failed
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (push) Has been cancelled
lint / lint (pull_request) Failing after 9m20s
test / unit (pull_request) Failing after 10m40s
test / integration (pull_request) Failing after 17m47s
2026-05-14 23:29:45 +02:00
16892007a3 fix(nats): use fetch().expires(30s) instead of messages() — without expires NATS returns empty immediately
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
test / integration (pull_request) Has been cancelled
test / unit (pull_request) Has been cancelled
lint / lint (pull_request) Has been cancelled
2026-05-14 23:25:01 +02:00
40ed9b1ad8 fix(nats): delete+recreate stream when retention policy is incompatible
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Has been cancelled
test / unit (pull_request) Has been cancelled
test / integration (pull_request) Has been cancelled
2026-05-14 23:19:41 +02:00
0caca58c1c fix(nats): align with movies-diary — Limits retention, single wildcard subject, filter_subject on consumer, prefixed publish
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Has been cancelled
test / unit (pull_request) Has been cancelled
test / integration (pull_request) Has been cancelled
2026-05-14 23:17:57 +02:00
55c55424b5 chore: bump async-nats 0.38 → 0.48 to match movies-diary
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m15s
test / unit (pull_request) Failing after 11m16s
test / integration (pull_request) Failing after 17m40s
2026-05-14 23:12:53 +02:00
9bda23f187 fix(nats): delete old push consumer before creating pull consumer
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m10s
test / unit (pull_request) Failing after 10m54s
test / integration (pull_request) Failing after 17m11s
2026-05-14 23:07:05 +02:00
17d2a186e1 fix(nats): switch from push to pull consumer — pull is reliable, push had deliver_subject issues
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m35s
test / unit (pull_request) Failing after 11m38s
test / integration (pull_request) Failing after 17m2s
2026-05-14 23:04:03 +02:00
7bbc702e85 debug: add INFO logging to ensure_stream and remote_actor_posts_handler
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m42s
test / unit (pull_request) Failing after 10m52s
test / integration (pull_request) Failing after 17m20s
2026-05-14 22:59:12 +02:00
612b7f069b fix(frontend): profile fields — grid layout caps name col at 5rem, value gets remaining space
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m22s
test / unit (pull_request) Failing after 11m23s
test / integration (pull_request) Failing after 17m2s
2026-05-14 22:51:07 +02:00
199fe91801 fix(frontend): profile fields table — overflow-x-auto, break-all values, styled links
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m12s
test / unit (pull_request) Failing after 11m0s
test / integration (pull_request) Failing after 17m17s
2026-05-14 22:47:42 +02:00
f3df2061e1 fix(frontend): truncate long handles in remote user profile and card
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m8s
test / unit (pull_request) Failing after 10m43s
test / integration (pull_request) Failing after 16m52s
2026-05-14 22:45:06 +02:00
df7fcf5096 fix: add federation.> to NATS stream subjects; update stream on startup; truncate long profile URLs
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m48s
test / unit (pull_request) Failing after 10m52s
test / integration (pull_request) Failing after 16m50s
2026-05-14 22:43:43 +02:00
072d06cb46 fix(frontend): middleware rewrites remote actor URLs to avoid Next.js file-extension routing issue
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 31s
test / unit (pull_request) Failing after 11m18s
test / integration (pull_request) Failing after 18m1s
2026-05-14 22:40:21 +02:00
4ce239fc87 fix(frontend): encode handle in URL to avoid Next.js routing issues with @ chars
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m21s
test / unit (pull_request) Failing after 10m59s
test / integration (pull_request) Failing after 12s
2026-05-14 22:36:24 +02:00
72813d7c9b fix(frontend): remote user card link needs leading @ in handle URL
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m22s
test / unit (pull_request) Failing after 10m46s
test / integration (pull_request) Failing after 17m9s
2026-05-14 22:30:59 +02:00
a472ae08fb feat(frontend): link remote user card avatar/name to profile page
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m42s
test / unit (pull_request) Failing after 11m13s
test / integration (pull_request) Failing after 17m23s
2026-05-14 22:29:35 +02:00
8ef7c93970 feat(frontend): remote actor profile page with bio, fields, and posts
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 10m5s
test / unit (pull_request) Failing after 10m51s
test / integration (pull_request) Failing after 17m1s
2026-05-14 22:25:53 +02:00
dc3afeca26 feat(worker): handle FetchRemoteActorPosts — fetch and store remote outbox notes 2026-05-14 22:23:20 +02:00
f3c3637ade feat(presentation): remote actor posts endpoint + extended RemoteActorResponse 2026-05-14 22:19:23 +02:00
00b369c6ad feat(bootstrap): add ap_repo to AppState 2026-05-14 22:16:20 +02:00
8c931c9b98 feat(event-payload): add FetchRemoteActorPosts to uniqueness test 2026-05-14 22:15:33 +02:00
1ddb6a3954 feat(activitypub-base): impl fetch_outbox_page; populate all RemoteActor fields in lookup_actor 2026-05-14 22:13:39 +02:00
70fc4fbcd0 feat(domain): RemoteActor fields, RemoteNote, FetchRemoteActorPosts event, fetch_outbox_page port 2026-05-14 22:08:26 +02:00
cbfaeb95ac docs: remote actor profile implementation plan 2026-05-14 22:04:11 +02:00
2e64e196b5 docs: remote actor profile design spec 2026-05-14 21:58:09 +02:00
ed6996e350 fix(activitypub-base): populate also_known_as, profile_url, attachment from fetched actor
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 10m0s
test / unit (pull_request) Failing after 11m10s
test / integration (pull_request) Failing after 17m19s
2026-05-14 21:47:34 +02:00
0c4df36b95 fix(activitypub-base): populate avatar_url, bio, banner from fetched actor JSON
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m46s
test / unit (pull_request) Failing after 11m36s
test / integration (pull_request) Failing after 17m47s
2026-05-14 21:45:55 +02:00
908789e639 fix: content negotiation for followers/following — resolve AP router conflict
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m28s
test / unit (pull_request) Failing after 11m39s
test / integration (pull_request) Failing after 17m5s
2026-05-14 21:42:38 +02:00
fc3b4146a5 refactor(frontend): update API client to match cleaned REST routes 2026-05-14 21:34:26 +02:00
e64404cf40 refactor(routes): clean RESTful route table; content negotiation at /users/{username} 2026-05-14 21:31:02 +02:00
fbc02bc2f8 refactor(social): unified follow handler; remove federation handler module 2026-05-14 21:28:33 +02:00
d1f72c8308 refactor(users): content negotiation at GET /users/{username}; move lookup_handler; rename get_me_following 2026-05-14 21:25:49 +02:00
abc5f2b936 refactor(api): notification state changes use PATCH with JSON body 2026-05-14 21:05:30 +02:00
d5a116e483 feat(activitypub-base): impl actor_json port; return full user@domain handle from lookup 2026-05-14 20:47:41 +02:00
57110f3b75 feat(domain): add actor_json to FederationActionPort 2026-05-14 20:46:10 +02:00
812cf7b140 docs: REST API cleanup implementation plan 2026-05-14 20:44:31 +02:00
93967e53a2 docs: REST API cleanup design spec 2026-05-14 20:38:05 +02:00
dbd891d60d fix(activitypub-base): lookup_actor fetches WebFinger via HTTPS directly
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m40s
test / unit (pull_request) Successful in 16m33s
test / integration (pull_request) Failing after 17m33s
2026-05-14 20:25:14 +02:00
baf8b57b6d fix(activitypub-base): strip leading @ from handle before WebFinger lookup 2026-05-14 20:16:00 +02:00
a7a331858d feat(frontend): remote actor lookup and follow from search page 2026-05-14 20:09:49 +02:00
31487882e0 feat(presentation): /federation/lookup and /federation/follow endpoints 2026-05-14 20:06:55 +02:00
a08bb3d698 feat(bootstrap): wire ActivityPubService as FederationActionPort in AppState 2026-05-14 20:03:49 +02:00
1d50b54227 fix(activitypub-base): use username as display_name in lookup_actor 2026-05-14 20:02:01 +02:00
fce819be7f feat(activitypub-base): impl FederationActionPort for ActivityPubService 2026-05-14 19:59:19 +02:00
0e45707d7e fix(postgres): persist and read avatar_url in remote_actor adapter 2026-05-14 19:57:13 +02:00
82f8772104 feat(domain): FederationActionPort trait + avatar_url on RemoteActor 2026-05-14 19:55:10 +02:00