Closed (fixed)
Project:
Tempstore +
Version:
1.0.x-dev
Component:
Code
Priority:
Critical
Category:
Task
Assigned:
Reporter:
Created:
2 Mar 2026 at 17:54 UTC
Updated:
16 Mar 2026 at 18:00 UTC
Jump to comment: Most recent
Entity tempstore swapping (loading the tempstore version of an entity during page rendering) was implemented in edit_plus's EntityConverter param converter, which hardcoded permission and mode checks. This meant any module wanting tempstore entity swapping had to depend on edit_plus, and there was no way to layer activation logic from multiple modules.
TempstoreActivationCheckerInterface with isActive() and onEntitySwapped() methods, allowing modules to decorate the service to layer their own activation logic (e.g., navigation_plus checks edit mode, edit_plus checks permissions).DefaultTempstoreActivationChecker (always inactive) so tempstore_plus works standalone without swapping anything until a decorator opts in.EntityConverter param converter decorator from edit_plus into tempstore_plus, wired to the activation checker.TempstoreActivationCheckerInterface — modules decorate tempstore_plus.activation_checker to control when tempstore entity swapping is active.tempstore_plus.param_converter.entity service — decorates core's paramconverter.entity.
Comments
Comment #3
tim bozeman commented