Commit Graph

82 Commits

Author SHA1 Message Date
eb7dbb0aee feat: GET /users (search/list) and GET /users/count 2026-05-14 15:34:37 +02:00
ed744046f4 refactor(activitypub-base): eliminate double get_local_actor — extract thought_note_json, remove dead broadcast_to_followers methods 2026-05-14 14:36:54 +02:00
931894d77a refactor(activitypub-base): extract accepted_follower_inboxes helper — eliminate 7x duplicated filtering 2026-05-14 14:23:38 +02:00
2485869af6 fix(activitypub-base): deterministic announce IDs so Undo(Announce) can reference original activity 2026-05-14 14:16:48 +02:00
b0b3c6a59b feat: BoostRemoved → Undo(Announce) fan-out via OutboundFederationPort 2026-05-14 14:10:11 +02:00
057fc29abc fix(activitypub-base): validate update Note id URL, add updated field to Update Notes 2026-05-14 13:50:05 +02:00
1fa8389a69 feat(activitypub-base): Announce broadcast + impl OutboundFederationPort for ActivityPubService 2026-05-14 13:46:31 +02:00
114d9f9558 fix(activitypub): re-export NoteType from activitypub-base, drop direct activitypub_federation dep 2026-05-14 12:51:47 +02:00
e995b29be1 refactor(nats): replace NatsEventConsumer with NatsMessageSource implementing MessageSource 2026-05-14 12:36:45 +02:00
c202eded05 feat(event-transport): MessageSource trait + EventConsumerAdapter for transport-agnostic consuming 2026-05-14 12:34:45 +02:00
f9ca5836fb refactor: rename event-publisher → event-transport 2026-05-14 12:30:58 +02:00
cfc8c19175 refactor(nats): strip NatsEventPublisher, add NatsTransport implementing Transport 2026-05-14 12:22:11 +02:00
a684c922e0 feat(event-publisher): Transport trait + EventPublisherAdapter for transport-agnostic event routing 2026-05-14 12:20:29 +02:00
1127a5946f feat: UserUnblocked + UserRegistered events, fix unblock_user and register signatures 2026-05-14 11:06:36 +02:00
4ae3af8086 refactor(activitypub): ThoughtsObjectHandler uses ActivityPubRepository port, drops postgres dep 2026-05-14 10:58:25 +02:00
e0b0a71f1d feat(postgres): PgActivityPubRepository implementing ActivityPubRepository port 2026-05-14 10:55:58 +02:00
2080fec347 feat(activitypub): ThoughtNote AP object and ThoughtsObjectHandler 2026-05-14 10:23:35 +02:00
21b6a04f97 feat(postgres-federation): FederationRepository and ApUserRepository 2026-05-14 10:19:57 +02:00
ebc612a311 feat(activitypub-base): copy from movies-diary with username-based actor URLs 2026-05-14 10:15:34 +02:00
a0893b1c69 feat(nats): NatsEventPublisher and NatsEventConsumer with payload conversion 2026-05-14 09:54:50 +02:00
57232705fe feat(event-payload): serializable NATS event payload types 2026-05-14 09:48:58 +02:00
4eeaea2a14 feat(postgres): upgrade FeedRepository search from ILIKE to pg_trgm 2026-05-14 09:28:02 +02:00
ebf0aaab58 feat(postgres-search): PgSearchRepository using pg_trgm 2026-05-14 09:26:36 +02:00
6e5d0de636 feat(postgres): pg_trgm extension and GIN search indexes 2026-05-14 09:21:59 +02:00
2b428b2b0a feat(auth): JWT AuthService and Argon2 PasswordHasher 2026-05-14 03:47:08 +02:00
69608cfc75 feat(postgres): Tag, ApiKey, TopFriend, Notification, RemoteActor, Feed repos 2026-05-14 03:45:11 +02:00
02ce3a49b4 feat(postgres): LikeRepository, BoostRepository 2026-05-14 03:40:15 +02:00
1dab9ffbfb feat(postgres): FollowRepository, BlockRepository 2026-05-14 03:38:20 +02:00
9dd04541ac feat(postgres): ThoughtRepository 2026-05-14 03:35:39 +02:00
fe9655ee96 feat(postgres): UserRepository 2026-05-14 03:32:56 +02:00
62ee73e302 feat(postgres): initial migrations 2026-05-14 03:26:42 +02:00
63a7001165 chore: scaffold v2 workspace 2026-05-14 03:07:45 +02:00