修复慢网络下审批后页面显示旧状态:SW API 缓存仅在离线时回退 [09-26-approve-success-state-unchanged]
app-api-runtime 对 /api/me、/api/workflow/tasks*、/api/workflow/approvers*、 /api/notifications* 使用 NetworkFirst + networkTimeoutSeconds: 3。网络响应 超过 3 秒时 Service Worker 返回审批前缓存的旧响应,真实响应被丢弃,页面 仍显示「待派发」。审批写入本身正确。自 2026-03(9112383d)起存在。 去掉网络超时,只在网络失败(离线)时回退缓存;退出登录清理缓存不变。 新增回归测试锁定该规则。负载复现修复前 3 轮命中 2 轮,修复后 3 轮 0 命中。 Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
+2
-1
@@ -136,10 +136,11 @@ export default defineConfig(({ mode }) => {
|
||||
url.pathname.startsWith("/api/notifications")
|
||||
);
|
||||
},
|
||||
// Fall back to cache only when the network fails (offline). A network
|
||||
// timeout here served pre-approval task state to slow-but-online clients.
|
||||
handler: "NetworkFirst",
|
||||
options: {
|
||||
cacheName: "app-api-runtime",
|
||||
networkTimeoutSeconds: 3,
|
||||
cacheableResponse: {
|
||||
statuses: [200],
|
||||
},
|
||||
|
||||
在新工单中引用
屏蔽一个用户