Commit 575bd35
committed
[BUGFIX] Avoid storing FE "last changed" in register
The "last updated" mechanism in FE is and has always been
flawed. It is however hard to substitute with something
more reliable.
The patch fixes a single long standing issue and documents
the other shortcomings. Storing "SYS_LASTCHANGED" in the
FE "register" cripples the approach of gathering the
"highest" timestamp from content elements: The register is
a stack, an updated value on the stack vanishes on pop.
When the "final" value is used after rendering all content
elements, any changed "last update" values from content
elements are usually gone due to RESTORE_REGISTER cObj calls.
The patch thus moves the "last updated" information gathering
away from "register" and stores it as separated information
in the recently established "frontent.page.parts" request
attribute. TS data/getText key "register:SYS_LASTCHANGED" is
kept as b/w compat layer to not break hard to debug FE TS.
Resolves: #82528
Related: #107578
Releases: main
Change-Id: I477b486837bfccc2c6ca36a686b7424b3c41741e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/90913
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: core-ci <typo3@b13.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Garvin Hicking <garvin@hick.ing>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Garvin Hicking <garvin@hick.ing>1 parent c387285 commit 575bd35
File tree
6 files changed
+57
-20
lines changed- typo3/sysext
- frontend
- Classes
- ContentObject
- Controller
- Middleware
- Page
- Tests/Functional/ContentObject
- indexed_search/Classes/EventListener
6 files changed
+57
-20
lines changedLines changed: 13 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1044 | 1044 | | |
1045 | 1045 | | |
1046 | 1046 | | |
1047 | | - | |
1048 | 1047 | | |
1049 | | - | |
| 1048 | + | |
1050 | 1049 | | |
1051 | 1050 | | |
1052 | 1051 | | |
1053 | 1052 | | |
1054 | 1053 | | |
1055 | 1054 | | |
1056 | | - | |
| 1055 | + | |
1057 | 1056 | | |
1058 | | - | |
1059 | | - | |
1060 | | - | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
1061 | 1060 | | |
1062 | 1061 | | |
1063 | 1062 | | |
| |||
3921 | 3920 | | |
3922 | 3921 | | |
3923 | 3922 | | |
3924 | | - | |
3925 | | - | |
| 3923 | + | |
| 3924 | + | |
| 3925 | + | |
| 3926 | + | |
| 3927 | + | |
| 3928 | + | |
| 3929 | + | |
| 3930 | + | |
3926 | 3931 | | |
3927 | 3932 | | |
3928 | 3933 | | |
| |||
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
338 | 338 | | |
339 | 339 | | |
340 | 340 | | |
| 341 | + | |
341 | 342 | | |
342 | | - | |
| 343 | + | |
343 | 344 | | |
344 | 345 | | |
345 | 346 | | |
346 | 347 | | |
347 | 348 | | |
348 | | - | |
| 349 | + | |
349 | 350 | | |
350 | 351 | | |
351 | 352 | | |
| |||
Lines changed: 7 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | 110 | | |
118 | 111 | | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
49 | 68 | | |
50 | 69 | | |
51 | 70 | | |
| |||
55 | 74 | | |
56 | 75 | | |
57 | 76 | | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
58 | 87 | | |
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| |||
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
62 | | - | |
| 63 | + | |
| 64 | + | |
63 | 65 | | |
64 | 66 | | |
65 | 67 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| 61 | + | |
61 | 62 | | |
62 | | - | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| |||
111 | 111 | | |
112 | 112 | | |
113 | 113 | | |
114 | | - | |
| 114 | + | |
115 | 115 | | |
116 | 116 | | |
117 | 117 | | |
| |||
0 commit comments