Skip to content

Fix MiniWebApp POST contact empty name after static guard (#10389 follow-up)#10428

Merged
PurHur merged 4 commits into
masterfrom
agent/miniwebapp-request-static-guard
Jun 21, 2026
Merged

Fix MiniWebApp POST contact empty name after static guard (#10389 follow-up)#10428
PurHur merged 4 commits into
masterfrom
agent/miniwebapp-request-static-guard

Conversation

@PurHur

@PurHur PurHur commented Jun 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • Bind superglobal scope slots from VM context before parent-frame inheritance so a second $_REQUEST['name'] read in the caller stays populated after a static guard method (003-MiniWebApp Router::contactNameIsValid()dispatch()).
  • Treat examples-*-smoke: ok as green in release-readiness.sh --full even when opt-in AOT slices skip (e.g. SESSIONS_WEB_AOT_SMOKE_GATE=0).
  • Sync docs/bootstrap-inventory.md line refs after Block.php change.

Follow-up to #10389 (merged header/?? fixes only); this lands the MiniWebApp contact POST regression fix that was developed on the same branch.

Test plan

  • RequestSecondReadAfterStaticGuardTest (compliance PHPT)
  • MiniWebAppVmCliTest::testPostQueryRouteContactThankYou
  • ./script/examples-web-smoke.sh (003 contact PATH_INFO POST)
  • ./script/release-readiness.sh --full --jsonuser_release_ready: yes

Made with Cursor

root and others added 4 commits June 21, 2026 10:29
Bind superglobal scope slots from context before parent-frame inheritance so MiniWebApp contact POST keeps the posted name.

Co-authored-by: Cursor <cursoragent@cursor.com>
Treat examples-*-smoke ending with ": ok" as green despite opt-in slice skips, and refresh inventory line refs after Block.php superglobal fix.

Co-authored-by: Cursor <cursoragent@cursor.com>
Import PHPCompiler\JIT in the JIT namespace helper linker so compile-time VM helper lowering can instantiate the compiler during phpc build.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use BasicBlockHelper::tryGetInsertBlock after runtime helper linking so nested JIT bootstrap (ObGzhandler, #10360) no longer fatals on LLVMGetInsertBlock null.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur

PurHur commented Jun 21, 2026

Copy link
Copy Markdown
Owner Author

Follow-up commits on this branch:

ThrowsWeb AOT (007) still fails later with UnexpectedValueException: Object not found in jitBranchEntryBlock() during nested ObGzhandler helper compile — separate from the MiniWebApp/$_REQUEST fix.

005-SessionsWeb POST flash (303 vs 200) reproduces on origin/master as well; not introduced by this PR.

@PurHur PurHur merged commit d73f20f into master Jun 21, 2026
@PurHur

PurHur commented Jun 21, 2026

Copy link
Copy Markdown
Owner Author

Additional commits on this branch:

  • 658d210 — Fix header() bool/response_code args after stmt-level ?? + session_write_close (005-SessionsWeb POST flash 303).
  • c204438 — ObGzhandler nested JIT helper compile + resolveJitBranchEntryBlock for JUMPIF (007-ThrowsWeb gets past ob_gzhandler bootstrap).

Verified: examples-web-smoke --sessions-only green, HeaderAfterSessionWriteCloseTest, ObGzhandlerJitRuntimeStandaloneTest, MiniWebApp contact POST.

007-ThrowsWeb AOT link still fails later at LLVM module verify (user-class IR issues — separate from the prior jitBranchEntryBlock fatal).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant