Gabriel Kaszewski GKaszewski
GKaszewski closed issue GKaszewski/movies-diary#6 2026-06-11 23:46:39 +00:00
fix: domain inconsistencies — raw String in event VO and ImportSession constructor pattern
GKaszewski pushed to master at GKaszewski/movies-diary 2026-06-11 23:46:37 +00:00
b844339795 fix(domain): ImportSession::new() generates own ID, add from_persistence()
cedb13d7a8 fix(domain): typed VOs in MovieEnrichmentRequested and PersonEnrichmentRequested
Compare 3 commits »
GKaszewski closed issue GKaszewski/movies-diary#5 2026-06-11 23:20:57 +00:00
perf: stream diary export instead of loading all entries into memory
GKaszewski pushed to master at GKaszewski/movies-diary 2026-06-11 23:20:53 +00:00
aec5f6b058 feat(dependencies): add async-stream and bytes to Cargo.toml and Cargo.lock
d9234ecd11 fix(presentation): log errors in diary export stream
010ee404c8 feat(presentation): pipe diary export stream to Body::from_stream
d4c42f8567 feat(application): export_diary::execute returns BoxStream<Bytes>
9c44330f14 feat(adapters): stream_user_history in SQLite and Postgres diary adapters
Compare 7 commits »
GKaszewski closed issue GKaszewski/movies-diary#4 2026-06-11 22:42:37 +00:00
perf: import execute processes rows sequentially — slow for large imports with TMDB lookups
GKaszewski pushed to master at GKaszewski/movies-diary 2026-06-11 22:42:35 +00:00
bf272bf8d9 perf(import): parallelize row processing with JoinSet + Semaphore (limit 10)
GKaszewski closed issue GKaszewski/movies-diary#3 2026-06-11 22:32:56 +00:00
bug: nack() is never called — transient handler failures silently drop events
GKaszewski pushed to master at GKaszewski/movies-diary 2026-06-11 22:32:54 +00:00
6f34b7b5ec fix(worker): nack on transient handler failures, ack on permanent
17d4de461b feat(domain): DomainError::is_transient() for retry classification
Compare 2 commits »
GKaszewski closed issue GKaszewski/movies-diary#2 2026-06-11 22:15:36 +00:00
refactor: split SqliteMovieRepository fat repo into per-port structs
GKaszewski pushed to master at GKaszewski/movies-diary 2026-06-11 22:15:34 +00:00
40cb15e7cb refactor(postgres): split fat PostgresRepository into per-port structs
c80287bb9e refactor(presentation): use split sqlite repos in api_test
06ab5c8df1 refactor(sqlite): split fat SqliteMovieRepository into per-port structs
Compare 3 commits »
GKaszewski closed issue GKaszewski/movies-diary#1 2026-06-11 21:20:36 +00:00
Refactor AppContext into scoped dependency structs per module
GKaszewski pushed to master at GKaszewski/movies-diary 2026-06-11 21:20:33 +00:00
57520c00f3 refactor: move AppContext to presentation crate, structurally enforce boundary
b5cc7f8371 refactor(search): fix test to not use AppContext
9ca5ada924 refactor(auth): LoginDeps, RegisterDeps, RefreshDeps, RegisterAndLoginDeps, RefreshSessionCleanupJob
70d1f10e3d refactor(users): fix test files to not use AppContext
61980b0cfb refactor(users): GetProfileDeps, UpdateProfileDeps, scoped Arc deps
Compare 16 commits »
GKaszewski pushed to master at GKaszewski/movies-diary 2026-06-11 12:52:14 +00:00
8ac87a3735 refactor: split jobs.rs into per-context modules
4f0f44dec3 test: refresh token rotation, logout revocation, login refresh token
96c753c2c6 spa: silent refresh on 401, persistent login
822f3f9d9c api: refresh + logout endpoints, update login response
Compare 40 commits »
GKaszewski commented on issue GKaszewski/movies-diary#7 2026-06-10 09:48:22 +00:00
feat: per-entity federation privacy toggles for reviews and watchlist

Performance note: the current pattern uses per-flag DB methods (get_user_federate_goals, etc.) — each is a separate query. With three flags, the event handler could issue up to 3 DB…

GKaszewski opened issue GKaszewski/movies-diary#7 2026-06-10 09:47:46 +00:00
feat: per-entity federation privacy toggles for reviews and watchlist
GKaszewski opened issue GKaszewski/movies-diary#6 2026-06-10 09:33:52 +00:00
fix: domain inconsistencies — raw String in event VO and ImportSession constructor pattern
GKaszewski commented on issue GKaszewski/movies-diary#4 2026-06-10 09:30:01 +00:00
perf: import execute processes rows sequentially — slow for large imports with TMDB lookups

Also affects: crates/application/src/integrations/confirm.rs — same sequential loop over confirmations, each calling review_logger.log_review() which can trigger a synchronous TMDB lookup…

GKaszewski commented on issue GKaszewski/movies-diary#5 2026-06-10 09:22:26 +00:00
perf: stream diary export instead of loading all entries into memory

Constraint: the CSV column order (title,year,director,rating,comment,watched_at,external_metadata_id) must not change. Export and import are designed to be a round-trip — users can dump…

GKaszewski opened issue GKaszewski/movies-diary#5 2026-06-10 09:21:40 +00:00
perf: stream diary export instead of loading all entries into memory
GKaszewski opened issue GKaszewski/movies-diary#4 2026-06-10 09:18:46 +00:00
perf: import execute processes rows sequentially — slow for large imports with TMDB lookups