Skip to content

docs(web/guides): advisory-lock transaction note and isSafeRedirectUrl override clause - #4323

Merged
bpamiri merged 1 commit into
developfrom
peter/lift-docs-batch3
Oct 5, 2026
Merged

bpamiri merged 1 commit into
developfrom
peter/lift-docs-batch3

Conversation

@bpamiri

@bpamiri bpamiri commented Oct 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

Third follow-up for PRs merged into 4.2. All changes are in v4-2-0/upgrading/4x-1-to-4x-2.mdx and two fragments.

Fragment types for the merges since #4320 are correct, and none needs a further guide line:

PR type why no line
#4192 performance output byte-identical
#4280 fixed docs and log wording only
#4191 changed guide line added by the PR
#4222 added opt-in; the guide entry was updated by the PR

tools/changelog-promote.sh --preview renders.

🤖 Generated with Claude Code

…l override clause

In the 4.1 to 4.2 guide, say that withAdvisoryLock(transaction = true)
inside an open transaction throws on MySQL and SQL Server and joins it on
PostgreSQL (#4222), and that an app's own isSafeRedirectUrl helper still
overrides the framework one. End two fragments with a period.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bpamiri

bpamiri commented Oct 5, 2026

Copy link
Copy Markdown
Collaborator Author

Review @ d5a7c95: APPROVE (docs and changelog only)

  1. withAdvisoryLock addition. It matches $runWithAdvisoryLockTransactional() on develop.
    • When a transaction is already open and $transactionalAdvisoryLockIsSessionScoped() is true (MySQL and SQL Server), it throws Wheels.AdvisoryLockNotSupported. The extendedInfo gives the same reason the guide does: the session lock would be released before the outer transaction commits.
    • PostgreSQL goes to $runAdvisoryLockInOpenTransaction() and holds pg_advisory_xact_lock until the outer transaction ends.
    • The matrix confirms both on every engine: "throws for a session-scoped adapter inside an existing transaction" passes on MySQL and SQL Server, and "holds a PostgreSQL transaction-scoped lock until the outer transaction ends" passes on PostgreSQL.
  2. isSafeRedirectUrl override clause. It's correct.
    • Framework mixins are added without overwriting an existing method, on both the loop path and the cached-integration path, so a controller's own isSafeRedirectUrl wins.
    • redirectTo() calls the internal $isSafeRedirectUrl(), so an override doesn't change redirect checking.
    • This mirrors the renderNotFound entry, as I suggested.
  3. Fragments. The final periods are fine.
    • INFO, cosmetic: tx-advisory-locks now ends …(the existing behaviour). ([#4198](…))., so the link sits after a finished sentence. The other fragments end … (#NNNN).. Writing … behaviour) ([#4198](…)). or plain (#4198). would match.

Noted that draft #4322 is for the cut and shouldn't be merged.

No findings.

@github-actions github-actions Bot added the docs label Oct 5, 2026
@bpamiri
bpamiri merged commit 04b96b7 into develop Oct 5, 2026
23 checks passed
@bpamiri
bpamiri deleted the peter/lift-docs-batch3 branch October 5, 2026 06:35
bpamiri added a commit that referenced this pull request Oct 5, 2026
Changelog bullets end with the issue reference and no period (the 4.1.2
section: 67 of 68 bullets). Revert the periods added to nine fragments in
#4319, #4320 and #4323, which also restores tx-advisory-locks' ending.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant