|
|
bbf6c97379
|
fix: UUID fallback in GET /users/{id} so AP actor URLs resolve for signature verification
|
2026-05-15 03:11:33 +02:00 |
|
|
|
b5427cab7d
|
fix: force HTTPS for WebFinger in follow/unfollow — library uses HTTP in debug mode
|
2026-05-15 03:03:51 +02:00 |
|
|
|
f7350847c5
|
fix: allow dots in usernames; BCrypt fallback in password verifier for v1 migrations
|
2026-05-15 02:56:18 +02:00 |
|
|
|
031a22514d
|
feat: implement remote unfollow — wire FederationActionPort through delete_follow handler
|
2026-05-15 02:46:24 +02:00 |
|
|
|
1a1ba3da63
|
refactor(domain): remove public_key/private_key from User model — managed by federation adapter
|
2026-05-15 02:06:06 +02:00 |
|
|
|
9757ebdabf
|
refactor(application): move local/remote follow routing out of presentation handler
|
2026-05-15 01:58:40 +02:00 |
|
|
|
344bcf34af
|
refactor(domain): move DB string conversions out of domain enums
|
2026-05-15 01:54:32 +02:00 |
|
|
|
27e94d64b0
|
fix: fetch_actor_urls_from_collection follows 'first' page link like outbox does
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-15 01:18:28 +02:00 |
|
|
|
e3251b6928
|
fix: migrate thoughts.content VARCHAR(128) → TEXT to allow remote posts of any length
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) Successful in 16m18s
test / integration (pull_request) Failing after 16m51s
|
2026-05-15 01:15:09 +02:00 |
|
|
|
83af9b2256
|
feat: show media attachment notice for unsupported post types (photos/videos)
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m20s
test / unit (pull_request) Successful in 16m15s
test / integration (pull_request) Failing after 17m1s
|
2026-05-15 01:12:44 +02:00 |
|
|
|
e83b08fcc8
|
fix: remote actor display names in thought cards — use last URL segment as username, resolve display_name after intern
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m13s
test / unit (pull_request) Successful in 15m56s
test / integration (pull_request) Failing after 17m29s
|
2026-05-15 01:04:42 +02:00 |
|
|
|
c536cc2cd4
|
feat(presentation): followers/following list endpoints for remote actors
|
2026-05-15 00:48:42 +02:00 |
|
|
|
38a13ad641
|
feat(worker): handle FetchActorConnections — resolve and cache remote actor connections
|
2026-05-15 00:40:34 +02:00 |
|
|
|
58126f195c
|
feat(activitypub-base): impl fetch_actor_urls_from_collection + resolve_actor_profiles (concurrent, 5s timeout)
|
2026-05-15 00:33:14 +02:00 |
|
|
|
d62dde67bb
|
feat(postgres): remote_actor_connections table + PgRemoteActorConnectionRepository
|
2026-05-15 00:29:33 +02:00 |
|
|
|
99dd89b60d
|
feat(domain): ActorConnectionSummary, ConnectionType, RemoteActorConnectionRepository, FetchActorConnections event
|
2026-05-15 00:25:54 +02:00 |
|
|
|
8b3dfffd3b
|
feat: followers/following links on remote profile; render remote post content as HTML
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 |
|
|
|
fcfc1750fc
|
fix: truncate remote actor username to VARCHAR(32); fix outbox URL by following 'first' link
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
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
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
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
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
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 |
|
|
|
9bda23f187
|
fix(nats): delete old push consumer before creating pull consumer
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
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
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 |
|
|
|
df7fcf5096
|
fix: add federation.> to NATS stream subjects; update stream on startup; truncate long profile URLs
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 |
|
|
|
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 |
|
|
|
ed6996e350
|
fix(activitypub-base): populate also_known_as, profile_url, attachment from fetched actor
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
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
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 |
|
|
|
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 |
|
|
|
dbd891d60d
|
fix(activitypub-base): lookup_actor fetches WebFinger via HTTPS directly
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 |
|
|
|
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 |
|