aeharding / aeharding/wingover

boot: a WAL read that never settles leaves a permanently blank app

Đang mở
#194 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
TypeScript
Star
0
Fork
0
Merge trung bình
4 giờ 2 phút
Pull request đã merge (30 ngày)
6

Mô tả

Pre-existing (from #162), found during an adversarial review of #189.

If `readWal()` never settles, `hydrationState` stays `"pending"` and `AppBody`
renders `null` forever. `BootFailedScreen` is only reached on **rejection**, so
a hang has no reload affordance at all: the pilot gets a black screen and no way
out.

Reproduced by accident with a bad patch while testing the boot gate under a
stalled IndexedDB transaction.

Safe from the data-loss angle — nothing can clear the WAL in that state, so the
flight survives — but it is indistinguishable to a pilot from the black screen
of #185, and the recovery (force-quit) is the one thing that looks most like
data loss even when it is not.

Worth pairing with #188: the boot gate is upstream of any React error boundary,
so the boundary cannot cover this. A timeout that falls through to
`BootFailedScreen` would.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.