Inter, one file where WordPress listed two, and a pin heading on line
Inter (#11): the pages are set in Inter's variable font, served from the binary at /inter.woff2 as the icon is, with its OFL licence beside it in web/. Classic keeps Lucida Grande, the 2004 app's face. Double audio (#12): WordPress numbers each audio player on a page by adding ?_=N to its file's URL, so a post that embeds the file it encloses listed it twice, and it was downloaded twice. The parser keeps the first of an item's enclosures that differ only by that number. At startup the repeats already stored fold into the first; where only the repeat had been downloaded its file moves to the first rather than being deleted. Pin heading (#13): the rows' icon buttons kept the browser's side padding, which pushed their 16px icon 3px right of centre, and the heading's icon sat at the left of its column. Both are centred now, and the heading row takes the pixel of border the rows have, so every heading sits over its column. Closes #11, closes #12, closes #13. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
15
src/main.rs
15
src/main.rs
@@ -398,6 +398,21 @@ async fn daemon(
|
||||
Err(e) => tracing::warn!(error = ?e, "could not retire feeds whose OPML is no longer in config"),
|
||||
}
|
||||
|
||||
// Before the parser knew WordPress's numbered player URLs, a file it listed twice was
|
||||
// downloaded twice. The repeats fold into the first, and their spare copies are deleted.
|
||||
match ctx.db.merge_repeated_enclosures(feed::same_file_key) {
|
||||
Ok((0, _)) => {}
|
||||
Ok((n, spare)) => {
|
||||
for path in &spare {
|
||||
if let Err(e) = std::fs::remove_file(path) {
|
||||
tracing::warn!(path, error = %e, "could not delete a spare copy");
|
||||
}
|
||||
}
|
||||
tracing::info!(enclosures = n, files = spare.len(), "folded files WordPress listed twice");
|
||||
}
|
||||
Err(e) => tracing::warn!(error = ?e, "could not fold files WordPress listed twice"),
|
||||
}
|
||||
|
||||
let (tx_cmd, mut rx_cmd) = mpsc::channel::<Cmd>(64);
|
||||
|
||||
let web = start_web(&ctx, &config_path, web_addr, &tx_cmd, &events).await?;
|
||||
|
||||
Reference in New Issue
Block a user