| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(web): harden community API boundaries Canonicalize scheduled draft storage and validate admin draft mutations. Bound login request parsing and isolate public feed requests from server credentials. Signed-off-by: Hunter B <hmbown@gmail.com> | 1 个月前 | |
feat(web): community site for deepseek-tui.com (mobile + color refresh) (#1108) First commit of the Next.js community site that powers deepseek-tui.com, deployed via Cloudflare Workers / OpenNext. This commit lands the scaffold and applies the visual + correctness pass requested by community feedback: - Palette: drop the cream/Anthropic-feel paper (#F4F1E8) for a DeepSeek-aligned cool white + soft gray (#FFFFFF / #F4F6FB), with indigo accents kept. Soften default hairlines so a pure-white background reads clean instead of harsh. - Mobile: add a hamburger menu (mobile-menu.tsx) so phones can reach Install / Docs / Activity / Roadmap / Contribute — previously the link list was hidden on phones with no replacement. Tighter hero, flexible button row, viewport-safe code blocks, columnar grids collapse cleanly under 768px, and the printed-almanac center rule is desktop-only now (it sliced through narrow viewports). - "How it works" diagram: replace the hand-rolled ASCII art (which misaligned under CJK monospace because Han characters take 2 columns vs Latin's 1, per dhh's note in WeChat) with a real mermaid diagram rendered client-side via dynamic import. Uses the mermaid.live standard syntax 庄表伟 recommended. - Issue #1104: the docs listed a `deepseek-cn` provider that the v0.8.16 binary doesn't accept (`ProviderArg` in crates/cli only has 9 variants; the 10th lives only in the legacy tui/config.rs). derive-facts.mjs now omits `deepseek-cn` until that variant is wired through the shared ProviderKind, and the install page's China-network recipe uses `base_url` / `DEEPSEEK_BASE_URL` (which actually works on v0.8.16) instead of the unsupported provider. Auto-deploys via .github/workflows/deploy-web.yml on push to main. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> | 3 个月前 | |
fix(web): admin digest post returns real GitHub Issue outcome instead of silent no-op (#5180) * Initial plan * fix(web): digest post returns real GitHub Issue URL instead of false ok:true The admin digest "post" action was returning `{ ok: true, action: "digest-skipped" }` without posting anything or marking the draft as posted. This caused the draft to reappear in Pending forever — a false success receipt. Fix: digest drafts are now posted as new GitHub Issues (using the existing MAINTAINER_GITHUB_PAT + REST API). The response includes the real issue `number` and `url`; `draft.posted` is set to true and the draft is stored back. GitHub API failures propagate as 502 errors, never as ok:true. Tests: two new source-contract tests in public-api-security.test.ts pin both paths — happy path (real url/number returned) and error path (502, not ok:true). Closes #5178 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> | 1 个月前 |