-
-
Notifications
You must be signed in to change notification settings - Fork 308
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
feat(settings): add settings for custom DNS servers and IPv4 resolution first #1266
Conversation
…on first This PR adds settings to change the DNS servers Jellyseerr uses and to force Jellyseerr to resolve DNS queries using IPv4 first. These settings aim to make it easier for less experienced users to fix network errors related to DNS resolution.
Out of intereste: Doesn't the used request framework support something like Happy Eyeballs for DNS resolution? |
Node.js has a "loosely implementation" of Happy Eyeballs, that is enabled by default. It doesn't appear to solve issues on broken IPv6 stacks. In fact, we disable it with when forcing to IPv4 first ( If you have any idea regarding this, I'd be glad to hear it, because we struggled quite a lot on this as we almost never manage to replicate the issue. |
🎉 This PR is included in version 2.3.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
I don't want to get in an argument but applications should not support changing the network stack (DNS) at this low of a level, this feature should be reverted IMO. You can take a look around at self-hosted apps and I am willing to bet the majority (if not all) of them do not support this feature nor should they. |
We understand this shouldn't belong to the application land, but we had (and still have) issues everyday of users complaining because of the network error. This setting came as a convenient way for us and for users (especially for non-technical users) to fix the issue no matter how Jellyseerr has been installed. We're using the Fetch API of the latest LTS version of Node.js, which is nowadays the "standard" way of doing requests in Node.js and JavaScript. As I said earlier, we're open to suggestions as we're not network guys, so it's hard for us to figure out what can be done here. |
This PR introduced a bug where dnsServers does not exist in settings.main, leading to |
@DatGuy1 we can't reproduce your issue. It may be related to a misconfiguration on your side. |
If you're installing from source, you might need to delete |
I dug a bit about this, and came across this interesting issue: nodejs/node#54359 It says that:
So Node.js doesn't properly implement the Happy Eyeballs mechanism, but does 2 requests, one at a time. |
Description
This PR adds settings to change the DNS servers Jellyseerr uses and to force Jellyseerr to resolve DNS queries using IPv4 first. These settings aim to make it easier for less experienced users to fix network errors related to DNS resolution.
Screenshot (if UI-related)
To-Dos
pnpm build
pnpm i18n:extract