Repository navigation
Fix empty section-link text, formatter cache on fresh installs, recent changes columns - #40
Merged
Merged
Conversation
… changes columns [[#Section]] rendered an empty link; it now shows the name plus #section like MediaWiki. add_wiki_markup rebuilt the text formatter cache before the extension's listeners existed, so a fresh CLI install had no wiki tags until a cache purge; a new migration purges the cache afterwards. The Reason column on the recent changes page no longer squeezes the Article column. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The default XSLT renderer needs ext-xsl, which the Windows CI runners do not have. phpBB renders with the PHP engine anyway. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
bonelifer
added a commit
that referenced
this pull request
Oct 12, 2026
Reparsing wiki articles turned their BBCode into plain text. **What went wrong.** `php bin/phpbbcli.php reparser:reparse phpbbmodders_wiki_article` rebuilds each article from its stored text. The wiki table has no column saying whether BBCode was on, so phpBB core guesses from the text, and for XML text with no `bbcode_uid` it guesses no. Every `[b]`, `[list]` and `[url]` in an article then came back as plain text, while `[[links]]` and `[[File:]]` survived because the wiki's own tags are added separately. The README and the #40 text tell people to run this command after upgrading, so anyone who did may have unformatted articles. **The fix.** The wiki always saves articles with BBCode, smilies and links on (see `wiki/edit.php`), so the reparser plugin now says so instead of leaving core to guess. Affected articles are repaired by running the same command again once this is installed: the stored text still contains the tags, and reparsing now turns them back into BBCode. I confirmed that on a board where it had happened. **Tests** - New `article_reparser_test.php`: it fails without the change and passes with it. Unit suite: 126 tests, 265 assertions, all pass. - Fresh MySQL 8.0 and PostgreSQL 16 boards seeded with fixtures: reparsing leaves the 4 articles with BBCode tags and the 48 with link tags unchanged. Before the change, the same command on MySQL took 3 articles with BBCode tags down to none. - phpBB 4.0.0-a3-dev with SQLite: reparsing an article whose BBCode had been flattened restores it. The Main Page shows "fixture wiki" in bold again. - phpBB 3.3.19 with SQLite: the reparser runs to completion. --- Investigated and written by [Claude](https://www.anthropic.com/claude) on behalf of William Jacoby ([bonelifer](https://github.com/bonelifer)). Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three fixes found while taking screenshots for the update post. All three come from #39 (headings and table of contents).
Section links showed no text.
[[#Section]]rendered an empty link, so "See [[Getting Started#Editing]] and [[#Publishing]]" read "See Getting Started and ." They now show the article name plus#section, as MediaWiki does:[[#Publishing]]shows "#Publishing" and[[A#B]]shows "A#B". An explicit label ([[A#B|label]]) is unchanged.Fresh CLI installs had no wiki tags.
add_wiki_markuprebuilds the text formatter cache while the extension is being enabled, before the extension's listeners are registered. The cache it stored had no wiki tags, so[[links]],[[File:]]embeds and headings did not parse until something purged the cache. The new migrationpurge_text_formatter_cacheruns after it and clears the cache, so phpBB rebuilds it with the wiki's tags on the next page.add_wiki_markupitself is untouched, because it may already have been applied on existing boards.Correction to #39: its description said a migration reparses saved articles. It does not. Articles saved earlier are converted with
php bin/phpbbcli.php reparser:reparse phpbbmodders_wiki_article. The README already said this;docs/TODO/todo-wiki-markup.mdnow matches it.Recent changes columns. The Reason and Status headers had the
bigclass, which squeezed the Article column. Status is nowmiddleand Reason has no width class.Screenshots.
docs/update/2026-10-12/holds the screenshots for the update post, plus aREADME.mdthat shows them all. The folder is export-ignored, so it is not in the release zip.Tests
link_textsdata provider with five cases.WIKILINKtags and 2 withWIKIFILE.wiki-markup-test.jsbrowser run: 13 of 13 on phpBB 4.0.0-a3-dev with SQLite. On 3.3.19 with SQLite the first 10 checks pass. I stopped it there because the next check needs a user without the redirect permission, and that board only hasadmin.Investigated and written by Claude on behalf of William Jacoby (bonelifer).