Follow a feed that has moved for good to its new address (#115)
A feed whose address answered with a permanent redirect was read through it on every check, and the catalogue kept the old address: 28 of 147 feeds in production, most http to https, some to a new path or domain. Feeds are now fetched with a client of their own that follows no redirects (Ctx::feed_client), and feed::fetch follows them itself, up to 10 hops, so it sees each one. When every hop was permanent (301 or 308) it says where the feed ended up, and the scan moves the feed there in the catalogue (follow_move). A temporary hop (302, 307) anywhere moves nothing. A feed an OPML lists is left alone, as the OPML would put the old address back, and so is a move onto an address another feed has. A password goes only to the feed's own host, never to a redirect elsewhere; reqwest's own following dropped it the same way. Ten hops is a loop, worded as reqwest worded it so it still reads as redirect_loop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
### Changed
|
||||
|
||||
- A feed that has moved for good (a permanent redirect) is followed to its new address, which iPX then reads from. A temporary redirect changes nothing.
|
||||
- The daemon sleeps until the next feed is due, at most ten minutes, instead of looking every minute; refreshing or adding a feed still wakes it at once.
|
||||
- A pinned feed's pin sits on the corner of its artwork, as a failing feed's mark does, instead of before its name.
|
||||
- The Directory lists feeds nobody subscribes to yet; Popular still lists what people subscribe to.
|
||||
|
||||
Reference in New Issue
Block a user