Commit Graph

  • 4fe26f7eb3 test: improve unit test coverage and assertions master xfy 2026-06-12 18:13:51 +08:00
  • 6fe7dc3ff5 build: use npx tailwindcss instead of global binary xfy 2026-06-12 18:09:20 +08:00
  • 220a1f91b0 ci: retry rustup install on network failure xfy 2026-06-12 17:44:19 +08:00
  • 041cdf4102 test(cache): mark cache tests serial to fix parallel flakiness xfy 2026-06-12 17:40:15 +08:00
  • fa6fa9a77c docs: document COOKIE_SECURE and TRUSTED_PROXY_COUNT xfy 2026-06-12 17:31:20 +08:00
  • 997f9b4617 ci: switch to rsproxy cargo mirror xfy 2026-06-12 17:29:37 +08:00
  • 942ac853fe refactor: tighten module-level allow attributes xfy 2026-06-12 17:17:26 +08:00
  • 294d60afab style: format rust code xfy 2026-06-12 17:14:31 +08:00
  • 71ac08c373 feat(rate_limit): derive real client IP from X-Forwarded-For with TRUSTED_PROXY_COUNT xfy 2026-06-12 17:06:14 +08:00
  • c8182f89da ci: back to runner host with tsinghua rustup mirror xfy 2026-06-12 17:05:13 +08:00
  • cb137cfdfb ci: use printf instead of heredoc for cargo config xfy 2026-06-12 17:04:17 +08:00
  • 8014e202f8 ci: use aliyun rust mirror container xfy 2026-06-12 17:03:38 +08:00
  • 4ae7b38131 feat(auth): add Secure flag to session cookie via COOKIE_SECURE env xfy 2026-06-12 17:02:22 +08:00
  • a070e3f8fc ci: use tsinghua rustup mirror and ustc cargo mirror xfy 2026-06-12 16:57:07 +08:00
  • cab12a1e5e ci: replace actions/checkout with raw git clone xfy 2026-06-12 16:42:17 +08:00
  • 99e1f2e98d ci: avoid actions/setup-node, install node via nodesource xfy 2026-06-12 16:41:38 +08:00
  • 94de78c513 ci: run directly on runner without docker container xfy 2026-06-12 16:39:12 +08:00
  • 2a19bc4e28 ci: add gitea actions workflow xfy 2026-06-12 16:31:19 +08:00
  • b72bc512c2 chore(make): use npm ci for tiptap editor to avoid lockfile drift xfy 2026-06-12 16:27:12 +08:00
  • ee6aaf179c feat(posts): add batch limit and error handling to rebuild_content_html xfy 2026-06-12 11:44:53 +08:00
  • 835d71972c fix(admin): add missing dark mode background colors to skeleton components xfy 2026-06-12 11:15:46 +08:00
  • a10bf8737c refactor(sanitizer): extract shared sanitizer module and migrate from ammonia to lol_html xfy 2026-06-12 11:15:42 +08:00
  • b898b55308 chore: add profile.json.gz to .gitignore xfy 2026-06-12 10:56:56 +08:00
  • f8fb35f8c2 fix(admin): use arbitrary value for tooltip dark text color xfy 2026-06-12 10:55:32 +08:00
  • 1c3f1aac34 fix(admin): flip tooltip to bottom to avoid navbar overlap xfy 2026-06-12 10:54:02 +08:00
  • 8840faa830 fix(admin): use arbitrary dark mode values for tooltip bg xfy 2026-06-12 10:52:05 +08:00
  • c62cf5a239 feat(admin): add tooltip to rebuild content button xfy 2026-06-12 10:50:18 +08:00
  • 67e23d672c feat(admin): add rebuild content button to posts management page xfy 2026-06-12 10:43:49 +08:00
  • 0219f923e9 docs: add DEVELOPMENT.md with performance testing guide xfy 2026-06-12 10:36:12 +08:00
  • f6589121da perf(markdown): eliminate duplicate clean_html call in generate_toc_html xfy 2026-06-12 10:36:06 +08:00
  • 2e9d123396 feat(posts): add rebuild_content_html server function xfy 2026-06-12 10:35:59 +08:00
  • a975e45cc9 feat(posts): store toc_html in DB on create and update xfy 2026-06-12 10:35:51 +08:00
  • acd85d18ce perf(posts): read pre-rendered content_html/toc_html from DB instead of re-rendering xfy 2026-06-12 10:35:39 +08:00
  • 7244c39a47 feat(db): add toc_html column to posts table xfy 2026-06-12 10:35:33 +08:00
  • bd9e87128d perf(ssr): optimize request throughput by 32% xfy 2026-06-12 09:36:53 +08:00
  • 8dbe564ca2 fix(write): 骨架屏与实际页面结构对齐 xfy 2026-06-11 18:12:35 +08:00
  • 75e0659cb2 fix(admin): 后台管理页改为 CSR 避免闪烁 xfy 2026-06-11 18:04:07 +08:00
  • ea440cd61c fix(admin): 评论管理页改为 CSR 避免按钮点击闪烁 xfy 2026-06-11 17:34:39 +08:00
  • 569eec5bf8 fix(admin): 评论管理页多项修复 xfy 2026-06-11 16:10:42 +08:00
  • b55409d421 fix(comments): remove admin action buttons from public comment item xfy 2026-06-11 15:47:46 +08:00
  • 3e95353cc5 fix(comments): nest pending replies under parent comments xfy 2026-06-11 15:35:14 +08:00
  • 44a738a940 fix(comments): migrate from use_server_future to use_resource xfy 2026-06-11 15:19:37 +08:00
  • 2b36a7c669 fix: resolve WASM compilation errors xfy 2026-06-11 14:55:10 +08:00
  • aa68dc4c55 fix(comments): address code quality issues in CommentForm xfy 2026-06-11 14:49:48 +08:00
  • f855a9a6cd fix(comments): fix compilation errors in list.rs and pending_item.rs xfy 2026-06-11 14:45:48 +08:00
  • 792b06a2eb fix(comments): address code quality issues in list and pending_item xfy 2026-06-11 14:42:03 +08:00
  • 8ae3299b3e feat(comments): add PendingCommentItem component xfy 2026-06-11 14:36:05 +08:00
  • 12a91e3b8e feat(comments): merge approved and pending comments in CommentList xfy 2026-06-11 14:34:36 +08:00
  • 9e658662cb fix(comments): add error logging for check_pending_status failure xfy 2026-06-11 14:33:13 +08:00
  • 40cfd44d3a feat(comments): add pending_comments to CommentContext and sync on mount xfy 2026-06-11 14:30:49 +08:00
  • 0f3d9fc25c fix(hooks): address code quality issues in comment_storage xfy 2026-06-11 14:28:27 +08:00
  • fccd4c05ff feat(hooks): add comment_storage module for localStorage persistence xfy 2026-06-11 14:23:27 +08:00
  • 7b3d894e96 feat(api): add CheckPendingStatus server function xfy 2026-06-11 14:18:49 +08:00
  • d63cee58c2 feat(api): return comment_id, avatar_url, depth from create_comment xfy 2026-06-11 14:13:14 +08:00
  • 03054d83e8 docs: add implementation plan for comment localStorage feature xfy 2026-06-11 14:07:58 +08:00
  • fbda6373cc docs: add comment localStorage persistence + pending visibility design spec xfy 2026-06-11 13:52:28 +08:00
  • 880c53d2a4 fix(comments): show name/email/url fields in reply form xfy 2026-06-11 13:30:54 +08:00
  • ec2f3e313e refactor(comments): remove consented_at column from migration and model xfy 2026-06-11 13:24:00 +08:00
  • 59d5b9222a refactor(comments): remove privacy consent checkbox and consented param xfy 2026-06-11 13:22:57 +08:00
  • 358dff152d fix(error): use Debug formatting in AppError logs for full error chain visibility xfy 2026-06-11 13:19:18 +08:00
  • c10134c32e fix(comments): convert confirm_with_message Result to Option for WASM compatibility xfy 2026-06-11 13:15:17 +08:00
  • 04737300e6 feat(comments): add complete comment system with guest commenting, moderation, and admin UI xfy 2026-06-11 12:34:26 +08:00
  • efa41b42c2 feat(auth): add loading state to login/register forms and update AGENTS.md xfy 2026-06-11 10:44:27 +08:00
  • f9d23d1eed refactor(ui): redesign with warm palette, sage accent, and consistent theme vars xfy 2026-06-11 10:29:11 +08:00
  • fce16288b5 chore: symlink CLAUDE.md to AGENTS.md xfy 2026-06-11 10:01:01 +08:00
  • fcb5a127d4 feat(skills): add multi-style design skills from taste-skill repo xfy 2026-06-11 09:53:15 +08:00
  • ccd564312b feat: hash session tokens and enforce configurable session limit per user xfy 2026-06-11 09:45:56 +08:00
  • 5be0cab525 feat: add hash_token function for SHA-256 session token hashing xfy 2026-06-11 09:44:01 +08:00
  • 81555d920e refactor: sessions table stores token hash instead of plaintext xfy 2026-06-11 09:42:32 +08:00
  • 1fa379fe4a chore: add sha2 and hex dependencies for session token hashing xfy 2026-06-11 09:42:08 +08:00
  • 9cf6a7e4e6 fix(admin): replace use_delayed_loading with DelayedSkeleton for posts page xfy 2026-06-10 18:15:46 +08:00
  • 265eb15887 feat(admin): add pagination to posts management page xfy 2026-06-10 18:03:36 +08:00
  • 373d4f09ed refactor: clean up write page formatting and remove separator line xfy 2026-06-10 17:50:07 +08:00
  • d3c5653808 feat: redesign admin write page with fixed-height editor layout xfy 2026-06-10 17:29:41 +08:00
  • 24f00184a5 删除 public/tiptap/editor.css 构建产物 xfy 2026-06-10 16:51:51 +08:00
  • b1a5fdcb6e chore: release v0.2.0 v0.2.0 xfy 2026-06-10 15:46:11 +08:00
  • 2f433e8f11 feat: add 404 Not Found page xfy 2026-06-10 15:43:05 +08:00
  • a59a58b41d Add frontend-design skill, remove design-taste-frontend xfy 2026-06-10 15:24:33 +08:00
  • 5e2487a067 fix: gate helper imports with #[cfg(feature = "server")] in posts API xfy 2026-06-10 14:49:54 +08:00
  • 311ddbe204 perf(cache): cache COUNT(*) result separately to avoid redundant queries xfy 2026-06-10 14:44:53 +08:00
  • bd9053132b refactor(admin): use explicit field ignores and separate error/loading arms xfy 2026-06-10 14:38:52 +08:00
  • 7df69be5e8 feat(skills): replace frontend-design with design-taste-frontend xfy 2026-06-10 14:36:30 +08:00
  • 31b83cd449 chore: adapt admin pages to new PostListResponse shape xfy 2026-06-10 14:32:59 +08:00
  • a2ec043c59 chore: adapt search page to new PostListResponse shape xfy 2026-06-10 14:29:17 +08:00
  • 4015412b41 feat: display accurate total in tag detail page xfy 2026-06-10 14:25:54 +08:00
  • 2ade51bd0f feat: display accurate total in archives page xfy 2026-06-10 14:22:18 +08:00
  • a2b0c759af feat: use total count for accurate home page pagination xfy 2026-06-10 14:18:22 +08:00
  • 44eba24121 feat: return total count from post list server functions xfy 2026-06-10 14:14:04 +08:00
  • 116f3281a4 feat: update post list cache to store total count xfy 2026-06-10 13:59:41 +08:00
  • 72c1efa566 feat: add total field to PostListResponse xfy 2026-06-10 13:57:06 +08:00
  • b1385efd5e refactor(api): split posts.rs into module directory xfy 2026-06-10 13:45:21 +08:00
  • 2574e1e315 fix(api): gate AppError helper methods behind server feature xfy 2026-06-10 13:21:37 +08:00
  • bf401e4916 fix(api): correct AppError variant semantics for transaction/query errors xfy 2026-06-10 13:19:57 +08:00
  • a3fa602df2 refactor(api): unify error handling with AppError enum xfy 2026-06-10 13:16:06 +08:00
  • b7220c28ef Fix WebpError trait impls missing #[cfg(feature = "server")] xfy 2026-06-09 18:30:10 +08:00
  • 263771e403 test(cache): fix invalidation test isolation xfy 2026-06-09 17:24:14 +08:00
  • 73b4d28135 test(cache): use unique key in roundtrip test to avoid parallelism conflict xfy 2026-06-09 17:20:03 +08:00
  • 3041535cf7 test(cache): add cache key and roundtrip tests xfy 2026-06-09 17:18:39 +08:00
  • 4c534eeb4c fix(posts): invalidate tag and old slug caches on create/update xfy 2026-06-09 17:15:29 +08:00
  • 91caf3f8bd feat(posts): invalidate caches on write operations xfy 2026-06-09 17:09:17 +08:00