2021-02-26 10:51:49: "FetchError: request to https://mediacenter.gmx.net/Joplin/info.json failed, reason: getaddrinfo ENOTFOUND mediacenter.gmx.net
Code: ENOTFOUND
at ClientRequest. (C:\Users\MarioEdelmann\AppData\Local\Programs\Joplin\resources\app.asar\node_modules@joplin\lib\node_modules\node-fetch\index.js:133:11)
at ClientRequest.emit (events.js:310:20)
at ClientRequest.EventEmitter.emit (domain.js:482:12)
at TLSSocket.socketErrorListener (_http_client.js:426:9)
at TLSSocket.emit (events.js:310:20)
at TLSSocket.EventEmitter.emit (domain.js:482:12)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21)"
Joplin uses the node-fetch module to handle requests. I don't think that this module supports proxies.
On another note, we tried to add proxy functionality into Joplin, but the modules either did not support https or http2.
In fact I don't think h2 is working in node-fetch either.
I wish there was a proper request library that handles h2, https, proxying, ... Unfortunately there isn't one for node - at least I haven't found one yet.
I try to connect on a computer at work. It is behind a Proxy. It allows port 80 and 443. The connection to mediacenter works in the explorer. I set it in a batch file to start joplin.
I'm not sure why setting something in a batch file should make a SW proxy aware.
The http/https/http2 implementations in node are a mess. e.g. for h2 you specifically have to use a separate class. What? So how does someone write code that uses h2 if it's available and http/1.1 otherwise. Proxying is a similar mess.
e.g. the sync operations on my Android and iPad are a lot faster (probably twice as fast), because they use h2 via the native OS IP stack. The desktop app uses node-fetch, which still has no h2 implementation and they argue to use a h2 wrapper instead (which apparently does not support http1). As I said - a mess.
I don't even want to start with proxying. Most of the proxy modules don't even mention user credentials. So now what? Should we add proxy support that people can't use when their proxy requires users credentials? The ones that do mention user credentials are not transparent and have a similar issue as I described with h2 above.