6273635aeb
feat: implement unread notification count and enhance user listing with pagination
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 16m24s
test / integration (pull_request) Failing after 16m52s
2026-05-15 12:04:00 +02:00
f946239757
feat(api): expose replyToUrl in ThoughtResponse for remote reply context
2026-05-15 05:50:59 +02:00
ca1ebc4b68
feat(ap): broadcast Update(Actor) when user updates their profile
2026-05-15 05:32:25 +02:00
a8fbfcf49e
feat(presentation): federation management endpoints
2026-05-15 04:10:36 +02:00
706d7389ed
refactor: replace inline find_by_id calls with get_user use case in presentation handlers
2026-05-15 03:14:09 +02:00
6e9b1596d8
refactor: move UUID/username routing to application use case — fix handler boundary leak
2026-05-15 03:12:52 +02:00
bbf6c97379
fix: UUID fallback in GET /users/{id} so AP actor URLs resolve for signature verification
2026-05-15 03:11:33 +02:00
031a22514d
feat: implement remote unfollow — wire FederationActionPort through delete_follow handler
2026-05-15 02:46:24 +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
c536cc2cd4
feat(presentation): followers/following list endpoints for remote actors
2026-05-15 00:48:42 +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
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
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
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
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
82f8772104
feat(domain): FederationActionPort trait + avatar_url on RemoteActor
2026-05-14 19:55:10 +02:00
171cfe4373
fix: follow/block handlers accept username string — was parsing as UUID
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m38s
test / unit (pull_request) Successful in 16m13s
test / integration (pull_request) Failing after 17m31s
2026-05-14 18:03:16 +02:00
24bfda8458
feat: extract and save hashtags on thought creation
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m18s
test / unit (pull_request) Successful in 16m4s
test / integration (pull_request) Failing after 17m16s
2026-05-14 18:01:07 +02:00
c67371231e
fix(thoughts): thought_to_json uses camelCase — POST/GET responses now match ThoughtSchema
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 16m22s
test / integration (pull_request) Failing after 17m18s
2026-05-14 17:49:22 +02:00
8ef3a300bc
fix(users): return camelCase from GET /users list — UserSummary was snake_case
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m34s
test / unit (pull_request) Successful in 16m5s
test / integration (pull_request) Failing after 18m6s
2026-05-14 17:44:59 +02:00
ec0e24db8d
fix: add GET /users/{username}/profile REST endpoint — AP actor owns /users/{username}
2026-05-14 17:39:19 +02:00
7110f30e16
fix: top-friends returns usernames not UUIDs
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 16m13s
test / integration (pull_request) Failing after 17m12s
2026-05-14 17:08:12 +02:00
aadd876994
feat: camelCase JSON responses, isFollowedByViewer, customCss, GET /users/me/following-list
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) Successful in 16m3s
test / integration (pull_request) Failing after 17m19s
2026-05-14 17:04:42 +02:00
550865bad4
fix: resolve all clippy warnings — redundant closures, dead code, collapsible_if, needless borrow
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m25s
test / unit (pull_request) Successful in 16m57s
test / integration (pull_request) Failing after 17m29s
2026-05-14 16:33:34 +02:00
10c4a66de5
Refactor handlers and OpenAPI documentation for improved readability and consistency
...
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 6m49s
test / unit (pull_request) Successful in 16m24s
test / integration (pull_request) Failing after 17m7s
- Reorganized imports in health, notifications, social, thoughts, and users handlers for clarity.
- Updated function signatures in handlers to improve readability by aligning parameters.
- Enhanced JSON response formatting in notifications and thoughts handlers.
- Improved error handling in user-related functions.
- Refactored OpenAPI documentation to maintain consistent formatting and structure.
- Cleaned up unnecessary code and comments across various files.
- Ensured consistent use of `Arc` for shared state in AppState and WorkerHandlers.
2026-05-14 16:28:57 +02:00
d50c13a2db
refactor: wrap direct port calls behind use cases — notifications, search, popular_tags
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 5m7s
test / unit (pull_request) Successful in 15m51s
test / integration (pull_request) Failing after 17m3s
2026-05-14 16:13:34 +02:00
004f3cd4d2
fix(arch): move AP router assembly to bootstrap — presentation no longer depends on activitypub-base
2026-05-14 16:09:21 +02:00
970f5a1644
fix: move user_feed to FeedRepository — proper counts and viewer flags for user timelines
2026-05-14 16:06:38 +02:00
ecba9267cf
fix: compute liked_by_viewer/boosted_by_viewer from DB — viewer_id was ignored in all feed queries
2026-05-14 16:03:55 +02:00
cc9658975f
fix: tag feed returns full FeedEntry with author and counts
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 5m2s
test / unit (pull_request) Successful in 16m3s
test / integration (pull_request) Failing after 16m59s
2026-05-14 15:43:02 +02:00
9b47779e63
feat: GET /tags/popular — top tags by usage count
2026-05-14 15:34:40 +02:00
eb7dbb0aee
feat: GET /users (search/list) and GET /users/count
2026-05-14 15:34:37 +02:00
a2cc4fba21
feat(presentation): wire GET /users/{username}/follower-list and /following-list
2026-05-14 15:34:33 +02:00
6eba91e699
fix(presentation): hydrate feed responses with full ThoughtResponse — remove UUID-only stubs
2026-05-14 15:31:44 +02:00
c072ee95cd
refactor(presentation): pure HTTP library — remove concrete adapter deps and binary
2026-05-14 12:07:18 +02:00
1866eef770
feat(presentation): OpenAPI docs at /docs (Swagger) and /scalar
2026-05-14 11:41:12 +02:00
137d1a0c6a
feat(presentation): add utoipa::path annotations to all handlers
2026-05-14 11:34:02 +02:00
4f990afe5e
feat(api-types): add utoipa ToSchema and IntoParams derives
2026-05-14 11:30:11 +02:00
2524440fe4
feat(presentation): GET /health endpoint
2026-05-14 11:21:58 +02:00
6082766935
feat(presentation): GET /users/me, GET /users/{username}/thoughts, GET /tags/{name}
2026-05-14 11:20:48 +02:00
1127a5946f
feat: UserUnblocked + UserRegistered events, fix unblock_user and register signatures
2026-05-14 11:06:36 +02:00
ea14035062
fix: wire PgActivityPubRepository into ThoughtsObjectHandler — closes activitypub→postgres violation
2026-05-14 10:59:43 +02:00
e0a27c99a4
feat(presentation): ActivityPub routes — WebFinger, NodeInfo, inbox, outbox
2026-05-14 10:28:22 +02:00