The log view splits into All / Daemon I/O / Scans / HTTP. Daemon I/O is the control protocol itself, logged where every command funnels through so it covers socket clients, the CLI and the web UI alike. stderr and the in-app buffer now have separate filters, so the UI can keep debug detail the terminal should not carry. Playwright drives a real browser against a daemon on fixture feeds. Eight tests, each mapping to a bug that reached a user -- the Rust tests and the stub-DOM smoke test cannot see a wrong selector or a dead handler. It immediately found one: OPML folders rendered expanded by default, because the code stored closed groups, so any folder never toggled counted as open. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AdXho5tTkjFLeUXKbEjKBh
15 lines
953 B
XML
15 lines
953 B
XML
<?xml version="1.0"?>
|
|
<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
|
|
<channel><title>Test Show</title><link>http://127.0.0.1:8792/</link><description>A fixture feed.</description>
|
|
<itunes:image href="http://127.0.0.1:8792/art.png"/>
|
|
<item><title>First Episode</title><guid>ui-1</guid>
|
|
<pubDate>Mon, 01 Sep 2026 10:00:00 +0000</pubDate>
|
|
<description><p>Show notes for the first one.</p></description>
|
|
<itunes:duration>1830</itunes:duration><itunes:season>1</itunes:season><itunes:episode>1</itunes:episode>
|
|
<enclosure url="http://127.0.0.1:8792/ep1.mp3" length="40000" type="audio/mpeg"/></item>
|
|
<item><title>Second Episode</title><guid>ui-2</guid>
|
|
<pubDate>Mon, 08 Sep 2026 10:00:00 +0000</pubDate>
|
|
<description>Notes for the second.</description>
|
|
<itunes:duration>900</itunes:duration>
|
|
<enclosure url="http://127.0.0.1:8792/ep1.mp3?2" length="40000" type="audio/mpeg"/></item>
|
|
</channel></rss> |