Commit Graph

287 Commits

Author SHA1 Message Date
9f894ebdf2 feat: feed ux improvements 2026-05-10 00:16:29 +02:00
f4e7d4e359 feat: update README with enhanced feature descriptions and API documentation 2026-05-09 22:40:54 +02:00
a078d5315e feat: integrate axum-governor for rate limiting and update dependencies 2026-05-09 22:35:08 +02:00
d89d373a91 feat: implement CSRF protection across forms and routes 2026-05-09 22:09:19 +02:00
e8874f9220 feat: add activity feed and user profile endpoints with corresponding DTOs 2026-05-09 21:40:45 +02:00
fa501706cd feat: add documentation crate and integrate OpenAPI specifications
- Added a new crate `doc` for API documentation.
- Integrated `utoipa` for OpenAPI support in the presentation layer.
- Updated routes to include social features (follow, unfollow, etc.) and diary export.
- Enhanced API request and response structures with new DTOs for social interactions.
- Updated `Cargo.toml` files to include new dependencies and features.
- Modified Dockerfile to copy the new documentation crate.
- Refactored existing handlers and routes to accommodate new API endpoints.
- Updated tests to cover new functionality and ensure proper API behavior.
2026-05-09 21:29:20 +02:00
f66f8745c7 feat: add export diary functionality and update API routes 2026-05-09 20:59:30 +02:00
5f9e047ce3 fix: add missing export adapter Cargo.toml to Dockerfile 2026-05-09 20:52:29 +02:00
dcfc17f542 export feature 2026-05-09 20:51:29 +02:00
1eaa3ca8a6 Refactor test stubs and consolidate panic implementations
- Removed redundant panic repository implementations in `event_handlers.rs` and `extractors.rs`.
- Introduced a single `Panic` struct to serve as a stub for various repository and service traits.
- Simplified test state creation by using a factory function `make_test_state` to reduce code duplication.
- Updated tests to utilize the new panic implementation and streamlined router setup for better readability.
2026-05-09 20:07:44 +02:00
89e78a0d1f Refactor application context and repository structure
- Updated `AppContext` to include separate repositories for movies, reviews, diaries, and stats.
- Modified use cases to utilize the new repository structure, ensuring that the correct repositories are called for their respective operations.
- Introduced `DiaryRepository` and `StatsRepository` traits to encapsulate diary and statistics-related operations.
- Updated all relevant use cases, handlers, and tests to reflect the changes in repository usage.
- Ensured that panic repositories are updated to implement the new traits for testing purposes.
2026-05-09 18:58:29 +02:00
29a5972c01 refactor: remove unused actor_handler import from ActivityPubService 2026-05-09 18:42:57 +02:00
eb4d17885e refactor: standardize user ID route parameter in ActivityPubService 2026-05-09 18:37:55 +02:00
e1f84b6796 Implement local follow and unfollow functionality in ActivityPubService 2026-05-09 18:28:44 +02:00
2120044f1a Refactor ActivityPub integration and add SQLite federation support
- Removed event-publisher dependency from Cargo.lock and Cargo.toml.
- Introduced sqlite-federation crate with necessary dependencies and implementation.
- Updated activitypub crate to use new ActivityPubPort trait for better abstraction.
- Refactored event handling to utilize domain ports instead of direct dependencies.
- Adjusted presentation layer to accommodate new ActivityPub service structure.
- Removed unused test setup for ActivityPub service in favor of NoopActivityPubService.
- Cleaned up SQLite adapter to remove unnecessary dependencies and streamline functionality.
2026-05-09 18:21:16 +02:00
7a43eb4de6 activitypub: remove files moved to activitypub-base 2026-05-09 17:27:57 +02:00
e8d9c0a501 dockerfile: add activitypub-base stub 2026-05-09 17:26:26 +02:00
8819266cf9 separation of activitypub 2026-05-09 17:23:06 +02:00
69f6587623 federation improvements 2026-05-09 15:45:08 +02:00
fa6eacb39f clean up 2026-05-09 14:42:03 +02:00
6cd332f758 todo: exporter 2026-05-09 14:30:11 +02:00
ebab30b1ea local file system 2026-05-09 14:17:25 +02:00
470b29c9e1 federation refinement 2026-05-09 13:53:45 +02:00
df71748897 activity-pub implementation 2026-05-08 21:26:50 +02:00
940c33047c feat: add favicon to the base template 2026-05-08 14:23:15 +02:00
06b3761401 fix: windowed pagination — show 1…current±2…last instead of all pages 2026-05-08 13:47:34 +02:00
4ea5f4cecf feat: add uuid dependency to Cargo.lock and create deploy script 2026-05-08 13:39:44 +02:00
a282539151 fix: profile delete redirect and open redirect via // 2026-05-08 13:33:59 +02:00
5f8eba9f84 fix: guard total_pages division in render_diary_page 2026-05-08 13:28:04 +02:00
e335b6ea9b feat: add page-number navigation to paginated views 2026-05-08 13:20:06 +02:00
8919c36ef6 feat: preserve pagination offset after review delete 2026-05-08 13:15:47 +02:00
53b7ac2e41 feat: accept date-only watched_at in review form 2026-05-08 13:12:56 +02:00
afb012ffde feat(config): add rate limit configuration to AppConfig and update related usages 2026-05-08 10:11:19 +02:00
46bd416410 feat(tui): update keyring initialization and enhance token handling in main function 2026-05-07 21:24:01 +02:00
9a84fcf061 feat(tui): call init_keyring at startup before first keyring operation 2026-05-07 21:10:57 +02:00
72542a9189 feat(tui): fix keyring import path, add init_keyring() with platform feature flags 2026-05-07 21:09:21 +02:00
71586a255a chore(tui): add keyring platform feature flags 2026-05-07 21:00:30 +02:00
eb25c61feb refactor: simplify token handling and enhance input rendering in UI 2026-05-07 00:43:08 +02:00
d5ebfe840a feat: enhance diary navigation with LoadPrev action and pagination hints 2026-05-07 00:35:03 +02:00
fcd8d2122a tui - client app. 2026-05-07 00:14:47 +02:00
bf2f95963a css 2026-05-04 23:24:04 +02:00
b5cd932bfb feat: per-page titles, OG/SEO tags, HOST/PORT env vars, BASE_URL in config 2026-05-04 22:38:58 +02:00
ca06e42caf fix: update .gitignore to include db-shm and db-wal files 2026-05-04 22:23:08 +02:00
a49fbad26c fix: WAL mode + busy_timeout for SQLite, fix rate limiter TOCTOU race 2026-05-04 22:10:19 +02:00
5852af0b05 refactor: use constant for minimum password length and API rate limit 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 2026-05-04 21:38:23 +02:00
789a04d38f clean up 2026-05-04 21:24:44 +02:00
2934a3c3fd fix: use pixel bar heights and show avg rating values in trends chart 2026-05-04 21:22:47 +02:00
bb14b26dcd fix: count distinct movies per user in users list, not total reviews 2026-05-04 21:10:32 +02:00
6a42e183b9 fix: read BASE_URL from env for RSS channel link 2026-05-04 21:06:51 +02:00