Open drwwirth opened 1 year ago
As discussed in the topic on the forum, it seems that the module used for requests does not support IPv6. Since this is an upstream issue, I moved the priority from high to medium, because we can't do anything in Joplin to fix this sooner.
We should open an issue with the upstream project.
However, I also remember that there's is no h2 support either in that module. Maybe we can find a newer, better package that suits our needs. This is just a random idea, because I haven't done any research on that topic.
I think it is a serious problem that IPv6-only servers can't be reached via Joplin desktop. As in this case, it is not the user's fault, not being able to add an IPv4 endpoint, which makes this even more serious.
I will look into the package and possible alternatives next week. But I hope that others can also give their input on this topic.
What module doesn't support IPv6? Isn't it handled by Node, and it seems Node supports IPv6?
I remember that the fetch and other things are either handled by node directly but I think to recall it was a module. All communication is done via that module. I don't know off the top of my head, but I will look into it next week.
On mobile the OS TCP/IP stack takes care of that, which is why HTTP2 and IPv6 work on mobile.
Fetch operations are handled by node-fetch, but it's just an implementation of the fetch
standard, but I think the low level network operations are done by Node
Is there a chance to get that running?
Same issue here. I decided to migrate from dropbox to my home-based nextcloud server and discovered I couldn't because my server is ipv6 only.
The desktop Joplin app throws "failed, reason: connect ETIMEDOUT [some ipv4 from my ISP here]:443". Joplin is trying the HTTPS port but of course, there is nothing there.
As the adoption of ipv6 increases and ipv4 addresses exhaust, this will happen more frequently.
When I looked into this I went down the rabbit hole. I know too little about nodejs and how to make IPv6-only or http2 work with node. This is somthing for "real" nodejs devs. Not someone who plays around with it like me.
But I certainly do understand the importance of it. (e.g. personally I've been hoping for h2 support for years now.)
I think it's something that we'll support when Electron supports it. From reading a few threads here and there, it's not clear to me if any of their versions properly supports it yet.
one year later ... is there a chance to get Joplin syncing with IPv6 only networks ?
Anything changed in electron ?
Environment
Joplin version: 2.9.17 Platform: Standard PC Fujitsu Esprimo P958, 16 GB RAM OS specifics: Windows 10 64 bit 22H2 Build 19045.2486
Steps to reproduce
Describe what you expected to happen
Joplin should give me the information that the sync target is o.k. and reachable
What happens
Joplin throws an error:
Logfile