Commit graph

4519 commits

Author SHA1 Message Date
Dan Stillman
39b01b80e0 Additional debugging for download overlay issue 2014-10-10 19:18:09 -04:00
Simon Kornblith
d3a69be997 Fix translation under Firefox 33
Our strategy: put arguments into a property of the function, and then
get them out unwrapped. This avoids security checks on arguments passed
to the function.
2014-10-10 18:31:10 -04:00
Dan Stillman
fc0f541ad8 Additional debugging for saving from download overlay 2014-10-10 18:03:13 -04:00
Dan Stillman
8359db1426 Better debugging for saving from download overlay 2014-10-10 17:36:49 -04:00
Dan Stillman
9c9b8b835d Fix crash when dragging items to collections from advanced search window
(Dragging to the items list is still disabled.)
2014-10-10 16:01:09 -04:00
Dan Stillman
5c94119c70 Fixes duplicates view for async DB
It's way too slow, though, since the whole list is regenerated after
merging.

Fixes #519

Also:

- The arguments to Zotero.Item.prototype.clone() have changed, and it no
  longer takes an existing item or copies primary data. To create an
  in-memory copy of an item, use the new Zotero.Item.prototype.copy().

- Zotero.Item.prototype.getUsedFields() now gets in-memory fields rather
  than the fields in the database
2014-10-10 04:49:39 -04:00
Dan Stillman
15d28014ed Fix creator type assignment in item box 2014-10-10 04:46:10 -04:00
Dan Stillman
7fa931425a Rename Zotero.Item.prototype.getCreatorsAPIData() to getCreatorsJSON
And add Zotero.Item.prototype.setCreators()
2014-10-10 04:46:09 -04:00
Dan Stillman
3c81067961 Use DB libraryID for check in Zotero.Libraries.getType()
Before, 'user' wouldn't be returned if the real libraryID was given for
the personal library.
2014-10-10 04:44:16 -04:00
Dan Stillman
7541106641 Update Bluebird to 2.3.5
Our modifications no longer include a custom yield handler to
automatically call all() on yielded arrays (which maintained Bluebird
1.x behavior). It's now necessary to call all() or similar explicitly.

Also fixed a few incorrect yields hidden by that behavior.
2014-10-09 14:21:10 -04:00
Dan Stillman
e34c0db060 Make 'https' the default in WebDAV prefs drop-down 2014-10-08 13:49:41 -04:00
Dan Stillman
eba296a45f Closes #554, Sync settings pane should point to new TOS 2014-10-08 13:11:30 -04:00
Dan Stillman
497939bb28 Fix "Open Account Settings" button in quota dialog in Standalone
(Untested, but this should work.)
2014-10-08 13:04:56 -04:00
Dan Stillman
71bd1a7f99 Fix state check errors (middle-pane restart messages) during syncing
The state check errors were caused by 4812ab6f, which was a fix for
"Q.async(...)(...) is undefined" errors caused by ad8b81f4c, which was a
fix for "too much recursion" errors related to Task.spawn() on Windows
with JIT enabled.
2014-10-05 12:03:50 -04:00
Dan Stillman
72bb8acfd1 Fix previous commit 2014-10-03 16:06:01 -04:00
Dan Stillman
0f2e24dc5c Log state check errors (and other logError calls) to debug output 2014-10-03 16:05:14 -04:00
Dan Stillman
27804bb47c Fix database backup on userdata upgrade
Also uncomment standard backup age tests
2014-09-30 23:15:34 -04:00
Dan Stillman
e2d3cc3f0d Update zotero://select to use new URLs and wait for items list load
Closes #541
2014-09-23 01:13:38 -04:00
Dan Stillman
cb707a55c8 Fix breakage from 10ba5e31d 2014-09-20 16:34:36 -04:00
Dan Stillman
b0550273ae Update another version 2014-09-19 20:43:50 -04:00
Dan Stillman
f09871a1ee Convert additional for..in loops to for loops in getDisplayTitle() 2014-09-19 20:39:23 -04:00
Dan Stillman
10ba5e31d6 Fix error from letter items with more than 10 recipients
https://forums.zotero.org/discussion/40218/
2014-09-19 20:37:59 -04:00
Dan Stillman
ce6cba7974 Don't log stack trace for getString() failure unless unexpected 2014-09-19 15:52:53 -04:00
Dan Stillman
fd31e41e2f Add localization todos 2014-09-18 17:41:46 -04:00
Dan Stillman
57ec10dfd4 Remove unnecessary var 2014-09-18 17:35:25 -04:00
Dan Stillman
48955c8983 Check ext length explicitly in createShortened when checking path length 2014-09-18 17:34:10 -04:00
Dan Stillman
2a986c8635 Don't match extension in createShortened() for dot-files (.hidden) 2014-09-18 17:23:57 -04:00
Dan Stillman
5a8de7054c Ignore case when extracting extension in Zotero.File.createShortened() 2014-09-18 16:54:05 -04:00
Dan Stillman
f5b5617885 Improve long-filename handling during syncing
This will hopefully fix some remaining issues with long filenames during
syncing, particularly on Linux with encrypted filenames (which have a
filename length of 143).

(This may have reintroduced some edge case bugs, so it needs some
testing.)
2014-09-18 16:23:49 -04:00
Dan Stillman
4464e8ed9e Additional debugging for formatStringFromName error 2014-09-16 15:46:13 -04:00
Dan Stillman
61d7bd852b Debugging for strange Zotero.getString() error 2014-09-11 21:07:19 -04:00
Dan Stillman
c917d9e30e Use only keys for collections and saved searches in search conditions
Previously, 'collection' and 'savedSearch' conditions used
"[libraryID]_[key]" format. Now, the condition should contain only a
key, and the libraryID will be drawn from either the search itself or a
libraryID search condition. Old-style conditions are still parsed if
provided.
2014-09-09 02:50:56 -04:00
Dan Stillman
985a5db0da Throw error if NULL libraryID is passed to DataObjects.getByLibraryAndKey() 2014-09-09 02:31:17 -04:00
Dan Stillman
755ead2119 Update zotero:// extensions (report, timeline, etc.) for async DB, and more
- Protocol handler extensions can now handle promises and can also make
  data available as it's ready instead of all at once (e.g., reports now
  output one entry at a time)
- zotero:// URL syntaxes are now more consistent and closer to the web
  API (old URLs should work, but some may currently be broken)

Also:

- Code to generate server API, currently available for testing via
  zotero://data URLs but eventually moving to HTTP -- zotero://data URLs match
  web API URLs, with a different prefix for the personal library (/library vs.
  /users/12345)
- Miscellaneous fixes to data objects

Under the hood:

- Extensions now return an AsyncChannel, which is an nsIChannel implementation
  that takes a promise-yielding generator that returns a string,
  nsIAsyncInputStream, or file that will be used for the channel's data
- New function Zotero.Utilities.Internal.getAsyncInputStream() takes a
  generator that yields either promises or strings and returns an async input
  stream filled with the yielded strings
- Zotero.Router parsers URLs and extract parameters
- Zotero.Item.toResponseJSON()
2014-09-09 00:36:29 -04:00
Dan Stillman
ff5007fdea Fix error fetching empty file via File.getContentsAsync() 2014-09-09 00:35:35 -04:00
Dan Stillman
490d24f43b Merge branch 'master' into async_db 2014-09-09 00:34:18 -04:00
Dan Stillman
3d7a35addc Merge branch '4.0'
Conflicts:
	chrome/content/zotero/xpcom/zotero.js
	install.rdf
	update.rdf
2014-09-08 20:24:44 -04:00
Simon Kornblith
55f86f4295 Fix error handling for saveItems 2014-09-05 00:28:34 -04:00
Dan Stillman
9cd7423dd7 Change cert error message URL to https:// 2014-09-02 23:28:20 -04:00
Simon Kornblith
431185cc3a Merge pull request #531 from aurimasv/high-contrast
Use Mozilla's colors for itembox and tagbox background
2014-09-01 23:30:35 -04:00
Simon Kornblith
57da88ac3d Fix == use 2014-09-01 23:19:12 -04:00
Simon Kornblith
9146fb03d9 Merge pull request #536 from adam3smith/coinsfix
test for presence of author's firstName before using it
2014-09-01 23:18:39 -04:00
adam3smith
17c0f44e66 fix indenting 2014-09-01 19:25:10 -05:00
Simon Kornblith
9c3ec6f0be Fix DataCite under Fx 32 2014-09-01 20:00:31 -04:00
Simon Kornblith
79ed7e503e Fix MODS under Fx 32 2014-09-01 19:29:45 -04:00
Simon Kornblith
a09ff9c9ec Don't unwrap objects passed to chrome
Unwrapping objects also waives the Xray wrappers for contained objects,
which we need.
2014-09-01 18:42:24 -04:00
adam3smith
f973897d76 test for presence of author's firstName before using it 2014-09-01 14:31:51 -05:00
Simon Kornblith
5857368131 Update citeproc-js to 1.0.539 2014-09-01 15:04:52 -04:00
Dan Stillman
14a5643f38 Update submodules, repotime, versions 2014-09-01 14:56:01 -04:00
Simon Kornblith
ee35f7df41 Small fix to copyObject 2014-09-01 12:26:36 -04:00
Aurimas Vinckevicius
dc5ccffe43 Use Mozilla's colors for itembox and tagbox background
This way, the colors play nicely with Windows themes (e.g. high contrast)
Re https://forums.zotero.org/discussion/38870/make-zotero-fully-recognize-windowsff-high-contrast-themes/ and https://twitter.com/stuffilike2know/status/504167872567189504
2014-08-26 03:11:24 -05:00
Dan Stillman
9db4927f78 Scroll to new collections, and stay on same row when deleting collections 2014-08-12 22:19:59 -04:00
Dan Stillman
6dbcdb95f4 Fix variable name 2014-08-12 22:16:53 -04:00
Dan Stillman
38531ab172 Fix "Copy as HTML" checkbox disabling in Quick Copy site editor window 2014-08-12 21:49:38 -04:00
Dan Stillman
c729dc8a54 Fixes #522, [Async DB] Quick Copy is broken
Export depends on #520 (but still with a synchronous interface, somehow)
2014-08-12 21:49:30 -04:00
Dan Stillman
a67521e9dd Closes #500, Remove DOM_VK_ENTER 2014-08-12 19:18:29 -04:00
Dan Stillman
df67de125e Remove (non-async-compatible) REGEXP UDF in Zotero.DB.getNextName()
And remove UDF setup code

Duplicates view also used REGEXP, so we'll need to figure out another approach
for the async rewrite of that (#519). There are no other current UDF consumers,
so this closes #528.
2014-08-12 03:13:00 -04:00
Dan Stillman
2856b71f0b Remove some remaining synchronous queries in data objects
Fixes collection and search saving
2014-08-12 03:11:49 -04:00
Dan Stillman
78a8e6b622 Fix breakage from 278e06e58 - Zotero.DataObject signature changed 2014-08-12 02:09:45 -04:00
Aurimas Vinckevicius
278e06e588 Document Zotero.DataObject. Minor tweaks. 2014-08-12 00:26:27 -05:00
Aurimas Vinckevicius
dcd65d087c Add object key/ID validation. Centralize key generation/checking. 2014-08-12 00:26:26 -05:00
Aurimas Vinckevicius
e1f59482c4 Add Zotero.Utilities.defineProperty convenience method
Use this to create enumerable properties in object prototypes.
2014-08-12 00:24:02 -05:00
Aurimas Vinckevicius
c5a532c789 Add option to print stack with debug messages 2014-08-12 00:24:01 -05:00
Dan Stillman
15d10d18a7 Use async DB queries for schema integrity check
Addresses #521
2014-08-11 02:23:00 -04:00
Dan Stillman
ae8f871f20 Fix flash of "No items in this view" when switching collections 2014-08-11 00:40:43 -04:00
Dan Stillman
40f111832c Fix error double-clicking on unopened regular items 2014-08-11 00:40:35 -04:00
Dan Stillman
f358975153 Closes #526, Asyncify database backup
When a database backup is in progress, all other DB operations are paused until
it's done.
2014-08-10 20:21:40 -04:00
Dan Stillman
f1ed5f1f03 Remove obsolete file (Zotero.Tag no longer exists) 2014-08-10 15:00:08 -04:00
Dan Stillman
9441627e74 Allow StopIteration in queryAsync() to cancel query
And catch other errors and throw StopIteration so that they stop the
search. (Non-StopIteration errors in onRow don't stop Sqlite.jsm
queries. We were logging them but then re-throwing them, which didn't do
anything.)
2014-08-10 14:15:46 -04:00
Dan Stillman
31502de08f Zotero.DB updates
- Fix ES5 generator in executeFile()
- Remove deferred in executeAsyncStatement()
- Remove obsolete properties and wait level check
2014-08-10 02:10:03 -04:00
Dan Stillman
f5896dbb8d Remove synchronous database methods
This required doing additional caching at startup (e.g., item types and fields)
so that various methods can remain synchronous.

This lets us switch back to using the current Sqlite.jsm. Previously we were
bundling the Fx24 version, which avoided freezes with locking_mode=EXCLUSIVE
with both sync and async queries.

Known broken things:

  - Autocomplete
  - Database backup
  - UDFs (e.g., REGEXP function used in Zotero.DB.getNextName())
2014-08-09 18:10:32 -04:00
Dan Stillman
86bc20c4e9 Remove unnecessary conditionals in Zotero.DataObject constructor 2014-08-08 17:44:19 -04:00
Dan Stillman
380668cc60 Changes to item and file retrieval methods
- Zotero.Item.prototype.getFilePath() is now synchronous, with a separate async getFilePathAsync()

- getFile() no longer takes a skipExistsCheck parameter, since that shouldn't happen synchronously

- Zotero.Items.getByLibraryAndKey() is now synchronous again, with a
  separate Zotero.Items.getByLibraryAndKeyAsync() - I haven't fully
  tested this, so I'm not sure if there will need to be any async
  calls.

- Some of the full-text indexing functions now take file paths instead of nsIFile objects

- Zotero.File.getContentsAsync() can now take a string path as well
2014-08-08 17:43:26 -04:00
Dan Stillman
e33dc815a0 Log the error for file launch() failure, in case it's relevant 2014-08-07 18:29:32 -04:00
Dan Stillman
cb6fae694c Fix attachment file mtime in right pane 2014-08-07 16:03:17 -04:00
Dan Stillman
ab36dda6e7 Restore loading of renamed styles
Didn't end up on this branch somehow
2014-08-07 15:01:59 -04:00
Dan Stillman
1ca2100cf0 Add timing to tag selector 2014-08-07 15:01:32 -04:00
Dan Stillman
db0fa3c33e Async DB megacommit
Promise-based rewrite of most of the codebase, with asynchronous database and file access -- see https://github.com/zotero/zotero/issues/518 for details.

WARNING: This includes backwards-incompatible schema changes.

An incomplete list of other changes:

- Schema overhaul
  - Replace main tables with new versions with updated schema
  - Enable real foreign key support and remove previous triggers
  - Don't use NULLs for local libraryID, which broke the UNIQUE index
    preventing object key duplication. All code (Zotero and third-party)
    using NULL for the local library will need to be updated to use 0
    instead (already done for Zotero code)
  - Add 'compatibility' DB version that can be incremented manually to break DB
    compatibility with previous versions. 'userdata' upgrades will no longer
    automatically break compatibility.
  - Demote creators and tags from first-class objects to item properties
- New API syncing properties
  - 'synced'/'version' properties to data objects
  - 'etag' to groups
  - 'version' to libraries
- Create Zotero.DataObject that other objects inherit from
- Consolidate data object loading into Zotero.DataObjects
- Change object reloading so that only the loaded and changed parts of objects are reloaded, instead of reloading all data from the database (with some exceptions, including item primary data)
- Items and collections now have .parentItem and .parentKey properties, replacing item.getSource() and item.getSourceKey()
- New function Zotero.serial(fn), to wrap an async function such that all calls are run serially
- New function Zotero.Utilities.Internal.forEachChunkAsync(arr, chunkSize, func)
- Add tag selector loading message
- Various API and name changes, since everything was breaking anyway

Known broken things:

- Syncing (will be completely rewritten for API syncing)
- Translation architecture (needs promise-based rewrite)
- Duplicates view
- DB integrity check (from schema changes)
- Dragging (may be difficult to fix)

Lots of other big and little things are certainly broken, particularly with the UI, which can be affected by async code in all sorts of subtle ways.
2014-08-06 22:59:37 -04:00
Dan Stillman
4ea5e2d426 Update code to use 0 instead of NULL for libraryID 2014-08-06 22:14:59 -04:00
Dan Stillman
368e568fe1 Don't load saved search list for every collection row 2014-08-06 22:14:59 -04:00
Dan Stillman
7c958f4bd3 Show "Loading items list..." in middle pane on window load
Otherwise with async loading the pane appears blank before the message appears
2014-08-06 22:14:58 -04:00
Dan Stillman
b20a2e153b Fix Services.wm call 2014-08-06 22:14:58 -04:00
Dan Stillman
84882c8ecf Include actual error in "There was an error starting Zotero." dialog
And use a proper title
2014-08-06 22:14:58 -04:00
Dan Stillman
fe83d4db72 Document options.headers property for Zotero.HTTP.promise() 2014-08-06 22:14:58 -04:00
Dan Stillman
16e4aa0516 Remove Zotero.join() 2014-08-06 22:14:58 -04:00
Dan Stillman
3a7042e527 Zotero.Utilities.forEachChunk(arr, chunkSize, func)
Run a function on chunks of a given size of an array's elements and
return an array with the return values from the successive runs.
2014-08-06 22:14:58 -04:00
Dan Stillman
feb47caa6b Merge branch '4.0'
Conflicts:
	chrome/content/zotero/xpcom/translation/translate.js
2014-08-06 22:13:05 -04:00
Aurimas Vinckevicius
0998b15fac Improved cookie handling when translating from connectors
* Accept detailed cookie information (including host, path, secureOnly, and hostOnly) from connectors so we can send correct cookies when fetching pages from different hosts. This way we also don't have to worry about exposing cookies to different hosts.
* Don't drop cookies that we receive from other hosts. Some pages (e.g. PDF URLs) result in redirects to other hosts (and even domains) that then set cookies, which are required to retrieve the PDF. (e.g. Cell Press stores PDFs on ScienceDirect, but their PDF links initially point to cell.com).
* Send detailed cookies where possible. Currently that's only for Chrome/Opera and Firefox in Connector mode. Does not seem to be possible in Safari.
2014-07-28 15:39:07 -05:00
Simon Kornblith
9219100901 Another Fx 32 translation fix 2014-07-23 18:05:56 -04:00
Aurimas Vinckevicius
638d29972c Don't ignore initial punctuation when sorting
Also, change sorting sensitivity to "base"
Closes #514
2014-07-23 00:18:48 -05:00
Dan Stillman
15108eea3f Fix intermittent source file deletion when dragging files in on Windows
(at least, if this is caused by what I think it was caused by)

https://forums.zotero.org/discussion/38486/
2014-07-20 15:56:55 -04:00
Dan Stillman
3b5bd45433 Further Windows drag-and-drop comment rewriting 2014-07-20 13:16:56 -04:00
Dan Stillman
717a440156 Clarify comment for Windows drag-and-drop mess 2014-07-20 02:50:00 -04:00
Dan Stillman
b8f69d6281 Fix Quick Copy drag to Chrome textareas on Windows
Possibly to other places as well (but not Notepad, which doesn't work
from Firefox or Chrome either)

Unfortunately this requires going back to 'copy' cursor feedback when
dragging, even when Shift is used. We can only choose one on Windows (as
far as I can tell), and we were previously using the unadorned 'move'.
2014-07-20 02:16:25 -04:00
Dan Stillman
7d74344b7d Restore highlighting of collection row during drag on Windows 2014-07-20 02:16:20 -04:00
Dan Stillman
36c5dceff4 Merge branch '4.0'
Conflicts:
	chrome/content/zotero/browser.js
	chrome/content/zotero/longTagFixer.js
	chrome/content/zotero/xpcom/schema.js
	chrome/content/zotero/xpcom/utilities.js
	chrome/content/zotero/xpcom/zotero.js
	install.rdf
	update.rdf
2014-07-15 22:17:27 -04:00
Dan Stillman
813f55d024 Natural sorting of numbers ("1" < "2" < "10")
This needs testing to see if it has any other unwanted effects.

Closes Trac ticket 1031
2014-07-08 09:47:03 -04:00
Simon Kornblith
87a0df43d8 Fix some more Fx 32 issues
Ref https://forums.zotero.org/discussion/37885/
2014-07-06 14:07:00 -04:00
Simon Kornblith
d9720f18a9 Update to citeproc-js 1.0.536 2014-07-06 08:50:13 -04:00
Dan Stillman
532ebc5239 Fix for startup error w/weird locale language tags ("de-CH@currency=EUR")
https://forums.zotero.org/discussion/37901

And just return a noop sorter on failure instead of breaking
2014-06-27 09:36:11 -04:00
Dan Stillman
4a677240d3 Don't use Intl until Fx30, since it's missing in Iceweasel 29
And nsICollation isn't broken on OS X until 30
2014-06-27 01:12:25 -04:00
Dan Stillman
d66a6f6680 Ignore punctuation when sorting
This sorts "St. A" before "St B". I don't know if we want this.
2014-06-25 12:24:31 -04:00
Dan Stillman
979e62714c Fix startup errors in some non-English locales in Fx30 on OS X
nsICollation broke for some locales. (Testing requires changing the
language setting in Language & Region and then restarting the computer.
The change seems to not fully go into effect until then, even though the
UI changes.) This is fixed in Nightly, but we can work around it by
using the new Intl.Collator.
2014-06-25 12:22:04 -04:00
Florian Martin-Bariteau
dbe7640f18 Allow QuickSearch to search for civil law cases 2014-06-24 22:55:56 -04:00
Dan Stillman
be49010783 Use 11 instead of 6 on invalid note font size
Also don't validate font size until after pref field is blurred, to allow
numbers to be typed in properly
2014-06-23 23:36:36 -04:00
Simon Kornblith
bcc7a4ae86 Missing word in comment from 8cb081a4e1 2014-06-23 22:56:08 -04:00
Simon Kornblith
8cb081a4e1 Disable argument unwrapping on Fx < 32
This apparently breaks on Fx 24
2014-06-23 22:55:02 -04:00
Simon Kornblith
dd5160cc73 Partially revert 76e8ea835f
Apparently this doesn't work on Firefox 24. Sigh.
2014-06-23 22:29:32 -04:00
Dan Stillman
f45b219792 Fix inline collection editing when clicking to another collection
https://forums.zotero.org/discussion/37739
2014-06-21 13:37:55 -04:00
Simon Kornblith
41e50ef669 Fix check from fc91deb69e 2014-06-21 13:27:49 -04:00
Simon Kornblith
fc91deb69e Fix more Firefox 32 issues 2014-06-21 13:25:33 -04:00
Simon Kornblith
76e8ea835f Slightly cleaner fix for #504 2014-06-21 13:16:39 -04:00
Simon Kornblith
a71f3bbdd8 Fix #504
Determine whether to copy objects by their constructor names, since the
prototypes do not necessarily match
2014-06-21 12:51:41 -04:00
Dan Stillman
4812ab6f93 Fixes (cosmetic) "Q.async(...)(...) is undefined" sync error
Yield immediately so that a generator is always passed to Q.async()
2014-06-20 03:47:04 -04:00
Dan Stillman
09e53d85d5 Revert "Revert "Use Q instead of Task.spawn to run processUpdatedXML()""
This reverts commit 4334260865.
2014-06-20 03:47:01 -04:00
Dan Stillman
4334260865 Revert "Use Q instead of Task.spawn to run processUpdatedXML()"
Fixes "Q.async(...)(...) is undefined" sync error

This reverts commit ad8b81f4c7 (which
tried to fix Fx32+ compatibility).
2014-06-20 03:17:03 -04:00
Simon Kornblith
3a8c77e983 Fix search translation bug from 7950d3a7e2 2014-06-19 21:31:17 -04:00
Simon Kornblith
37f4e61ef2 Remove debug line 2014-06-19 20:11:46 -04:00
Simon Kornblith
7950d3a7e2 Attempt to fix #502, translation broken on Firefox 32 2014-06-19 20:07:31 -04:00
Simon Kornblith
f6dfeee210 Remove more uses of charsetDTD 2014-06-19 19:03:58 -04:00
Simon Kornblith
014c7b5b46 Fix tab mode in Aurora
Ref https://forums.zotero.org/discussion/37608/
2014-06-19 19:02:52 -04:00
Dan Stillman
75bdf08131 Fix event handling (e.g., Undo) in notes in Fx32
Addresses #503
2014-06-19 17:54:21 -04:00
Dan Stillman
c32144ddfd Fixes #503, Notes broken on Firefox 32
Unwrap the editor object if it's wrapped
2014-06-19 17:47:56 -04:00
Simon Kornblith
954f8bd001 Fix #496, Remove uses of nsICharsetConverterManager
We should confirm that the manually added charsets still work on
Firefox 32 once we #502
2014-06-19 17:31:27 -04:00
Simon Kornblith
e576416831 Remove old isFxN constants 2014-06-19 16:36:37 -04:00
Dan Stillman
b441e2cf9e Update submodules and repotime 2014-06-18 21:12:25 -04:00
Dan Stillman
ad8b81f4c7 Use Q instead of Task.spawn to run processUpdatedXML()
With Task.spawn, regular expressions in Zotero.DB were causing "too much
recursion" errors on Windows with JIT enabled.

This requires a change to Q to allow async() to take a generator instead
of a generator-maker (which is the reason it was using Task.spawn to
begin with).
2014-06-18 05:03:06 -04:00
Dan Stillman
fad6174e39 Fix download retrying
Follow-up from 238a972a
2014-06-10 03:50:41 -04:00
Dan Stillman
238a972ace Retry failed ZFS uploads and downloads automatically
S3 upload timeouts were retried already with an exponential backoff, but
this adds retrying for other kinds of upload failures as well as failed
downloads.  If 5 consecutive failures occur a file sync error is
thrown.

Failed file sync requests to the Zotero API are not currently retried,
but S3 accounts for the majority.

The download portion of this still needs further testing.
2014-06-09 06:47:07 -04:00
Dan Stillman
1b6dc5d681 Restore minimize/maximize buttons in note windows on Windows
From db6ec2b160
2014-06-05 00:54:22 -04:00
Simon Kornblith
7b7b4e6e9e Merge pull request #495 from aurimasv/Fx-connector
Fix race condition when starting in Connector mode
2014-06-04 17:02:28 +02:00
Aurimas Vinckevicius
e4dd38fc84 Fix race condition when starting in Connector mode
When starting in Connector mode (i.e. Standalone is open), Zotero first starts in Full mode, looks for Standalone, then "shuts down" and restarts in Connector mode. `Zotero.shutdown()` returns a promise which is then followed up by a `Zotero.init` call. Thus, when starting in Connector mode, Zotero initialization is asynchronous and makes it possible for `Zotero_Browser.init()` to be called before `Zotero.initialized` is true, which prevents `Zotero_Browser` from initializing. Additionally, even if `Zotero_Browser.init()` is called after Zotero is initialized in Connector mode, it is possible that `Zotero_Browser.init()` will be called _after_ the "load" event for browser.xul has already fired, so `chromeLoad` is never called. This patch ensures that both of these race conditions are taken into account.
2014-06-04 03:16:29 -05:00
Aurimas Vinckevicius
59fe54da01 Release server port when shutting down (e.g. switching to Connector mode) 2014-06-04 03:14:01 -05:00
Dan Stillman
a59f3c50ed Hack to fix "Numéro" search condition in French locale
https://forums.zotero.org/discussion/14942/
2014-06-03 14:17:54 -04:00
Dan Stillman
cbdc75df9a Fix search condition handling when two conditions have same translation
This prevented one "Numéro" from working in the French locale.

Also do a proper collation sort
2014-06-03 14:17:54 -04:00
Aurimas Vinckevicius
85c5c614ea Fix CSL-JSON date import 2014-06-02 17:25:16 -05:00
Dan Stillman
ba89dbf0ae Link translator errors to troubleshooting page instead of known issues 2014-06-02 17:00:57 -04:00
Dan Stillman
c0d6648b9e Allow inline editing of collection names
Can be triggered by double-clicking or Return and also by F2 on
Windows/Linux

This does mean double-clicking no longer toggles the collection open and
closed. If we wanted to preserve that we could probably capture the
double-click.

Closes Trac ticket 231, only 8 years later
2014-05-31 14:24:52 -04:00
Dan Stillman
326d2bc1e3 Enforce minimum note font size of 6px
https://forums.zotero.org/discussion/37147/
2014-05-31 01:42:31 -04:00
Dan Stillman
db6ec2b160 Persist single position/size for all note windows
Previously, position/size was persisted for each item's note
individually, but that meant that there was no default position/size for
the note window and an entry was created in localstore.rdf for
every note opened in a new window. There's also a good chance people had
no idea what was going on.
2014-05-28 14:35:05 -04:00
Dan Stillman
370fa78048 Merge pull request #489 from f-mb/csl-mapping
Update csl mapping
2014-05-28 02:15:47 -04:00
Dan Stillman
c986e6106b Blacklist additional errors 2014-05-26 20:09:27 -04:00
Dan Stillman
59f534d56f Error report improvements
- Always allow "Report Errors...", even when no errors

- Show submitted diagnostic info in report

- Use white background and unitalicized text for report

- Make window larger by default
2014-05-26 20:07:41 -04:00
Dan Stillman
072ae245d9 Use base-mapped dates for sorting (broken in dd477e15) 2014-05-26 19:13:21 -04:00
Dan Stillman
95bf52baf5 Check for NS_ERROR_STORAGE_CONSTRAINT in tag constraint error 2014-05-23 14:51:21 -04:00
Florian Martin-Bariteau
982dbeb962 Update utilities.js 2014-05-22 23:37:17 -04:00
Dan Stillman
6f06b39cb3 Merge branch '4.0' 2014-05-19 03:38:35 -04:00
Florian Martin-Bariteau
7b40ae2a46 Update utilities.js 2014-05-18 18:57:28 -04:00
Dan Stillman
472892b4f0 Closes #482, Include active info pane tab in tab cycle on OS X
That was easy. (@simonster, since you disabled this originally, any reason not
to do this, other than the extra tab stop? At least in current Firefox
versions, this is the default behavior.)
2014-05-17 04:10:37 -04:00
Dan Stillman
4305aa1356 Debugging for sync error 2014-05-16 17:57:35 -04:00
Dan Stillman
9f91d240b0 Library switcher in advanced search window
When opening the advanced search window, the current library is
selected, and a different library can be selected to change the search
scope. If a library is read-only, the saved search button is disabled.
For saved searches, the appropriate library is selected and the
drop-down is disabled.

Also:

- Close the advanced search window after a search is saved
- The default name for saved searches ("Untitled 2", etc.) was based on
  collections rather than searches
- Once an initial search has been performed, the drop-downs and
  checkboxes now update the results
- More consistent spacing in advanced search window
- (dev) Zotero.DB.getNextName() now takes a libraryID as its first
  parameter instead of always using My Library; the old parameters are
  deprecated but still work
2014-05-15 21:41:22 -04:00
Dan Stillman
f8798fe996 Set maximum with and chars on Name field when editing saved search 2014-05-15 21:41:22 -04:00
Dan Stillman
66ca236876 Use XUL xmlns instead of prefix in zoterosearch.xml 2014-05-15 21:41:21 -04:00
Dan Stillman
3552fe92b6 Merge pull request #479 from fbennett/preselect-csledit-style
Preselect default Export style in csledit.xul
2014-05-15 00:05:01 -04:00
Simon Kornblith
2a292faeaf Merge pull request #481 from aurimasv/import-network-shares
Recognize Windows network shares on file attachment import
2014-05-14 23:54:45 -04:00
Frank Bennett
c31a3c263b Preselect default Export style in csledit.xul 2014-05-15 12:43:50 +09:00
Dan Stillman
7ac35363e3 Clear guidance panel before adding text
This is probably only necessary if the pref is reset manually, but this
prevents duplicate text in that situation.
2014-05-14 17:18:54 -04:00
Dan Stillman
3ee09e8d38 Fix gray bar below Zotero pane when resizing Firebug down
Follow-up from c1c0b42a12
2014-05-14 17:14:45 -04:00
Aurimas Vinckevicius
e861c3e298 Fix slash direction on Windows for absolute paths
E.g. Mendeley exports something like `C:/some/path/test.pdf`
2014-05-13 13:30:30 -05:00
Aurimas Vinckevicius
f2a887fd24 Recognize Windows network shares on file attachment import
Related to zotero/translators#735
2014-05-13 12:53:38 -05:00
Dan Stillman
6cf597a08f Merge pull request #478 from fbennett/fix-csl-export-creators
Fix dropping of creators in CSL JSON export
2014-05-10 02:59:56 -04:00
Frank Bennett
6605486354 Use ID rather than name on getPrimaryIDForType()
Use creator name for comparison (creatorTypeID does not exist on array-form creators)
2014-05-09 22:29:45 +09:00
Dan Stillman
57116fa892 Merge branch '4.0'
Conflicts:
	chrome/content/zotero/xpcom/collectionTreeView.js
	chrome/content/zotero/xpcom/libraryTreeView.js
	chrome/content/zotero/xpcom/zotero.js
	install.rdf
	update.rdf
2014-05-08 15:52:31 -04:00
Dan Stillman
fd9452adbc Fix error when sorting by Item Type column (since dd477e15b8) 2014-05-07 13:45:20 -04:00
Dan Stillman
ebb112890d 'throw' -> 'throw new Error' in a couple places 2014-05-07 05:16:25 -04:00
Dan Stillman
dd477e15b8 Configurable secondary sorting and other improvements
- Each column in the middle pane can now have its own persistent
  secondary sort column, configurable from a new submenu in the column
  picker menu (top right of items list). The settings are stored in
  extensions.zotero.secondarySort.[primaryField]. The submenu title
  includes the current primary field (e.g., "Secondary Sort (Creator)"),
  which is pretty weird, and I'm not sure I want to keep it, but it does
  convey that the setting is specific to the selected column.

- The fallback sort fields (firstCreator, date, title, dateAdded) are
  now configurable via the extensions.zotero.fallbackSort. Setting that
  pref to an empty string avoids all fallback sorts, which
  allows reverse-order clicking to set the order, as requested by
  @aurimasv in #275.

- The previous behavior of sorting based on the exact Creator string
  (rather than the actual creators) can now be restored with the
  extensions.zotero.sortCreatorAsString pref. (It simply circumvents all
  the newer code, so it's pretty safe.) This setting should result in
  faster sorting in large libraries that have many items with the same
  Creator string.

- Some of the lesser fields in the column picker menu are now in the
  More Columns submenu (which is now alphabetical)

- The "Type" column is now the less-ambiguous "Item Type".

- This uses a different method to modify the column picker menu that is
  simultaneously less and more hacky. (It no longer has to duplicate
  Mozilla code in a custom XBL binding that wouldn't reflect future
  upstream changes, and instead it bushwhacks its way through various
  boxObject properties to get to the underlying menupopup.)
2014-05-07 05:15:07 -04:00
Dan Stillman
d65ee27592 Switch to array uniquing function that keeps the first instance
The previous version would keep only the last instance.

This version requires the array to contain only primitives of a single
data type, but I think that's OK for all of our uses. (This version
should also be faster.)
2014-05-07 03:10:39 -04:00
Dan Stillman
42c02526ef Fix parsing of January dates in Zotero.Date.strToISO()
https://forums.zotero.org/discussion/36550/#Item_6
2014-05-06 14:50:13 -04:00
Simon Kornblith
6a58d3b2ff Revert "Use var in place of let"
This reverts commit 9b67d60197.

(I totally bungled this commit)
2014-05-04 19:07:19 -04:00
Simon Kornblith
b6c04a1653 Use var instead of let
This code gets included into the bookmarklet, so uglifyjs has to like it
2014-05-04 19:05:41 -04:00
Simon Kornblith
3bfe5949d7 Merge branch '4.0' of github.com:zotero/zotero into 4.0 2014-05-04 19:05:24 -04:00
Simon Kornblith
9b67d60197 Use var in place of let
This makes uglifyjs happier
2014-05-04 19:04:48 -04:00
Dan Stillman
156f4eb160 Allow items to be moved (not copied) between collections w/modifier key
Cmd on OS X, Shift on Windows/Linux

How do I not get to close a ticket for this?

Unfortunately on Windows it doesn't seem possible to set the cursor
effect to arbitrary states (see note in libraryTreeView.js::
_setDropEffect() for the gory details), so this just uses the default
cursor there. On OS X and Linux the cursor reflects the requested
action.
2014-05-03 11:52:38 -04:00
aurimasv
c9346d4caa [RDF] Encode > in content when serializing to XML
This avoids the invalid combination "]]>" from appearing in the output
2014-05-01 15:44:07 -05:00
Dan Stillman
c1c0b42a12 Fix gray bar when resizing Zotero pane down
Caused by new toolbar icon guidance panel
2014-04-30 18:01:11 -04:00
Dan Stillman
61af5e987d Update versions 2014-04-30 15:08:58 -04:00
Dan Stillman
c73a0753d7 Handle lowercase shortcut key pref values
Honor lowercase pref values for shortcut keys, and also always display
and set shortcut keys as uppercase in the preferences
2014-04-30 15:08:12 -04:00
Dan Stillman
3d9853acaa Redo instead of toggling Z pane in text fields (except search bar) on OS X
Previously Cmd-Shift-Z worked for redo in text areas (Abstract, Extra)
but would toggle the Zotero pane in regular text fields. This change
allows Redo to work as expected.

The search bar gets focus when you first open the Zotero pane, though,
so we don't redo there, since it would be annoying if you couldn't close
the pane immediately with the same shortcut.
2014-04-30 14:29:59 -04:00
Dan Stillman
5913e6780e Fix Redo via Cmd-Shift-Z in notes on OS X 2014-04-30 14:09:18 -04:00
Simon Kornblith
8d807b73c6 Fix display of missing data directory startup error in Standalone 2014-04-30 14:02:11 -04:00
Dan Stillman
74ed0879f6 Update versions 2014-04-29 04:21:32 -04:00
Dan Stillman
50eeed9e32 Restore panel auto-hide and increase show delay to 2 seconds
I think requiring everyone with Zotero installed to manually close the panel is
just too annoying. (Not allowing the auto-hide for a couple seconds after
opening to prevent accidental closes would be nice, but preventDefault() in the
panel's onpopuphiding() doesn't seem to work, nor does changing noautohide
after opening.)

Increase the delay to 2 seconds to try to show on top of the Firefox 28->29
upgrade panel on slower computers.
2014-04-29 03:48:57 -04:00
Dan Stillman
1524fff30f Revert "Separate toolbar guidance strings for easier localization"
This reverts commit 5da9b4bbb6 and uses
slightly different wording between the two messages ("Click here…" vs.
"Click the icon…").
2014-04-29 03:03:42 -04:00
Simon Kornblith
7841bb4327 Don't dismiss icon first run guidance until clicked 2014-04-29 01:43:35 -04:00
Simon Kornblith
2ce31d7565 Add delay before showing icon guidance 2014-04-28 23:41:40 -04:00
Dan Stillman
cefe301c74 s/firstRunGuidance.toolbarButton.new/firstRunGuidance.toolbarButton.upgrade/ 2014-04-28 22:56:41 -04:00
Dan Stillman
5da9b4bbb6 Separate toolbar guidance strings for easier localization 2014-04-28 22:49:51 -04:00
Simon Kornblith
5814bdcd84 Don't try to icon guidance on initialization failure 2014-04-28 20:42:43 -04:00
Simon Kornblith
255b0318ad Add guidance for Zotero toolbar button, moved in Australis 2014-04-28 20:37:31 -04:00
Simon Kornblith
35dd1bc204 Only enable Add Item by Identifier resizing logic on Mac
This seems to be unnecessary and screw things up on other platforms.
2014-04-28 19:51:11 -04:00
Dan Stillman
a8f9b704e3 Don't show "Status bar icon:" pref for Firefox 29+ 2014-04-28 19:26:53 -04:00
Dan Stillman
4179cb8ed6 Retina tree twisties for OS X
Using separate arrows from treetwisty.svg from Mozilla, since it doesn't seem
to be possible to use list-style-position in the tree

The reason we still have to do this at all is that coloring of the twisties in
the tree still gets messed up as you move around the tree. (This still happens
in Places and Thunderbird as well.)
2014-04-28 03:52:18 -04:00
Simon Kornblith
26ea06524e Merge pull request #328 from aurimasv/pdfdrop
Add callback to importFromURL for drag-dropped PDFs instead of setTimeout
2014-04-27 21:32:27 -04:00
Simon Kornblith
35fe6490fe Fix lookup box sizing on subsequent opens 2014-04-27 21:06:45 -04:00
Simon Kornblith
6cf613c4fa Merge pull request #472 from adam3smith/coins
add COinS export support for all item types via DC
2014-04-27 20:04:04 -04:00
Simon Kornblith
decf887fc8 Merge pull request #456 from aurimasv/import-charset
Fix some bugs with charset encoding on import
2014-04-27 18:27:09 -04:00
Simon Kornblith
87dc1cc27a Merge pull request #461 from aurimasv/rdf-qname
[RDF] QNAME fixes
2014-04-27 18:08:49 -04:00
Simon Kornblith
1a76e32806 Merge pull request #470 from aurimasv/detect-iframe
For detectWeb, ignore translators targeting iframes with same URL
2014-04-27 18:03:08 -04:00
Dan Stillman
a1189fe28e Merge branch '4.0'
Conflicts:
	chrome/content/zotero/xpcom/data/item.js
2014-04-26 14:41:53 -04:00
Dan Stillman
72a99d32f3 Fix breakage from #467 / #475 2014-04-26 14:36:00 -04:00
Florian Martin-Bariteau
dbe7d6ca3a Update item.js regarding display of case law title
from https://github.com/zotero/zotero/pull/467
2014-04-26 14:05:53 -04:00
Dan Stillman
d8c0bec110 Merge pull request #475 from f-mb/patch-case-law-title
Update item.js regarding display of case law title
2014-04-26 14:03:39 -04:00
Florian Martin-Bariteau
3ac6d4d0a0 Update item.js regarding display of case law title
from https://github.com/zotero/zotero/pull/467
2014-04-26 20:01:35 +02:00
Dan Stillman
d8ff3aeea9 Merge branch '4.0'
Conflicts:
	install.rdf
	update.rdf
2014-04-26 03:22:38 -04:00
Ashley Wright
d0654fe72b Hyperlink DOI in reports fixes #388 2014-04-26 02:24:57 -04:00
Dan Stillman
75ee7b6216 Merge pull request #399 from Ashley-Wright/388-link-doi
Hyperlink DOI in reports fixes #388
2014-04-26 02:20:02 -04:00
Dan Stillman
73686e2423 Update field/tag textbox as autocomplete lines are selected
The main effect of this is that Tab now accepts the selected
autocomplete entry.

Closes #341 and #417
2014-04-26 02:13:07 -04:00
Dan Stillman
39e7ca7c9e Merge pull request #473 from adam3smith/sentence-correct
some fixes to sentence case conversion.
2014-04-26 01:59:09 -04:00
Dan Stillman
6fa3511f33 Update submodules, repotime, maxVersion, and renamed styles 2014-04-26 01:41:32 -04:00
Dan Stillman
1f60df0044 Don't hang file sync on network errors
Network errors (where the connection itself failed, rather than failed
HTTP requests) were being thrown directly in the stream listener, which
prevented the Zotero.Sync.Storage.Request -- and therefore the file sync
-- from ever completing.
2014-04-24 18:05:11 -04:00
Dan Stillman
f008843fc5 Automatically retry intermittent Amazon S3 upload timeouts
"Your socket connection to the server was not read from or written to
within the timeout period."

I can't reproduce these reliably, so this is fairly untested, but it
seems to work. It backs off exponentially when the error occurs, and
halves the delay on successful requests.

Eventually all 50x file sync errors should also be retried
automatically, but that can't really happen in 4.0.
2014-04-24 17:54:24 -04:00
aurimasv
9b63ca5f4d Clear cached file sync credentials/URLs when changing settings 2014-04-23 17:18:33 -05:00
adam3smith
96bd07b172 some fixes to sentence case conversion. See https://forums.zotero.org/discussion/35190/beta-capitalization-after-colons/#Item_14 2014-04-21 16:50:05 -06:00
adam3smith
56cdcb0524 remove unnecessary if statements and some clean-up. Don't put ISBN and ISSN into DC.identifier, since they're being added to all items as issn and isbn anyways. 2014-04-21 11:43:28 -06:00
adam3smith
fb8d6121bb add COinS export support for all item types via DC 2014-04-20 23:19:06 -06:00
aurimasv
2305023c5d For detectWeb, ignore translators targeting iframes with same URL
Addresses https://forums.zotero.org/discussion/36104/wall-street-journal-translator-not-working/
2014-04-17 15:59:41 -05:00
Dan Stillman
60e5ab8124 Merge branch '4.0'
Conflicts:
	chrome/content/zotero/xpcom/db.js
	chrome/content/zotero/xpcom/fulltext.js
	chrome/content/zotero/xpcom/zotero.js
	chrome/content/zotero/zoteroPane.js
	components/zotero-service.js
	install.rdf
	update.rdf
2014-04-08 18:47:32 -04:00
Dan Stillman
f70d0c0b29 Fix "invalid 'instanceof' operand Zotero.Exception" error
This was hiding the actual error when there was an error installing the
parent style of a dependent style.
2014-03-26 16:12:36 -04:00
Dan Stillman
62fb1024b2 Update versions 2014-03-24 16:50:58 -04:00
Dan Stillman
fe1bedcb8d Fix hang navigating by keyboard in Add Citation after switching views
https://forums.zotero.org/discussion/35658/
2014-03-24 16:31:53 -04:00
Dan Stillman
af5e7abb31 Update versions, submodules, and repotime 2014-03-21 04:10:38 -04:00
Dan Stillman
47c4661635 Fix WebDAV syncing (broken in 62e779bee) 2014-03-21 03:22:56 -04:00
Dan Stillman
8444a4d8b4 Allow Unicode characters in string prefs, including sync username 2014-03-20 17:01:42 -04:00
Dan Stillman
e7710660ef Don't change attachment item mod time when downloading unchanged data
From attachmentCharset change
2014-03-20 16:26:06 -04:00
Dan Stillman
d137850075 Update versions 2014-03-19 06:23:30 -04:00
Dan Stillman
3ff56a7d55 Fix harmless "Not well-formed" console message from renamed-styles.json 2014-03-19 06:00:05 -04:00
Dan Stillman
d7b75aaa80 Fix startup with debug log pref enabled on Windows
I don't know how I possibly ended up with sendConsoleAPIMessage()
here...
2014-03-19 05:42:28 -04:00
Dan Stillman
f22e8ef4fb Ignore 404 on S3 file download 2014-03-18 16:57:56 -04:00
Dan Stillman
fbf2764ef8 Fail rather than hang sync on S3 upload error 2014-03-18 16:57:12 -04:00
Dan Stillman
4b772d4382 Update submodules, renamed styles, and repo time 2014-03-16 00:22:21 -04:00
Dan Stillman
a208f8ad78 Blacklist more OpenGL messages 2014-03-14 17:11:26 -04:00
Simon Kornblith
5bbd5f0f70 Don't use browser console for logging in Zotero Standalone
This is probably what caused zotero/provo#5
2014-03-10 12:34:46 -04:00
Dan Stillman
b486366fdf Log debug output to the Browser Console on Windows
At least for me (in a VM), the text console has always been unusable on
Windows. Logging to the Browser Console is slower than dump() on OS X
and Linux, but on Windows it's much faster.
2014-03-06 16:23:21 -05:00
aurimasv
1390b1300a [RDF] QNAME fixes
* Allow periods in QNAMEs
* Don't break when there are illegal characters in the predicate. Use the strategy proposed at http://www.w3.org/TR/2014/REC-rdf-syntax-grammar-20140225/#section-Serialising (generate namespace that consumes all illegal characters)
* More robust namespace name generation

Closes #128
2014-03-06 07:00:44 -06:00
Dan Stillman
5ddfdec584 Fix first item drag of session
https://forums.zotero.org/discussion/35206/
2014-03-02 05:22:58 -05:00
Simon Kornblith
015b37a85e Merge pull request #453 from aurimasv/rdflib-rdf-value
Correctly handle literals with attributes in RDF
2014-02-24 11:03:53 -05:00
Dan Stillman
7a83a5762a Fix error recovering from DB corruption maker if main DB doesn't exist
Also add better logging
2014-02-22 03:53:27 -05:00
Dan Stillman
62e779beec Show redirect URL in the sync stream listener (for file downloads)
Also consolidate the display-URL-password-hiding logic in http.js
2014-02-21 19:07:08 -05:00
Dan Stillman
79cd7197ff Fix a rare cause of sync conflicts
Sometime in the past SQL datetimes saved to the server could be
interpreted as multipart dates, causing the date portion to be stripped
from the visible field. I fixed this previously on the server, but a
full sync could result in conflicts for any such values that synced
down. Instead, overwrite the local version (keeping Date Modified the
same) if there are no other changes.
2014-02-21 19:02:02 -05:00
Dan Stillman
1d4a6b0848 Fix [Attachment Content] [does not contain] searches in "all" mode 2014-02-19 00:52:27 -05:00
Dan Stillman
62bc5830eb Fix some harmless errors in the console editing autocomplete fields
"comment.split is not a function"
2014-02-18 18:43:58 -05:00
Dan Stillman
04fa4a0943 Fix Zotero crash pasting in creator with certain leading whitespace 2014-02-18 18:42:06 -05:00
aurimasv
01631d6c9d Fix some bugs with charset encoding on import 2014-02-17 20:37:11 -06:00
Dan Stillman
5d54dd9fbf Tweaks to csledit
- Show "Citation Style Language" in Format drop-down
- Reverse positions of Refresh and Save

Follow up to #454
2014-02-14 04:13:18 -05:00
Dan Stillman
6444477580 Fix csledit breakage from 39dd3d81
Follow-up from #454
2014-02-14 04:00:41 -05:00
adam3smith
39dd3d8114 add "Save" button and "Near Note" position to CSL Preview 2014-02-14 00:59:44 -07:00
Simon Kornblith
41c19992fe Fix strict mode error from https://forums.zotero.org/discussion/34871/ 2014-02-12 01:02:54 -05:00
Aurimas Vinckevicius
89782e78bf Zotero.Translate.IO._RDFSandbox.getResourceURI should return the contents of rdf:value where available 2014-02-08 20:31:09 -06:00
Aurimas Vinckevicius
83e261930e [rdflib.js] Literals with attributes should be added as rdf:value nodes 2014-02-08 20:29:41 -06:00
Dan Stillman
a6ab904cd0 Note link tweaks
- Send modifier keys through to loadURI() when clicking Open Link in notes
- Open link in parent window from external note window
- Don't show both menus on right-click

Follow-up from #450
2014-02-04 21:02:05 -05:00
Joscha Legewie
2f9c7fd839 TinyMCE Improvements: Open links from note window with popup and auto-create links 2014-02-04 20:58:51 -05:00
Dan Stillman
d966166abc Fix indexing error with empty documents 2014-02-01 16:37:05 -05:00
Dan Stillman
fadd486dc1 API change: item.attachmentCharset now returns charset name, not ID
Since apparently half of our own code didn't know that it returned an
ID...

The item.attachmentCharset setter can still take either name or ID.
2014-02-01 03:16:21 -05:00
Dan Stillman
07b8d56401 Fix (caught) error accessing this.decoder due to private method call
Follow-up to #440
2014-02-01 03:16:05 -05:00
Dan Stillman
7a9966bbe3 Fix indexing error adding items with repeated words
Probably words that didn't make it into the same in-memory insertion
batch, since the UNION would make those distinct.

Follow up to #440
2014-02-01 03:12:02 -05:00
Dan Stillman
d7ce74f1c5 Update version and maxVersion 2014-01-31 18:23:15 -05:00
Dan Stillman
2cd0d5988f Update submodules and repotime 2014-01-31 18:12:54 -05:00
Dan Stillman
f9f61fca86 More full-text indexing tweaks
Follow up from #440

- Convert curly single quotes to straight quotes before inserting
- Add General and Supplemental Unicode punctuation ranges to getClass()
  (so that fancy punctuation doesn't end up in words)
- Move single-quote test from getClass() to semanticSplitter(), and
  consider it a letter only if in the middle of a word
- Add comments to semanticSplitter()

This might be ever-so-slightly slower, but it's neglible. (War and Peace
seems to now take ~1570ms instead of ~1500ms for me.)
2014-01-31 17:43:29 -05:00
Dan Stillman
7036d07acc Remove unused _separateElements() 2014-01-31 17:43:29 -05:00
friflaj
c22ddd2ce6 Faster indexed word insert, faster word splitter
Uses SQL insert ... select to speed up the inserts, and ports the Firefox word splitter to JS
to prevent xpcom call overhead
2014-01-31 17:43:29 -05:00
Simon Kornblith
71a3751179 Merge pull request #433 from aurimasv/retrieve-meta
Retrieve Metadata query limit fixes
2014-01-31 00:16:09 -08:00
aurimasv
3c21e7c999 [Retrieve Metadata] Add/fix comments 2014-01-31 02:10:20 -06:00
Aurimas Vinckevicius
859e99f020 [Retrieve Metadata] Focus item in Zotero pane when double-clicking
* Fixes #446
2014-01-31 02:09:35 -06:00
aurimasv
57350fae1e [Retrieve Metadata] Use a single queue to query Google Scholar. Window closing tweaks.
* Close window on blur after completion on Mac (revert previous change)
* Don't close window when canceling
* Add Esc handler to cancel/close window
* Allow columns to be resized
* Fixes #445
* Fixes #444
2014-01-31 02:09:35 -06:00
aurimasv
4bedb61aa2 [Retrieve Metadata] Look for JSTOR stable URLs and convert to DOIs
Thanks to myqlarson for the suggestion. See https://forums.zotero.org/discussion/29354/1/query-limit-reached/#Item_42
2014-01-31 02:00:28 -06:00
aurimasv
b3da19e96d [Retrieve Metadata] Recognize HTTP 503 code as Google Scholar CAPTCHA + other tweaks.
* Stop metadata retrieval when cancelled
* Display CAPTCHA dialog
* Don't close window on blur
* Use Zotero.Utilities.cleanISBN to validate ISBNs
2014-01-31 02:00:28 -06:00
Dan Stillman
121b75ef6c Remove synced settings from deleted libraries in integrity check 2014-01-24 19:06:33 -05:00
Dan Stillman
1f3cd9a1ae Don't wipe out fields from fieldsCombined during DB integrity check 2014-01-24 19:05:59 -05:00
Dan Stillman
4034fbbbd5 More full-text indexing tweaks
Follow up from #440

- Convert curly single quotes to straight quotes before inserting
- Add General and Supplemental Unicode punctuation ranges to getClass()
  (so that fancy punctuation doesn't end up in words)
- Move single-quote test from getClass() to semanticSplitter(), and
  consider it a letter only if in the middle of a word
- Add comments to semanticSplitter()

This might be ever-so-slightly slower, but it's neglible. (War and Peace
seems to now take ~1570ms instead of ~1500ms for me.)
2014-01-23 18:08:38 -05:00
Dan Stillman
489d082575 Remove unused _separateElements() 2014-01-23 15:50:08 -05:00
friflaj
7395dc8275 Faster indexed word insert, faster word splitter
Uses SQL insert ... select to speed up the inserts, and ports the Firefox word splitter to JS
to prevent xpcom call overhead
2014-01-22 23:02:43 +01:00
Dan Stillman
c1c2f6b9de Merge pull request #402 from adam3smith/transform-sentence
Change Transform text so that sentence case capitalizes after :, ?, ! Th...
2014-01-14 11:22:21 -08:00
adam3smith
953c94c7fe Change Transform text so that sentence case capitalizes after :, ?, ! This is in line with English usage and this function is principally useful for English titles.
also deal with punctuation at the beginning of title

Also fix capitalizeTitle to work with quotation marks and Spanish beginning punctuation. Also adds ? and ! as punctuation after which it always capitalizes

switch sentence case conversion to a regex; I'm leaving capitalizeTitle as the substring routine, it's the same length and probably slightly more efficient.
2014-01-14 08:18:06 -07:00
aurimasv
a334e1f462 Use documentURI/URL instead of location.href.
document.location is null after the document is detached from its parent window (e.g. after we navigate to a different page in the same hidden browser)
2014-01-07 22:02:15 -06:00
adam3smith
49ecb8ecac slightly adjust regex 2014-01-05 10:53:30 -07:00
adam3smith
875567dbc9 fix PMCID parsing 2014-01-04 08:00:32 -07:00
Dan Stillman
d50765536c Update version 2013-12-17 23:39:47 -05:00
Dan Stillman
c9dbd34e01 Fix issue with old-style persisted 'collapsed' attribute on tag selector
If localstore.rdf has the tag selector persisted closed from before
zotero-persist, the 'state' attribute on the splitter that we now use
won't cause the tag selector to open.
2013-12-17 19:15:22 -05:00
Simon Kornblith
b5760d7f45 Don't try to detect a proxy on documents with no docShell/webNav
This would previously have thrown an error. I'm not sure what these
documents would be, but it's a safe bet that they're not loaded in a
normal browser window.
2013-12-16 22:00:17 -05:00
Simon Kornblith
b841ccf7b3 Fix typo 2013-12-16 21:51:35 -05:00
Simon Kornblith
b7f6f97ced Fix broken startup on Windows Aurora/Nightly
We were telling ourselves to release the DB lock because of the
discrepancy between Zotero.appName and the message window name
2013-12-16 20:32:50 -05:00
Simon Kornblith
83bc0628db Fix Zotero.Integration.activate() with no args in Mac Aurora/Nightly
This is only used when there is a window open in the background anyway
2013-12-16 20:27:52 -05:00
Dan Stillman
d182665173 Allow left pane collapsed state to persist
Also fix weirdness trying to open collapsed tag selector after restart.
(The splitter's 'state' attribute has to be persisted, not the
'collapsed' state of the pane in question.)
2013-12-16 19:17:25 -05:00
Simon Kornblith
d8ce6ce6f3 Fix an old typo 2013-12-16 10:29:58 -05:00
Simon Kornblith
6fa04103c2 Fix a bug where the Zotero pane would not close when opening Standalone
If Zotero Standalone was opened before Firefox, closed, and opened
again, the user would see a message stating Zotero Standalone was open,
but the pane would not have closed. This was purely cosmetic.
2013-12-14 02:07:36 -05:00
Simon Kornblith
8502b68730 Broadcast persistent descriptor is for database, not data directory 2013-12-13 18:36:21 -05:00
Dan Stillman
b82728aeea Update submodules, versions, and repotime 2013-12-13 18:23:04 -05:00
Simon Kornblith
0aa50eaff5 Update citeproc-js to 1.0.517 2013-12-13 17:29:57 -05:00
Simon Kornblith
d84bffb1c2 Fixes that should hopefully protect against database corruption
- When opening the DB, always tell other Zotero instances to close it,
  regardless of whether they are holding the lock.
- Don't let database re-open after it has been closed. This also fixes
  some issues with connector switching.
2013-12-13 17:25:50 -05:00
Dan Stillman
ea50098d30 Debugging for not saving into collection 2013-12-10 22:21:34 -05:00
Dan Stillman
683af21691 Fix file sync errors with passwords containing % + two hex digits
Usernames and passwords going into nsIURI have to be percent-encoded.
2013-12-04 02:17:11 -05:00
Dan Stillman
5f1e582b05 Include timings in -zoterodebug output 2013-11-30 03:16:56 -05:00
Dan Stillman
6ff0ea6d18 Add -zoterodebug command-line flag to force debug output
This should make it much easier to debug startup errors, particularly in
Standalone.

This also adds a general mechanism to set Zotero initialization options via
command-line flags.
2013-11-30 01:55:48 -05:00
Dan Stillman
5d32fb90ea Merge branch '4.0'
Conflicts:
	chrome/content/zotero/fileInterface.js
	chrome/content/zotero/overlay.js
	chrome/content/zotero/xpcom/schema.js
	chrome/content/zotero/xpcom/zotero.js
	chrome/content/zotero/zoteroPane.js
	install.rdf
	update.rdf
2013-11-24 16:08:46 -05:00
Aurimas Vinckevicius
04335ef418 Properly revert attachment renames if they fail. Closes #430 2013-11-23 23:36:49 -06:00
Aurimas Vinckevicius
59ef7cba04 When renaming attachment files, keep file extension if not provided 2013-11-23 23:36:49 -06:00
Dan Stillman
64fb9efa76 Fix newlines not showing up in Abstract/Extra fields 2013-11-23 03:24:57 -05:00
Dan Stillman
305edd893c Revert relations purge debugging 2013-11-21 20:41:22 -05:00
Dan Stillman
1e0674cf7c Fix some bugs adding items to various views
- Refresh Unfiled Items view when items are added
- Fix brief freeze ("too much recursion") adding an item to a search
  where the new item doesn't appear. Now, select the library root
  instead if a manually added item doesn't appear in the current view.
- Fix immediate closing of title field when adding an item to a
  collection rather than the library root
2013-11-21 19:52:13 -05:00
Dan Stillman
5d85bffc9c Add back pane close icon with Australis 2013-11-21 02:15:39 -05:00
Dan Stillman
860ebdb3fd Make Esc (or clicking X on Windows) cancel Rebuild/Clear Index
Previously the secondary actions were being triggered, with no way to
fix that due to https://bugzilla.mozilla.org/show_bug.cgi?id=345067
2013-11-19 15:53:19 -05:00
Dan Stillman
a75192d744 Add ellipses to Rebuild/Clear Index buttons in prefs
And add punctuation.ellipsis localized string
2013-11-19 15:52:30 -05:00
Simon Kornblith
481e00bfc8 Update citeproc-js 2013-11-19 02:13:54 -05:00
Dan Stillman
322755e745 Update repotime, submodules, and versions 2013-11-19 01:39:52 -05:00
Dan Stillman
7014b875c7 Protect all contractions in full-text content, not just first
nsISemanticUnitScanner doesn't seem to be able to deal with single
quotes, so protect those. (There might be other characters it doesn't
handle, but this is ancient code, so it stays as is for now.)
2013-11-19 01:37:55 -05:00
Dan Stillman
e2e6dc71e2 Don't try to index files longer than 250K chars in the background
This should fix the intermittent freezes people were seeing. We'll
process these large files when we replace nsISemanticUnitScanner.
2013-11-19 01:35:14 -05:00
Dan Stillman
5744161a52 Add osfile.jsm import, and remove debugging lines 2013-11-18 19:56:08 -05:00
Dan Stillman
98b7ab78d5 Additional debugging for putContentsAsync freeze 2013-11-17 23:34:19 -05:00
Dan Stillman
f2034eec29 Use OS.File.writeAtomic() for Zotero.File.putContentsAsync() if UTF-8
It might be possible to write non-UTF-8 data by passing another charset
to TextEncoder, but I haven't tried it.

Firefox 19+ only, and for now, at least, only if data is passed as
string rather than input stream
2013-11-17 19:08:09 -05:00
Dan Stillman
deffa464e3 Don't try more than 5 times to fill 500K limit
This will hopefully fix freezes during full-text syncs.
2013-11-17 14:04:26 -05:00
Dan Stillman
cb41a2ecd6 Don't use single DB transaction when rebuilding full-text index
This might slow down the rebuild, but it will hopefully also prevent
excessive memory usage and crashing.
2013-11-16 15:54:31 -05:00
Dan Stillman
fb03c87305 Disable full-text purging, for now
This isn't technically any slower than before, but if people were using
multiple computers, they might not have had their entire full-text index
on a single computer before full-text syncing.
2013-11-16 15:45:23 -05:00
Dan Stillman
4aa3e77aeb Yet more relations purging error debugging 2013-11-14 02:31:30 -05:00
Dan Stillman
a688d9ab00 Debugging for relations purging error that won't get cut off 2013-11-13 16:49:32 -05:00
Dan Stillman
8490871108 Blacklist Firefox charset warning 2013-11-13 12:57:49 -05:00
Dan Stillman
6a0c623698 Debugging and temporary fix for relations purging issue 2013-11-13 12:08:44 -05:00
Dan Stillman
f4abe14b59 Merge branch 'db-update' into 4.0 2013-11-13 00:32:48 -05:00
Dan Stillman
8e52dcca42 Tweak the text a bit in #410 2013-11-13 00:31:45 -05:00
Dan Stillman
0d7e14bb6b Update versions, submodules, and repotime 2013-11-12 00:33:19 -05:00
Dan Stillman
86afad9b35 Fix "columns itemID, tagID are not unique" sync error
I'm not sure what's causing this, but it will quite likely go away in
4.1 regardless.
2013-11-11 23:03:06 -05:00
aurimasv
e21fa7290d Move import.charset preference element to the correct prefpane 2013-11-11 04:37:46 -06:00
Dan Stillman
6d73bd3256 Merge pull request #412 from aurimasv/webdav-sec
Check network errors against SEC error set as well
2013-11-08 00:38:31 -08:00
aurimasv
d9ab469bc8 Check network errors against SEC error set as well 2013-11-08 02:33:20 -06:00
Dan Stillman
f7fe9ab64b Better fix for merging items in unsynced libraries
Addresses a79872436
2013-11-08 03:09:34 -05:00
Dan Stillman
a798724366 Fix error merging items with relations in unsynced library 2013-11-08 03:08:03 -05:00
Dan Stillman
76da3e67fb Tweak the tree row height a bit on Windows 2013-11-08 02:57:09 -05:00
Dan Stillman
5079158772 Remove unnecessary 'return;' 2013-11-08 02:14:52 -05:00
aurimasv
e9f011ab57 Do not show SSL error message for other network errors 2013-11-07 23:48:55 -06:00
aurimasv
8c3cf11df1 Open update wizard in Standalone 2013-11-07 20:56:40 -06:00
aurimasv
8994961c85 Add "Check for Update" button to error alert when DB version is newer 2013-11-07 20:56:40 -06:00
Dan Stillman
331ef4ac34 Apply Fx25 tree-row fix to Windows only, and fix spacing there too
"height: auto" (from another extension's fix for this) actually caused
the bottoms of tree rows to be cut off on Windows (and at least on one
Linux installation with Chinese characters).
2013-11-07 03:23:55 -05:00
Simon Kornblith
77669b5c17 Update to citeproc-js 1.0.502 2013-11-06 12:10:29 -05:00
Dan Stillman
31c36c528c Don't send full-text content in read-only libraries 2013-11-06 11:32:23 -05:00
Dan Stillman
3c16eb2fb3 Update versions 2013-11-06 11:23:03 -05:00
Dan Stillman
92ef3d6c81 Fix error dragging items from My Library to group library 2013-11-06 11:16:58 -05:00
Simon Kornblith
48a852fb32 Bind fulltext shutdown listener to this 2013-11-05 23:22:28 -05:00
Dan Stillman
342e631beb Don't reindex downloaded full-text content if already up to date 2013-11-05 17:20:29 -05:00
Dan Stillman
21546cab88 Update versions, repotime, and submodules 2013-11-05 16:44:50 -05:00
Dan Stillman
9161237e90 Merge branch '4.0_fulltext_sync' into 4.0 2013-11-05 16:21:11 -05:00
Dan Stillman
a47bd95903 Localize full-text sync strings 2013-11-05 16:16:31 -05:00
Simon Kornblith
0b92ad0037 Modify behavior on Zotero Standalone launch to account for failure
- Close Zotero pane before database is closed prior to reload, instead
  of waiting until reload is complete
- Show an error message if Zotero Standalone is not accessible when it
  should be
2013-11-05 15:52:40 -05:00
Simon Kornblith
dd8c0ecf37 Make sure we broadcast lockReleased on shutdown
Previously a startup error could result in the database being opened
and closed with no lockReleased message
2013-11-05 15:20:48 -05:00
Dan Stillman
d1ef5431ac Back up database before disabling downgrade 2013-11-05 14:34:36 -05:00
Dan Stillman
0ac20d64a0 Cache Zotero.userID and Zotero.libraryID 2013-11-05 13:36:56 -05:00
Dan Stillman
91940e11ad "other computers" => "other linked devices" 2013-11-05 12:43:05 -05:00
Dan Stillman
95a880991d Blacklist some more messages from error reports 2013-11-05 12:41:37 -05:00
Dan Stillman
a3a7a1d0cf Add pref to disable full-text syncing, and prompt existing users on sync
FT sync is enabled by default for new users and configurable in the Sync
prefs.

Also disable downgrades once full-text sync is enabled, since otherwise
someone switching back and forth between old and new versions could miss
full-text content updates.
2013-11-05 05:04:51 -05:00
Simon Kornblith
d927d4148d Don't delete collection on partial import 2013-11-04 23:23:47 -05:00
Simon Kornblith
4ee5ab3453 Remove Zotero.wait() from Zotero.Collection.addItems
Since this is inside a transaction, it could potentially cause more
state check errors
2013-11-04 23:23:47 -05:00
Simon Kornblith
d842779cae Close transaction before updating progress indicator
Should fix #230
2013-11-04 23:23:47 -05:00