调整GDD审批投影同步提示
Project CI / Repository checks (pull_request) Failing after 12s
Project CI / Backend tests (pull_request) Failing after 11s
Project CI / Frontend tests (pull_request) Successful in 3m13s
Project CI / Native shell tests (pull_request) Successful in 14m3s

将恢复文案改为中性的审批状态同步提示

保留同步期间的重复提交阻止与重试入口

同步更新现有界面断言与代码注释
This commit is contained in:
2026-08-27 12:01:29 +00:00
parent b70cc79f80
commit f35c86d996
3 changed files with 6 additions and 6 deletions
+1 -1
View File
@@ -695,7 +695,7 @@ export function App({
} catch (error) {
// 方案 §18.3 要求 decision 返回后以 hydrate 对权威文件的重验为准,失败分支同样
// 适用:不重灌就会让卡片停在已失效的 pending 身份上,三个决定按钮仍可点,且
// `recoveryPending` 永远翻不成真、「重试恢复」入口不渲染,卡内没有出路。
// `recoveryPending` 永远翻不成真、「重试同步」入口不渲染,卡内没有出路。
// 两句顺序不能反——`hydratePlanGddState` 入口会 `setPlanGddError(null)`
// 先写错误再 hydrate 等于把这条错误擦掉。它自身从不抛出,不需要再包一层。
await hydratePlanGddState(targetProjectPath);
@@ -421,9 +421,9 @@ export function GddApprovalCard({
{state.recoveryPending ? (
<div className="gdd-approval-card__recovery" role="status">
<span></span>
<span></span>
<button type="button" disabled={hydrateBusy} onClick={onRefresh}>
{hydrateBusy ? '恢复中' : '重试恢复'}
{hydrateBusy ? '同步中' : '重试同步'}
</button>
</div>
) : null}
@@ -491,7 +491,7 @@ export function GddApprovalCard({
/>
{!canDecide ? (
<p className="gdd-approval-card__dialog-hint" role="status">
</p>
) : null}
<div className="gdd-approval-card__dialog-actions">
@@ -124,8 +124,8 @@ export function registerPlanGddApprovalTests() {
hydrateCallsBeforeDecision,
);
});
// 重灌后「重试恢复」入口出现——这是 recoveryPending 下唯一被允许的动作。
await screen.findByRole('button', { name: '重试恢复' });
// 重灌后「重试同步」入口出现——这是 recoveryPending 下唯一被允许的动作。
await screen.findByRole('button', { name: '重试同步' });
// 而且重灌不能把决定失败的原因擦掉:hydrate 入口会 setPlanGddError(null)
// 两句顺序写反这条断言就红。
expect(screen.getByRole('alert').textContent).toContain(