Commit Graph

  • 1cc4bc5aeb style(list): 简化多行表达式为单行 master xfy 2026-06-15 14:15:11 +08:00
  • 94319d3411 ci: 回退 composite action,仅保留 Tailwind CLI 包名修复 xfy 2026-06-15 13:22:29 +08:00
  • 76ad4ec8fb ci: 修正 Tailwind CLI 包名并收敛重复的环境准备步骤 xfy 2026-06-15 11:47:54 +08:00
  • a2ccc3da1a Merge branch 'fix-dos-and-toc-xss' xfy 2026-06-15 11:40:01 +08:00
  • a3d6c2f19e refactor(markdown): 复用既有 escape_html,删除重复的转义实现 xfy 2026-06-15 11:38:24 +08:00
  • eaa7118e09 fix(posts): 钳制 page 上限,防止无界 OFFSET 与缓存键扇出 xfy 2026-06-15 11:38:24 +08:00
  • 928fc1a0de Merge branch 'improve-tests-and-comments' xfy 2026-06-15 11:27:33 +08:00
  • 6d32664020 fix(markdown): 转义 TOC 标题文本,防止属性上下文注入 xfy 2026-06-15 11:27:32 +08:00
  • cfa4975813 fix(posts): 钳制分页参数 per_page 上限,消除公开接口 DoS xfy 2026-06-15 11:27:25 +08:00
  • 19ffcada4a test: 移除脆弱断言与凑数测试(review 修正) xfy 2026-06-15 11:26:24 +08:00
  • 263208b930 style: 修正新测试的格式以符合 rustfmt 宽度限制 xfy 2026-06-15 11:22:35 +08:00
  • 9fc626232c test(error): 补全 AppError 各变体的消息转换测试 xfy 2026-06-15 11:20:33 +08:00
  • 28f0117f06 test(sanitizer): 补充 is_safe_url 分支测试 xfy 2026-06-15 11:19:46 +08:00
  • a9cde41de8 test(webp): 扩充 WebP 编解码测试覆盖 xfy 2026-06-15 11:18:55 +08:00
  • e9aac7d6b4 fix(highlight): 修复大写语言标识无法走别名映射的问题 xfy 2026-06-15 11:17:53 +08:00
  • 4e89412cde test(theme): 扩充主题模块测试覆盖 xfy 2026-06-15 10:57:51 +08:00
  • 81ee60a77d chore: ignore .worktrees directory xfy 2026-06-15 10:50:48 +08:00
  • e12e59461b docs: 整理表格格式并添加 CI 链接 xfy 2026-06-15 10:41:03 +08:00
  • f7288cc390 style: 格式化测试代码以符合 clippy 宽度限制 xfy 2026-06-15 10:40:00 +08:00
  • 0242534274 style(tags): 修复文档注释列表缩进以消除 clippy 警告 xfy 2026-06-12 19:48:10 +08:00
  • 194611bb7e docs(bin): 补充中文注释 xfy 2026-06-12 19:45:59 +08:00
  • c43da3676f docs(components): 补充中文注释 xfy 2026-06-12 19:38:51 +08:00
  • c5d1eb117c docs(auth-pages, router, main): 补充中文注释 xfy 2026-06-12 19:28:08 +08:00
  • 18500c9496 docs(pages-admin): 补充中文注释 xfy 2026-06-12 19:21:46 +08:00
  • abfab19839 docs(pages-frontend): 补充中文注释 xfy 2026-06-12 19:14:49 +08:00
  • 1904907add docs(hooks, theme): 补充中文注释 xfy 2026-06-12 19:07:43 +08:00
  • 671a9fea7a docs(infra): 补充中文注释 xfy 2026-06-12 19:01:00 +08:00
  • 2db652137d docs(models, db, cache): 补充中文注释 xfy 2026-06-12 18:54:21 +08:00
  • a785683fc6 docs(posts): 补充中文注释 xfy 2026-06-12 18:48:17 +08:00
  • 9921f8eebf docs(comments): 补充中文注释 xfy 2026-06-12 18:39:56 +08:00
  • 26b012c40c docs(api, auth): 补充中文注释 xfy 2026-06-12 18:27:24 +08:00
  • 4fe26f7eb3 test: improve unit test coverage and assertions 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