3dde0d13db
docs: sync README + architecture diagram with current codebase
2026-07-10 21:56:16 +02:00
fa881c3fd1
docs: update architecture.mmd+README — DiaryQuery, GoalCommand/GoalQuery, adapter-common crate
CI / Check / Test (push) Failing after 21m52s
2026-07-10 05:48:17 +02:00
2e32847129
docs+fix: update arch diagram/README/Insomnia, ApiError returns JSON
...
- architecture.mmd: CQRS trait names, ImageFetcher/RssFeedRenderer
ports, infra-wiring crate, api-types description
- README: add infra-wiring, note CQRS ports
- Insomnia: add PATCH /api/v1/reviews/:id
- ApiError returns {"error":"..."} JSON not plain text
2026-07-10 03:52:49 +02:00
8eecd06fb8
docs: update README + architecture for WatchMedium and review editing
2026-07-10 00:05:36 +02:00
10c811d9a7
docs: update README and architecture diagrams to reflect new ActivityPub features and user account management
CI / Check / Test (push) Has been cancelled
2026-06-30 02:31:40 +02:00
7faf14fb2f
docs: update project description to reflect current scope
CI / Check / Test (push) Successful in 43m3s
2026-06-12 12:53:15 +02:00
ddb5966c9b
docs: mention Insomnia collection in API section
CI / Check / Test (push) Has been cancelled
2026-06-12 12:51:24 +02:00
4ec231017e
docs: badges, TOC, quick start, env var table, screenshots
CI / Check / Test (push) Has been cancelled
2026-06-12 12:46:31 +02:00
d867a14b28
add 400+ unit tests for domain and application layers
...
CI / Check / Test (push) Has been cancelled
Extract ReviewLogger trait to decouple import/integrations
from diary::log_review (cross-module coupling smell).
Add in-memory fakes for all repository ports, enabling
isolated testing of every use case module without a database.
Coverage: domain+application 22% → 80%, 427 tests.
2026-06-09 02:07:26 +02:00
30a6200b5b
remove wrapup video rendering (ffmpeg)
...
CI / Check / Test (push) Successful in 15m34s
SPA handles wrapup visuals client-side; server-side
renderer was dead code pulling in ffmpeg + image crates.
2026-06-09 00:36:44 +02:00
37ab24be74
docs: npm → bun
CI / Check / Test (push) Has been cancelled
2026-06-09 00:06:22 +02:00
307113381f
docs: add CONTRIBUTING.md with setup, architecture, PR guidelines
CI / Check / Test (push) Has been cancelled
2026-06-09 00:04:30 +02:00
6d238b6c3d
docs: mark TUI as deprecated experiment
CI / Check / Test (push) Has been cancelled
2026-06-09 00:02:20 +02:00
a7a11dde08
refactor: split monolithic handlers + testing into domain-grouped modules
...
CI / Check / Test (push) Has been cancelled
handlers/api.rs (1706 LOC) + html.rs (1735 LOC) → 12 domain files:
auth, diary, movies, users, search, watchlist, goals, social,
integrations, helpers + existing import/webhook/wrapup/images/rss.
domain/testing.rs (1309 LOC) → testing/ module:
in_memory, fakes, noops, panics, wrapup.
Update README + architecture.mmd with goals feature.
2026-06-08 23:59:23 +02:00
7e8a1b8379
feat: batteries-included deployment — compose, .env.example, sane defaults
CI / Check / Test (push) Failing after 6m21s
2026-06-04 17:32:34 +02:00
b9c0b10740
feat: add SPA, serve at /app/, update Dockerfile and README
...
- React + TanStack Router + shadcn/ui SPA under spa/
- serve spa/dist at /app/ with index.html fallback for client routing
- Dockerfile: node build stage for SPA, copy dist into runtime image
- README: document SPA, CORS_ORIGINS env var, architecture entry
- vite base set to /app/, manifest.json paths fixed
2026-06-04 04:20:15 +02:00
6fb00f9205
docs: add WRAPUP_BG_DIR to env/readme
CI / Check / Test (push) Failing after 40s
2026-06-03 00:35:15 +02:00
e69f77a99f
docs: add wrap-up to Dockerfile, .env.example, README
CI / Check / Test (push) Failing after 42s
2026-06-02 23:47:21 +02:00
aadad3cfb0
feat: Jellyfin/Plex auto-import via watch queue
...
CI / Check / Test (push) Failing after 6m5s
Webhook ingestion from media servers — movies land in a pending
watch queue, user rates and confirms to create diary entries.
- domain: WatchEvent, WebhookToken models, MediaServerParser port
- adapters: jellyfin + plex parser crates, SQLite + Postgres repos
- application: ingest/confirm/dismiss/cleanup use cases, token mgmt
- presentation: webhook endpoints (bearer + query param auth),
watch queue + integrations settings HTML pages, OpenAPI docs
- worker: WatchEventCleanupJob (daily, 30d retention)
Movie resolution deferred to confirm — single canonical path
through log_review for enrichment, poster fetch, federation.
2026-06-02 17:34:16 +02:00
5b8f255607
docs: update README — add watchlist/profiles, fix architecture, add make targets
CI / Check / Test (push) Has been cancelled
CI / Release build (push) Has been cancelled
2026-05-29 11:48:05 +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
67955c004d
docs: update Dockerfile and README for search engine
2026-05-12 18:47:06 +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
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
99ce81efe5
refactor: deps cleanup, split openapi, extract api-types crate
2026-05-12 11:54:00 +02:00
f0620f5aa1
feat: discoverability (NodeInfo, hashtags) and moderation (domain/actor blocking)
...
- NodeInfo at /.well-known/nodeinfo + /nodeinfo/2.0
- Hashtags #MoviesDiary + #MovieTitle on review posts; /tags/{tag} redirect
- Domain blocking: blocked_domains table, admin API + HTML, inbox enforcement
- Per-actor blocking: blocked_actors table, user API + HTML, BlockActivity send/receive
- Delivery filter excludes blocked actors and blocked-domain inboxes
2026-05-12 01:05:46 +02:00
80f620c840
feat: image storage generalization, user profile, and federation polish
...
- Replace PosterStorage with generic ImageStorage port (IMAGE_STORAGE_BACKEND/PATH env vars)
- Rename poster-storage crate to image-storage; serve at /images/{*key}
- Add bio and avatar_path to User model (migration 0009_user_profile)
- update_profile use case with avatar upload, mime validation, old avatar cleanup
- GET/PUT /api/v1/profile and GET/POST /settings/profile HTML page
- Enrich AP Person actor with summary, icon, url, discoverable fields
- Store remote actor avatar_url (migration 0010_ap_remote_actor_avatar)
- Shared inbox delivery via collect_inboxes deduplication
- Broadcast Update(Person) to followers on UserUpdated event
- Paginated outbox: OrderedCollection + OrderedCollectionPage with cursor
- Announce/boost tracking in ap_announces table (migration 0011_ap_announces)
2026-05-11 22:59:52 +02:00
f2f1317660
importer feature
2026-05-10 21:23:56 +02:00
a47e3ae4e6
feat: update README with improved adapter descriptions and Docker usage instructions
2026-05-10 19:00:21 +02:00
c2a5541706
feat: implement event bus backend configuration for DB and NATS
2026-05-10 17:55:51 +02:00
dca50b46d1
feat: add SQLite and PostgreSQL event queue adapters with migrations
2026-05-10 17:46:16 +02:00
f4e7d4e359
feat: update README with enhanced feature descriptions and API documentation
2026-05-09 22:40:54 +02:00
ebab30b1ea
local file system
2026-05-09 14:17:25 +02:00
c1c57a2a5d
fix: remove redundant 'common' section from documentation
2026-05-04 20:28:06 +02:00
7ba4b39ced
feat: add Dockerfile, .dockerignore, and README; remove common crate
2026-05-04 15:19:29 +02:00