-
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