412ab12695
feat: add Makefile for local development checks and formatting
2026-05-29 10:58:20 +02:00
36d15e1344
fix: AP bugs — backfill mapping, review activity type, also_known_as parse
...
- BackfillRequested now maps to BackfillFollower domain event (not FollowAccepted);
worker calls run_backfill_for_follower to send LOCAL content to new follower inbox,
instead of incorrectly trying to import from an inbox URL as if it were an outbox
- reviews broadcast as Create activity instead of Add (semantically correct)
- also_known_as JSON parse failure logs warning + preserves raw string as single-element
vec instead of silently returning empty
2026-05-29 10:54:11 +02:00
624cfe5799
feat: migrate k-ap 0.1.10→0.3.1, fix AP gaps
...
- split FederationRepository into FollowRepository, ActorRepository, BlocklistRepository, ActivityRepository
- RemoteActor: 5 new fields (bio, banner_url, followers_url, following_url, also_known_as)
- ApObjectHandler split: get_local_objects_page/count_local_posts → ApContentReader trait
- builder API: positional args → named setters
- broadcast_create_note/update_note: add ApVisibility + mentioned_inboxes params
- backfill_outbox → import_remote_outbox
- ApUser: also_known_as Option<String> → Vec<String>, new fields
AP gaps fixed:
- add GET /users/{id}/followers + /following with content negotiation
- wire EventPublisher into builder via FederationEventBridge adapter
- add display_name field full stack (domain→DB→API→AP)
- DB-side outbox pagination (get_local_reviews_page)
- set featured_url on ApUser
2026-05-29 10:42:53 +02:00
bace54c552
fix
CI / Check / Test (push) Failing after 49s
CI / Release build (push) Has been skipped
2026-05-28 17:06:26 +02:00
4ebd593293
feat: add OpenAPI doc for update_profile_fields endpoint
...
CI / Check / Test (push) Failing after 43s
CI / Release build (push) Has been skipped
Add ProfileFieldDto and UpdateProfileFieldsRequest to api-types,
annotate update_profile_fields_handler with utoipa::path, register
in UsersDoc. Coverage now 100%.
2026-05-28 04:03:41 +02:00
51bd580a04
watchlist backfill
CI / Check / Test (push) Failing after 57s
CI / Release build (push) Has been skipped
2026-05-28 03:52:38 +02:00
b3e7a42d2f
fix: remove stale activitypub-base COPY from Dockerfile
CI / Check / Test (push) Failing after 44s
CI / Release build (push) Has been skipped
2026-05-25 09:46:36 +02:00
410e25a562
chore: bump k-ap to v0.1.3, drop direct activitypub_federation dep
CI / Release build (push) Has been cancelled
CI / Check / Test (push) Has been cancelled
2026-05-25 09:45:47 +02:00
ca8fdb33ba
fix: resolve movies-diary compile errors after k-ap migration
CI / Check / Test (push) Failing after 44s
CI / Release build (push) Has been skipped
2026-05-17 23:12:03 +02:00
6efc47a891
chore: replace local activitypub-base with k-ap git dep
2026-05-17 23:06:20 +02:00
f80d3b5983
docs/ci: note unit tests in README, gate release build to master
CI / Check / Test (push) Failing after 43s
CI / Release build (push) Has been skipped
2026-05-14 00:43:07 +02:00
edc1f6c850
feat: domain mocks, TestContextBuilder, use case tests, factory pattern
...
- Add test-helpers feature to domain crate with in-memory mocks and panic stubs for all ports
- Add TestContextBuilder to application crate for zero-database test setup
- Add unit tests for log_review, register, login, add_to_watchlist, delete_review use cases
- Extract DatabaseAdapters factory and build_* helpers into presentation/src/factory.rs
- Refactor wire_dependencies() in main.rs to use factory module
2026-05-14 00:41:25 +02:00
e41d85bd7e
feat: show user avatars on /users page
CI / Check / Test / Build (push) Successful in 24m46s
2026-05-13 23:45:19 +02:00
19171806b9
fmt
CI / Check / Test / Build (push) Has been cancelled
2026-05-13 23:38:57 +02:00
7415b91e23
ci: add GitHub/Gitea Actions workflow
CI / Check / Test / Build (push) Failing after 2m6s
2026-05-13 23:35:05 +02:00
25cd6c9294
fix: handle absolute poster URLs from federated instances in templates
2026-05-13 23:32:08 +02:00
c420826474
fix: update tests for expanded User profile signature
2026-05-13 23:27:36 +02:00
5edac78add
fix: redirect to user-specific following list after follow action
2026-05-13 23:23:47 +02:00
fdd61ae701
feat: refactor user profile handling and integrate ApProfileField structure
2026-05-13 22:59:38 +02:00
815178e6a4
feat(ap): ActivityPub spec compliance and profile completeness
...
Phase 1 — spec compliance:
- Add AS_PUBLIC constant; add to/cc fields to CreateActivity, DeleteActivity,
UpdateActivity, AddActivity; populate on all broadcast call sites
- Add @context to outbox CreateActivity items
- Set manuallyApprovesFollowers: true to match actual Pending follow flow
- Gate PermissiveVerifier behind FEDERATION_DEBUG env var
- Add updated timestamp to Person actor JSON
- Improve actor update delivery logging
Phase 2a Batch 1 — AP layer:
- Add /inbox shared inbox route; add endpoints.sharedInbox to Person
- Paginate followers and following collections (20/page, OrderedCollectionPage)
Phase 2a Batch 2 — profile completeness:
- DB migrations: banner_path, also_known_as columns; user_profile_fields table
- ProfileField value object; UserProfileFieldsRepository port
- Banner image upload (stored via image-converter, surfaced as image in Person)
- alsoKnownAs field in Person (account migration support)
- Custom profile fields (up to 4 PropertyValue attachments in Person)
- Profile settings UI: banner preview/upload, alsoKnownAs input, fields form
- PUT /api/v1/profile/fields API endpoint
2026-05-13 22:21:41 +02:00
0a97fe5544
feat: update calamine dependency version to 0.35 in importer
2026-05-13 11:17:13 +02:00
7d4c1454f0
feat: add watchlist entry events and update NATS subject mapping
2026-05-13 01:55:12 +02:00
10fcc27339
feat: update dependencies and improve code formatting in worker tests
...
Co-authored-by: Copilot <copilot@github.com >
2026-05-13 01:38:33 +02:00
bc6c767c29
feat: follow-by-handle form on following and users pages
2026-05-13 01:35:54 +02:00
20e70325c6
feat: add FollowBackfillHandler to worker
2026-05-13 01:34:04 +02:00
e92c6789d9
feat: add backfill_outbox to ActivityPubService and ActivityPubPort
2026-05-13 01:32:14 +02:00
ca9a504632
feat: wire event_publisher through activitypub::wire()
2026-05-13 01:30:30 +02:00
2567103587
feat: publish FollowAccepted event when remote accepts follow
2026-05-13 01:28:03 +02:00
b1d4b4de2d
feat(sqlite): persist outbox_url, implement get_following_outbox_url
2026-05-13 01:24:57 +02:00
5cd7409491
feat(postgres): persist outbox_url, implement get_following_outbox_url
2026-05-13 01:24:34 +02:00
1b41e7c1f5
fix: handle FollowAccepted in NATS subject router
2026-05-13 01:23:08 +02:00
faeac18126
feat: add outbox_url to RemoteActor, get_following_outbox_url to FederationRepository
2026-05-13 01:20:48 +02:00
80983f1ff2
feat: add FollowAccepted domain event
2026-05-13 01:17:26 +02:00
7c08e4a942
feat: enhance watchlist handling with entry discriminator and update broadcast methods
2026-05-13 00:45:44 +02:00
31fbb79451
refactor: remove watchlist repository references and add get_remote_watchlist use case
2026-05-13 00:34:23 +02:00
53df90ab1f
feat: MovieDto enrichment, movie detail page, PWA, watchlist, watchlist federation
2026-05-13 00:23:45 +02:00
2fd8734d23
fix: close search index consistency gaps (orphan cleanup, discovery indexing, poster sync)
2026-05-12 19:05:22 +02:00
3fc7f914af
refactor: remove unused MoviesQueryParams import from MoviesDoc
2026-05-12 18:51:47 +02:00
2640c99243
feat(openapi): add search and people endpoints to Swagger/Scalar
2026-05-12 18:50:33 +02:00
67955c004d
docs: update Dockerfile and README for search engine
2026-05-12 18:47:06 +02:00
c6770659c5
feat: extensible search engine with person entities (FTS5/tsvector)
2026-05-12 18:47:06 +02:00
763d622601
refactor: move inline tests to separate files via #[path]
2026-05-12 16:39:58 +02:00
00218366da
Revert "feat: rename product to Screened, add PRODUCT_NAME constant to domain"
...
This reverts commit f2e3a876dc .
2026-05-12 16:26:42 +02:00
f2e3a876dc
feat: rename product to Screened, add PRODUCT_NAME constant to domain
2026-05-12 15:42:24 +02:00
722b09e400
docs: update Dockerfile, README, env.example for image-converter
2026-05-12 15:12:26 +02:00
cea414fe60
refactor: split ImageRefPort into ImageRefCommand and ImageRefQuery
2026-05-12 15:10:49 +02:00
696e3e170c
feat: async image conversion service (avif/webp) with backfill
2026-05-12 15:05:28 +02:00
4269eca582
feat: implement movie listing functionality with pagination and search
2026-05-12 13:57:55 +02:00
fb81aa10c1
feat: enable TMDb enrichment with conditional event handling
2026-05-12 13:29:43 +02:00
78c2d9b1d3
feat: implement database connection and event bus handling
2026-05-12 13:28:13 +02:00