Commit graph

4645 commits

Author SHA1 Message Date
Dan Stillman
5787b230f7 Use asynchronous DB and file access for schema checks/updates
This change should improve Firefox startup time. If the Zotero pane is
opened before Zotero has initialized, the pane will be blocked with a
progress bar until it's done. Standalone currently does the same, but it
should be changed to just delay opening the window if possible.

The upgrade wizard has been disabled for schema upgrades, in the hope
that upgrades can be done in a way that won't break compatibility with
earlier versions (or that can at least be done in a way such that we can
put out point releases of the last major version that provide
compatibility during beta/post-upgrade periods).

This patch likely breaks many things, and definitely breaks connector
mode.

This change also removes upgrade steps for databases from Zotero 2.1b2
and earlier. Users with such databases will need to upgrade via Zotero
4.0.x first or delete their data directories and start anew. This should
only affect users who haven't opened Zotero since Nov. 2010.
2013-08-11 21:53:41 -04:00
Dan Stillman
2b4de89aaf Add Zotero.File.getContentsFromURLAsync(url) for local text files 2013-08-11 20:49:18 -04:00
Dan Stillman
43978624de Better error messages for async DB 2013-08-11 20:48:10 -04:00
Dan Stillman
9e2d872900 Support nested async DB transactions 2013-08-11 20:47:53 -04:00
Dan Stillman
a2816a10ca Return a Q promise from all async DB methods
With send() removed from Q, we can yield Q promises within
executeTransaction() instead of Mozilla promises.
2013-08-10 04:17:34 -04:00
Dan Stillman
957b649fa8 Remove another <Fx23 test 2013-08-10 00:02:57 -04:00
Dan Stillman
2c424c2b58 Take out unnecessary <Fx23 test 2013-08-10 00:00:05 -04:00
Dan Stillman
b2d46ee2fe Merge branch '4.0'
Conflicts:
	chrome/content/zotero/xpcom/db.js
	chrome/content/zotero/xpcom/zotero.js
	install.rdf
	update.rdf
2013-08-09 12:48:44 -04:00
Dan Stillman
2dc8fc6912 Update versions 2013-08-09 11:50:10 -04:00
Simon Kornblith
a723c85999 Return a promise from Zotero.shutdown() 2013-08-09 11:11:01 -04:00
Simon Kornblith
8a8093028d Check if callback exists before calling 2013-08-09 11:00:55 -04:00
Simon Kornblith
2069b5b396 Fix switching in and out of connector mode
Broken by 9d3f55be51
2013-08-09 10:55:56 -04:00
Dan Stillman
8f0dac0eb4 Update version and styles 2013-08-08 15:24:47 -04:00
Dan Stillman
a954d94027 Add missing semicolon 2013-08-08 15:21:11 -04:00
Dan Stillman
d5fcde0612 Disable OS.File for file syncs on Windows <Fx25
stat.lastModificationDate returns the last access date
instead of the modification date due to bug
https://bugzilla.mozilla.org/show_bug.cgi?id=899436
2013-08-08 15:19:37 -04:00
Dan Stillman
84c5a1bffa Tweak error message for OS.File errors during file sync 2013-08-08 14:32:54 -04:00
Dan Stillman
c29720743a Fix file sync error in Gecko 23+ if local file path is too long 2013-08-08 14:31:53 -04:00
Dan Stillman
610017e4df Fix file sync error on Windows 2013-08-08 14:15:41 -04:00
Dan Stillman
4af73f4a52 Fix file sync error in Fx23+ for empty attachment paths
And fix reporting of non-OS.File file sync errors
2013-08-08 13:41:34 -04:00
Dan Stillman
bfaa0f1172 Merge branch '4.0'
Conflicts:
	chrome/content/zotero/xpcom/db.js
	chrome/content/zotero/xpcom/zotero.js
	install.rdf
	update.rdf
2013-08-08 01:06:35 -04:00
Dan Stillman
8bdac7015b Focus title on shortcut key new item even if item type isn't changed 2013-08-07 20:28:17 -04:00
Simon Kornblith
e132787774 Move root check to before DB initialization 2013-08-07 18:32:40 -04:00
Simon Kornblith
0957f8de02 Merge branch 'zap-cache' into 4.0 2013-08-07 18:00:40 -04:00
Simon Kornblith
517ca6f342 Force quit after zapping cache files to prevent destroying prefs 2013-08-07 18:00:25 -04:00
Dan Stillman
2bd0019261 'let' is valid in XBL, just not in event attributes, I guess 2013-08-07 17:09:41 -04:00
Dan Stillman
a3375d540b Fix comment that broke 7572eebcd 2013-08-07 17:06:48 -04:00
Dan Stillman
7572eebcd1 Offer autocomplete of same creator for different creator types
If a creator exists on an item but is a different creator type than the
one being entered, show creator in autocomplete list.
2013-08-07 15:25:15 -04:00
Dan Stillman
39e92bacb3 Focus title field when creating new item via menu or shortcut key 2013-08-07 13:17:25 -04:00
Dan Stillman
9d3f55be51 Use async DB for autocomplete
This was probably hanging previously because I was passing a JS function for
onProgress, which apparently isn't allowed.
2013-08-07 11:01:12 -04:00
Dan Stillman
b6f493207f Closes #311, Update RIS/Refer pref to mention BibTeX too 2013-08-06 16:32:02 -04:00
Dan Stillman
08296b06a5 Include libraryID in file sync debug message 2013-08-06 16:03:03 -04:00
Dan Stillman
b20a7a572c Disable some debug logging for file syncing 2013-08-06 16:02:49 -04:00
Dan Stillman
8b918b21ad Capitalize Q library in About pane 2013-08-06 15:49:45 -04:00
Dan Stillman
795211fb40 Focus Close button by default in About pane 2013-08-06 15:49:26 -04:00
Dan Stillman
5b09b1e2be Update submodules, repotime, and versions 2013-08-06 15:23:04 -04:00
Dan Stillman
f2d9580ba6 Update locales from Transifex 2013-08-06 15:19:45 -04:00
Dan Stillman
97f662fe67 Fix note resetting in external note window during file syncing
https://forums.zotero.org/discussion/29008
2013-08-05 20:47:50 -04:00
Dan Stillman
675fde2f1a Use async I/O for attachment (blue dot) column file check in Fx23+ 2013-08-05 16:31:23 -04:00
Dan Stillman
86c6611560 Update auto-update pref text to include styles 2013-08-05 10:57:09 -04:00
Dan Stillman
f341bb1ae0 Fix error exporting linked HTML file
https://forums.zotero.org/discussion/29392/#Item_14
2013-08-04 23:30:28 -04:00
Dan Stillman
1117332177 Merge branch '4.0'
Conflicts:
	chrome/content/zotero/xpcom/zotero.js
2013-08-03 18:12:36 -04:00
Dan Stillman
1267c4d659 Closes #77, Create linked files with drag and drop
The cursor effect doesn't work reliably anywhere other than on Linux,
but external files can now be linked instead of stored with
Cmd-Option-drag on OS X and Ctrl-Shift-drag on Win/Linux.
2013-08-03 18:08:09 -04:00
Dan Stillman
84d9963e14 File sync optimizations 2013-08-02 01:13:27 -04:00
Dan Stillman
e177e3e718 Optimize local file modification checks during file syncs
- On manual sync or the first auto-sync of a session, check all files
- During other auto-syncs, check only files previously modified or
  opened externally via Zotero (including Show File) within the last 3
  hours
- Every 3 hours, do a full check of all files even if it's an auto-sync
- Spin event loop during synchronous file checks to avoid hanging the UI
- Zotero.Sync.Runner.sync() now takes an options object (e.g.,
  options.background)

Todo:

- Provide feedback on last full check in sync icon tooltip?
- Auto-sync on app focus, if this speeds up syncs enough?
2013-08-02 00:45:26 -04:00
Dan Stillman
dc8998c5bc Add Firefox-wide shortcut (Ctrl/Cmd-Shift-S) for "Save to Zotero"
Also: Don't show Firefox-specific shortcut keys in Standalone prefs
2013-07-31 23:19:19 -04:00
Dan Stillman
f0c5c50bd4 Blacklist Firefox HealthReport errors 2013-07-30 15:48:53 -04:00
Dan Stillman
ec47a31000 Fix warning in Nightly about yield without a value 2013-07-29 02:26:09 -04:00
Dan Stillman
2736e7e6d1 Use Ctrl-Shift for all shortcuts on Windows/Linux instead of Ctrl-Alt
https://forums.zotero.org/discussion/25927/#Item_5
2013-07-28 20:18:24 -04:00
Simon Kornblith
670f272b32 Alter message on auto-update
Avoid ambiguously implying that Linux users should be running Zotero as
root, and tell them to fix the permissions on the Zotero executable instead.

See https://forums.zotero.org/discussion/31020/
2013-07-27 01:46:13 -04:00
Dan Stillman
b059b2abde Fix shortcut keys on Windows and Linux 2013-07-26 15:35:06 -04:00
Simon Kornblith
1055187c8b If Zotero is run as root, clobber the cache directory and show a warning 2013-07-25 00:47:38 -04:00
Dan Stillman
185c5a3a4d Perform sync file modification checks off the main thread in Firefox 23+
OS.File doesn't seem to work reliably before Firefox 23, so older
versions will continue to do mod time checking on the main thread.

Zotero.Sync.Storage.checkForUpdatedFiles() now returns a promise.
2013-07-22 20:41:37 -04:00
Dan Stillman
b9c2ea507d Add mode name to credentials-cached debug message 2013-07-22 20:39:20 -04:00
Dan Stillman
f85d25d1d1 Remove unused argument in Z.Sync.Storage.Mode.prototype.cacheCredentials 2013-07-22 20:37:39 -04:00
Dan Stillman
40f0de75d8 Separate out Zotero.Item._updateAttachmentStates() 2013-07-22 20:35:21 -04:00
Dan Stillman
4b280090fc Better debugging info for library errors 2013-07-22 20:31:52 -04:00
Dan Stillman
5806c53825 Evaluate test.js as JS 1.8 in Firefox 17 2013-07-22 20:30:45 -04:00
Dan Stillman
73b0bc67c5 Add Zotero.Item.libraryKey, to return libraryID and key ("0/ABCD2345") 2013-07-22 20:29:32 -04:00
Dan Stillman
828a2917c4 Add Zotero.platformVersion and Zotero.platformMajorVersion
platformVersion is a string that needs to be checked with
nsIVersionComparator. platformMajorVersion is an integer that can be
checked with > and < when the major Gecko version is enough.
2013-07-22 20:27:53 -04:00
Dan Stillman
e459020b66 Add asynchronous Zotero.Utilities.Internal.md5Async()
Also switch ZU.Internal.md5() to use the same binary->hex conversion
code, since I can no longer reproduce the problem I was having with it
before.
2013-07-22 20:27:40 -04:00
Dan Stillman
b075d91f9c Revert "Remove debug line"
This reverts commit a2249b9bee.
2013-07-22 03:16:40 -04:00
Dan Stillman
500c55bdd3 Revert "Revert "Extra debugging for file sync hangs on slow connections""
This reverts commit 4907489707.
2013-07-22 03:16:19 -04:00
Dan Stillman
a2249b9bee Remove debug line 2013-07-22 02:36:46 -04:00
Dan Stillman
4907489707 Revert "Extra debugging for file sync hangs on slow connections"
This reverts commit 46cce5a2bd.

Conflicts:
	chrome/content/zotero/xpcom/storage/streamListener.js
2013-07-22 02:35:53 -04:00
Dan Stillman
78b5bc6727 Update locales from Transifex 2013-07-22 02:31:30 -04:00
Simon Kornblith
67ad94c45f Update to citeproc-js 1.0.471 2013-07-22 01:46:20 -04:00
Dan Stillman
c722ec888f Remove hopefully unnecessary hack dating to Firefox 3.1 2013-07-17 18:56:33 -04:00
Dan Stillman
46cce5a2bd Extra debugging for file sync hangs on slow connections 2013-07-17 18:55:43 -04:00
Dan Stillman
8c6a9bfbf0 Add some debugging for a memory usage issue during file syncing 2013-07-17 18:03:00 -04:00
Dan Stillman
375f0774c0 Merge pull request #327 from aurimasv/dup-right-click
Allow right-click on multiple items in duplicate view. Closes #53
2013-07-16 00:32:15 -07:00
Dan Stillman
230ec24251 Remove some unnecessary CSS 2013-07-16 03:22:24 -04:00
Dan Stillman
51cbf0c820 Fix spacing around Reindex Item icon on Windows 2013-07-16 03:19:44 -04:00
Dan Stillman
dcbabfa013 Merge branch '4.0'
Conflicts:
	install.rdf
	update.rdf
2013-07-15 20:05:41 -04:00
Dan Stillman
75d5d9f88d Add Publication Title to title/creator/year search
As requested by Simon
2013-07-15 19:55:18 -04:00
Simon Kornblith
b55f226900 Fix handling of multiple missing/corrupt citations when "No" is clicked 2013-07-13 16:04:24 -04:00
Simon Kornblith
d2166540c6 Zip as much as possible in ZSA without repacking omni.ja, part 1 2013-07-12 01:42:09 -04:00
Dan Stillman
59550167a7 Move TinyMCE into resource://
This fixes CSS in popups and probably other things.
2013-07-12 00:40:03 -04:00
Dan Stillman
7ec7039a9a Update repotime, submodules, renamed styles, and versions 2013-07-11 23:21:28 -04:00
Dan Stillman
e6756ea113 Update locales from Transifex 2013-07-11 23:16:48 -04:00
Simon Kornblith
61fba0a788 Update to citeproc-js 1.0.470 2013-07-11 23:00:14 -04:00
Dan Stillman
1d09c85822 Avoid unnecessary scrollbar in sync error panel, and remove height hack 2013-07-08 21:09:39 -04:00
Dan Stillman
10e9c5e0b7 Restore ZFS quota warning
Possible that this hasn't shown since 4.0?
2013-07-08 20:13:47 -04:00
Dan Stillman
16327ddad6 Don't update Date Modified when syncing related items
This caused all items with related items to lose their Date Modified
when synced down.
2013-07-08 18:18:16 -04:00
Simon Kornblith
0a8990947c Update to citeproc-js 1.0.469 2013-07-03 00:40:35 -04:00
Dan Stillman
8e8bc15071 Closes #291, Default to last-used item type when creating item via
keyboard
2013-07-02 16:48:53 -04:00
Dan Stillman
30a0bbcca2 Fix conflict with Cmd-Shift-A, and probably other third-party shortcuts
The Zotero shortcut keys, and their event.preventDefault(), were bound
to keydown, so shortcuts bound to keypress were still be called. This
moves most of the shortcut handling code into the keypress handler.

Fixes #344
2013-07-02 02:43:53 -04:00
Dan Stillman
4d9191ccd8 Fixes #343, Add Item by Identifier textbox is truncated on second open 2013-06-30 01:46:50 -04:00
Dan Stillman
d1e2ea57a5 Maybe fix note overwriting with embedded images in notes
But given that I can't really reproduce it, this is more of a guess.
2013-06-28 15:26:23 -04:00
Simon Kornblith
85682dbb19 Remove field codes for empty bibliographies when refreshing
This happens when a user inserts a bibliography in the middle of a
paragraph and doesn't fully delete it.

Also remove unused code for deleting citations from the document.
2013-06-27 22:02:35 -04:00
Simon Kornblith
44bb1ad976 Ignore empty bibliography fields 2013-06-27 22:02:31 -04:00
Simon Kornblith
28355c5ab5 Fix error message when inserting a field in an unsupported location 2013-06-27 22:01:31 -04:00
Simon Kornblith
852021d150 Fix error message when inserting a field in an unsupported location 2013-06-27 22:00:38 -04:00
Simon Kornblith
263eb508cc Remove field codes for empty bibliographies when refreshing
This happens when a user inserts a bibliography in the middle of a
paragraph and doesn't fully delete it.

Also remove unused code for deleting citations from the document.
2013-06-19 13:46:09 -04:00
Simon Kornblith
2a9d1d2693 Ignore empty bibliography fields 2013-06-19 13:29:04 -04:00
Simon Kornblith
505e4a5674 Merge branch '4.0' 2013-06-19 12:54:47 -04:00
Simon Kornblith
23fc663378 Call Preferences "Preferences" in menu on all platforms
Fixes #340
2013-06-19 12:52:04 -04:00
Simon Kornblith
f0c2507b89 Anchor regex 2013-06-19 02:23:26 -04:00
Simon Kornblith
6f9ffe13e3 Don't change capitalization of unabbeviated words in journal titles
Fixes https://forums.zotero.org/discussion/30352/
2013-06-18 23:51:46 -04:00
Simon Kornblith
dde9901c72 Anchor regex 2013-06-13 14:37:51 -04:00
Simon Kornblith
da4e7dd4f1 Merge branch '4.0' 2013-06-13 14:20:06 -04:00