This website requires JavaScript.
22b1dd3f56
fix: portal wrapup share card to escape transform stacking context
master
Gabriel Kaszewski
2026-07-27 14:07:36 +02:00
813778dc7e
fix: users table has avatar_path not avatar_url, resolve to full URL
Gabriel Kaszewski
2026-07-27 13:08:45 +02:00
063bab910b
ADR-0003: local follows bypass AP, unified FollowCommand/FollowQuery ports, FederationRepos struct, base_url normalization
Gabriel Kaszewski
2026-07-27 12:56:30 +02:00
839cababe4
bump k-ap 0.5.0, decompose repo traits, LocalObject, ActivityStreamsType enum, split follow modules
Gabriel Kaszewski
2026-07-27 11:46:24 +02:00
fdf286ca94
fix: remove split-debuginfo option from dev profile in Cargo.toml
Gabriel Kaszewski
2026-07-27 11:19:54 +02:00
e30e785936
bump k-ap to 0.4.6, add nodeinfo metadata
Gabriel Kaszewski
2026-07-16 09:56:54 +02:00
10be024bdf
fix: update k-ap dependency version to 0.4.4
Gabriel Kaszewski
2026-07-11 10:45:43 +02:00
1e33c6d184
fix: update k-ap dependency version to 0.4.4
Gabriel Kaszewski
2026-07-11 10:40:53 +02:00
96168cfc7b
fix: update k-ap dependency version to 0.4.3
Gabriel Kaszewski
2026-07-11 10:21:28 +02:00
95b839355f
fix: portal search overlay to escape transform stacking context, auto-fill IMDB from ttXXXX input
Gabriel Kaszewski
2026-07-11 01:44:08 +02:00
85285b2a52
github ci fix
Gabriel Kaszewski
2026-07-10 23:29:17 +02:00
c3d8bcad29
fix: collapse nested if for clippy
Gabriel Kaszewski
2026-07-10 23:20:49 +02:00
8aa64ab174
fix: restrict swipe-tabs drag to touch-only, prevent ghost swipe after drawer close
Gabriel Kaszewski
2026-07-10 22:52:50 +02:00
d84c54bb30
feat: page transitions, poster hover, star bounce, reveal scale-up
Gabriel Kaszewski
2026-07-10 22:51:09 +02:00
41bed3583d
feat: calendar diary view on profile (#15 )
Gabriel Kaszewski
2026-07-10 22:32:47 +02:00
0a8b52514d
feat: calendar diary view on profile (#15 )
Gabriel Kaszewski
2026-07-10 22:22:13 +02:00
a0c0ba1c5d
rename profile Trends tab to Stats
Gabriel Kaszewski
2026-07-10 22:01:56 +02:00
94cab1ea7c
fix: lock body scroll + remove scrollbar on wrapup share card
Gabriel Kaszewski
2026-07-10 21:58:38 +02:00
3dde0d13db
docs: sync README + architecture diagram with current codebase
Gabriel Kaszewski
2026-07-10 21:56:16 +02:00
1c81d7768c
fix: duplicate count in wrapup watch medium display
Gabriel Kaszewski
2026-07-10 21:53:21 +02:00
07df6fe207
review detail sheet on diary/profile/community, wrapup period presets
Gabriel Kaszewski
2026-07-10 21:51:42 +02:00
1a7448fd3d
fix: use strict > for min-count filters in wrapup stats
Gabriel Kaszewski
2026-07-10 21:42:29 +02:00
587dcc04de
feat: richer profile stats, wrapup min-count filter, watch medium distribution
Gabriel Kaszewski
2026-07-10 21:38:08 +02:00
498f3b1818
edit sheet delete btn, fix medium icons, 44px touch targets, fix drag leak on drawer close
Gabriel Kaszewski
2026-07-10 17:46:56 +02:00
0ee2e04fe5
refactor(spa): collapse api/hooks telescope, merge review sheets, extract tab+list modules
Gabriel Kaszewski
2026-07-10 17:38:58 +02:00
89045414cf
fmt
Gabriel Kaszewski
2026-07-10 17:10:59 +02:00
2de6690401
fix: import remote outbox on outbound follow accept (k-ap 0.4.2)
Gabriel Kaszewski
2026-07-10 17:02:14 +02:00
12378c3649
fmt
Gabriel Kaszewski
2026-07-10 16:32:07 +02:00
46b8488b09
refactor: Feed uses SocialIdentity matching, deps From impl, remove get_accepted_following_urls
Gabriel Kaszewski
2026-07-10 16:31:05 +02:00
7e02f15a85
refactor: consolidate 11 social use cases → SocialCmd/SocialQry enum dispatch
Gabriel Kaszewski
2026-07-10 16:26:57 +02:00
d60c47199c
fix: FollowTarget enum — actor_url no longer lies about holding a handle
Gabriel Kaszewski
2026-07-10 16:18:57 +02:00
2484f1e603
fmt
Gabriel Kaszewski
2026-07-10 16:03:36 +02:00
44d7df33a2
refactor: remove SocialQueryPort — replaced by SocialQuery + FederationAdminQuery
Gabriel Kaszewski
2026-07-10 16:02:27 +02:00
7cfa234902
refactor: SocialActor rich queries, migrate remaining handlers, slim SocialQueryPort
Gabriel Kaszewski
2026-07-10 15:52:37 +02:00
3ee75305a9
refactor: move ap_service from AppState to AppContext.Services
Gabriel Kaszewski
2026-07-10 15:34:23 +02:00
322e9ee81a
feat: unified social identity layer — SocialIdentity, ports, use cases, adapter
Gabriel Kaszewski
2026-07-10 15:29:46 +02:00
96ce5f7d26
docs: domain glossary (16 terms) + ADR-0002 unified social identity
Gabriel Kaszewski
2026-07-10 15:29:31 +02:00
6bf4ffc4ab
refactor: update rating validation logic — enforce minimum rating value
Gabriel Kaszewski
2026-07-10 13:22:21 +02:00
fa881c3fd1
docs: update architecture.mmd+README — DiaryQuery, GoalCommand/GoalQuery, adapter-common crate
Gabriel Kaszewski
2026-07-10 05:48:17 +02:00
0eb56c2be6
fmt
Gabriel Kaszewski
2026-07-10 05:45:44 +02:00
c224cc6bd2
refactor: extract adapter-common crate — shared sqlx error mapping, row-to-domain conversions, date/uuid utils
Gabriel Kaszewski
2026-07-10 05:44:42 +02:00
6a9b4e5c00
refactor: LOW+MEDIUM cleanups — CQRS DiaryQuery/GoalCommand+GoalQuery, test-helpers out of production, decompose get_user_profile_html, dedup secure_flag, remove vestigial social_query, drop PersistedImportSession, LoginCommand rename, DeleteAccountDeps, PersonId macro, ReviewSortBy rename, TUI Command for fs::read, generic PaginatedResponse<T>, noop ports for production fallbacks
Gabriel Kaszewski
2026-07-10 05:29:02 +02:00
5e0dde656c
refactor: LOW cleanups — dedup secure_flag, remove vestigial social_query, drop PersistedImportSession, rename LoginQuery→LoginCommand, own DeleteAccountDeps, PersonId via uuid_id! macro, rename SortDirection→ ReviewSortBy, TUI fs::read→Command, generic PaginatedResponse<T>
Gabriel Kaszewski
2026-07-10 05:04:35 +02:00
5266646b0b
fix: remove unused watch_event_query binding, prefix dead field for clippy -D warnings
Gabriel Kaszewski
2026-07-10 04:32:54 +02:00
2e32847129
docs+fix: update arch diagram/README/Insomnia, ApiError returns JSON
Gabriel Kaszewski
2026-07-10 03:52:49 +02:00
dee013c7eb
refactor: remaining MEDIUM — CQRS splits, DI Deps, profile dedup, event Value, response enum
Gabriel Kaszewski
2026-07-10 03:50:43 +02:00
12da356a40
refactor: fix HIGH+MEDIUM architectural violations from code review
Gabriel Kaszewski
2026-07-10 02:08:39 +02:00
26152660bb
fix: show remote user's reviews on their profile (include_remote when user_id set)
Gabriel Kaszewski
2026-07-10 00:51:33 +02:00
c8f93bdd35
fix: human-readable watch medium labels in classic HTML (Media Server, Physical Media)
Gabriel Kaszewski
2026-07-10 00:44:23 +02:00
081a20ae31
fix: clippy too-many-args on update_remote_review, use RemoteReviewUpdate struct
Gabriel Kaszewski
2026-07-10 00:41:51 +02:00
cde2f5aaae
feat: federate watch_medium in AP review objects
Gabriel Kaszewski
2026-07-10 00:38:29 +02:00
f584bcd724
fix: diary page filters by authenticated user, excludes federated reviews
Gabriel Kaszewski
2026-07-10 00:35:51 +02:00
925f74bb3d
feat: auto-grow comment textarea, review detail sheet for full text
Gabriel Kaszewski
2026-07-10 00:33:49 +02:00
306f4489fd
fix: hoist TooltipProvider to app root, remove per-component instances
Gabriel Kaszewski
2026-07-10 00:25:04 +02:00
5d4622e046
feat: tooltip with concrete date on relative timestamps in SPA
Gabriel Kaszewski
2026-07-10 00:22:14 +02:00
2e2adef5e0
fix: profile shows only own reviews, federation display name in community
Gabriel Kaszewski
2026-07-10 00:19:23 +02:00
206ad44e82
fix: auto-set WatchMedium::MediaServer on webhook watch confirms
Gabriel Kaszewski
2026-07-10 00:07:52 +02:00
8eecd06fb8
docs: update README + architecture for WatchMedium and review editing
Gabriel Kaszewski
2026-07-10 00:05:36 +02:00
29cc68b07c
feat: add WatchMedium field, general review editing, configurable deploy
Gabriel Kaszewski
2026-07-10 00:01:14 +02:00
9794babe06
feat: implement federated profile handling with support for remote actor URLs across multiple components
Gabriel Kaszewski
2026-07-01 00:13:28 +02:00
d7fbf8d9e2
feat: enhance review handling by adding actor URL support across multiple components
Gabriel Kaszewski
2026-06-30 03:34:52 +02:00
9f6ba55afc
fix: update SQL queries to filter reviews with null remote_actor_url
Gabriel Kaszewski
2026-06-30 02:57:58 +02:00
10c811d9a7
docs: update README and architecture diagrams to reflect new ActivityPub features and user account management
Gabriel Kaszewski
2026-06-30 02:31:40 +02:00
5ae38c834a
making it AP complaint
Gabriel Kaszewski
2026-06-30 02:25:42 +02:00
943a0abe54
refactor: reorganize HtmlPageContext and update imports across modules
Gabriel Kaszewski
2026-06-30 00:07:20 +02:00
9c06fbd33e
refactor
Gabriel Kaszewski
2026-06-29 23:54:59 +02:00
bb17beb80d
restructure
Gabriel Kaszewski
2026-06-29 23:38:53 +02:00
7faf14fb2f
docs: update project description to reflect current scope
Gabriel Kaszewski
2026-06-12 12:53:15 +02:00
ddb5966c9b
docs: mention Insomnia collection in API section
Gabriel Kaszewski
2026-06-12 12:51:24 +02:00
4ec231017e
docs: badges, TOC, quick start, env var table, screenshots
Gabriel Kaszewski
2026-06-12 12:46:31 +02:00
fab236688b
screenshots
Gabriel Kaszewski
2026-06-12 12:31:13 +02:00
4683a408d7
fix(spa): use import type for UpdateUserSettingsRequest
Gabriel Kaszewski
2026-06-12 02:29:50 +02:00
6d4c70553a
fix: remove unused UserFederationSettingsQuery import in worker/db.rs
Gabriel Kaszewski
2026-06-12 02:28:02 +02:00
ca7ca51949
feat: per-entity federation privacy toggles for reviews and watchlist
Gabriel Kaszewski
2026-06-12 02:26:01 +02:00
33aa5bdab3
fmt
Gabriel Kaszewski
2026-06-12 01:46:16 +02:00
b844339795
fix(domain): ImportSession::new() generates own ID, add from_persistence()
Gabriel Kaszewski
2026-06-12 01:41:03 +02:00
cedb13d7a8
fix(domain): typed VOs in MovieEnrichmentRequested and PersonEnrichmentRequested
Gabriel Kaszewski
2026-06-12 01:34:47 +02:00
aec5f6b058
feat(dependencies): add async-stream and bytes to Cargo.toml and Cargo.lock refactor(adapters): update diary.rs to use BoxStream from futures
Gabriel Kaszewski
2026-06-12 01:20:45 +02:00
d9234ecd11
fix(presentation): log errors in diary export stream
Gabriel Kaszewski
2026-06-12 01:18:54 +02:00
010ee404c8
feat(presentation): pipe diary export stream to Body::from_stream
Gabriel Kaszewski
2026-06-12 01:15:23 +02:00
d4c42f8567
feat(application): export_diary::execute returns BoxStream<Bytes>
Gabriel Kaszewski
2026-06-12 01:11:36 +02:00
9c44330f14
feat(adapters): stream_user_history in SQLite and Postgres diary adapters
Gabriel Kaszewski
2026-06-12 01:10:21 +02:00
2fa118570f
feat(export): stream_entries — CSV/JSON streaming via BoxStream<Bytes>
Gabriel Kaszewski
2026-06-12 01:08:11 +02:00
ded7517a8a
feat(domain): DiaryRepository::stream_user_history, DiaryExporter::stream_entries
Gabriel Kaszewski
2026-06-12 01:05:32 +02:00
bf272bf8d9
perf(import): parallelize row processing with JoinSet + Semaphore (limit 10)
Gabriel Kaszewski
2026-06-12 00:40:27 +02:00
6f34b7b5ec
fix(worker): nack on transient handler failures, ack on permanent
Gabriel Kaszewski
2026-06-12 00:30:06 +02:00
17d4de461b
feat(domain): DomainError::is_transient() for retry classification
Gabriel Kaszewski
2026-06-12 00:27:16 +02:00
40cb15e7cb
refactor(postgres): split fat PostgresRepository into per-port structs
Gabriel Kaszewski
2026-06-12 00:00:15 +02:00
c80287bb9e
refactor(presentation): use split sqlite repos in api_test
Gabriel Kaszewski
2026-06-11 23:52:14 +02:00
06ab5c8df1
refactor(sqlite): split fat SqliteMovieRepository into per-port structs
Gabriel Kaszewski
2026-06-11 23:49:55 +02:00
57520c00f3
refactor: move AppContext to presentation crate, structurally enforce boundary
Gabriel Kaszewski
2026-06-11 23:18:28 +02:00
b5cc7f8371
refactor(search): fix test to not use AppContext
Gabriel Kaszewski
2026-06-11 23:00:01 +02:00
9ca5ada924
refactor(auth): LoginDeps, RegisterDeps, RefreshDeps, RegisterAndLoginDeps, RefreshSessionCleanupJob
Gabriel Kaszewski
2026-06-11 22:58:42 +02:00
70d1f10e3d
refactor(users): fix test files to not use AppContext
Gabriel Kaszewski
2026-06-11 22:49:44 +02:00
61980b0cfb
refactor(users): GetProfileDeps, UpdateProfileDeps, scoped Arc deps
Gabriel Kaszewski
2026-06-11 22:47:17 +02:00
7bf5c47f5b
refactor(diary): DeleteReviewDeps, GetMovieSocialPageDeps, GetActivityFeedDeps
Gabriel Kaszewski
2026-06-11 22:37:35 +02:00
ddf100cfc2
refactor(wrapup): scoped deps — HandleWrapUpRequestedDeps, flat-Arc jobs
Gabriel Kaszewski
2026-06-11 22:29:30 +02:00
cdff0de53d
refactor(movies): collapse single-field deps structs to Arc params
Gabriel Kaszewski
2026-06-11 22:17:09 +02:00
1e62f12903
refactor(movies): EnrichMovieDeps, ReindexSearchDeps, SyncPosterDeps, SearchReindexHandler, EnrichmentStalenessJob
Gabriel Kaszewski
2026-06-11 22:13:25 +02:00
66bd138927
refactor(person): EnrichPersonDeps + GetPersonDeps, PersonEnrichmentHandler
Gabriel Kaszewski
2026-06-11 22:05:38 +02:00