WebDav Zotero 7

WebDav works for me in Zotero 6. I was trying the zotero 7 beta, and I get a server could not be reached error.

If I open the database up back in Zotero 6, it works fine. I can of course access my webdav server through other apps and services, plus it works in Zotero 6.

Is there a setting that needs to be changed/updated in zotero7 that I'm not seeing to get webdav to work, or is this maybe just one of those bugs in a beta thing that shouldn't work?
  • Can you provide a Debug ID for this?
  • Yes, sorry. D1013139134
  • This is some sort of local DNS? That domain doesn't resolve globally.
  • Yes, it's a local DNS record in my router that I only access on my home server from my other computer/laptop on the same network. Ultimately if needed outside access I do it through wireguard, but not trying that right now.
  • Possible that Zotero isn't using the same DNS setting and is skipping your local resolver or something. Zotero is based on Firefox, so you'll need to play with the Firefox DNS/network settings in the Config Editor (a.k.a. about:config) in the Advanced pane of the prefs, restarting after making changes. You can also check whether you can access your server from an actual Firefox installation.

    Could also be a network/proxy issue, but Zotero is able to connect generally, so DNS seems more likely.
  • So I run linux, and my firefox browser has DNS set to use the default DNS resolver for my system. My system DNS resolves to my router. I can access my webdav from firefox as well (I'm using SFTPgo). I can use curl from my command line to access and place files on my webdav as well. Further it works with with a drop in install of zotero 6 with the same config files/folders, so I figure there has to be something with zotero 7.

    I agree though I thought it felt like DNS. But actually if I just put in the IP of my webdav server I get the same error. I thought I'd get an error about not being able to verify the SSL handshake since the cert wouldn't be valid for the IP, but I don't get that. I get the exact same error that it couldn't be reached, and the debug log looks the same. I don't run a proxy, but I've been looking at those settings as well and can't find anything that seems clearly wrong.
  • I hate to bump, but as an update. I just tried again today with the most recent version of Zotero.

    I can still connect to my self-hosted webdav perfectly fine when using Zotero 6. It syncs and all files are updated. But if I update to Zotero 7 I still get the "server could not be reached" error. So it seems something must have changed in the zotero 7 webdav connection settings.
  • Can you provide another Debug ID from the Zotero 7.1 beta?
  • Here is the debug ID: D1908366409
  • If you go to Tools → Developer → Run JavaScript, substitute your hostname and port in the following, and run it, what's the result?

    return (await fetch('https://192.168.0.1:1234', { signal: AbortSignal.timeout(1000) })).status

    Do you see any traffic in the server logs?

    Can you run tcpdump and/or ngrep on the interface to see if anything is being transmitted?
  • Running that gives:

    TypeError: NetworkError when attempting to fetch resource.

    I tried a slightly different command trying console.log, doubt it adds much, but this is what it says in case it helps:

    NetworkError: TypeError: NetworkError when attempting to fetch resource.
    chrome://zotero/content/runJS.js line 22 > eval:3
    chrome://zotero/content/runJS.js line 22 > eval:6
    run chrome://zotero/content/runJS.js:22
    onclick chrome://zotero/content/runJS.html:1
    runJS.js line 22 > eval:6:27
    chrome://zotero/content/runJS.js line 22 > eval:6

    I tried doing the javascript command in zotero 6, but I get the error the AbortSignal is not a function. It seems it's too old a version of javascript in zotero 6 to support that.

    I don't see any traffic in the server logs.

    When I use ngrep and try to "verify server" using zotero 6, I get a bunch of traffic found in ngrep output to the sftpgo server. But when I do the same using zotero 7 there is no traffic at all.

  • Can you provide a Debug ID for Zotero startup, using the "Restart with Logging Enabled…" option?
  • Sure.

    D63981949
  • I'm not sure what to tell you. Zotero indeed isn't using a proxy, but something is preventing it from connecting with the server. Your Zotero can connect to other servers, so this is clearly something specific to your network configuration (or something like SELinux blocking Zotero from making certain connections). I'm afraid you'd have to try to debug it further on your own. One option would be to in fact try using a proxy — e.g., just as a test, you can run mitmproxy and configure Zotero to use that as you would in Firefox. Assuming Zotero can connect to localhost, that would probably be a workaround.

    You also might want to try tcpdump instead of ngrep just to confirm that there's no traffic at all — ngrep wouldn't necessarily show every packet.
  • I guess my confusion is why it works just fine on zotero 6? What is different about 6 vs 7 that I can connect to the server and manage the library just fine when using zotero 6. Because I'm not entirely sure where to start debugging me network when everything connects to my webdav (including other applications), but zotero 7 is the only thing that doesn't. I'll check again with tcpdump, but I suspect nothing is getting through.
  • Zotero 6 was based on Firefox 60 and Zotero 7.0/7.1 are based on Firefox 115/128. So, a lot.
Sign In or Register to comment.