10 Commits
Author SHA1 Message Date
hanyixuanten 339e5b5639 feat: sync security & SEO hardening from 2910 (keep placeholders) 2026-10-26 14:43:18 +08:00
hanyixuanten 2c1f508b14 docs: correct .env scope note; give exact wrangler local-debug command 2026-10-25 12:57:55 +00:00
hanyixuanten 36910d9f05 docs: drop schema.sql, messages table auto-migrates on first request
README 留言墙一节不再要求手动建表
2026-10-25 12:17:45 +00:00
hanyixuanten 4b489a3ebb feat(api): auto-create and migrate messages table on first request
ensureSchema runs idempotent CREATE TABLE / ALTER TABLE (skipping
duplicate-column errors), cached once per isolate with retry on failure;
schema.sql becomes reference-only documentation
2026-10-25 12:15:52 +00:00
hanyixuanten ca422df0c3 feat(api): record submitter IP/UA for messages and submissions
- messages: store ua/country alongside ip (audit only, not returned by GET);
  full schema now documented in schema.sql
- submit: append IP/UA/country/time to PR body in a collapsed section;
  never written into committed files
2026-10-25 12:13:11 +00:00
hanyixuanten 106e4b76b2 feat(chronicle): sort article list newest first
List now renders newest-to-oldest; item numbers stay in chronological
order to match the 第 N 篇 numbering on article pages.
2026-10-25 11:58:04 +00:00
hanyixuanten e401569926 fix(nav): restore topnav right alignment when first link is .nav-cta 2026-10-25 11:53:51 +00:00
hanyixuanten a5890dc834 docs: add AGENTS.md 2026-10-25 11:47:05 +00:00
hanyixuanten 9beb457cdf docs: add wiki links to README 2026-10-25 11:34:05 +00:00
hanyixuanten 92fa0f8f37 feat: initial class history template 2026-10-25 11:23:17 +00:00