Making Connector setup easier on Chrome OS
As originally documented by @jackyko1991, getting the Zotero Connector to talk to Zotero on a Chromebook requires setting up port forwarding.
Does anyone know more about the port issue? It seems like that still applies in current versions, but what's the actual issue? Most ports just aren't forwarded between Chrome OS and Linux apps? 23119 is specifically blocked for some reason? Short of using 8080, is there anything we could do in the Linux build (or the .deb maintained by @emilianoeheyns) to fix this? (The Zotero Connector defaults to 23119, so changing that isn't really an option.)
At the very least, if we could detect Chrome OS, we could maybe show a warning on first run with a link to instructions, with a checkbox to not show again. I'm not sure exactly how we'd even do that detection, though. Can someone on a Chromebook paste the result of running
Does anyone know more about the port issue? It seems like that still applies in current versions, but what's the actual issue? Most ports just aren't forwarded between Chrome OS and Linux apps? 23119 is specifically blocked for some reason? Short of using 8080, is there anything we could do in the Linux build (or the .deb maintained by @emilianoeheyns) to fix this? (The Zotero Connector defaults to 23119, so changing that isn't really an option.)
At the very least, if we could detect Chrome OS, we could maybe show a warning on first run with a link to instructions, with a checkbox to not show again. I'm not sure exactly how we'd even do that detection, though. Can someone on a Chromebook paste the result of running
Services.appinfo
in Tools → Developer → Run JavaScript in Zotero? If there's nothing promising-looking in there, is there a file we can check — e.g., return await Zotero.File.getContents('/path/to/something/helpful')
?
I can't find the full list of available port by Chromeos Linux VM. If you are using port 8080 (which I think you are using it for webpage development), try other uncommon ports to see if it works.
I'm not optimistic, but I guess I'd be curious what the result is for
browser.runtime.getPlatformInfo().then(x => console.log(x))
in the Console of the Zotero Connector's background page, which you can access from the Extensions pane of the Chrome preferences with "Developer mode" turned on.And I'd still be interested in the answer to my question above about Zotero itself.
Chrome OS now auto-forwards several 'well known' ports, including 8080 (https://www.reddit.com/r/Crostini/comments/99s3t9/wellknown_ports_are_now_autoforwarded_to_the/) - so all I did was change my Zotero connector settings (Advanced > Advanced Config > Config Editor) to set connector.url to http://127.0.0.1:8080/
Works fine for me - perhaps would be good to update the install directions as this removes the additional step of installing an app?