Commit Graph

264 Commits

Author SHA1 Message Date
b3e7a42d2f fix: remove stale activitypub-base COPY from Dockerfile
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
All checks were successful
CI / Check / Test / Build (push) Successful in 24m46s
2026-05-13 23:45:19 +02:00
19171806b9 fmt
Some checks failed
CI / Check / Test / Build (push) Has been cancelled
2026-05-13 23:38:57 +02:00
7415b91e23 ci: add GitHub/Gitea Actions workflow
Some checks failed
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
38d13fbff1 feat: implement TMDb enrichment for movie profiles
- Add SqliteMovieProfileRepository for managing movie profiles in SQLite.
- Create TmdbEnrichmentClient to fetch movie details from TMDb API.
- Implement enrichment event handling with EnrichmentHandler.
- Introduce periodic jobs for cleaning up expired import sessions and checking for stale movie profiles.
- Update application context to include movie profile repository.
- Add API endpoint to retrieve movie profiles.
- Extend domain models with new structures for movie enrichment (Genre, Keyword, CastMember, CrewMember, MovieProfile).
- Modify event system to include MovieEnrichmentRequested event.
- Enhance tests to cover new functionality and ensure stability.
2026-05-12 13:23:41 +02:00
c696a3b780 feat: add endpoint to retrieve user by username 2026-05-12 12:02:30 +02:00
99ce81efe5 refactor: deps cleanup, split openapi, extract api-types crate 2026-05-12 11:54:00 +02:00
2d6121239f fix: add wget to runtime image for healthcheck 2026-05-12 02:15:37 +02:00
5c918accbc feat: add GET /health endpoint for Docker/k8s liveness probes 2026-05-12 02:05:37 +02:00
6eeba2cf57 feat: review delete/update AP propagation, remote actor avatars, OpenAPI updates
- Send Delete activity when a review is deleted
- Send Update(Note) activity when a review is edited
- Remote actor avatars shown in followers/following pages
- OpenAPI spec updated with profile, blocked domains, blocked actor endpoints
- Fix: worker wire() call missing allow_registration argument
2026-05-12 02:02:41 +02:00