style(copy): punctuation rules and site-wide fix with a CI check (QA U11)
- glossary: 10 punctuation rules (full-width in Chinese, CJK/Latin spacing, full-width parens around Chinese, single ellipsis, 「」 quotes, period rules) - scripts/check-copy-punctuation.mjs: checks string literals, templates and JSX text (not comments, types, keys, match/compare strings); --fix, --strict, --by-file; wired into deno task ci as check:copy in warn mode - --fix applied to web, server and contracts; files other lanes were editing (subscriptions, sites, browser, agent, auth/account, inventory) left for them - tests updated for the changed messages Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
9b017906cf
commit
52402864d6
143 files changed
+985
-606
No files matched your search
@@ -76,7 +76,7 @@ function problems(d: SystemHealth): string[] {
|
||||
const out: string[] = [];
|
||||
const stale = d.processes.filter((p) => p.stale);
|
||||
if (stale.length) out.push(`${stale.length} 个进程超过 45 秒没有心跳`);
|
||||
if (!d.processes.some((p) => !p.stale && p.processKind !== "api")) out.push("没有在线的 worker,任务不会被执行");
|
||||
if (!d.processes.some((p) => !p.stale && p.processKind !== "api")) out.push("没有在线的 worker,任务不会被执行");
|
||||
const lag = d.processes.filter((p) => !p.stale && p.eventLoopLagMaxMs >= 1000);
|
||||
if (lag.length) out.push(`${lag.length} 个进程事件循环延迟超过 1 秒`);
|
||||
if (d.db.level === "warn" || d.db.level === "critical") out.push("数据库延迟或连接数偏高");
|
||||
@@ -116,7 +116,7 @@ function Banner({ d }: { d: SystemHealth }) {
|
||||
<p className="font-medium text-foreground">
|
||||
{ok ? "全部正常" : lv.label}
|
||||
<span className="ml-2 font-normal text-muted-foreground">
|
||||
检查于 {formatRelative(d.checkedAt)} · API {d.api.version},已运行 {formatDuration(d.api.uptimeSec)}
|
||||
检查于 {formatRelative(d.checkedAt)} · API {d.api.version},已运行 {formatDuration(d.api.uptimeSec)}
|
||||
</span>
|
||||
</p>
|
||||
{list.length ? (
|
||||
@@ -262,7 +262,7 @@ function History() {
|
||||
<ErrorState plain error={h.error} onRetry={() => h.refetch()} />
|
||||
) : (
|
||||
<div className="grid gap-6 lg:grid-cols-2">
|
||||
<DetailSection title="事件循环延迟峰值(毫秒)">
|
||||
<DetailSection title="事件循环延迟峰值(毫秒)">
|
||||
<HistoryChart data={h.data} metric="lagMaxMs" unit="毫秒" hours={hours} />
|
||||
</DetailSection>
|
||||
<DetailSection title="SSE 连接数">
|
||||
@@ -280,7 +280,7 @@ function Disks({ d }: { d: SystemHealth }) {
|
||||
return (
|
||||
<Card title="磁盘" icon={HardDrive} level={worst(d.disks.map((x) => x.level))}>
|
||||
<p className="mb-3 text-meta text-muted-foreground">
|
||||
阈值:{t.warnPercent}% 需要关注,{t.criticalPercent}% 需要处理(取自缓存设置)
|
||||
阈值:{t.warnPercent}% 需要关注,{t.criticalPercent}% 需要处理(取自缓存设置)
|
||||
</p>
|
||||
<ul className="space-y-3">
|
||||
{d.disks.map((x) => {
|
||||
|
||||
Reference in new issue
Block a user