cms
cms copied to clipboard
Collection Previous and Next Tags Not Working Correctly After Updating to 4.48
Bug description
We have an ordered collection with a depth greater than 1, with previous and next tags retrieving items (sorted by order). The previous and next tags are using a depth parameter to only retrieve the children of a particular parent.
After updating from 4.46 to 4.48, the previous and next tags will retrieve items that are:
- Not previous or next to the current item (but sometimes it gets it right).
- sometimes: a parent of a different set of child entries.
- sometimes: a child entry of the correct parent that is not adjacent in the ordering.
There's no obvious rhyme or reason to which items it is retrieving.
Downgrading to 4.46 fixes the issue.
Looked through the logs, and pasted a maybe relevant entry.
How to reproduce
Create an ordered collection with a depth greater than 1. Add previous and next tags to retrieve adjacent children of a parent page.
Logs
[2024-02-09 21:19:34] local.ERROR: Attempt to assign property "offset" on null {"userId":"707b75d9-22bf-4e9e-ad8f-d21fce603791","exception":"[object] (Error(code: 0): Attempt to assign property \"offset\" on null at /Users/{user}/Sites/self/vendor/statamic/cms/src/View/Antlers/Language/Parser/LanguageParser.php:366)
[stacktrace]
#0 /Users/{user}/Sites/self/vendor/statamic/cms/src/View/Antlers/Language/Parser/LanguageParser.php(117): Statamic\\View\\Antlers\\Language\\Parser\\LanguageParser->associateMethodCalls(Array)
#1 /Users/{user}/Sites/self/vendor/statamic/cms/src/View/Antlers/Language/Parser/LanguageParser.php(2932): Statamic\\View\\Antlers\\Language\\Parser\\LanguageParser->parse(Array)
#2 /Users/{user}/Sites/self/vendor/statamic/cms/src/View/Antlers/Language/Parser/LanguageParser.php(2814): Statamic\\View\\Antlers\\Language\\Parser\\LanguageParser->findLogicalGroupEnd(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\LogicGroupBegin), Array)
#3 /Users/{user}/Sites/self/vendor/statamic/cms/src/View/Antlers/Language/Parser/LanguageParser.php(116): Statamic\\View\\Antlers\\Language\\Parser\\LanguageParser->createLogicalGroups(Array)
#4 /Users/{user}/Sites/self/vendor/statamic/cms/src/View/Antlers/Language/Runtime/ConditionProcessor.php(97): Statamic\\View\\Antlers\\Language\\Parser\\LanguageParser->parse(Array)
#5 /Users/{user}/Sites/self/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(1305): Statamic\\View\\Antlers\\Language\\Runtime\\ConditionProcessor->process(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Conditions\\ConditionNode), Array)
#6 /Users/{user}/Sites/self/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(750): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->reduce(Array)
#7 /Users/{user}/Sites/self/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(381): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->render(Array)
#8 /Users/{user}/Sites/self/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(773): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->renderText('{{ if current_t...', Array)
#9 /Users/{user}/Sites/self/vendor/statamic/cms/src/View/Antlers/Engine.php(93): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->parseView('/Users/garyiver...', '{{ if current_t...', Array)
#10 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/View/View.php(207): Statamic\\View\\Antlers\\Engine->get('/Users/garyiver...', Array)
#11 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#12 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#13 /Users/{user}/Sites/self/vendor/statamic/cms/src/StaticCaching/NoCache/StringFragment.php(34): Illuminate\\View\\View->render()
#14 /Users/{user}/Sites/self/vendor/statamic/cms/src/StaticCaching/NoCache/StringRegion.php(31): Statamic\\StaticCaching\\NoCache\\StringFragment->render()
#15 /Users/{user}/Sites/self/vendor/statamic/cms/src/StaticCaching/Replacers/NoCacheReplacer.php(66): Statamic\\StaticCaching\\NoCache\\StringRegion->render()
#16 [internal function]: Statamic\\StaticCaching\\Replacers\\NoCacheReplacer->Statamic\\StaticCaching\\Replacers\\{closure}(Array)
#17 /Users/{user}/Sites/self/vendor/statamic/cms/src/StaticCaching/Replacers/NoCacheReplacer.php(61): preg_replace_callback('/<span class=\"n...', Object(Closure), '<!doctype html>...')
#18 /Users/{user}/Sites/self/vendor/statamic/cms/src/StaticCaching/Replacers/NoCacheReplacer.php(53): Statamic\\StaticCaching\\Replacers\\NoCacheReplacer->performReplacement('<!doctype html>...')
#19 /Users/{user}/Sites/self/vendor/statamic/cms/src/StaticCaching/Replacers/NoCacheReplacer.php(47): Statamic\\StaticCaching\\Replacers\\NoCacheReplacer->replace('<!doctype html>...')
#20 /Users/{user}/Sites/self/vendor/statamic/cms/src/StaticCaching/Replacers/NoCacheReplacer.php(25): Statamic\\StaticCaching\\Replacers\\NoCacheReplacer->replaceInResponse(Object(Illuminate\\Http\\Response))
#21 /Users/{user}/Sites/self/vendor/statamic/cms/src/StaticCaching/Middleware/Cache.php(91): Statamic\\StaticCaching\\Replacers\\NoCacheReplacer->prepareResponseToCache(Object(Illuminate\\Http\\Response), Object(Illuminate\\Http\\Response))
#22 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(240): Statamic\\StaticCaching\\Middleware\\Cache->Statamic\\StaticCaching\\Middleware\\{closure}(Object(Statamic\\StaticCaching\\Replacers\\NoCacheReplacer), 1)
#23 /Users/{user}/Sites/self/vendor/statamic/cms/src/StaticCaching/Middleware/Cache.php(91): Illuminate\\Support\\Collection->each(Object(Closure))
#24 /Users/{user}/Sites/self/vendor/statamic/cms/src/StaticCaching/Middleware/Cache.php(65): Statamic\\StaticCaching\\Middleware\\Cache->makeReplacementsAndCacheResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))
#25 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\StaticCaching\\Middleware\\Cache->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /Users/{user}/Sites/self/vendor/statamic/cms/src/Http/Middleware/AuthGuard.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AuthGuard->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /Users/{user}/Sites/self/vendor/statamic/cms/src/Http/Middleware/AddViewPaths.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AddViewPaths->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /Users/{user}/Sites/self/vendor/statamic/cms/src/Http/Middleware/Localize.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\Localize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /Users/{user}/Sites/self/vendor/statamic/cms/src/Http/Middleware/HandleToken.php(13): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\HandleToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /Users/{user}/Sites/self/vendor/statamic/cms/src/Http/Middleware/StacheLock.php(29): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StacheLock->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#44 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /Users/{user}/Sites/self/vendor/rias/statamic-redirect/src/Http/Middleware/HandleNotFound.php(24): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Rias\\StatamicRedirect\\Http\\Middleware\\HandleNotFound->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#53 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#54 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#55 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#56 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#57 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#58 /Users/{user}/Sites/self/vendor/statamic/cms/src/Http/Middleware/StopImpersonating.php(12): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StopImpersonating->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /Users/{user}/Sites/self/vendor/statamic/cms/src/Http/Middleware/DisableFloc.php(17): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\DisableFloc->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /Users/{user}/Sites/self/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckMultisite->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#64 /Users/{user}/Sites/self/vendor/statamic/cms/src/Http/Middleware/CheckComposerJsonScripts.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#65 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckComposerJsonScripts->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#66 /Users/{user}/Sites/self/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#67 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\PoweredByHeader->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#68 /Users/{user}/Sites/self/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(59): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#69 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#70 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#71 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#72 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#73 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#74 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#75 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#76 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#77 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#78 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#79 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#80 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#81 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#82 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#83 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#84 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#85 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#86 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#87 /Users/{user}/Sites/self/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#88 /Users/{user}/Sites/self/vendor/laravel/framework/src/Illuminate/Foundation/resources/server.php(16): require_once('/Users/{user...')
#89 {main}
Environment
Environment
Application Name:
Laravel Version: 10.43.0
PHP Version: 8.2.6
Composer Version: 2.6.5
Environment: local
Debug Mode: ENABLED
URL:
Maintenance Mode: OFF
Cache
Config: NOT CACHED
Events: NOT CACHED
Routes: NOT CACHED
Views: NOT CACHED
Drivers
Broadcasting: pusher
Cache: statamic
Database: mysql
Logs: stack / single
Mail: ses
Queue: sync
Session: file
Statamic
Addons: 6
Antlers: runtime
Stache Watcher: Enabled
Static Caching: Disabled
Version: 4.46.0 PRO
Statamic Addons
4rn0/statamic-image-optimizer: 1.1.1
rias/statamic-redirect: 3.6.1
ryanmitchell/statamic-translation-manager: 1.4.1
statamic/collaboration: 0.8.1
stillat/antlers-layouts: 2.0.0
Installation
Fresh statamic/statamic site via CLI
Antlers Parser
Runtime (default)
Additional details
No response
I'm unable to reproduce this. Can you share the code of your Antlers template?
Yes, here you are.
<nav>
{{ if {{tourstop}} != "1" }}
{{ collection:previous in="tours" depth="2" limit="1" sort="order:asc"}}
<a class="prev-link" href="{{ url }}" aria-label="{{trans:ui.prev}}">
{{trans:ui.prev}}
</a>
{{ /collection:previous }}
{{/if}}
{{ collection:tours blueprint:is="stop" as="items" }}
<small>{{tourstop}} / {{ nav:collection:tours :from="segment_1" as="results"}}{{results|count}}{{/nav:collection:tours}}</small>
{{/collection:tours}}
{{ collection:next in="tours" as="posts" depth="2" limit="1" sort="order:asc" }}
{{ nav:collection:tours :from="segment_1" as="results"}}
{{ if {{tourstop}} === "{{results|count}}" }}
<button type="button">{{ trans:ui.complete_tour }}</button>
{{ else }}
{{ posts }}
<a href="{{ url }}" aria-label="{{trans:ui.next}}">
{{trans:ui.next}}
</a>
{{ /posts }}
{{/if}}
{{/nav:collection:tours}}
{{ /collection:next }}
</nav>
This seems to be fixed as of 4.49. Thank you!