Skip to content
Snippets Groups Projects
Commit 2c00065a 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/+/74224


Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
Tested-by: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
Reviewed-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
parent 1b527203
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