v0.1.36a: 三问题修复——成员弹框双排名/界面白屏防线/推进异常取证+出险保障

【Bug2 双排名】MemberModal 顶部与 ModalShell 壳顶重复渲染 (title+category 各两排)
→ children 内嵌 title/cat 移除(壳已承载),改 mm-brief 一行(寿数/根骨)
【Bug3 定制白屏】App 无错误边界 → 全树崩溃只剩背景
→ AppErrorBoundary 一级防线(显示错误信息+重新加载按钮,不再白屏)
【Bug1 推进崩溃】advance 异常 toast 原文只写“已保存”——实为 Stash 静默吞错+双保险缺失
→ ①toast 显示根错前 120 字(玩家可见——此前只有 console) ②出险保存双保险:
Stash 失败时 localStorage 应急副本+明示“存储也失败”提示手动存档 ③speed timer 内 advance().catch 隔离
【验证】tsc 0 错/build 绿/7000 测试绿
This commit is contained in:
2026-08-24 21:53:04 +08:00
parent 293d04fc20
commit f5e49ef9bd
4 changed files with 50 additions and 10 deletions
+2 -6
View File
@@ -82,12 +82,8 @@ export function MemberModal({ member }: { member: Character }) {
</>
}
>
<div className="modal-title" style={{ fontSize: '1.4rem' }}>
{member.name}
{!member.alive && <span className="bad" style={{ fontSize: '1rem' }}> · </span>}
</div>
<div className="modal-cat">
{member.generation} · {member.gender === 'male' ? '男' : '女'} · {w.ageOf(member)} · 寿{lifespan} · {describeRoots(member.roots)}
<div className="mm-brief">
<span className={member.alive ? '' : 'bad'}>寿 {lifespan} · {describeRoots(member.roots)}</span>
</div>
<div className="mm-grid">