Previously, if someone was upgrading from Zotero for Firefox to 5.0 but
at some point had installed Zotero Standalone and told it not to share
the data directory, 5.0 would use the data directory from the Zotero
profile directory, and people would end up with an empty database with a
Zotero Quick Start Guide from years ago.
This checks for the database with the most recent mtime and uses that
data directory instead. In the Firefox profile, that can be either the
default 'zotero' subdirectory or a custom data directory. If one of the
Firefox locations is used, Zotero prefs are read from Firefox, because
it means that Zotero for Firefox was being used (because if Zotero
Standalone had been in use it would've needed a custom data dir setting
pointing at the Firefox database).
With the new system, it wasn't possible through the UI to generate debug
output for another action that happened after a restart, since it just
restarted immediately. This adds a prompt after selecting the menu
option that allows for restarting now, restarting later, or cancelling.
Better instructions and behavior if the data directory is inaccessible
or missing, including automatically detecting a directory at the default
location if the configured directory is missing and offering to use the
default instead. Together, this means that if, say, security software
prevents Zotero from accessing the data directory within the Firefox
profile, it will suggest that the user move it to ~/Zotero and then
prompt to use that directory.
Keep the application open with limited menus, including a Window ->
Zotero option bound to (Cmd-0) that can be used to reopen the main
window.
This allows Zotero to use almost no CPU (instead of a few percentage
points when the window is open, even when hidden with Cmd-H, though it'd
be nice to fix that) and still allow saves from the connector.
There might be some things that aren't being destroyed properly when the
window is closed or other bugginess, but it seems to work pretty well.
This also adds a mechanism for indicating that DB userdata upgrades
after a certain version are minor and shouldn't show "Upgrading
database…" or create a pre-upgrade backup.
This causes any item with just a year to show up at the start of the
year (instead of just not showing up, which I think was the case
before). Unfortunately they can then go out of view, and it's not
possible to scroll to view more, though that could probably be fixed.
And try all, since it doesn't do any of this unless there's a PAC file,
it's not actually a network request unless the site should be proxied,
and it should only make a single HEAD request unless a previous one
fails.
There's a possibility some proxies are limited to HTTP, in which case
changing these to HTTPS might stop this from working. If so, we'd need
to add back HTTP addresses.
Closes#1273