Only replies from the root post's author are rendered; replies from other
users are skipped. Adds fixture and test for a real-world post with an
other-author reply (3mhypinzezo2l).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add 22 unit tests covering feed parsing, thread rendering, facets,
needsRefetch staleness windows, and handleConfigureAction
- Add FreshRSS class stubs so tests run without a full FreshRSS install
- Add RSS feed fixture (hockeyviz.com snapshot) and thread API fixture
for post 3mhtk7awhrp26 (1 root + 2 replies)
- Add Gitea Actions workflow (.gitea/workflows/ci.yml) running on PHP 8.2
- Fix POST_URL_PATTERN: using '#' as PCRE delimiter with '#' inside a
character class caused PHP to close the pattern early, so no Bluesky
URL ever matched; switch delimiter to '~'
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Minz_HookType enum does not exist in this version of FreshRSS;
registerHook() expects plain strings.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>