Tuesday, August 6, 2024

NetNewsWire and Conditional GET Issues

Brent Simmons (Mastodon):

I had thought that NetNewsWire’s conditional GET support was rock-solid — and so my first reaction was to be very surprised to learn that it’s not!

[…]

When a server returns a Last-Modified header, the client should return that exact same string in follow-up requests in an If-Modified-Since header. The server then looks at the If-Modified-Since header and decides to either return a 200 plus the feed — if it has been modified since — or return a 304 Not Modified response and an empty body.

It’s the same story with the Etag header. The client should save it and return it in follow-up requests in an If-None-Match header.

[…]

In some cases, NetNewsWire is not picking up and saving the changed Last-Modified and Etag headers. Sometimes it does, and sometimes it keeps using whatever it already had and ignores the new ones.

I had been meaning to file a bug about this because I’d noticed in my server logs that sometimes a lot more full requests were being served than I expected. That is, on a day when I didn’t make any posts, I would have expected the feed to be mostly cached by NetNewsWire, but it wasn’t. However, many other times it seemed like the conditions GETs were working. Simmons found a bug that perhaps explains this.

The other NetNewsWire issue I’ve been seeing is this one, where sometimes it stops syncing with Feedbin until it’s restarted.

Previously:

2 Comments RSS · Twitter · Mastodon


Am I the only one noticing that there are 640 commits since the last release in Jun 2023?


@Chuck I think a lot of the commits have been to adopt Swift Concurrency. (So it’s not as though hundreds of bug fixes and new features are being held back.)

Leave a Comment