diff --git a/openless-all/app/src/pages/LocalAsr.tsx b/openless-all/app/src/pages/LocalAsr.tsx index 5c5624a8..ea675927 100644 --- a/openless-all/app/src/pages/LocalAsr.tsx +++ b/openless-all/app/src/pages/LocalAsr.tsx @@ -201,7 +201,8 @@ export function LocalAsr({ embedded = false }: LocalAsrProps = {}) { } const scheduleScrollGuardRestore = () => { - window.setTimeout(restoreScrollGuard, 0) + // issue #470:立即帧由下面的 rAF + 嵌套 rAF 覆盖(≈0~32ms),故移除等价的 setTimeout(…,0); + // 80ms / 200ms 两枪保留,用于兜住 rAF 之后才发生的异步重排(如图片晚加载)。 window.setTimeout(restoreScrollGuard, 80) window.setTimeout(restoreScrollGuard, 200) window.requestAnimationFrame(() => { diff --git a/openless-all/app/src/pages/Marketplace.tsx b/openless-all/app/src/pages/Marketplace.tsx index 398e2b64..3c3a9609 100644 --- a/openless-all/app/src/pages/Marketplace.tsx +++ b/openless-all/app/src/pages/Marketplace.tsx @@ -386,8 +386,9 @@ export function Marketplace() { setUploadOriginPackId(null); setUploadTargetName(null); setSelectedUploadPackId(null); - // 后续 polling 用服务端真实数据校准(审核状态可能 pending→approved/rejected)。 - window.setTimeout(() => { void refresh(); void refreshMyPacks(); }, 1500); + // issue #470:上传后给后端一点时间落库 + 跑审核,再用服务端真实数据校准一次 + // (审核状态可能 pending→approved/rejected)。乐观更新已即时反映「我的发布」, + // 这里只需单次兜底刷新;取较长延时(5s)确保后端最终一致后能查到,去掉冗余的 1.5s 那次。 window.setTimeout(() => { void refresh(); void refreshMyPacks(); }, 5000); } catch (error) { setActionMsg({ kind: 'err', text: t('marketplace.errors.upload', { err: errorMessage(error) }) });