Replies had no left padding from the border (padding-left:0) and too-tight
vertical spacing (margin:4px). Bump to padding-left:12px and margin:8px.
Closes#2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixes#1. Replaces the plain div wrapper and separate "View on Bluesky"
link with a <blockquote> element, and makes the @handle the permalink
to the quoted post.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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>