Commit graph

6330 commits

Author SHA1 Message Date
Dan Stillman
da2dedf7af Use passed URL rather than doc.location in translator processDocuments
Outside of page contexts (e.g., from an XHR with responseType =
'document'), document.location is null.
2017-08-16 17:58:59 +02:00
Dan Stillman
065bac3b8a Avoid XML Parsing Error for WebDAV requests that don't return Content-Type
If responseType isn't set and the response doesn't include a
Content-Type header, Firefox tries to parse the file as XML, and if the
file isn't XML it logs an "XML Parsing Error", which includes the
username and password.
2017-08-16 01:07:10 +02:00
Dan Stillman
db8bb3484d Update password-hiding logic for malformed-XML XHR errors in reports 2017-08-16 00:41:38 +02:00
Dan Stillman
b171b15d87 Don't log WebDAV Authorization header 2017-08-16 00:41:38 +02:00
Adomas Venčkauskas
dae0986b9b Fix a cross-origin frame access error in Translate.Web.setDocument 2017-08-15 15:36:26 +03:00
Adomas Venčkauskas
a5a7df328a Changes imports from connector to save to selected collection
Closes #1289
2017-08-15 11:35:53 +03:00
Dan Stillman
c31f0b6b5c Fix <label class="text-link"/> in basic viewer (e.g., Add-ons pane)
I'm not sure when this stopped working, or whether the Add-ons pane was
in the basic viewer before, but that fixes it.
2017-08-15 00:36:43 +02:00
Dan Stillman
8797c7f680 Fix error refreshing missing citation without name part
https://forums.zotero.org/discussion/66789/
2017-08-14 21:24:31 +02:00
Dan Stillman
a24f16eb85 Don't look up library name for each downloaded file 2017-08-13 03:26:23 +02:00
Dan Stillman
c9b9d4127d Fix first-run error with some upgrades after 39bfeac86c 2017-08-13 03:00:57 +02:00
Dan Stillman
6bcf92db46 Fix "Open in Library" from Quick Format popup if main window is closed
Possible now on macOS
2017-08-12 02:50:27 +02:00
Dan Stillman
c59ae5cf40 Add Zotero.openMainWindow()
Opens the main Zotero window if it's not open, which is now possible on
macOS.
2017-08-12 02:49:36 +02:00
Dan Stillman
2770860968 Don't update storage version if file sync is stopped
Otherwise subsequent syncs won't download the remaining files until
there's a remote storage change.
2017-08-11 22:29:40 +02:00
Dan Stillman
9069559050 Improve logic for determining whether to check for files to download
This should fix cases of files not being downloaded after interrupted
syncs until the next time files were changed remotely.
2017-08-11 22:29:40 +02:00
Dan Stillman
4c13d51f24 Show files remaining in library in sync button tooltip 2017-08-11 18:25:08 +02:00
Dan Stillman
0df967418b Fix error handling for HTTP.request() with responseType: 'document' 2017-08-11 18:25:08 +02:00
Dan Stillman
9202ab8b3c Download missing attachments as needed even in at-sync-time mode 2017-08-11 16:06:06 +02:00
Dan Stillman
3a2f0e6929 Fix URL opening in some places (since 21cc9f16bf) 2017-08-11 11:51:02 +02:00
Dan Stillman
65d63fad37 Fix opening of some links in About pane 2017-08-10 04:51:58 +02:00
Dan Stillman
21cc9f16bf Move ZoteroPane.launchURL() to Zotero.launchURL()
And add deprecation warning to ZoteroPane.launchURL()
2017-08-10 04:49:57 +02:00
Dan Stillman
678a6e15cc Better Unicode path comparison in WebDAV.purgeOrphanedStorageFiles() 2017-08-10 04:41:16 +02:00
Dan Stillman
83fe445f8f Fix error message in WebDAV purgeOrphanedStorageFiles() 2017-08-10 03:59:55 +02:00
Dan Stillman
39bfeac86c Choose most recently used data directory when upgrading to 5.0
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).
2017-08-10 03:31:56 +02:00
Dan Stillman
d3833b8afd Ignore stored-file path with no 'storage:'
There was a report of an imported file with a relative path, probably
from some ancient bug (in our code or a plugin's)
2017-08-09 02:41:07 +02:00
Dan Stillman
a02eb3c328 Don't stop after one uploaded full-text batch 2017-08-09 02:04:04 +02:00
Dan Stillman
07ce273333 Show "Queued" in right pane for unprocessed full-text and allow indexing 2017-08-09 02:01:33 +02:00
Dan Stillman
fffa1badd4 Stop storage requests on shutdown 2017-08-09 02:01:33 +02:00
Dan Stillman
9920a845c6 Don't initialize storage requests until they start 2017-08-09 02:01:33 +02:00
Dan Stillman
a0a2502947 Allow debug output logging to be enabled after later restart
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.
2017-08-05 19:44:58 +02:00
Dan Stillman
b3b9cac078 Fix "Copy as HTML" Quick Copy setting 2017-08-05 03:13:33 +02:00
Dan Stillman
34e23937a1 Remove pointless Bluebird lines from various stack traces 2017-08-05 01:09:57 +02:00
Dan Stillman
7b0ed6da81 Don't unlink account on key info request connection failure
This can happen when the computer is offline but that hasn't been
detected for some reason.
2017-08-05 01:07:49 +02:00
Dan Stillman
198fb28e20 Resolve schema update promise even if repository update fails 2017-08-04 16:48:21 +02:00
Adomas Venčkauskas
492293ef84 Fix a wrong cookieSandbox condition for /connector/saveSnapshot 2017-08-02 15:43:55 +03:00
Dan Stillman
c6ab18634d Improve data directory startup error handling
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.
2017-07-31 05:42:16 -04:00
Dan Stillman
33eb31d6e2 Fix typo from 991967d5b 2017-07-30 15:25:10 -04:00
Dan Stillman
5123c21e0d Don't close Zotero on macOS when window is closed
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.
2017-07-30 07:52:58 -04:00
Dan Stillman
a8ba2fac33 Don't rely on last browser window to open prefs from menu 2017-07-30 07:42:56 -04:00
Dan Stillman
ee0b4f5d0d Use nsIWindowWatcher in Zotero.openInViewer()
Instead of getting the last browser window
2017-07-30 07:37:34 -04:00
Dan Stillman
991967d5bc Refactor and improve target selection in connector server
Fall back to lastViewedFolder if no active Zotero pane
2017-07-30 07:34:22 -04:00
Dan Stillman
ac7c22a7c6 Fix searches for PowerPoint files
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.
2017-07-30 00:06:59 -04:00
Dan Stillman
168e4e4b45 Default month/day to 01 in Timeline if missing
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.
2017-07-29 22:17:08 -04:00
Dan Stillman
23d4992265 Fix Zotero.Utilities.Internal.getAsyncInputStream(), used by Timeline 2017-07-29 22:11:56 -04:00
Dan Stillman
a6564e92d7 Update proxy authentication URLs
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
2017-07-28 20:41:10 -04:00
Dan Stillman
884d03b12a Remove prompt when adding style manually
(And prompt was showing "(null)")
2017-07-28 19:34:20 -04:00
Dan Stillman
d252a09cd3 Update Quick Copy menu options based on current settings and URL
Show "Copy Citation" and "Copy Bibliography" when a bib format is
selected and "Copy as BibTeX", etc., when an export is selected. If a
site-specific setting is in effect from the last active URL, use that
instead.

If no regular items are selected in bib mode, the menu options are
disabled.

This also now filters non-regular items out when in bib mode -- before
if you selected a combination it would include a bunch of 'n.d.' lines.

Closes #1155, Disable Copy Citation menu option when a translator is
selected for Quick Copy
2017-07-28 19:11:39 -04:00
Dan Stillman
72fbee5523 Fix crash switching from Notes tab to feed item 2017-07-27 00:11:13 -04:00
Dan Stillman
c110e64293 Consider fulltextItems with SYNC_STATE_MISSING as unindexed
The items will still match full-text word searches, but they won't match
phrase searches (because those require cache files for non-text
attachments) and the full-text won't sync to other computers, so they
should really be reindexed.
2017-07-26 22:16:01 -04:00
Dan Stillman
67ccb632b4 Don't keep looking for unsynced full-text content that isn't available
This can happen if cache files are deleted for PDF attachments or if
text files are missing.
2017-07-26 22:16:01 -04:00
Dan Stillman
10637ca9ea Switch to OS.File for most full-text file access 2017-07-26 22:16:01 -04:00
Dan Stillman
61f8a2c3c5 Fix various problems with fulltextContent searches
Including finding items in the wrong library and not finding any items
when paired with the checkboxes in ANY mode
2017-07-26 22:16:01 -04:00
Dan Stillman
36371630b5 Restore auto-expanding of search matches except in My Publications
Saved searches and the trash should automatically expand items to show
matching child items, but that was broken in d47275210.
2017-07-26 22:16:01 -04:00
Dan Stillman
46531a4c69 Remove non-matching parent items when deleting items from trash
Fixes #866, Trash doesn't refresh properly when emptying deleted
attachments
2017-07-26 22:16:01 -04:00
Dan Stillman
e475b22f1d Add intl.accept_languages from Mozilla language packs 2017-07-25 16:27:31 -04:00
Dan Stillman
d8b201487d Allow clearing global prefs 2017-07-25 15:44:49 -04:00
Dan Stillman
521f291b84 Fix PluralForm support
The library was using the plural rule defined in the built-in
intl.properties, but that was always en-US in the standalone app.
2017-07-25 15:20:23 -04:00
Dan Stillman
d01366a2f1 Remove line from Report Errors about messages possibly unrelated to Zotero 2017-07-25 03:01:45 -04:00
Dan Stillman
c2bb4ac10b Move debug output logging to the Help menu
Adds a submenu for quickly generating and submitting debug output, with
a button to copy the Debug ID to the clipboard and a one-click option to
restart with logging enabled. Debug output can also now be viewed in
real-time using the new debug output viewer window (previously available
only via a command-line flag).

The locale switcher has moved to the top of the Advanced prefpane (where
Debug Output Logging used to go) in a Miscellaneous section, and there's
a new "Advanced Configuration" section (mirroring Thunderbird) at the
bottom for "Config Editor".

Closes #1108
2017-07-25 03:00:39 -04:00
Dan Stillman
e3947e7b45 Debug output viewer tweaks
- Decrease font size
- Do a better job of pinning to bottom
- Disable submit button when clearing output
- Filter ANSI color codes from slow lines
2017-07-25 02:41:50 -04:00
Dan Stillman
a9594360cd Deprecate Zotero.Utilities.Internal.quitZotero() in favor of quit() 2017-07-25 02:29:26 -04:00
Dan Stillman
695dd4e65d Don't omit first line in debug output when submitting 2017-07-24 22:49:17 -04:00
Dan Stillman
6ae2b58d3f Update submodules 2017-07-24 08:59:23 -04:00
Dan Stillman
34d039ba48 Fix a whole mess of issues with data directory migration
- If an error occurred while moving the database file, the data
  directory could end up pointing to the new, empty directory after a
  restart
- The error message for a full failure was missing the second half that
  actually explained that you were supposed to move the data directory
- The check for different-drive migrations didn't work if the new
  directory didn't exist (at least on macOS), swallowed some errors, and
  interfered with manual migrations from the prefs
- The manual migration button would say that the new directory wasn't
  empty even if it just contained .DS_Store
- Don't show "Database migration in progress" after not restarting after
  a migration failure

Additionally, after a full failure the migration is now attempted on
every restart and displays a warning each time, since otherwise people
will never move their directories out of the Firefox profile (which is
when it's going to fail the most, due to security software).
2017-07-24 08:51:02 -04:00
Dan Stillman
05ea309e2e Use proper locale format for dates in items list
2addf6b27b fixed the date order used when automatic locale detection was
enabled, but this fixes the format (e.g., dots instead of slashes). It
should now match the item pane. I'm not sure why we weren't doing this
before, but hopefully we didn't have a good reason.
2017-07-23 15:12:09 -04:00
Dan Stillman
ef71a2c77c Use HTTPS for Google Scholar in Retrieve Metadata for PDF 2017-07-23 00:57:04 -04:00
Dan Stillman
225215842d Fix auto-syncing of unchecked groups after object change 2017-07-21 19:39:37 -04:00
Dan Stillman
6d2c72fb54 Fix revealing parent directory of missing file
Updates Zotero.File.getClosestDirectory() to take a path rather than an
nsIFile
2017-07-21 18:33:36 -04:00
Dan Stillman
b033dedddc Fix broken WebDAV orphaned-file purging after 39a8e8fb0c 2017-07-21 08:39:43 -04:00
Dan Stillman
faecefa375 Rename/reorganize Advanced prefs buttons
- Move csledit and cslpreview to a Tools section of the Cite pane as
  Style Editor and Style Preview
- Rename "Open about:config" to "Config Editor"
- Hide about:memory unless devtools.errorconsole.enabled is enabled,
  which isn't particularly appropriate and maybe we can find something
  better, but about:memory doesn't really need to be visible by default

Closes #1264
2017-07-21 07:53:50 -04:00
Dan Stillman
33b40829b8 Add locale switcher to Advanced prefs
Closes https://www.zotero.org/trac/ticket/1733 (!)
2017-07-21 07:51:57 -04:00
Dan Stillman
2addf6b27b Get Zotero.locale from loaded locale, not from pref
It was previously set from general.useragent.locale, but that's not used
by default, meaning that date interpretation and some other things might
have been incorrect for everyone who didn't set a locale explicitly and
toggle matchOS...
2017-07-21 07:51:57 -04:00
Adomas Venčkauskas
40c84ecbc0 Report automaticSnapshots pref to connector.
Part of zotero/zotero-connectors#151
2017-07-21 11:36:36 +03:00
Dan Stillman
39a8e8fb0c Send Content-Type: text/xml header for WebDAV PROPFIND 2017-07-21 04:05:12 -04:00
Dan Stillman
a7be5444ea Fix tag selector search (broken in 6de7fdedf) 2017-07-20 16:51:50 -04:00
Dan Stillman
6de7fdedf9 Take tag selector out of the tab order, for now
This restores the 4.0 behavior. It's not ideal, but neither is having to
tab through thousands of items to get to the items pane (unless you
toggle the tag selector closed first). Hopefully we can come up with a
better solution to make the tags accessible.
2017-07-20 03:46:56 -04:00
Dan Stillman
cbc05baf02 Fix error on connector ping before site-specific Quick Copy load 2017-07-20 03:46:56 -04:00
Adomas Venčkauskas
ece3491e21 Connector server: respond with collection editability status 2017-07-19 11:40:55 +03:00
Dan Stillman
a158e8a71b Alter Quick Copy preferences text
Closes #1022

Could try to explain site-specific settings, but it's somewhat
complicated (requires the Zotero Connector, uses the last active tab
regardless of drag destination), so maybe enough to explain on the
linked documentation page.
2017-07-19 03:57:39 -04:00
Dan Stillman
b3ce918dfb Sort export translators in Quick Copy settings drop-downs 2017-07-19 03:39:51 -04:00
Dan Stillman
6d265f448f Restore site-specific Quick Copy settings
Using the last URL passed by a connector

Closes https://github.com/zotero/zotero-connectors/issues/145
2017-07-19 03:39:27 -04:00
Dan Stillman
2928752d19 Clear attachment data change marker when loading primary data
Fixes a regression from ef7da3486a in which attachment data still shows
as changed after a save.
2017-07-18 18:50:28 -04:00
Dan Stillman
cff84a71ed Simplify an array check 2017-07-18 17:32:38 -04:00
Dan Stillman
df353bdc05 Optimistic updates for item tags box
Add/update/remove rows immediately and save after. If there's an error
during saving, reload the pane.
2017-07-18 17:32:38 -04:00
Dan Stillman
ef7da3486a New state-handling approach for item tag changes
If this works out I think we'll want to use this approach for
all data layer changes.

Previously, an unsaved change on an object would update its state
immediately, which was fine for synchronous code but breaks down if a
save involves multiple asynchronous calls, because modifying state after
the relevant data has been saved to the DB but before the `_changed`
object has been cleared would mean that new changes would be lost. Now,
changes are written to _changedData, and a get for the data first checks
_changedData before checking the state property (e.g., _tags) directly.
The changedData property is cleared as it's written, and once the object
is saved, the reload updates the state property with the new data.
2017-07-18 17:31:40 -04:00
Dan Stillman
09a859d7e3 Allow an array of strings in Zotero.Item::setTags()
New tags will all be of type 0 (manual)
2017-07-18 17:21:36 -04:00
Dan Stillman
3715c8da1b Fix use of multiple search translators
It was stopping after the first translator, which meant that some ISBN
lookups failed if the ISBN wasn't in Library of Congress.

Regression from 6da0845f4b, which hopefully didn't have a good reason
for this
2017-07-18 07:13:03 -04:00
Dan Stillman
5268060802 Move Tools -> Options to Edit -> Preferences on Windows
Closes #1167
2017-07-18 04:14:17 -04:00
Dan Stillman
76030d2c4a Fix tag selector font on Windows 2017-07-18 04:14:17 -04:00
Adomas Venčkauskas
6d7dcc44bc Add connector endpoint to retrieve proxies. Closes #1265 2017-07-18 10:25:54 +03:00
Dan Stillman
78dd1e132e Fix calculation of last WebDAV orphaned-file-purge time
Purging was happening after every download.
2017-07-17 16:53:11 -04:00
Dan Stillman
ba514b80d9 Add "Remove All Tags…" option to item tags box context menu 2017-07-17 16:34:52 -04:00
Dan Stillman
918ae23418 Increase default window size to 1000x600
(Plus a little, I think)
2017-07-17 16:34:52 -04:00
Adomas Venčkauskas
f829e4d6cc Fix an integration.js typo. Closes #1263 2017-07-14 13:40:44 +03:00
Dan Stillman
0f965b0de6 Fix collection context-menu options broken in 02774ac6f
E.g., selective sync
2017-07-14 01:06:57 -04:00
Dan Stillman
57881ff587 Fix restoring after closing from full-screen mode on macOS 2017-07-13 18:27:06 -04:00
Dan Stillman
ea513edf73 Prevent infinite loop if search points to itself 2017-07-13 18:07:58 -04:00
Dan Stillman
0c49350cdf Fix startup error from empty 'collection' search condition 2017-07-13 16:10:33 -04:00
Dan Stillman
df24917c2f Fix #1260, Windows Application (menu) key doesn't work in items pane 2017-07-13 03:26:28 -04:00
Dan Stillman
2d8132b6c8 Log URL for snapshot save timeouts 2017-07-13 02:33:28 -04:00
Dan Stillman
1247896d70 Fix crash from tag name collision with Object properties in tag selector 2017-07-13 01:19:15 -04:00