Commit graph

6715 commits

Author SHA1 Message Date
Adomas Venčkauskas
5805c7e562 Integration refactor megacommit
- Removed obsolete logic for citation.properties.deleted, which is no
  longer set anywhere
- Introduced a bibliography class
- BibliographyEditInterface no longer edits state
- Fields._processFields() now has linear flow because:
- Exception handling for missing items and corrupt fields reworked to be
  handled in relevant Field classes, so that the flow remains linear
- Document modifying functions (i.e. Fields.updateDocument()) now only
  called in Zotero.Integration.Interface functions instead of all over
  the place
- document.setDocPrefs() now called after every execCommand() since
  the cost is trivial, but that simplifies a bunch of logic
- Misc code cleanup

TODO at some point in the future:
- Move Integration.(init/delete)Pipe out
- Decouple references and clarify functions in Integration.Fields and
  Integration.Session
2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
f44d563a15 Add Zotero.Integration.Citation
- Moves a bunch of citation related processing from Integration.Session
- Replaces missing item handling with a function instead of exception
- Solves some really confusing flow issues in _processFields
2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
a1acbd4038 Make current session globally available
Decoupling! Sessions can be instantiated without
Zotero.Integration.Interface
2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
54b4ec6f5c Fix bugs for style-switching and footnote citations 2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
4159c63a3b Refactor CitationEditInterface
This is the first really big change that detangles UI stuff from
directly changing state. io.citation is no longer tied to the citation
loaded in the session in any way and CitationEditInterface does not
write anything to session or document. All writes are handled in
Fields.addEditCitation()
2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
41db61ecb9 Move citation unserialization
Using new es6 class syntax because getters/setters don't
retain `this` context with Zotero.extendClass and we're building
with at least FX45 on every platform now where the syntax is supported
2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
52fd0d992d Add a wrapper class for citation and bibliography fields 2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
41c93ab034 Rename Integration.Document to Integration.Interface 2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
18e4e37b32 Remove integration plugin version checks 2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
430f58d3c4 Moves utilities code away from Zotero.Integration 2018-01-03 14:27:16 +02:00
Dan Stillman
2baa537542 Don't close clicked field when clicking away from changed field
Fixes #1401

The item box badly wants to be redone in React.
2018-01-03 02:33:36 -05:00
Dan Stillman
374eefada1 Additional try/catch to fix NS_ERROR_UNEXPECTED from tree select
Follow-up to 7cd1439928
2018-01-02 20:20:01 -05:00
Dan Stillman
2bc44dddd1 Add attr()/text() to translator sandbox
The current document is automatically used (but can still be provided as
the first argument to avoid accidental bugs during the transition).

Closes #1323
Addresses zotero/translators#1277
2017-12-27 18:26:51 -05:00
Dan Stillman
c4fde7ebbf Fix undo in notes to not restore changes from another note
Fixes #1398
2017-12-27 17:13:39 -05:00
Dan Stillman
a1c96f1db1 Fix deletion of tags across libraries
https://forums.zotero.org/discussion/comment/296384/#Comment_296384
2017-12-20 21:48:36 -05:00
Dan Stillman
7cd1439928 Hopefully fix intermittently broken items pane
https://forums.zotero.org/discussion/69226/papers-become-invisible-in-the-middle-pane

I can't reproduce this, but it seems like if the tree disappears (due to
a collection change?) while the tree is refreshing, the toggleSelect()
in the rememberSelection() call can fail and break the tree.
2017-12-18 02:55:24 -05:00
Dan Stillman
fa33eb72b2 Fix some UI issues with storage settings
- Enable/disable download mode drop-down for groups separately from user
  library
- Fixing hiding of terms of service message when Zotero storage isn't
  selected
2017-12-18 00:34:55 -05:00
Dan Stillman
6acf208a36 Disable "Check Database Integrity" button while running 2017-12-14 23:49:08 -05:00
Dan Stillman
0ad439395e Log skipped libraries 2017-12-14 23:20:57 -05:00
Dan Stillman
05eb3a340c Fix cursor reset while typing in attachment notes
If you started typing just as auto-save was kicking in (i.e., 1 second
after stopping typing), any additional characters could be removed and
the cursor could jump back to the beginning of the note.

Fixes #1336, probably
2017-12-12 03:33:37 -05:00
Dan Stillman
8f5903f5eb Wrap URLs and DOIs in HTML output
Closes #1387
2017-12-11 23:24:43 -05:00
Dan Stillman
9ca40890a9 Update citeproc-js to 1.1.182 2017-12-11 17:34:17 -05:00
Dan Stillman
392687f9ee Tweak a couple font sizes in Sync -> Reset pane 2017-12-11 17:34:01 -05:00
Dan Stillman
6051c245b4 Fix auto-focusing of notes in external window 2017-12-11 02:39:22 -05:00
Dan Stillman
dcfaa5521e Don't show note in right-hand pane when editing in separate window
- When a child note is opened in a separate window, the parent window is
  selected. (This used to work but was broken in 5.0.)
- When a top-level note is opened (via double-click), the right-hand pane
  changes to show "Editing in separate window".
- If a note that's currently open in a separate window is clicked on,
  the right-hand pane shows "Editing in a separate window".
- If a note window is closed and the item is selected, the note editor
  reappears in the right-hand pane after the note is saved.

This will avoid unnecessary UI updates and data loss bugs from the two
notes getting out of sync (and is just generally cleaner).

Also:

- General cleanup of note display code
2017-12-11 02:25:05 -05:00
Dan Stillman
b2c9a42103 Prevent Add Item by Identifier button from flashing on textbox click
Nesting the panel in the toolbarbutton seems to cause the button to
appear as if it were clicked on any click/right-click in the textbox,
and I couldn't find a way to prevent that with event.stopPropagation().

Also cleans up this code in general
2017-12-10 23:16:01 -05:00
Dan Stillman
383f8d2219 Fix context-menu paste into Add Item by Identifier
The context menu was triggering onpopuphidden, which was clearing the
textbox.
2017-12-10 17:20:13 -05:00
Dan Stillman
df38f4ded7 Avoid upload retry loops
- Don't try uploading an object more than 5 times
- Don't retry a child item if the parent item failed too
2017-12-10 03:45:08 -05:00
Dan Stillman
c723e1ebe4 Select text in search bar when using Find menu option (or shortcut)
https://forums.zotero.org/discussion/69305
2017-12-10 02:23:39 -05:00
Dan Stillman
f353b7ca61 API-based "Restore to Online Library"
Restores the "Restore to Zotero Server" functionality, now using the
API:

1. Get all remote keys and send `DELETE` for any that don't exist
   locally.
2. Upload all local objects in full (non-patch) mode using only library
   version so that the remotes are overwritten.
3. Reset file sync history, causing all files to be uploaded (or, more
   likely, reassociated with existing remote files).

Since these are treated as regular updates on the server, they'll sync
down to other clients normally. Unsynced changes by other clients might
still trigger conflicts.

This and Reset File Sync History can also now be run on group libraries,
with a library selector in the Reset pane (which I forgot to do with
React).

The full sync option is now removed from the Reset pane, since there
wasn't ever really a reason to run it manually.

We should be able to reimplement Restore from Online Library (#1386)
using the inverse of this approach.

Closes #914
2017-12-08 00:42:03 -05:00
Dan Stillman
885ed6039f Add comment regarding strToDate()'s month handling in retrieveItem() 2017-12-08 00:42:03 -05:00
Dan Stillman
e01cb38c5d Avoid deprecation warning in recognizePDF 2017-12-08 00:42:03 -05:00
Dan Stillman
9a43b53ebe Show file path instead of "(null)" when installing style via file open
And fix deprecation warning from passing an nsIFile

(Also updates the Zotero.Styles.install() documentation to note that the
first parameter's `file` property can be a string path.)
2017-12-08 00:42:03 -05:00
Dan Stillman
045f1fbb7e Add utility functions for building drop-down library lists
A XUL one for the current use in Advanced Search and an HTML one for
future uses. Sets the value to libraryID and adds data attributes for
editable/filesEditable on the HTML one.
2017-12-08 00:42:03 -05:00
Dan Stillman
4c337e5294 Show friendlier error on setDates() failure during file sync download 2017-12-02 04:14:47 -05:00
Dan Stillman
6941f96a5a Clear Windows read-only attribute when storing file 2017-12-02 04:11:35 -05:00
Dan Stillman
c3df3fcebf Fix "Access is denied" file sync error with read-only files
If the read-only file is set on a file in the 'storage' directory, it's
added to the ZIP for snapshot/WebDAV syncing, and when extracted the
setDates() call was failing. This clears the read-only attribute (and
system and hidden) when extracting all files.
2017-12-02 04:09:52 -05:00
Dan Stillman
cdaf73b3d0 Fix sync error after resetting read-only group
If an item needed to be erased, it would fail with "Cannot edit item in
read-only library", because the deletion didn't skip the edit check.
2017-12-02 01:35:23 -05:00
Dan Stillman
640846961a 2x grippy dimple 2017-12-01 13:09:06 -05:00
Dan Stillman
fb74fe76b7 Update citeproc-js to 1.1.181 2017-12-01 02:10:05 -05:00
Dan Stillman
b397ee2281 Show sync error about embedded images in notes for attachment notes too 2017-11-30 23:51:36 -05:00
Adomas Venčkauskas
6970556dbd Clone feed items if translation returns no items. Closes #1377 2017-11-30 11:39:34 +02:00
Dan Stillman
9b9af65f8a Don't show Firefox profile access message on empty 'zotero' dir
But maybe do show in cases where it didn't show before, since we were
using exists(), which can return false for inaccessible directories.
2017-11-29 03:57:09 -05:00
Dan Stillman
e2eef779c5 Fix localized sorting of creator types
Don't just rely on "Author" being first
2017-11-29 00:28:05 -05:00
Dan Stillman
76b96a8b07 Fix error selecting item with item type without creator types
https://forums.zotero.org/discussion/69118/
2017-11-29 00:27:27 -05:00
Dan Stillman
575968929c Skip auto-sync on stream notification if library version is up to date
This avoids an extra no-op sync after an upload when the notification
for the change comes back down from the streaming server.
2017-11-27 20:48:24 -05:00
Dan Stillman
baeb846b5c Simplify quick search handling in itemTreeView notify() 2017-11-27 20:48:24 -05:00
Dan Stillman
7bbb4a8e2d Avoid logged deprecation warning in external note editor 2017-11-27 19:56:14 -05:00
Dan Stillman
202192bc72 Restore use of beginUpdateBatch/endUpdateBatch in itemTreeView notify()
Not sure why this was disabled, but it prevents flashing of child items
when a child item is modified.
2017-11-27 19:56:14 -05:00
Dan Stillman
ae21b3113e Avoid unnecessary item map refreshes during sorting 2017-11-27 19:56:14 -05:00
Dan Stillman
a854ce9dce Filter stack in debug output when using debug.stackTrace pref 2017-11-27 19:56:14 -05:00
Dan Stillman
a70a517f7e Don't start transaction to clear search temp table
This might fix loss of item focus when editing a note in a search,
possibly starting with fbf2fbe0c6.
2017-11-27 19:56:14 -05:00
Adomas Venčkauskas
da387874a2 Temporarily restore double text setting in LibreOffice for footnotes
Regressions from 921b21c3. Footnotes in LibreOffice lose styling
2017-11-27 17:24:42 +02:00
Dan Stillman
8241149079 Fix sync error if item with no content type somehow was indexed
https://forums.zotero.org/discussion/68954/mimetype-is-undefined-error

Not sure how this could happen.
2017-11-22 04:22:08 -05:00
Dan Stillman
dfea8b5a6a Localize "Verify Server" 2017-11-22 03:15:37 -05:00
Dan Stillman
4a6922ba48 Check for lost legacy data directory after migration
The check only does anything if we're using the default location, and
otherwise if we migrate the wrong directory (say, because somebody
opened Standalone 4.0 before upgrading to 5.0) we won't prompt until the
next restart.
2017-11-22 03:15:37 -05:00
Adomas Venčkauskas
921b21c3e1 Remove the additional setText() call for libreoffice plugin
Possible since zotero/zotero-libreoffice-integration@2deea6bd46
2017-11-21 11:36:56 +02:00
Dan Stillman
88a6e4f79f Don't send inPublications=false in 'full' mode for group items 2017-11-20 16:27:45 -05:00
Dan Stillman
f0b7a212e5 Skip migration on error checking whether dataDir is on different drive 2017-11-20 11:38:15 -05:00
Dan Stillman
10a5d8d02e Check for Firefox profile access at startup and show warning
f40b7ae6ac didn't help with people who've already upgraded, so check at
startup and show a warning if the profile is inaccessible until 1) the
profile has been accessed once or 2) the user checks "Don't show again"
in the warning dialog.

Also fix Zotero.Profile.getDefaultInProfilesDir() to properly throw an
error if it can't access the default directory.
2017-11-17 22:49:57 -05:00
Dan Stillman
f40b7ae6ac Show warning on Firefox profile access error after installation
https://www.zotero.org/support/kb/data_missing_after_zotero_5_upgrade
2017-11-17 09:36:35 -05:00
Adomas Venčkauskas
9bf4bac292 Reduce spacing in collection pane on Linux. Closes #1369
The collections pane height change in bf36a98 made the linux
collection pane vertical spacing very big. This resets it to previous spacing
2017-11-17 13:19:09 +02:00
Dan Stillman
04a730da7f More complete fix for invalid creator row error at startup
Follow-up to 7d3311679e
2017-11-17 02:56:20 -05:00
Dan Stillman
7d3311679e Add creator fix to integrity check, and run at startup if necessary 2017-11-16 06:43:18 -05:00
Dan Stillman
1cb49cc5d3 Fix DB integrity check when there's only one of a given problem 2017-11-16 05:54:59 -05:00
Dan Stillman
810e0a3239 Add Zotero.getStringFromBundle()
The same as Zotero.getString(), but takes an nsIStringBundle as the
first parameter. Extensions could use this to get the same getString()
features with their own properties files.
2017-11-16 01:18:42 -05:00
Dan Stillman
c7fd46e6b4 Don't ignore whitespace when sorting
Intl.Collator's ignorePunctuation ignores whitespace too, so stop using
it, since it produces much weirder results than sorting on punctuation does.
2017-11-16 01:17:24 -05:00
Dan Stillman
20ad57a368 Update submodules 2017-11-12 18:47:32 -05:00
Dan Stillman
fbf2fbe0c6 Fix extremely slow tag query with some SQLite databases
Reverts a80f13099, "Avoid temporary table when getting tags for current view",
fixes a couple things, and removes the unused Zotero.Tags.getAllWithinSearch().

Fixes #1290
2017-11-11 04:11:30 -05:00
Adomas Venčkauskas
08eefeaf57 Don't send translator error from connectors reports in private-browsing mode 2017-11-10 14:20:40 +02:00
Dan Stillman
6b031249ac Fix HTTP breakage in bb1cbdff26 2017-11-08 02:18:33 -05:00
Dan Stillman
bb1cbdff26 Fix responseCharset parameter in HTTP methods
Setting `contentCharset` on the channel doesn't seem to work anymore, so
use `overrideMimeType()` instead like we do in the connector. As noted
in the comment, we should probably have a `responseContentType`
parameter instead, since that's what XHR actually allows. For the moment
we just use `text/plain`.
2017-11-07 16:53:14 -05:00
bwiernik
e935001586 Support short DOIs in cleanDOI() and update DOI copyAsURL prefix (#1356) 2017-11-07 16:48:12 -05:00
Adomas Venčkauskas
24507a73f6 Save to current collection from /connectors/savePage.
Closes #1351
2017-11-06 12:57:01 +02:00
Adomas Venčkauskas
8012829992 Ignore translator browserSupport in connectors except bookmarklet
Addresses zotero/zotero-connectors#197
2017-11-06 12:35:30 +02:00
Dan Stillman
16175912ca Update to citeproc-js 1.1.80 2017-11-05 02:23:27 -05:00
Dan Stillman
a3e711b7b5 Fix feed item read shortcut, and delay 1 second before marking as read
This allows keyboard navigation without marking all items in between as
read.
2017-11-03 04:36:42 -04:00
Dan Stillman
c40e321c4b Add 2x version of creator type menu dropboxmarker 2017-11-01 14:41:39 -04:00
Dan Stillman
0f743e55c7 Fix "Rename File from Parent Metadata" if target filename exists
Add a unique numeric suffix to the filename, before any extension
2017-11-01 01:06:20 -04:00
Dan Stillman
14ecf88ad4 Don't return unparsed Mac persistent descriptor from Item.getFilePath()
And auto-convert to path, not filename
2017-10-31 22:04:42 -04:00
Dan Stillman
676ab7852b Fix date parsing from Atom feeds
Use Atom namespace when getting fields, and use `<updated>` date before
`<published>`. (The dates are also available on the nsIFeedContainer
(`feedEntry`), but we're getting them directly from the fields for some
reason.)
2017-10-31 02:21:21 -04:00
Dan Stillman
6150a08dc1 Fix logged error clicking below list in "Choose Libraries…" window 2017-10-30 16:02:36 -04:00
Dan Stillman
33bf3b2e12 Activate "Set Up Syncing" button on context-menu paste or drag and drop 2017-10-27 20:22:33 -04:00
Dan Stillman
196e45c849 Fix file conflict resolution after f0770fa84d
merge.xul now returns an object with .data and .selected instead of
returning .data directly
2017-10-27 04:07:35 -04:00
Dan Stillman
e22d7a8459 Fix some property access issues
- Return `undefined` instead of throwing an error trying to access
  `libraryTypeID` on a Zotero.Feed -- this fixes a test failure with
  the latest Chai, which annoyingly runs inspect() on an object passed
  to .include() regardless of whether the test succeeds
- Make some deprecated properties non-enumerable to avoid unnecessary
  logging when the object is dumped
2017-10-27 03:25:08 -04:00
Dan Stillman
f0770fa84d Fix various conflict resolution bugs
Among other things, when choosing the local side for a conflict, the
remote version could still end up being saved.
2017-10-27 01:08:38 -04:00
Dan Stillman
5901a3c7af Fix possible skipped group download when another group is archived 2017-10-26 19:05:46 -04:00
Dan Stillman
14f40218a9 Fix potential restart error switching to first note of session 2017-10-26 01:23:10 -04:00
Dan Stillman
1deba232fa Fall back to en-US sorting if we can't parse the locale 2017-10-26 00:54:05 -04:00
Dan Stillman
d08db42f7b Additional debugging for group sync issue
https://forums.zotero.org/discussion/68299/group-library-not-showing-up-report-id-198634382
2017-10-25 23:51:25 -04:00
Dan Stillman
73d88421bb Fix items list problems when adding item with a search entered
When an item is created, an active quick search is cleared, but that's
now an async operation. We weren't waiting for that, which meant that
new items weren't selected and depending on a race condition could even
show the welcome pane despite there being items in the library.
2017-10-25 23:51:13 -04:00
Dan Stillman
1a779bb7aa Fix "item._changed.creators is undefined" error at startup
This could occur if creator indexes needed to be corrected for an item.
2017-10-23 03:21:02 -04:00
Dan Stillman
e35b035224 Separate identifer parsing from Add Item by Identifier and search translation
- Move identifier detection to `Zotero.Utilities.Internal.extractIdentifiers()`
  so that it can be used for things other than Add Item by Identifier
  (e.g., translation-server)
- Add a `Zotero.Translate.Search::setIdentifier()` function that takes an
  identifier object produced by `extractIdentifiers()` (`{ DOI: "10/..." }`),
  converts that to the search format expected by translators, and calls setSearch()
2017-10-21 03:32:28 -04:00
Dan Stillman
4e717a0934 Fix dropmarkers on Linux after 2x upgrades 2017-10-20 18:15:27 -04:00
Dan Stillman
677b2edd51 Throw a proper error if item.relations isn't an object 2017-10-20 17:42:11 -04:00
Dan Stillman
2ecfff6681 Improve idle detection for full-text content processor
It was previously possible for a return-from-idle to not properly stop
active processing.
2017-10-20 04:04:55 -04:00
Dan Stillman
223c427888 Add missing 2x Mac collection/search icons and fix 2x sync icon size 2017-10-18 06:05:51 -04:00
Dan Stillman
30ae61d60e More 2x icon fixes
Follow-up to 5b2af4845b
2017-10-18 04:09:10 -04:00
Dan Stillman
5b2af4845b Toolbar button and icon overhaul
- New 2x toolbar button shapes and other icons from @johanneskrtek --
  this HiDPI-ifies basically all graphics other than a few remaining item
  type icons
- Use the Mac search dropmarker for all menu buttons, since it's wider
  and more pleasant. Reduce menu button padding slightly to compensate.
- Better toolbar button state for inactive window and pressed state
- Fix dropmarker overlap in tag selector icon

Closes #347, Better/retina-style OS X toolbar icons
Closes #1339, Create new button PNGs for macOS
2017-10-17 20:53:43 -04:00
Dan Stillman
1f5639da42 Fix #1335, Item drag and drop is unreliable
Regression from e62433edfb

Load a locale file once via nsIConverterInputStream and cache it for
subsequent retrieveLocale() calls. I'm not sure if using a stream
instead of synchronous XHR is actually necessary now that there's
caching, but it can't hurt.
2017-10-09 23:07:47 -04:00
Dan Stillman
68b5ac456f Add note input event debugging via extensions.zotero.debugNoteEvents 2017-10-08 18:00:28 -04:00
Dan Stillman
8f3909713f Save note on forward-delete when text is selected
This doesn't generate a keypress event for some reason, even though it
does when no text is selected.
2017-10-08 17:59:40 -04:00
Dan Stillman
4fb8f44d01 Fix rebuilding of full-text index 2017-10-08 16:58:06 -04:00
Dan Stillman
08d322932d Fix sync error from invalid link mode in database
And add cleanup step to DB integrity check
2017-10-08 04:42:42 -04:00
Dan Stillman
773a93f55d Fix item selection that requires switching to library root
Broken in c7639f328f
2017-10-07 05:05:34 -04:00
Dan Stillman
d4569d3640 Remove unnecessary condition 2017-10-07 03:45:58 -04:00
Dan Stillman
982719bf83 Fix data-dir-not-found error on first run with no legacy dataDir 2017-10-07 03:45:58 -04:00
Dan Stillman
492e7917b6 Fix breakage in the connector from 365e58249d 2017-10-05 17:18:43 -04:00
Dan Stillman
7d14da3a8c Fix translator test mismatches due to 5.0 tag format 2017-10-05 17:18:43 -04:00
Dan Stillman
ffcf608de1 Don't show "Running handler" for 'debug' handler during translation 2017-10-05 17:18:42 -04:00
Dan Stillman
9209edd081 Use object for translate() in translator tests 2017-10-05 17:18:42 -04:00
Dan Stillman
23cf6bd007 Use new HTTP.processDocuments() in translatorTester 2017-10-05 17:18:42 -04:00
Dan Stillman
d5261841be Allow substrings when filtering translator tests 2017-10-05 17:18:42 -04:00
Dan Stillman
c44af1c7bd Fix import translators in translation-server 2017-10-05 17:18:42 -04:00
Dan Stillman
819be60796 Switch to XMLHttpRequest for processDocuments()
processDocuments() now uses an XHR 'document' request, wrapped to
provide a 'location' property, and uses promises for a simpler call
signature (though the old one will continue to work, for existing
translators). 'done' and 'exception' can now be handled via promises,
and in the translator sandbox an optional noCompleteOnError argument
instructs it not to automatically cancel the translation process with an
error (e.g., for supplementary materials).

Since we do need a hidden browser in some situations (e.g., for saving
snapshots), the old hidden-browser-based processDocuments() is still
available as Zotero.HTTP.loadDocuments().

This hopefully also fixes various problems with document property access
in translation-server.
2017-10-05 17:18:42 -04:00
Dan Stillman
5f9dc05956 Increase size of page logged for invalid PDF download 2017-10-04 21:36:28 -04:00
Dan Stillman
ff798d332b Avoid double item save when adding attachment 2017-10-04 21:35:59 -04:00
Dan Stillman
fcc366a176 Fix #1272, Different-account warning with same username
If you swapped in a database with a different sync account from the
stored one and then opened the prefs, it would update the username to
match the username from the API key, and then when you synced it would
warn you using the new username for both accounts.

This stops the prefs from updating the username in the DB, so it only
happens during a sync.

(This behavior was put in in 77a95b5e6d, I guess so that if you open the
prefs twice before a sync it won't briefly show a missing/outdated
username after the first time, but that's not a big deal.)
2017-10-03 02:02:00 -04:00
Dan Stillman
dc11b37ced Log warning if key not passed to getByLibraryAndKey() 2017-10-01 22:05:40 -04:00
Dan Stillman
531170353b Fix bidirectional relations on Duplicate Item 2017-10-01 22:04:11 -04:00
Dan Stillman
c0143300c4 Fix additional refresh bug when Advanced Search window is open
Follow-up to 89babf8832
2017-10-01 00:23:37 -04:00
Dan Stillman
699d5634e9 Add deprecation warning for itemTreeView::saveSelection() 2017-09-30 23:46:43 -04:00
Dan Stillman
4eb18e5eba Make missing row in itemTreeView::getSelectedItems() non-fatal
This might help avoid the search bar brokenness that people are seeing
(and that we can't reproduce), though the same problem might just cause
a later error.
2017-09-30 23:45:00 -04:00
Dan Stillman
52bbb79fd0 Remove citeproc-prereqs, which isn't necessary anymore 2017-09-30 19:07:29 -04:00
Dan Stillman
e62433edfb Fix citeproc-js in Firefox 56
Our retrieveLocale() implementation was broken by
https://bugzilla.mozilla.org/show_bug.cgi?id=1319111
2017-09-30 04:01:28 -04:00
Dan Stillman
89babf8832 Fix refresh problems when Advanced Search is open, and maybe other times 2017-09-29 04:24:49 -04:00
Dan Stillman
48d4d2d5a5 Standardize connector server behavior for saves to read-only libraries
Return a 500 for read-only libraries for all save modes. Read-only views
within editable libraries will save to the library root.

Addresses #185, RIS/BibTeX interception to read-only view behaves
differently from save button
2017-09-27 17:39:18 -04:00
Adomas Venčkauskas
7a062a7493 Remove connector proxy code
Observing requests, auto-redirecting and learning proxies no longer
relevant on this codebase (and interferes with Scaffold).
2017-09-25 14:57:02 +03:00
Dan Stillman
da21c9c47b Remove old archive.org relations
These aren't allowed by the API and were breaking syncing (and haven't
been exposed anywhere for years anyway).
2017-09-22 16:58:16 -04:00
Adomas Venčkauskas
42e2f229c0 Apply linux tab fixes to all tabs (e.g. tabs in zotero plugins) 2017-09-22 13:10:27 +03:00
Dan Stillman
19447e7b90 Fix RIS/BibTeX import errors when in library root 2017-09-22 04:12:21 -04:00
Dan Stillman
a455a72534 Remove invalid relations mangled during import
Not sure if this occurred for our own translators, but it addresses
items created from #1282.
2017-09-22 01:22:33 -04:00
Dan Stillman
0d3d4323b5 Fix relations import via translators
Fixes #1282
2017-09-22 01:02:50 -04:00
Dan Stillman
10cae22c55 Restrict relation predicates to letters and colons for now 2017-09-22 01:01:52 -04:00
Dan Stillman
241e596680 Update citeproc-js to 1.1.178 2017-09-21 15:47:41 -04:00
Dan Stillman
d81e2a5cf0 Fix sync errors from remote item referencing deleted local collection 2017-09-20 05:33:44 -04:00
Dan Stillman
85d7c01c85 Fix getAsync() integer warning when clicking on related item 2017-09-20 03:36:16 -04:00
Dan Stillman
c7639f328f Fix editing in classic citation window (broken by 2901174ba3)
This is (hopefully) a better fix for selection issues than 2901174ba3. A
reference to the collectionTreeView is stored in a `view` property on
the collectionTreeRow, and when an itemTreeView is initialized and
passed a collectionTreeRow it assigns itself to an `itemTreeView`
property on the row's view.
2017-09-20 03:36:16 -04:00
Dan Stillman
365e58249d Check for invalid certificate in Zotero.HTTP.request()
We were checking for this in the sync API client, but that didn't apply
to Amazon S3 for ZFS.
2017-09-20 00:49:10 -04:00
Dan Stillman
a858368642 Revert "Use eraseTx() instead of erase() when deleting saved search"
eraseTx() isn't actually valid in this context.

This reverts commit 103c16a563.
2017-09-19 23:47:03 -04:00
Dan Stillman
8efbfb7c74 Close import progress window on error
Fixes https://github.com/retorquere/zotero-better-bibtex/issues/719
2017-09-19 02:35:04 -04:00
Dan Stillman
afc7afeb9c Fix error deleting collection after emptying trash
Follow-up to c442daedce
Fixes #1317
2017-09-18 17:03:12 -04:00
Dan Stillman
49506b6d94 Fix non-integer warning when purging ids from sourceList.persist 2017-09-18 17:02:25 -04:00
Dan Stillman
d83d70eb5c Update locate engine download code
Asyncify, make JSON load failures not fatal, and simplify icon download
code (which also fixes download of CrossRef icon, which was failing for
some reason).
2017-09-18 02:31:13 -04:00
Dan Stillman
6d53839fbc Add sniffer entry for .ico files 2017-09-18 02:26:31 -04:00
Dan Stillman
d2a33f2613 Update submodules 2017-09-18 01:37:26 -04:00
Dan Stillman
fb61819f6b Update automatic trash emptying after 3872e646ac
And restore 'limit' parameter used for auto-empty
2017-09-16 00:51:51 -04:00
Dan Stillman
e25af42ef3 Fix sync event listener after 3872e646ac 2017-09-15 21:02:38 -04:00
Dan Stillman
cc04ddbe4d Fix test failure after 8215ba7a1d 2017-09-15 20:42:17 -04:00
Dan Stillman
3872e646ac Speed up emptying trash
Shows a progress meter, which allows for larger chunks and fewer
refreshes, avoids unnecessary updating of parent items that are
being deleted anyway, and skip re-sorting of modified items in the
trash.

Closes #1292, Emptying trash is slow
2017-09-15 20:23:01 -04:00
Dan Stillman
8215ba7a1d Crash Zotero on note-saving error
Closes #1277, Crash note if not saving properly
2017-09-15 00:46:29 -04:00
Dan Stillman
18c62be6a4 Fix display of data dir in migration error message
When migrating prefs from Zotero for Firefox, the prefs specified a
custom data dir, and that directory was missing, the "Previous
directory:" line was blank.
2017-09-14 18:49:01 -04:00
Dan Stillman
9395af86f7 Fix "SyntaxError: unterminated string literal" on first run
This could happen when migrating prefs from Firefox when the prefs.js
file included a corrupted line.
2017-09-14 18:48:00 -04:00
Dan Stillman
103c16a563 Use eraseTx() instead of erase() when deleting saved search 2017-09-13 01:02:07 -04:00
Dan Stillman
c442daedce Update collection cache after "Delete collection and items…"
Fixes #1314
2017-09-13 01:01:36 -04:00
Dan Stillman
5ec7c97f30 Add debugging for userID change 2017-09-12 16:22:46 -04:00
Dan Stillman
a47c332895 Show better error message if data dir can't be created 2017-09-12 02:35:06 -04:00
Dan Stillman
e9439c978b Allow setting data directory via -datadir command-line flag
Can be an absolute path or 'profile' to use 'zotero' subdirectory of
profile directory as in earlier versions (but which won't be treated as
a legacy location eligible for migration)

Closes #1305
2017-09-11 03:52:51 -04:00
Dan Stillman
33128d1f59 Filter 'XPCOMUtils.jsm' lines from stack traces 2017-09-11 03:52:50 -04:00
Dan Stillman
64e840e418 Continue after failure in Add Item by Identifier
This should give better feedback when some identifiers fail, but for now
restore 4.0 behavior.

Also add items by identifier in order, not reverse order
2017-09-10 03:54:26 -04:00
Dan Stillman
2901174ba3 Fix intermittent item selection failure 2017-09-10 03:18:59 -04:00
Dan Stillman
d271683968 Bypass cache by default in Zotero.Utilities.Internal.saveURI() 2017-09-07 23:55:45 -04:00
Dan Stillman
5248b08de0 Remove debug lines 2017-09-02 01:39:09 -04:00
Dan Stillman
1100015d2c Don't purge data tables until after schema update
It's no longer necessary to do this before syncing, since tags and
creators aren't first-class objects.
2017-09-02 01:13:34 -04:00
Dan Stillman
69c27cd8a7 Fix potential failure with full-text phrase search
Phrase searches weren't scoped to the current library, so they could
return unloaded items in other libraries and cause the search to fail.
2017-09-02 01:13:33 -04:00
Dan Stillman
fd5c48ac51 Simplify Zotero.ItemTreeView.prototype.getSortedItems() 2017-09-01 13:22:46 -04:00
Dan Stillman
ed6d628f4e Fix Create Bib for saved searches 2017-09-01 13:22:46 -04:00
Dan Stillman
01ecff8e2b Fix regression in 05d74c4cac 2017-08-30 18:47:21 -04:00
Dan Stillman
05d74c4cac Don't load note/attachments counts as primary data
Zotero.Item::numNotes()/numAttachments() now require 'childItems' to
have been loaded.

Fixes #1301, Slow startup with many items in trash
2017-08-30 18:08:25 -04:00
Dan Stillman
94c4445475 Fix restart error moving away from note that hadn't finished loading 2017-08-30 18:08:24 -04:00
Frank Bennett
b0c0cd6e0c Expose styleEngine in csledit.js, for Abbreviation Filter 2017-08-24 23:26:03 +09:00
Dan Stillman
a15b23e353 Update citeproc-js to 1.1.177 2017-08-23 11:02:19 +02:00
Dan Stillman
f4b73d22b8 Fix error relocating to filename with different Unicode normalization 2017-08-23 11:02:05 +02:00
Dan Stillman
1d19811bd2 Disable strict mode in citeproc-js for now 2017-08-22 12:18:48 +02:00
Dan Stillman
879ed11b69 Update citeproc-js to 1.1.175 2017-08-22 12:18:29 +02:00
Dan Stillman
2919486818 Don't keep checking for lost Z4Fx data directory 2017-08-19 23:47:54 +02:00
Dan Stillman
f45d56113a Remove unnecessary log line 2017-08-19 23:36:39 +02:00
Dan Stillman
0391569f4d Only prompt for recently updated Z4Fx data directories 2017-08-19 23:31:39 +02:00
Dan Stillman
267e3165a2 Add prompt to revert to Zotero for Firefox data directory
For people affected by migration bugs prior to 5.0.15
2017-08-19 23:22:07 +02:00
Dan Stillman
d368c4019a Fix data directory migration if only Firefox profile directory 2017-08-19 15:58:42 +02:00
Dan Stillman
6673c64ac6 Fix accessDate when translators set CURRENT_TIMESTAMP
(But it also seems like we always do that automatically for web
translators, so I'm not sure why so many translators set that.)
2017-08-19 15:21:57 +02:00
Dan Stillman
de36a6e833 Make sure rootDocument is set in Zotero.Translate.Web.setDocument()
For non-browser documents that we wrap, defaultView.top.document can be
undefined without being inaccessible.

Fixes regression from dae0986b9b
2017-08-19 05:23:38 +02:00
Dan Stillman
871cbae499 Update citeproc-js to 1.1.174 2017-08-19 05:23:38 +02:00
Dan Stillman
7386b376f3 Fix linked attachment base directory handling at drive root
The first letter of the relative path was being removed on save if the
base directory was set to the drive root (e.g. D:\ instead of D:\foo).
2017-08-18 16:06:56 +02:00
Dan Stillman
1efe54e896 Fix #1286, Show proper error messages for OS.File errors 2017-08-17 15:43:54 +02:00
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
Dan Stillman
4ffbf6fca5 Use DOM_VK_* codes in itemTreeView keypress listener 2017-07-13 01:19:15 -04:00
Dan Stillman
dd5d3a8668 Fix blank window when opening ZotFile's zotero://open-pdf links
Fixes https://github.com/jlegewie/zotfile/issues/272
2017-07-12 18:25:49 -04:00
Dan Stillman
752e25e282 Fix id-not-an-integer warning from Show in Library 2017-07-12 15:44:49 -04:00
Dan Stillman
02774ac6fe Fix collection-menu selection via right-click->drag->release or keyboard 2017-07-12 15:43:20 -04:00
Dan Stillman
aad12db2ff Fix 'too many terms in compound SELECT' sync error 2017-07-12 04:21:52 -04:00
Dan Stillman
8f2508e167 Fix alignment of "What's New" in About window 2017-07-12 03:38:14 -04:00
Dan Stillman
fd2ba1d5b7 Fix file sync error on Windows from attachment paths with invalid characters
We filter these now, but upgraded databases with bad paths could still
exist and cause errors.
2017-07-12 02:58:25 -04:00
Dan Stillman
a62161dfc1 Add unused Zotero.Prefs.resetBranch()
I wrote this for account unlinking (since nsIPrefBranch.resetBranch()
isn't implemented) but decided we didn't want to delete all prefs for
that.
2017-07-12 01:20:55 -04:00
Dan Stillman
a7021f80ca Remove unused skipDefaultData property 2017-07-12 01:20:18 -04:00
Dan Stillman
efae7073f2 Avoid log message about json.collections being unknown after e683b2be0 2017-07-12 01:19:53 -04:00
Dan Stillman
d1d62184be Fix potential error loading support links
From ZOTERO_CONFIG not being defined. I can't reproduce this, but I've
seen it in the logs.
2017-07-12 01:18:41 -04:00
Dan Stillman
62fa86af82 Fix error on account unlink, and delete more files
Delete everything from data directory except for PDF tools
2017-07-12 01:16:25 -04:00
Dan Stillman
d2421825c9 Fix #1256, Report saving is broken 2017-07-11 06:14:21 -04:00
Dan Stillman
a982bd056d Zotero.Item::_collections is always an array 2017-07-11 04:46:09 -04:00
Dan Stillman
18f3c2cfb0 Fix "destFile is not defined" file sync error 2017-07-11 04:37:23 -04:00