Block stale OpenWorlds surfaces from play - #630
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis PR refactors ScreenTable's play gating from app-status-only blocking to surface-aware blocking. A new ChangesLive session play gating refactor
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
Comment |
Summary
/session-surfaceprobe is loading or unavailable, not only when/app-statusreports a provider/readiness bucketlivePlayBlockedguard/moveintent submitter; this is projection/control gating onlyWhy
Browser-first testing found a stale OpenWorlds tab that still looked playable after its same-port backend had died. The page showed old
can_actstate and enabled controls even though/app-status,/session-surface, and/openworlds/were unreachable. A fresh player or agent should see a disconnected state instead of being invited to click dead controls.Evidence
ff428a8:/Volumes/LEXAR/Codex/worldos-product-slices/browser-scripted-ff428a8-20260603T023832Z/summary.json/Volumes/LEXAR/Codex/worldos-product-slices/stale-surface-block-ff428a8-20260603T024257Z/summary.jsonContinueand renders follow-up narrationSession surface unavailable: Failed to fetchTest Plan
python3 -m pytest viewer/tests/test_openworlds_static.py -qgit diff --check/Users/lume/ClawDnD-valSummary by CodeRabbit
Release Notes