Commit graph

6239 commits

Author SHA1 Message Date
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
Dan Stillman
375b4341a6 Remove debug lines 2017-07-11 04:29:36 -04:00
Dan Stillman
701a46ba84 Batch object deletions during syncing 2017-07-11 04:28:40 -04:00
Dan Stillman
fd7c2a6f6f Try harder to prevent sync-in-progress messages 2017-07-11 02:42:00 -04:00
Dan Stillman
c701f34aaa Fix array length check in Item.setType() 2017-07-11 02:41:41 -04:00
Dan Stillman
e683b2be07 Fix a potential sync error with child attachments
If a standalone attachment existed in a collection and then was added to
a parent (e.g., via Create Parent Item), and attachment metadata was
also changed at the same time (e.g., due to file syncing), the
'collection item must be top level' trigger could throw on another
syncing computer. To work around this, remove collections first, then
make changes to the parentItemID columns, and then add new collections.
2017-07-11 02:35:11 -04:00
Dan Stillman
3272387afe Increase snapshot save timeout to 30 seconds
We should maybe have a shorter timeout in the connector to show an error
and avoid showing the save-to-server dialog, but let's err on the side
of not cancelling saves.
2017-07-09 23:31:25 -04:00
Dan Stillman
32dedc6fb4 Cancel snapshot saves after 15 seconds
Otherwise a save could go on forever and the connector will never show
an error, and if you quit Zotero the connector will show the
save-to-server dialog (though the connector should have its own
timeout).
2017-07-09 23:17:30 -04:00
Dan Stillman
e551777989 Vacuum database automatically on successful integrity check
Firefox does this for Places, so we might as well too.
2017-07-09 18:17:15 -04:00
Dan Stillman
55b2dc39bf Fix Firefox 55 breakage (and remove unnecessary locale lookups)
We were manually looking up the current locale in various places and
passing it to nsIStringBundleService::createBundle(), but that hasn't
even been a supported argument for years. (I assume it was a long time
ago?)
2017-07-09 06:59:50 -04:00
Dan Stillman
59edca783e Allow dragging onto welcome text 2017-07-09 05:49:02 -04:00
Dan Stillman
a7e2e73e51 Update About dialog
- Replace Developers section with text that links to RRCHNM, the credits
page, and Get Involved.
- Remove dedicated zotero.org link
- Only show link underlines on hover
2017-07-08 19:11:45 -04:00
Dan Stillman
2ba773d612 Additional checks for stopped sync 2017-07-07 19:05:22 -04:00
Dan Stillman
de3b47fd78 Add "Delete Automatic Tags in This Library…" option to tag selector menu
I think it might be worth having a tag management window that lets you
view tags as a grid, sort by column (e.g., type), select ranges, delete,
consolidate, etc., but until then, this fulfills a popular request.
2017-07-07 18:19:12 -04:00
Dan Stillman
941ae5499c Use spread operator in flattenArguments 2017-07-07 18:19:12 -04:00
Dan Stillman
f2af77498b Allow single string in Zotero.Utilities.pluralize()
Zotero.Utilities.pluralize(5, 'tag') will produce 'tags' automatically
2017-07-07 18:19:12 -04:00
Dan Stillman
e2d7c7e999 Fix full-text sync tests after 1da18e4ca7 2017-07-07 06:23:27 -04:00
Dan Stillman
3b2d7eb970 Log errors from Zotero.serial()
And output errors in concurrentCaller if not otherwise logged
2017-07-07 05:31:37 -04:00
Dan Stillman
71fb054efe Update deprecated openPreferences() call 2017-07-07 05:31:37 -04:00
Dan Stillman
1da18e4ca7 Add "Stop Sync" button
Stops all syncing (not just file syncing like in 4.0) as soon as
possible.
2017-07-07 05:28:20 -04:00
Dan Stillman
b07fdc6335 Add intro text to middle pane when My Library is empty
This replaces the Quick Start Guide item in earlier versions.

Also increases size of My Publications intro text when the window is
wider.
2017-07-07 03:41:50 -04:00
Adomas Venčkauskas
1ddb38036e Moving Utilities.itemToServerJSON() to the connector codebase
See Zotero.Item.toJSON() for similar functionality
2017-07-06 13:38:00 +03:00
Dan Stillman
f7c1c56d7d Use 'async' configOptions property to indicate promisified translators
Instead of >"2017-07-05"

Addresses https://github.com/zotero/translators/issues/1353
2017-07-05 15:29:13 -04:00
Dan Stillman
5ff5ea88fb Fix error in export options window if translator has no options 2017-07-05 15:25:41 -04:00
Dan Stillman
53c3f62f1e Fix overlapping lines in attachment box with empty title 2017-07-05 11:33:24 -04:00
Dan Stillman
198bd70b59 Make 909b4b31c8 apply to search translators too, and fix tests
Addresses https://github.com/zotero/translators/issues/1353
2017-07-05 09:15:12 -04:00
Dan Stillman
909b4b31c8 Assume import translators updated after today are async
See https://github.com/zotero/translators/issues/1353 for details.

minVersion is problematic for various reasons, so this is safer.
2017-07-05 08:54:27 -04:00
Dan Stillman
d73fc63273 Do a manual check from the repo when enabling auto translator/style updates 2017-07-05 05:45:30 -04:00
Dan Stillman
d40822c540 Fix streaming server connection when auto-sync is on with no credentials 2017-07-05 05:45:00 -04:00
Dan Stillman
86cf7cbd07 Update translators/styles at startup and on push notifications
Previously, if a translator or style was fixed, people didn't get the
fix until their client checked the repository for updates, which could
take up to 24 hours. Now, in addition to checking once a day, we check
every time Zotero is started and also when we receive a notification
from the streaming server, which happens immediately after a translators
or style is updated on GitHub. To avoid DDoSing ourselves, the
notification includes a random delay (within a given period) before the
update is triggered by the client.

The streaming server connection is now made when either "Automatically
check for updated translators and styles" or "Sync automatically" is
enabled. It can be disabled via the extensions.zotero.streaming.enabled
pref.
2017-07-04 18:46:30 -04:00
Dan Stillman
c867b3bb85 Fix WebSocket reconnect delay
Only reset delay generator after regular message, not on connect,
because a subscription failure happens after a connect. Also cancel
reconnect if auto-sync is disabled during the failure delay.
2017-07-02 01:44:22 -04:00
Dan Stillman
2efd7121b8 Only skip retry for WebSocket errors between 4400 and 4499 2017-07-02 01:32:47 -04:00
Dan Stillman
dc89cfb3ba Clean up Sync -> Reset pane
- Hide radio buttons for now, since there's only one option in each
section
- Tweak text for file sync history reset
2017-07-01 06:58:56 -04:00
Dan Stillman
88088c68db Add Sync.Storage.Local.updateSyncStates()
This speeds up updating of sync states, particularly after resetting
file sync history.
2017-07-01 06:31:46 -04:00
Dan Stillman
b72f1c2a08 Don't calculate total file size for every uploaded attachment
This required checking the file size of every file (including auxiliary
snapshot files) in every attachment to be uploaded, and it was an
estimate anyway, because snapshots are compressed, so we kept track of
the compression ratio, but there was no particular reason to think later
files would have the same ratio... In any case, we're not currently
displaying file sync progress in 5.0 anyway, and while we should, we can
probably just show a count of attachments remaining.
2017-07-01 06:31:46 -04:00
Dan Stillman
9a3ff2d244 Add .contentType and .charset options for importFromFile()
And use them in new importTextAttachment() and importHTMLAttachment()
test support functions. These can be used to avoid needing a hidden
browser for determining the character set of the imported text
documents.
2017-07-01 06:31:46 -04:00
Dan Stillman
b633038bf9 Close directory iterator in Attachments.hasMultipleFiles()
This was leaving a file descriptor to the directory open during file
syncing.
2017-06-30 18:08:46 -04:00
Dan Stillman
22eab3e09d Don't leave file descriptor open in md5Async()
This could cause "Too many open files" errors during file syncing
2017-06-30 17:54:33 -04:00
Dan Stillman
536d7254fb Detect full disk during data migration on Windows (hopefully) 2017-06-30 16:59:33 -04:00
Dan Stillman
010bf3b8f9 Fix "not a directory" file sync error 2017-06-30 16:59:17 -04:00
Dan Stillman
aca774e132 Move connector install option to Tools menu
And rename from "Install Browser Connectors…" to "Install Browser Connector"
2017-06-29 04:08:32 -04:00
Dan Stillman
f6ac1732f2 "Install Browser Extensions" -> "Install Browser Connectors"
And change link from /extensions to /download/connectors
2017-06-27 16:26:13 -04:00
Dan Stillman
9b54ca9ca7 Show error and doc prefs if style can't be found or retrieved
Previously a 404 downloading the file would prevent opening the doc
prefs window.
2017-06-27 01:09:01 -04:00
Dan Stillman
a15261b3b3 Don't enforce Host header in translation server
Fixes #1251
Fixes zotero/translation-server#48
2017-06-26 19:04:24 -04:00
Dan Stillman
1d564970dc Add "Install Browser Extensions…" menu option 2017-06-26 18:49:31 -04:00
Dan Stillman
9372979fb5 Allow Zotero.Server requests with Host: localhost
Previously only Host: 127.0.0.1 was allowed. (The check prevents a DNS
rebinding attack.)

This allows requests to translation-server using localhost
(zotero/translation-server#48).

Fixes #125
2017-06-26 07:52:23 -04:00
Dan Stillman
df2216960b Fix permissions errors in child translators in translation-server 2017-06-26 07:21:18 -04:00
Adomas Venčkauskas
2414ec6472 Fix a debug log line 2017-06-26 09:49:41 +03:00
Dan Stillman
56f9f04340 Partial fix for CSL JSON export in translation-server
Zotero.Item doesn't exist in translation-server

Addresses zotero/translation-server#12
2017-06-25 04:38:50 -04:00
Dan Stillman
145a45e8e1 Support false as deprecated translate() argument 2017-06-24 19:24:29 -04:00
Dan Stillman
8f63a5e20d Check for Zotero.Prefs.getAsync() explicitly, not with isConnector
translation-server doesn't have Zotero.Prefs.getAsync() and isn't a
connector
2017-06-24 19:23:02 -04:00
Dan Stillman
2ab46d3697 Update citeproc-js to 1.1.171 2017-06-24 01:24:11 -04:00
Dan Stillman
d8f8d8a3f8 Fix infinite loop restoring from trash if item has itself as relation 2017-06-24 01:23:39 -04:00
Dan Stillman
e89778c1ab Remove some code that's unnecessary now that we're Fx52+ everywhere 2017-06-23 05:03:11 -04:00
Dan Stillman
f2cc2204c9 Fix for some child items not showing up
https://forums.zotero.org/discussion/66140/5-0-beta-missing-item-attachments
2017-06-21 06:50:35 -04:00
Dan Stillman
abf08deb9d Update broken string in ancient-database dialog 2017-06-20 22:54:05 -04:00
Dan Stillman
3259b63081 Fix error from f3b461ae1d when no duplicate items found 2017-06-20 05:58:12 -04:00
Dan Stillman
041f79379c Fix getAsync() integer warning when highlighting item collections 2017-06-20 05:48:38 -04:00
Dan Stillman
f3b461ae1d Don't use DB transaction when loading Duplicates Items
This should help avoid some timeouts when clicking into that view.
2017-06-20 05:48:38 -04:00
Dan Stillman
a2d874c8bc Don't schedule feed checks during tests
Tests create lots of fake feeds with invalid URLs, so auto-updating
would otherwise hang and block the explicit feed updates done by other
tests.
2017-06-20 05:48:38 -04:00
Adomas Venčkauskas
dcfddac519 Refactor Connector.callMethod calls to use the promisified form 2017-06-19 14:58:59 +03:00
Dan Stillman
7c020da594 Don't run feeds update until after schema update promise
And tweak feed scheduling in general
2017-06-19 01:25:03 -04:00
Dan Stillman
1372949523 Don't initialize DB backup idle observer until after schema init 2017-06-19 00:49:34 -04:00
Dan Stillman
b590c43edb Disable reset translators/styles buttons while in progress
We should have a better progress notification, but this is better than
nothing.
2017-06-19 00:43:24 -04:00
Dan Stillman
444d77958d Retry objects from sync queue on first sync of session and manual sync
Previously they were retried only on a backoff schedule and after a
client upgrade, but that would make it difficult to report errors
(because you'd see the error but it would then go away if you clicked
Sync again).
2017-06-18 15:37:26 -04:00
Dan Stillman
15a0f3bbe3 Add getKeys() method to API Client 2017-06-18 09:11:21 -04:00
Dan Stillman
47741e75fa Restore locally deleted collections and searches that changed remotely
Also restore items that were in the collections
2017-06-18 09:11:21 -04:00
Dan Stillman
6144c8f969 On missing data dir, remove "Restart Later" for "Use Default" option 2017-06-17 22:30:09 -04:00
Dan Stillman
13283b008d Missing data directory tweaks
- Fix "Locate" button
- Don't offer "Restart Later" option after selecting new location
- Show "Quit" instead of "OK"
2017-06-17 22:14:02 -04:00
Dan Stillman
859c506913 Never auto-select new groups, since they always come from syncs
Fixes test failure from 2e74cd7831
2017-06-16 05:59:44 -04:00
Dan Stillman
2e74cd7831 Don't select new feeds or groups during sync 2017-06-16 05:40:04 -04:00
Dan Stillman
c6cb46907e Disable full-text content processor during sync and on pref off
Turning off full-text content syncing now stops the background processor
2017-06-16 04:49:57 -04:00
Dan Stillman
2f93065986 Fix skipClientDateModifiedUpdate DataObject save option 2017-06-16 01:56:43 -04:00
Dan Stillman
8de0b024f0 Fix one cause of "operation timed out" during sync
Remove some unnecessary transactions in Sync.Data.Local
2017-06-16 01:53:55 -04:00
Dan Stillman
5c45652887 Try to reduce impact of full-text content processor
- Don't start checking for idle until UI is ready + 30 seconds
- Increase idle delay from 5 seconds to 30 seconds
- Increase interval from 100 ms to 200 ms
2017-06-15 18:22:51 -04:00
Dan Stillman
97bac9fadc Move start page URL to config 2017-06-15 02:39:34 -04:00
Dan Stillman
d9eb8ff3c3 Fix "o is undefined" sync error 2017-06-14 07:53:06 -04:00