-
6cd332f758
todo: exporter
Gabriel Kaszewski
2026-05-09 14:30:11 +02:00
-
ebab30b1ea
local file system
Gabriel Kaszewski
2026-05-09 14:17:25 +02:00
-
470b29c9e1
federation refinement
Gabriel Kaszewski
2026-05-09 13:53:45 +02:00
-
df71748897
activity-pub implementation
Gabriel Kaszewski
2026-05-08 21:26:50 +02:00
-
940c33047c
feat: add favicon to the base template
Gabriel Kaszewski
2026-05-08 14:23:15 +02:00
-
06b3761401
fix: windowed pagination — show 1…current±2…last instead of all pages
Gabriel Kaszewski
2026-05-08 13:47:34 +02:00
-
4ea5f4cecf
feat: add uuid dependency to Cargo.lock and create deploy script
Gabriel Kaszewski
2026-05-08 13:39:44 +02:00
-
a282539151
fix: profile delete redirect and open redirect via //
Gabriel Kaszewski
2026-05-08 13:33:59 +02:00
-
5f8eba9f84
fix: guard total_pages division in render_diary_page
Gabriel Kaszewski
2026-05-08 13:28:04 +02:00
-
e335b6ea9b
feat: add page-number navigation to paginated views
Gabriel Kaszewski
2026-05-08 13:20:06 +02:00
-
8919c36ef6
feat: preserve pagination offset after review delete
Gabriel Kaszewski
2026-05-08 13:15:47 +02:00
-
53b7ac2e41
feat: accept date-only watched_at in review form
Gabriel Kaszewski
2026-05-08 13:12:56 +02:00
-
afb012ffde
feat(config): add rate limit configuration to AppConfig and update related usages
Gabriel Kaszewski
2026-05-08 10:11:19 +02:00
-
46bd416410
feat(tui): update keyring initialization and enhance token handling in main function
Gabriel Kaszewski
2026-05-07 21:24:01 +02:00
-
9a84fcf061
feat(tui): call init_keyring at startup before first keyring operation
Gabriel Kaszewski
2026-05-07 21:10:57 +02:00
-
72542a9189
feat(tui): fix keyring import path, add init_keyring() with platform feature flags
Gabriel Kaszewski
2026-05-07 21:09:21 +02:00
-
71586a255a
chore(tui): add keyring platform feature flags
Gabriel Kaszewski
2026-05-07 21:00:30 +02:00
-
eb25c61feb
refactor: simplify token handling and enhance input rendering in UI
Gabriel Kaszewski
2026-05-07 00:43:08 +02:00
-
d5ebfe840a
feat: enhance diary navigation with LoadPrev action and pagination hints
Gabriel Kaszewski
2026-05-07 00:35:03 +02:00
-
fcd8d2122a
tui - client app.
Gabriel Kaszewski
2026-05-07 00:14:47 +02:00
-
bf2f95963a
css
Gabriel Kaszewski
2026-05-04 23:24:04 +02:00
-
b5cd932bfb
feat: per-page titles, OG/SEO tags, HOST/PORT env vars, BASE_URL in config
Gabriel Kaszewski
2026-05-04 22:38:58 +02:00
-
ca06e42caf
fix: update .gitignore to include db-shm and db-wal files
Gabriel Kaszewski
2026-05-04 22:23:08 +02:00
-
a49fbad26c
fix: WAL mode + busy_timeout for SQLite, fix rate limiter TOCTOU race
Gabriel Kaszewski
2026-05-04 22:10:19 +02:00
-
5852af0b05
refactor: use constant for minimum password length and API rate limit
Gabriel Kaszewski
2026-05-04 21:41:07 +02:00
-
6cb3cf072a
fix: security hardening — SameSite=Strict, Secure cookie flag, password min length, generic registration error, auth rate limiting
Gabriel Kaszewski
2026-05-04 21:38:23 +02:00
-
789a04d38f
clean up
Gabriel Kaszewski
2026-05-04 21:24:44 +02:00
-
2934a3c3fd
fix: use pixel bar heights and show avg rating values in trends chart
Gabriel Kaszewski
2026-05-04 21:22:47 +02:00
-
bb14b26dcd
fix: count distinct movies per user in users list, not total reviews
Gabriel Kaszewski
2026-05-04 21:10:32 +02:00
-
6a42e183b9
fix: read BASE_URL from env for RSS channel link
Gabriel Kaszewski
2026-05-04 21:06:51 +02:00
-
fe7f915302
fix: move rss_url after user lookup, extract RSS_FEED_LIMIT constant
Gabriel Kaszewski
2026-05-04 21:05:08 +02:00
-
c30b3a1ae2
feat: point RSS nav link to user feed when on profile page
Gabriel Kaszewski
2026-05-04 21:00:31 +02:00
-
cdc15d733d
feat: add GET /users/{id}/feed.rss per-user RSS feed handler
Gabriel Kaszewski
2026-05-04 20:58:20 +02:00
-
549b0bbe09
feat: add rss_url to HtmlPageContext, use it in nav
Gabriel Kaszewski
2026-05-04 20:55:31 +02:00
-
a3b6f3d894
fix: remove unused feed_title from RssAdapter
Gabriel Kaszewski
2026-05-04 20:54:32 +02:00
-
72ce31ded2
feat: add title param to render_feed, use dynamic title in RSS adapter
Gabriel Kaszewski
2026-05-04 20:52:07 +02:00
-
f53a129331
feat: add user_id filter to GetDiaryQuery and get_diary use case
Gabriel Kaszewski
2026-05-04 20:49:31 +02:00
-
6565ec6e66
fix: derive heatmap color from primary instead of hardcoded blue
Gabriel Kaszewski
2026-05-04 20:38:13 +02:00
-
f5129c8ee7
fix: count distinct movies in user stats, not total reviews
Gabriel Kaszewski
2026-05-04 20:35:48 +02:00
-
7f431eca23
fix: remove timezone-broken future-date check from Review::new
Gabriel Kaszewski
2026-05-04 20:29:11 +02:00
-
c1c57a2a5d
fix: remove redundant 'common' section from documentation
Gabriel Kaszewski
2026-05-04 20:28:06 +02:00
-
6c5825ea48
fix: update test assertion for new default page limit
Gabriel Kaszewski
2026-05-04 20:18:04 +02:00
-
4b3ccccf6f
fix: set domain DEFAULT_LIMIT to 5 for pagination
Gabriel Kaszewski
2026-05-04 20:16:18 +02:00
-
1ad0684249
fix: remove email from top bar nav
Gabriel Kaszewski
2026-05-04 20:13:14 +02:00
-
12818d41a4
fix: lower default page limit to 5
Gabriel Kaszewski
2026-05-04 20:11:55 +02:00
-
ada1fc78a9
feat: add chrono dependency to Cargo.lock
Gabriel Kaszewski
2026-05-04 19:48:40 +02:00
-
94e3b12dca
fix: add missing trait stubs to test mock impls
Gabriel Kaszewski
2026-05-04 19:23:56 +02:00
-
18b373f147
feat: add profile/feed/chart CSS styles
Gabriel Kaszewski
2026-05-04 19:17:39 +02:00
-
4dd1cd7fc5
fix: has_more overflow, magic constant, remove dead get_index handler
Gabriel Kaszewski
2026-05-04 19:15:42 +02:00
-
0b6ac2eb77
feat: wire activity feed, users list, and profile page handlers
Gabriel Kaszewski
2026-05-04 19:12:06 +02:00
-
6bd1ce8c4a
fix: pagination underflow, remove |safe, move bar_height_pct to adapter
Gabriel Kaszewski
2026-05-04 19:09:28 +02:00
-
af945bcd54
fix: adjust domain accessors and template adapter for Askama compatibility
Gabriel Kaszewski
2026-05-04 19:03:48 +02:00
-
89dd2f3a47
feat: add activity feed, users, and profile HTML templates
Gabriel Kaszewski
2026-05-04 19:03:44 +02:00
-
77e1e04a44
fix: correct relative_time future guard, heatmap exact match, max clarity
Gabriel Kaszewski
2026-05-04 18:57:17 +02:00
-
b15b18409d
feat: add Askama template structs for feed/users/profile
Gabriel Kaszewski
2026-05-04 18:55:18 +02:00
-
d95d65c943
fix: validate view param, document V1 history load
Gabriel Kaszewski
2026-05-04 18:53:26 +02:00
-
0d2ca3ab6c
feat: add activity feed/users/profile use cases and port methods
Gabriel Kaszewski
2026-05-04 18:48:16 +02:00
-
e9b01eea2b
fix: address code review issues in SQLite adapter
Gabriel Kaszewski
2026-05-04 18:46:31 +02:00
-
f5fe8aeaff
feat: implement feed/stats/history/trends SQLite queries
Gabriel Kaszewski
2026-05-04 18:42:45 +02:00
-
bb1337c5b1
feat: impl UserRepository::list_with_stats
Gabriel Kaszewski
2026-05-04 18:40:58 +02:00
-
70c8676ae3
feat: add feed/stats SQLite row types
Gabriel Kaszewski
2026-05-04 18:32:59 +02:00
-
96635360a6
feat: add feed/profile/stats port methods to repositories
Gabriel Kaszewski
2026-05-04 18:30:01 +02:00
-
923d445431
fix: use UserId newtype in UserSummary instead of raw Uuid
Gabriel Kaszewski
2026-05-04 18:29:10 +02:00
-
5ada90a99f
feat: add feed/profile domain models, extend DiaryFilter
Gabriel Kaszewski
2026-05-04 18:26:55 +02:00
-
02d8741ea5
feat: update color scheme to use primary variables for consistency in styling
Gabriel Kaszewski
2026-05-04 17:47:00 +02:00
-
2a347dbdc2
feat: enhance movie rating display with star icons and improved styling
Gabriel Kaszewski
2026-05-04 15:43:02 +02:00
-
41da6e1f56
feat: enhance styling and layout; add background image and improve UI elements
Gabriel Kaszewski
2026-05-04 15:39:15 +02:00
-
7ba4b39ced
feat: add Dockerfile, .dockerignore, and README; remove common crate
Gabriel Kaszewski
2026-05-04 15:19:29 +02:00
-
7e7c1ee1f4
Refactor movie review logging and resolution strategies
Gabriel Kaszewski
2026-05-04 15:08:04 +02:00
-
7913b3e0e5
fix(tests): add missing trait methods to PanicRepo mocks
Gabriel Kaszewski
2026-05-04 14:37:48 +02:00
-
39ac5a0c50
fix(presentation): restore user_id in get_new_review_page for nav bar
Gabriel Kaszewski
2026-05-04 14:34:46 +02:00
-
36f3a9c44b
fix(presentation): pass None user_id for non-diary page contexts
Gabriel Kaszewski
2026-05-04 14:32:30 +02:00
-
7c704f39b3
feat(template): add user_id to HtmlPageContext and delete button to diary
Gabriel Kaszewski
2026-05-04 14:31:12 +02:00
-
6d71da9f1e
fix(presentation): use {id} syntax in delete review route
Gabriel Kaszewski
2026-05-04 14:29:24 +02:00
-
977a8ed8fd
feat(presentation): add POST /reviews/:id/delete handler and route
Gabriel Kaszewski
2026-05-04 14:27:43 +02:00
-
f74a36a16f
feat(presentation): add DELETE /api/reviews/:id handler and route
Gabriel Kaszewski
2026-05-04 14:24:48 +02:00
-
8d7700995d
feat(sqlite): implement get_review_by_id, delete_review, delete_movie
Gabriel Kaszewski
2026-05-04 14:21:25 +02:00
-
de84bb7331
feat(application): add DeleteReviewCommand and delete_review use case
Gabriel Kaszewski
2026-05-04 14:17:13 +02:00
-
4c38724d93
feat(domain): add get_review_by_id to MovieRepository
Gabriel Kaszewski
2026-05-04 14:15:04 +02:00
-
c8cf2f2836
feat(gitignore): add .superpowers and docs/ to .gitignore
Gabriel Kaszewski
2026-05-04 14:00:56 +02:00
-
6e50b64245
feat(database): remove unused SQL queries and update Cargo dependencies
Gabriel Kaszewski
2026-05-04 14:00:33 +02:00
-
528a16a235
feat(css): add monospace minimal stylesheet
Gabriel Kaszewski
2026-05-04 13:38:57 +02:00
-
8ee54817d7
feat(routes): replace /diary with /, add login/logout/register/reviews/new routes
Gabriel Kaszewski
2026-05-04 13:38:19 +02:00
-
5c0be8b2ca
feat(handlers): add HTML handlers for login, logout, register, new review, diary index
Gabriel Kaszewski
2026-05-04 13:38:16 +02:00
-
17be6f529a
feat(dtos): add LoginForm, RegisterForm, ErrorQuery
Gabriel Kaszewski
2026-05-04 13:38:14 +02:00
-
7560ff8ac5
feat(extractors): add OptionalCookieUser and RequiredCookieUser
Gabriel Kaszewski
2026-05-04 13:34:31 +02:00
-
2a4f1585dc
feat(templates): add base layout, login, register, new_review templates; update diary
Gabriel Kaszewski
2026-05-04 13:30:33 +02:00
-
37c7c77399
feat(domain): add find_by_id to UserRepository + SQLite impl
Gabriel Kaszewski
2026-05-04 13:28:20 +02:00
-
657e9d443d
feat(ports): extend HtmlRenderer with page context and new render methods
Gabriel Kaszewski
2026-05-04 13:20:30 +02:00
-
5e1489058d
docs: add frontend HTML design spec
Gabriel Kaszewski
2026-05-04 13:19:21 +02:00
-
b7f4855ba3
fix(database): update database connection to use DATABASE_URL with SqliteConnectOptions
Gabriel Kaszewski
2026-05-04 12:54:28 +02:00
-
494c907729
feat(wiring): wire PosterSyncHandler into event channel in main.rs
Gabriel Kaszewski
2026-05-04 12:44:53 +02:00
-
fb27e23861
fix(event-handlers): expect over unwrap, panic-stub comment, fix deprecated chrono call
Gabriel Kaszewski
2026-05-04 12:42:03 +02:00
-
7ab7561133
feat(presentation): implement PosterSyncHandler with retry
Gabriel Kaszewski
2026-05-04 12:37:57 +02:00
-
5fffdc93c7
feat(application): derive Clone on SyncPosterCommand
Gabriel Kaszewski
2026-05-04 12:35:10 +02:00
-
e17082b11d
test(event-publisher): fix flaky sleep synchronization in EventWorker tests
Gabriel Kaszewski
2026-05-04 12:34:29 +02:00
-
c37c79ac6c
feat(event-publisher): add EventHandler trait and fan-out in EventWorker
Gabriel Kaszewski
2026-05-04 12:32:44 +02:00
-
bda0531797
feat(event-publisher): add event publisher adapter with configuration and integration
Gabriel Kaszewski
2026-05-04 12:30:42 +02:00
-
a13481cb69
docs: event-driven poster sync implementation plan
Gabriel Kaszewski
2026-05-04 12:30:20 +02:00
-
6f21e8f8a2
docs: event-driven poster sync design spec
Gabriel Kaszewski
2026-05-04 12:24:52 +02:00