<?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 HelperTest.php</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>72d60f2d94b24cb66fabf596a2ec440f459ba88f - Add clear-resolved to admin overview; make orphaned annotations read-only</title>
        <link>http://127.0.0.1:8080/history/plugin/annotations/_test/HelperTest.php#72d60f2d94b24cb66fabf596a2ec440f459ba88f</link>
        <description>Add clear-resolved to admin overview; make orphaned annotations read-onlyAdmin panel now shows a Resolved column alongside Normal and Orphaned, withper-page and wiki-wide &quot;clear resolved&quot; actions mirroring the existing orphanclears. The counts deliberately overlap: a resolved annotation is counted inboth its anchoring facet (Normal or Orphaned) and the Resolved column, so eachclear button removes exactly what its label says.helper::pageCounts() gains the resolved key; clearResolvedAll() mirrorsclearOrphanedAll(). In the front-end, orphaned annotation threads are nowread-only &#8212; Resolve/Reopen and Edit are suppressed, leaving only Delete.Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;

            List of files:
            /plugin/annotations/_test/HelperTest.php</description>
        <pubDate>Mon, 15 Jun 2026 03:37:57 +0000</pubDate>
        <dc:creator>tracker-user &lt;82045103+tracker-user@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>9fd890c3d28899ac6132f5f0d76a031cc5c27f1a - Add admin overview of annotated pages with clear-orphaned actions</title>
        <link>http://127.0.0.1:8080/history/plugin/annotations/_test/HelperTest.php#9fd890c3d28899ac6132f5f0d76a031cc5c27f1a</link>
        <description>Add admin overview of annotated pages with clear-orphaned actionsAdds admin.php (Admin -&gt; Annotations): a wiki-wide table of annotated pageswith Normal/Orphaned counts, per-column filter, sortable headers, numberedpager (entries_per_page config), and per-page and wiki-wide clear-orphanedPOST actions guarded by checkSecurityToken and auth_isadmin.Refactors the orphan rule into helper::quoteMissing() shared byfindOrphaned() and the new pageCounts(); adds getAnnotatedPages() /searchAnnotations() / clearOrphanedAll() to the helper. Extends HelperTestwith four new coverage cases. All four locales (en, de, ru, ja) carry thenew admin strings.Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;

            List of files:
            /plugin/annotations/_test/HelperTest.php</description>
        <pubDate>Mon, 15 Jun 2026 00:40:04 +0000</pubDate>
        <dc:creator>tracker-user &lt;82045103+tracker-user@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>da56206cc13612db0df36be97c0f01d8f3c5e9f4 - Fix highlight off-by-one, localise the UI, add tests</title>
        <link>http://127.0.0.1:8080/history/plugin/annotations/_test/HelperTest.php#da56206cc13612db0df36be97c0f01d8f3c5e9f4</link>
        <description>Fix highlight off-by-one, localise the UI, add testsAnchoring (the core bug):- Replace buildNormToRaw with normalizeWithMap so the normalised search  string and the normalised-&gt;raw index map are built in one pass and share  the same trimming. DokuWiki indents its content markup, so the collected  text starts with a whitespace text node; the old untrimmed map shifted  every highlight by a character. Verified on the live wiki: a quote now  re-anchors exactly, including across element boundaries.- Locate all matches first, then wrap last-to-first, so wrapping (which  splits text nodes) never disturbs a not-yet-wrapped offset.- Fix a pre-existing orphan double-count: renderAll passed an orphan total  into updateCounter, which then recounted it from the _orphaned flags.Localisation:- Move front-end strings to $lang[&apos;js&apos;] (exposed as LANG.plugins.annotations)  and read them via t()/fmt() with English fallbacks.- Add de, ru and ja translations alongside en.Conventions / cleanup:- action.php: read request data via $INPUT; pass the CSRF token straight to  checkSecurityToken($token) instead of poking $_POST/$_REQUEST; unify admin  detection on auth_isadmin().- helper.php: write annotation files with JSON_UNESCAPED_UNICODE | _SLASHES.- Drop the dead ann-highlight-orphaned constant; set panel data-status so the  resolved accent in style.css applies.Tests:- Add _test/GeneralTest.php (manifest + conf invariant) and _test/HelperTest.php  (permission rules, CRUD, input cleaning, findOrphaned). 15 tests pass.Docs: sync DESIGN.md and README.md; bump plugin.info.txt date.Co-Authored-By: Claude Opus 4.8 &lt;noreply@anthropic.com&gt;

            List of files:
            /plugin/annotations/_test/HelperTest.php</description>
        <pubDate>Tue, 02 Jun 2026 16:47:05 +0000</pubDate>
        <dc:creator>tracker-user &lt;82045103+tracker-user@users.noreply.github.com&gt;</dc:creator>
    </item>
</channel>
</rss>
