<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in helper.php</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>49b74e0a20d271d13e295d5f68707f57e70072a5 - Review: fix lock collision, lazy lang-apply, endonyms, null-guards, namespacing</title>
        <link>http://127.0.0.1:8080/history/plugin/usersettings/helper.php#49b74e0a20d271d13e295d5f68707f57e70072a5</link>
        <description>Review: fix lock collision, lazy lang-apply, endonyms, null-guards, namespacing- helper: use a distinct lock key ($file.&apos;.lock&apos;) in setPreferences() so  the outer read-modify-write lock does not collide with io_saveFile()&apos;s  own internal lock &#8212; previously caused a ~3 s CPU spin on every save- action: applyUserLang() reads the stored &apos;lang&apos; record directly via  getRecord() instead of getPreference(), avoiding the REGISTER event  (and inc/lang/ glob) on every logged-in request; the toggle registry is  now built after $conf[&apos;lang&apos;] is updated, so toggle labels resolve in  the user&apos;s language. Add [a-z0-9-] charset guard on the stored code.  Remove the now-moot $this-&gt;localised/$this-&gt;lang cache reset.- action: getAvailableLanguages() returns native endonyms via languageName()  (covers all 78 DokuWiki lang dirs; unknown codes fall back to bare code)- admin: ?? &apos;&apos; null-guard on $userData[&apos;name&apos;] in two places- All three files: migrate to namespaced base classes  (dokuwiki\Extension\{Plugin,ActionPlugin,AdminPlugin,EventHandler,Event})- plugin.info.txt: bump date to 2026-06-01Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;

            List of files:
            /plugin/usersettings/helper.php</description>
        <pubDate>Mon, 01 Jun 2026 02:29:31 +0000</pubDate>
        <dc:creator>tracker-user &lt;82045103+tracker-user@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>f51fe07cd1ae2d1dfd14f525b27faf57a788b46f - Review: fix JSON encoding, error message, locale cache, add translations</title>
        <link>http://127.0.0.1:8080/history/plugin/usersettings/helper.php#f51fe07cd1ae2d1dfd14f525b27faf57a788b46f</link>
        <description>Review: fix JSON encoding, error message, locale cache, add translations- helper.php: add JSON_UNESCAPED_UNICODE to json_encode flags- lang/en: add %s placeholder to adminsavefail for consistency with adminsaved- action.php: reset plugin locale cache after applying user language override,  so the settings page renders in the user&apos;s chosen language rather than the  site default- Add de, ru, ja translations- plugin.info.txt: update dateCo-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;

            List of files:
            /plugin/usersettings/helper.php</description>
        <pubDate>Thu, 28 May 2026 19:58:06 +0000</pubDate>
        <dc:creator>tracker-user &lt;82045103+tracker-user@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>1ab406139ae52af26e6f9eaacaf1646e58521679 - Initial commit, made with Claude Opus 4.7</title>
        <link>http://127.0.0.1:8080/history/plugin/usersettings/helper.php#1ab406139ae52af26e6f9eaacaf1646e58521679</link>
        <description>Initial commit, made with Claude Opus 4.7

            List of files:
            /plugin/usersettings/helper.php</description>
        <pubDate>Fri, 22 May 2026 18:11:01 +0000</pubDate>
        <dc:creator>tracker-user &lt;82045103+tracker-user@users.noreply.github.com&gt;</dc:creator>
    </item>
</channel>
</rss>
