Skip to content
Commit 92a9671c authored by Benjamin Franzke's avatar Benjamin Franzke Committed by Andreas Fernandez
Browse files

[BUGFIX] Avoid race conditions in pagetree contextmenu actions

All pagetree actions that use the "RecordCommit" endpoint (tce_db)
(which is loaded in to the main list_frame) need to avoid requesting
an explicit and too early page tree update from the server, as the
page data may not have been updated at that point. The pagetree refresh
actually is and needs to be triggered by an immediate action pushed by
the RecordCommit endpoint.
(in the list frame via <typo3-immediate-action> element)

An early-refresh call – prior to the persistence of the record
action – causes stale data to be fetched and displayed when that
request ends up to be processed after the record commit request
(that is the "race" that causes this to only happen sometimes).
Example: Page icon sometimes doesn't change on deactivation.

Affected page tree actions are:
 * disable/enable page
 * hide/show in menu
 * past into/after

Note that these actions should ideally be migrated
to AjaxDataHandler. Once that's done, the pagetree
refresh can be added back.

Resolves: #94393
Resolves: #95499
Releases: main, 11.5
Change-Id: I4e4059da78cf5b5bfebc5d67aacc89332a67d750
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74230


Tested-by: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarBenjamin Franzke <bfr@qbus.de>
Tested-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: default avatarBenjamin Franzke <bfr@qbus.de>
Reviewed-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
parent 1758dd36
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment