You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Post-Position Fast Path: Pre-calculated post positions (prev_posts) during viewtopic.php execution within SeoListener::onViewTopicPosts when chronological display (post_time ASC) and zero unapproved/soft-deleted posts are present. Eliminates redundant database lookups for on-page jump/quote permalinks, reducing page generation overhead to extension-disabled baseline levels (~0.113s).
🐛 Bug Fixes
RecentTopics Malformed Outbound URLs: Added listeners for avathar.recenttopics.modify_tpl_ary and paybas.recenttopics.modify_tpl_ary (onRecentTopicsModifyTplAry) to heal naive third-party parameter concatenation (&view=unread#unread) appended directly onto slash-terminated SEO URLs.
Inbound Query Parameter Fail-Safe: Added route-level normalization in rewrite.php and InboundRouteResolver to gracefully recover and redirect malformed URLs containing trailing /& or /& query separators.
Illegal Superglobal Access: Fixed fatal error (deactivated_super_global) triggered in SeoListener on requests with non-print view query parameters (e.g., view=unread) by migrating legacy $_GET['view'] checks to phpBB's $request service abstraction.
⚡ Improvements
Clean Topic Permalinks: Excluded redundant 'f' (forum ID) parameter from rewritten topic permalinks in PublicResourceUrlResolver. In phpBB, topic rows inherently store their parent forum_id; stripping this redundant query argument ensures clean, canonical topic URLs and prevents masking third-party concatenation bugs during testing.
Route Cache File Path Robustness: Normalized $storeDir in RouteCacheCompiler to guarantee a trailing slash, preventing malformed cache file paths when initialized with directory paths lacking trailing slashes.