Commit graph

6743 commits

Author SHA1 Message Date
Dan Stillman
9b247ebba7 Fix error trying to generate report for many items
When adding many search conditions (e.g., when matching many items with the
`key` condition), the query can fail due to either the bound parameter limit or
the expression tree size limit.

To avoid this, add support for an 'inlineFilter' property on search conditions
when using the 'is' or 'isNot' operator. 'inlineFilter' is a function that
returns a quoted value suitable for direct embedding in the SQL statement, or
false if not valid. Multiple consecutive conditions for the same 'inlineFilter'
field are combined into an `IN (x, y, z)` condition.
2017-01-21 03:38:36 -05:00
Dan Stillman
dcd1da70af Merge new English strings 2017-01-19 17:21:58 -05:00
Dan Stillman
cc516005c0 "Import"/"Import from Clipboard" shortcut key changes
- Add Cmd/Ctrl-Shift-I for "Import…"
- Cmd/Ctrl-Shift-V apparently pastes without formatting, so don't override it.
  Instead, add a shortcut key to the menu option, defaulting to
  Cmd-Option-Shift-I/Ctrl-Alt-Shift-I
- The I in both is now localizable
2017-01-19 15:28:27 -05:00
Dan Stillman
362e18c747 Fix attachment content search
And always convert ids from GROUP_CONCAT() to integers in search code.
2017-01-19 13:32:29 -05:00
Dan Stillman
c95e42240f Fix #1157, Note content lost when typing during sync
Someday, I will say this is fixed and it actually will be fixed.
2017-01-19 12:27:18 -05:00
Dan Stillman
e0d92ecd94 Update submodules 2017-01-19 05:48:46 -05:00
Dan Stillman
318f6656f4 Skip a case of item selection during syncing 2017-01-19 03:47:56 -05:00
Dan Stillman
57b44287f8 Don't allow deleting libraries other than feeds with Cmd/Ctrl-Delete 2017-01-17 21:48:56 -05:00
Dan Stillman
b62139ed0a Fix a couple issues with bundled file timestamps 2017-01-17 21:48:56 -05:00
Dan Stillman
2237c71dcb Fix test for invalid id passed to DataObjects.getAsync() 2017-01-17 04:18:39 -05:00
Dan Stillman
33deefbf74 Limit depth to 1 when outputting data objects
This prevents descending into the global object cache that's accessible
from every data object.
2017-01-17 02:58:47 -05:00
Dan Stillman
1cf2585b41 Add Zotero.isClient
To replace Zotero.isStandalone
2017-01-17 02:58:22 -05:00
Dan Stillman
786f5efa30 Add maxDepth as the third argument to Zotero.debug()
varDump(), which is used by Zotero.debug(), defaults to 5
2017-01-17 02:31:10 -05:00
Dan Stillman
a017fe6666 Fix Zotero.Date methods within translator sandbox
Only a few methods are imported, so some of the changes in 7bdcc17ed
have to be reverted.
2017-01-17 02:23:15 -05:00
Dan Stillman
b00d1366b0 Fix more info link in update prompt 2017-01-17 01:35:03 -05:00
Dan Stillman
aa783878de Fix error refreshing document with item replaced by merge 2017-01-15 16:47:01 -05:00
Dan Stillman
3d83f5ff70 Update locales from Transifex 2017-01-15 15:45:47 -05:00
Dan Stillman
e5ba7612bc About pane updates
- Make version copyable
- Include "What's new" link to changelog
- Update some links and descriptions

To-do:

- Replace dev credits with a nice statement like in the Firefox About pane
2017-01-15 15:29:02 -05:00
Dan Stillman
23f84d796f Fix CSL Preview pane
CSL Editor is being fixed in #1149
2017-01-15 02:46:03 -05:00
Dan Stillman
008bcff8a0 Fix debug output logging (broken by f44264cd4) 2017-01-14 18:39:04 -05:00
Dan Stillman
3d569f1173 Compatibility fixes for Bluebird >=3.4.2
Before 3.4.2, `yield` in a Bluebird `coroutine()` released Zalgo if an
already-resolved promise (e.g., from `Promise.resolve()`) was yielded,
continuing immediately instead of on the next turn of the event loop. We
apparently relied on that broken behavior in a few places, particularly from
`Zotero.DB.waitForTransaction()`. All the transaction-queueing stuff probably
needs to be reevaluated in general, but for now, mirror the previous possibly
ill-advised behavior by checking explicitly for a transaction before yielding
on `waitForTransaction()` (as well as the result of a 'load' event from
`libraryTreeView`).
2017-01-14 18:01:51 -05:00
Dan Stillman
7e30afb2a5 Use coroutine() for Zotero.Schema::_updateSchema() 2017-01-14 17:20:48 -05:00
Dan Stillman
56d9372146 Throw clearer error if invalid type is passed to File.getContentsAsync() 2017-01-14 17:20:48 -05:00
Dan Stillman
f2440eb826 Fix passing file: URI to Zotero.File.getContentsAsync() 2017-01-14 17:20:39 -05:00
Dan Stillman
f44264cd4d Add HTML-based console viewer for easier real-time debug output
Since 1) debug output logging via the prefs isn't necessarily possible
for startup errors in Standalone, 2) real-time output is prohibitively
slow and has a miniscule scrollback buffer on Windows unless you use a
Cygwin or Git terminal, and 3) copying/pasting/emailing was annoying
anyway, make -ZoteroDebug open a popup window that shows errors and
debug output and allows submitting straight to the server with a Debug
ID.

This should replace the existing debug output viewer as well, but that's
less of a priority.

-ZoteroDebugText or the debug.log pref can still be used to dump to the
terminal.
2017-01-14 17:20:12 -05:00
Dan Stillman
12de04607b Don't connect to streaming server until UI is ready 2017-01-13 02:47:47 -05:00
Dan Stillman
bc034089a6 Fix startup error loading Zotero service
https://forums.zotero.org/discussion/63869/5-0-beta-standalone-blank-ui-upon-restart
https://forums.zotero.org/discussion/63865/5-0-beta-library-wont-load

Adding include.js to hiddenWindow.xul in 66549f9e6d seems to have
created a race condition in which the Zotero service would fail on the
third startup after the JS cache was cleared (e.g., on a new version,
-purgecaches, or other changes in the profile). So, don't do that.

Hopefully this isn't caused by other uses (e.g., in plugins) of
include.js and was only happening because the hidden window is launched
concurrently with standalone.xul on macOS.
2017-01-13 02:47:42 -05:00
Dan Stillman
2011a61223 Don't focus note editor when pressing Shift-Tab on note in middle pane
Reverts redundant code from 7e39e4608 (#1136) and fixes the much earlier
9d7cc849 (#151)
2017-01-12 02:41:21 -05:00
Dan Stillman
740795f249 Expand draggable area of splitters on macOS while preserving 1px width
(Borrowing a technique from Thunderbird.)

This only affects the splitters in standard view. The splitter between the top
and bottom panes in stacked view still has a 1px draggable area.

We can probably do a similar thing to slim down splitters on Windows, as
planned in #367.
2017-01-12 02:22:33 -05:00
Dan Stillman
66549f9e6d Fix opening preferences (broken in cbcfb6b92) 2017-01-11 06:24:17 -05:00
Dan Stillman
cf2318ec5a Move feeds below groups 2017-01-10 23:53:04 -05:00
Dan Stillman
cbcfb6b92e Fix missing Options menu on Windows/Linux 2017-01-10 21:44:03 -05:00
Dan Stillman
c631bc4257 Default to creatorType: "author" if missing
Apparently in 4.0 we defaulted to 'author' if a creatorType wasn't
passed. To avoid lots of errors like the one fixed in
dd0094893a,
add a similar fallback for 5.0 and log a warning (though not with the
translator name, unfortunately).
2017-01-10 18:04:54 -05:00
Dan Stillman
fb7592bb53 Update locales from Transifex 2017-01-09 04:53:15 -05:00
Dan Stillman
ef1ff8bc42 Fix #64, Non-English month parsing doesn't work in Standalone
Month values from the Firefox language packs are included in a
JSON file used by `Zotero.Date.getMonths()`. `getMonths(true)` includes
English months as well.

The JSON file should be bundled with the connectors as well, and
Zotero.Date.init() should be updated to populate the month data from
that.
2017-01-09 04:47:23 -05:00
Dan Stillman
7bdcc17ed0 Convert some private Zotero.Date methods to privileged 2017-01-09 04:20:10 -05:00
Dan Stillman
9fbdc77cac Update Edit menu strings in non-English locales
Remove localizations in standalone.dtd and replace with editMenuOverlay.dtd
files from the Mozilla language packs

Also remove some other unused strings
2017-01-09 03:08:38 -05:00
Dan Stillman
5dbe677f25 Fix localization of Edit menu 2017-01-09 03:08:37 -05:00
Adomas Venčkauskas
74d358bd19 Remove tmp-* directories when attachment download fails. Closes #1128 2017-01-09 00:10:55 -05:00
Dan Stillman
43dad62150 Only set browser.dom.window.dump.enabled in client 2017-01-07 17:42:19 -05:00
Tom Najdek
abd3054308 Fix non-standard syntax 2017-01-07 13:51:45 -05:00
Dan Stillman
1b3dfe1aea Update submodules 2017-01-06 03:44:40 -05:00
Dan Stillman
eba72399c1 Update locales from Transifex 2017-01-06 03:42:20 -05:00
Adomas Venčkauskas
2682d01016 Remove use of deprecated Date.toLocaleFormat 2017-01-06 09:58:30 +02:00
fbennett
4d8d4bcdbc Preserve formatting on Hide/Show editor 2017-01-04 23:39:35 -05:00
fbennett
2538e258b6 Accept variations in spacing, and single-quoted XML serialization 2017-01-04 23:39:35 -05:00
fbennett
2a2e5e4e39 Preserve format tags and entities in bibliography editor
- Fixes errors in previous commits 55bfe54a and 9431e0de, to wit ...
- Apply unescapeHTML after RTF tag and entity conversions
- Remove high-bit character escape from entity converter,
  and apply separately after remaining HTML entities are
  decoded by unescapeHTML
2017-01-04 23:39:35 -05:00
Dan Stillman
53d2aa43d6 Allow showing the Tools -> Error Console menu option via a pref
If devtools.errorconsole.enabled is true, the option will be shown.
2017-01-04 19:14:07 -05:00
Dan Stillman
56b6a0d021 Set browser.dom.window.dump.enabled to true if debug output enabled
dump() works regardless within XPCOM (which is how Zotero.debug()
works), but not on window objects without this pref
2017-01-04 17:28:46 -05:00
Dan Stillman
612066d749 Allow setting global prefs from Zotero.Prefs.set()
Pass true as third argument
2017-01-04 17:28:18 -05:00