|
|
411e565465
|
docs(cache,search): update module and function comments
|
2026-06-18 09:55:45 +08:00 |
|
|
|
24bc6f44a0
|
fix(tasks): invalidate session cache after cleaning expired sessions
|
2026-06-18 09:55:04 +08:00 |
|
|
|
518b4e5d64
|
refactor(auth): store SessionUser instead of full User in session cache
|
2026-06-18 09:55:00 +08:00 |
|
|
|
c780247d17
|
feat(posts): invalidate search cache on writes
|
2026-06-17 17:21:01 +08:00 |
|
|
|
c40a771989
|
feat(search): cache search results with short TTL
|
2026-06-17 17:20:54 +08:00 |
|
|
|
1d216faa2f
|
feat(auth): add in-memory session cache
|
2026-06-17 17:20:47 +08:00 |
|
|
|
75b8f80631
|
fix(posts): wrap empty_trash in transaction and lock rows for precise invalidation
|
2026-06-17 17:05:07 +08:00 |
|
|
|
7bd02d0ea9
|
perf(cache): run tag post invalidations concurrently
|
2026-06-17 16:59:29 +08:00 |
|
|
|
2d8f1e0d98
|
refactor(posts): avoid redundant cache invalidation in bulk fallback paths
|
2026-06-17 16:59:24 +08:00 |
|
|
|
c77f751377
|
refactor(posts): apply precise invalidation limit to batch_restore_posts
|
2026-06-17 16:59:18 +08:00 |
|
|
|
ca212a2aab
|
fix(posts): lock rows and read metadata in transaction for delete/purge/restore
|
2026-06-17 16:58:54 +08:00 |
|
|
|
1092fbb3ce
|
fix(posts): ensure rebuild invalidates tag posts cache
|
2026-06-17 16:44:32 +08:00 |
|
|
|
c03093fc8b
|
refactor(posts): use precise cache invalidation in rebuild
|
2026-06-17 16:37:20 +08:00 |
|
|
|
bb34e2c36e
|
refactor(posts): use precise cache invalidation in trash operations
|
2026-06-17 16:37:20 +08:00 |
|
|
|
82b070e7ac
|
refactor(posts): use precise cache invalidation in create/update/delete
|
2026-06-17 16:37:20 +08:00 |
|
|
|
c528936abb
|
feat(cache): add invalidate_tag_posts_for helper
|
2026-06-17 16:37:20 +08:00 |
|
|
|
15e7e2578d
|
refactor(utils): extract reading_time helper
|
2026-06-17 16:25:22 +08:00 |
|
|
|
e683efe0ea
|
refactor(models): remove dead Post status methods, add PostListItem tests
|
2026-06-17 16:24:50 +08:00 |
|
|
|
468a819951
|
fix(db): backfill word_count and reading_time for existing posts
|
2026-06-17 16:24:44 +08:00 |
|
|
|
9f41ea7354
|
refactor(posts): remove orphan row_to_post_list and use row_to_post_full for get_post_by_id
|
2026-06-17 16:24:38 +08:00 |
|
|
|
1eedab8f21
|
perf(posts): remove content_md from list/search SQL, read stored word counts
|
2026-06-17 16:06:27 +08:00 |
|
|
|
a6f08d5d3f
|
feat(db): add word_count and reading_time columns to posts
|
2026-06-17 16:06:21 +08:00 |
|
|
|
51e20980db
|
perf(stats): combine three COUNT queries into one conditional aggregation
|
2026-06-17 15:51:29 +08:00 |
|
|
|
170c021b37
|
feat(cache): add PostListItem DTO and use it in list/tag/search caches
|
2026-06-17 15:51:19 +08:00 |
|
|
|
31d5a99d2a
|
Merge cleanup/redundancies: remove dead comment code and duplicate DB indexes
CI / check (push) Failing after 7m33s
CI / build (push) Has been skipped
|
2026-06-17 15:24:47 +08:00 |
|
|
|
70e61ab65d
|
docs: explain why ConnectInfo is optional for image routes
|
2026-06-17 15:16:26 +08:00 |
|
|
|
018b3876b7
|
fix: return 404 for bare /uploads path and correct CHANGELOG
|
2026-06-17 14:47:22 +08:00 |
|
|
|
2d45e0991b
|
docs: clarify image cache invalidation behavior
|
2026-06-17 14:22:20 +08:00 |
|
|
|
dc7eb77fad
|
docs: document image cache-control defaults
|
2026-06-17 14:19:42 +08:00 |
|
|
|
abdfd2e3f9
|
fix: make If-None-Match comparison RFC 7232 compliant
|
2026-06-17 14:14:37 +08:00 |
|
|
|
27ce878771
|
feat: support If-None-Match 304 for image responses
|
2026-06-17 14:08:45 +08:00 |
|
|
|
21b665f41d
|
feat: add Cache-Control and ETag headers for image responses
|
2026-06-17 13:59:17 +08:00 |
|
|
|
fe6e5bd045
|
perf: offload image decode/resize/encode to spawn_blocking
|
2026-06-17 13:52:05 +08:00 |
|
|
|
b48590ced3
|
feat: add compression and timeout middleware, skip uploads and image routes
|
2026-06-17 13:45:55 +08:00 |
|
|
|
7bad3ce382
|
fix: make ConnectInfo optional in serve_image to prevent 500
|
2026-06-17 13:40:17 +08:00 |
|
|
|
28fd38e6b8
|
docs(plan): remove stale references to removed comment APIs
|
2026-06-17 13:11:53 +08:00 |
|
|
|
3df6633428
|
chore(deps): update Cargo.lock after removing http-body-util
|
2026-06-17 13:11:53 +08:00 |
|
|
|
48888a9886
|
feat(migrations): add cleanup migration for duplicate indexes
|
2026-06-17 13:11:53 +08:00 |
|
|
|
08895f504e
|
refactor(migrations): remove duplicate idx_tags_name and idx_post_tags_tag_id
|
2026-06-17 13:11:53 +08:00 |
|
|
|
73aa680202
|
refactor(migrations): remove redundant idx_posts_slug index
|
2026-06-17 13:11:53 +08:00 |
|
|
|
36055f99fa
|
chore(deps): remove unused http-body-util and tower-http dependencies
|
2026-06-17 13:11:52 +08:00 |
|
|
|
260b26c693
|
deps: add tower-http for compression, timeout, trace middleware
|
2026-06-17 13:03:59 +08:00 |
|
|
|
d1c9cea683
|
refactor(cache): remove unused per-post comment count cache
|
2026-06-17 11:52:57 +08:00 |
|
|
|
07cb0a5b0d
|
refactor(comments): stop invalidating removed comment count cache in updates
|
2026-06-17 11:45:49 +08:00 |
|
|
|
a7fb8405c3
|
refactor(comments): stop invalidating removed comment count cache
|
2026-06-17 11:43:16 +08:00 |
|
|
|
a4954a6c1b
|
refactor(comments): remove unused CommentCountResponse and PendingCommentsResponse
|
2026-06-17 11:39:12 +08:00 |
|
|
|
fc9fce1f4d
|
refactor(comments): remove dead re-exports from comments module
|
2026-06-17 11:30:14 +08:00 |
|
|
|
472d8e91fa
|
refactor(comments): remove unused get_comment_count server function
|
2026-06-17 11:26:50 +08:00 |
|
|
|
0545412cf3
|
refactor(comments): remove unused get_pending_comments server function
|
2026-06-17 11:23:00 +08:00 |
|
|
|
d826afbe15
|
fix(db): 为 deadpool-postgres 连接池指定 Tokio1 runtime
CI / check (push) Failing after 6m5s
CI / build (push) Has been skipped
|
2026-06-17 11:07:23 +08:00 |
|