Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding rate-limited feeds is failing #4531

Open
remyzandwijk opened this issue Feb 17, 2025 · 1 comment
Open

Adding rate-limited feeds is failing #4531

remyzandwijk opened this issue Feb 17, 2025 · 1 comment

Comments

@remyzandwijk
Copy link

Adding rate-limited feeds is failing due to the way NetNewsWire is adding these feeds. This problem is observed using these versions:

  • NetNewsWire 6.1.9 on macOS 15.3.1
  • NetNewsWire 6.1.8 on iOS/iPadOS 18.3.1

I wanted to add the feed of Rachelbythebays' writings (https://rachelbythebay.com/w/atom.xml) but it kept failing. I knew that Rachel is rate-limiting the feed. The rules are simple: you may do unconditional requests once every 24 hours and/or you may do conditional requests every hour. (As a side note: Rachel wrote a couple of very interesting posts about the (mis)behaviour of feed readers, which are worth while reading).

After waiting for almost 48 hours, I could still not add the feed, so I contacted Rachel to ask her what is going on. After all, I was way past the 'unconditional request time'. Rachel replied that the logs of her server show that NetNewsWire is doing two and sometimes three GETs while adding a feed ('ip' is my redacted home IP address):

ip - - [09/Feb/2025:02:38:01 -0800] "GET /w/atom.xml HTTP/1.1" 200 519233 "-" "NetNewsWire (RSS Reader; https://netnewswire.com/)"
ip - - [09/Feb/2025:02:38:02 -0800] "GET /w/atom.xml HTTP/1.1" 429 197 "-" "NetNewsWire (RSS Reader; https://netnewswire.com/)"

ip - - [05/Feb/2025:01:26:42 -0800] "GET /w/atom.xml HTTP/1.1" 200 519233 "-" "NetNewsWire (RSS Reader; https://netnewswire.com/)"
ip - - [05/Feb/2025:01:26:43 -0800] "GET /w/atom.xml HTTP/1.1" 429 197 "-" "NetNewsWire (RSS Reader; https://netnewswire.com/)"
ip - - [05/Feb/2025:01:26:53 -0800] "GET /w/atom.xml HTTP/1.1" 429 197 "-" "NetNewsWire (RSS Reader; https://netnewswire.com/)"

As can be seen, the result of the second request is a 429 status (Too Many Requests): the rate-limiting is kicking in, since the second request comes too quickly. Rachel also stated that the requests above where unconditional requests. At least the second and subsequent requests should be conditionally (please see next paragraph).

To verify the behaviour, I spun up a Python webserver, serving a simple and small atom.xml, but not using rate-limiting. When adding this feed, the logs shows the two GETs as well. Obviously, adding this feed succeeds, since in this setup no rate-limiting is used. Subsequent request are in fact conditional requests, what is expected. I also tested if there is a difference in behaviour when adding the feed to iCloud or a local account, but the behaviour (the two GETs) is the same.

The main question is: why does NetNewsWire do two GETs when adding a feed?

Besides reporting this issue, I have a feature request: Please add the version number of NetNewsWire to the User-Agent string and preferably the kind of device (iOS, iPadOS, macOS) too.

Thanks,
Remy

@brentsimmons
Copy link
Collaborator

I’ll look into it — thanks!

About the user-agent string: it deliberately lacks platform and app version as an anti-fingerprinting measure.

@brentsimmons brentsimmons added this to the NetNewsWire 6.2 milestone Feb 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants