Three-pane layout: feeds, items, item text
Feeds beside, the feed's items above, and the selected item's text with its enclosures below -- the shape iPodderX used. Selecting a row fills the pane below instead of expanding inline; enclosures render there as a player when the file is present and a labelled download when it is not. The divider drags and its position is remembered. The archived site kept no usable screenshot of the original window, only marketing panels, so this follows the description rather than reference art. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AdXho5tTkjFLeUXKbEjKBh
This commit is contained in:
28
PROGRESS.md
28
PROGRESS.md
@@ -56,6 +56,34 @@ and until now nothing set them.
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-10 — Three-pane layout
|
||||
|
||||
Ray asked for feeds beside, items above, and the selected item's text with its enclosures below —
|
||||
the layout iPodderX used. Went looking for a screenshot to work from: the archived ipodderx.com kept
|
||||
only marketing panels and 130px feature icons, no full window, and the review screenshots lived on
|
||||
MacMerc which the archive query did not surface. Said so rather than pretending to have reference
|
||||
art; the description is a precise spec on its own.
|
||||
|
||||
`#split` is a grid of list / divider / detail. Selecting a row no longer expands it inline — it
|
||||
highlights and fills the pane below with the title, metadata, read/keep buttons, the sanitized notes
|
||||
and one block per enclosure (a player when the file is here, otherwise what it is and a Download
|
||||
button). The divider drags, and the split is remembered in localStorage. The OPML group page keeps
|
||||
the old scrolling layout via a `plain` class.
|
||||
|
||||
**Process note, because it cost a dozen calls.** Four anchor-patches in a row failed on text I had
|
||||
guessed rather than read: `return el` not `return div`, `open:new Set()` mid-line rather than
|
||||
starting one. Each assert aborted before writing, so the file kept reverting to a half-applied
|
||||
state, and one earlier patch did land while broken and left a syntax error. What worked was
|
||||
reverting to the committed copy and then reading each block verbatim before touching it, with regex
|
||||
for the whitespace-sensitive parts.
|
||||
|
||||
The suite paid for itself again: the new pane test failed on `#detail audio` because
|
||||
`max_new_per_check = 1` plus newest-first means the daemon fetches *Second* Episode, so First has no
|
||||
player. My assumption, not a bug — the same mistake as the earlier `S1E1` one. The test now finds
|
||||
the downloaded row by its chip instead of assuming which episode it is. 9 browser tests pass.
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-10 — Image enclosures were being treated as episodes
|
||||
|
||||
Reported as "Abort Retry Fail shows downloads but there are none". It had 20 enclosures, all
|
||||
|
||||
Reference in New Issue
Block a user