Commit graph

7151 commits

Author SHA1 Message Date
Dan Stillman
b476c7c7c5 Update locales from Transifex 2017-07-03 03:11:18 -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
72feaab6f4 Update locales from Transifex 2017-07-01 07:07:31 -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
16b2e82f74 Update non-English strings 2017-06-29 04:11:22 -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
2119b5ab75 Update non-English strings 2017-06-27 16:26:48 -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
a56af4a101 Merge new English string 2017-06-27 01:10:27 -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
b2eea914e4 Update locales from Transifex 2017-06-26 19:00:08 -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
92435f398d "A new database file has been created" -> "A new database has been created" 2017-06-21 17:03:38 -04:00
Dan Stillman
79b98ddc54 Tweak incompatible-DB error text 2017-06-21 17:02:01 -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
38652f9362 Merge new English strings 2017-06-20 23:12:15 -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
24b43ae3a7 "Zotero Standalone" -> "Zotero" in a couple messages 2017-06-17 23:05:39 -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
Dan Stillman
1bb6217ec1 Disable debug output for Zotero.Date.strToDate()
Too messy, and unlikely that we need it in submitted output
2017-06-14 03:37:03 -04:00
Dan Stillman
4032edcf7d Ignore note markup conflicts without cache when text content matches 2017-06-14 03:37:03 -04:00
Dan Stillman
ccb30351c0 Fix incorrect purging of files on WebDAV 2017-06-14 03:20:23 -04:00
Dan Stillman
700aa5377b Don't repeat filenames in results from WebDAV _deleteStorageFiles() 2017-06-14 03:20:23 -04:00
Dan Stillman
db6e9841db Only purge orphaned WebDAV files if downloads completed successfully 2017-06-14 02:38:48 -04:00
Dan Stillman
d2d5896b0b Sort groups in Libraries to Sync window 2017-06-13 21:30:25 -04:00
Dan Stillman
88089e290d Update locales from Transifex 2017-06-13 18:03:59 -04:00
Adomas Venčkauskas
a17b486e4b Don't auto-migrate data dir if target on a different drive
See https://forums.zotero.org/discussion/comment/277632/#Comment_277632
2017-06-13 17:17:34 -04:00
Dan Stillman
98544edde5 Better logging when revealing attachment in filesystem 2017-06-08 14:13:24 -04:00
Dan Stillman
8913178cf2 Better logging for getAsync() non-integer errors 2017-06-08 14:13:24 -04:00
Dan Stillman
b5424b4a71 Fix context menu options for multi-item selection (broken in 5d16352f57) 2017-06-07 11:50:06 -04:00
Dan Stillman
75ddd879bc Update citeproc-js to 1.1.170 2017-06-06 04:35:38 -04:00
Dan Stillman
b79ecfb5fe Temporarily disable test for non-integer getAsync() 2017-06-05 03:00:15 -04:00
Dan Stillman
71d636e8fb Make non-integer id passed to getAsync() non-fatal for now
Follow-up to 4e1937680f
2017-06-04 21:35:54 -04:00
Dan Stillman
4b0e2a9554 Fix separate note window (regression from 4e1937680f) 2017-06-02 10:36:44 -04:00
Dan Stillman
05ff16c17f Fix some breakage from 013dc958b3 2017-06-01 15:39:42 -04:00
Tom Najdek
506b35840e Add a shutdown hook in Zotero.Prefs to unregister observer
* Without this, preference change observers stack, triggering multiple
  times if Zotero is re-initialized multiple times within the same
  browser instance (like in tests)
2017-06-01 11:36:17 -04:00
Tom Najdek
14bf3184bb Fixes and tweaks to make tests work with babelized code
* Use mocha, chai & sinon from the npm. As of sinon 2.0
  sinon-as-promised is no longer required so it is removed
* Tweak code to re-use the same loader with the same environment
  throghout the code
* Introduce browserify step for testing tools that only provide
  node-compatible libraries (sinon, chai-as-promised)
* Introduce copy step for test data to resolve multiple issues with
  tests depending on files not being symlinks
* Re-introduce custom implementation of setTimeout to resolve issues
  with few tests
* Re-introduce custom Bluebird Promises config & monkey patch
2017-06-01 11:36:16 -04:00
Dan Stillman
a55852ea1c Log Zotero.alert() calls to the terminal 2017-05-31 00:43:57 -04:00
Dan Stillman
61452a835b Fix auto-restore of automatic backup on DB corruption error 2017-05-31 00:43:57 -04:00
Dan Stillman
013dc958b3 Restore cleaner error and item-selection button for note-too-long error 2017-05-31 00:10:00 -04:00
Dan Stillman
5d16352f57 Don't show "Remove Item from Collection" for child items
Test forthcoming once tests are working again
2017-05-27 18:38:28 -04:00
Dan Stillman
aa05920117 Don't break getLocaleCollation() in Firefox <54 (after a73b2403b) 2017-05-27 05:38:29 -04:00
Dan Stillman
d6c36ae9a3 Update help URLs and move to config file 2017-05-27 05:32:01 -04:00
Dan Stillman
a73b2403b0 Fix getLocaleCollation() in Firefox 54 2017-05-27 05:32:01 -04:00
Dan Stillman
d5a8a3420d Additional locale service updates for Firefox 54 compatibility
Follow-up to 0ac37ab65a
2017-05-26 01:37:54 -04:00
Dan Stillman
7fc188b172 Fix crashing for some actions in duplicate items
Necessary after more strict error handling in c4411e1ad3
2017-05-24 18:24:26 -04:00
Dan Stillman
8bc76dd2db Restore logging of unhandled errors from Bluebird (since 9aa057edee) 2017-05-24 18:24:26 -04:00
Dan Stillman
aa321f3495 Add example async/await to test Babel transform 2017-05-24 00:59:45 -04:00
Dan Stillman
6afc58a629 Move require() into ZoteroContext and fix Bluebird module path 2017-05-24 00:58:41 -04:00
Dan Stillman
319edae7f2 Update citeproc-js to 1.1.169 2017-05-23 17:39:10 -04:00
Tom Najdek
9aa057edee Introduce a build system
* Add a multi-process, gulp-based build system to support es6 features,
  async/await, jsx and scss
* Add a package.json to support dependency management and allow starting
  the build process via npm
* Replace embedded Bluebird library with npm-installed one
* Add react, react-dom and web-library
* Introduce a custom require() loader in include.js as well as a minimal
  local require() implementation in various other places
2017-05-23 17:02:50 +01:00
Dan Stillman
e1fb28faa9 Convert some object ids from strings to integers after 4e1937680 2017-05-23 02:10:26 -04:00
Dan Stillman
4e1937680f Throw error if non-number is passed to Zotero.DataObjects.getAsync()
Previously, if an id was psased as a string and the id existed in the
cache, an error wouldn't be thrown, but if there id wasn't in the cache
(e.g., because it was in an unloaded library) it would. This requires an
integer in all cases.

Note that, among other things, any code that gets ids from object keys
will need to convert them to integers before passing to getAsync().
2017-05-23 02:04:58 -04:00
Dan Stillman
265df6d48c Skip edit check if skipAll is passed to object save 2017-05-22 17:29:56 -04:00
Dan Stillman
0ac37ab65a Firefox 54 compatiblity for locale service
Services.locale.getApplicationLocale() -> getAppLocale()
(nsILocaleService -> mozILocaleService)

It's possible this will fix some of the locale resolution problems in
Standalone:

"This is actually a meaningful change because the old one was actually
using OS locale for platforms other than Windows. The new one is using
the app locale for all platforms." [1]

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1346674#c0
2017-05-22 06:09:25 -04:00
Dan Stillman
1b8704f133 Firefox 54 compatibility: File.createFromFileName() returns a promise 2017-05-22 06:04:27 -04:00
Dan Stillman
a3eea03a38 Firefox 54 compatibility: rename "new" and "delete" XBL methods 2017-05-22 06:03:14 -04:00
Dan Stillman
ddc9989d82 Fix refresh when opening related-item box in note editor 2017-05-19 12:36:03 -04:00
Dan Stillman
1cbc2440ec Make a missing related item not fatal
Since item relations are synced with individual items, an item can exist
before the item it's related to has been downloaded.
2017-05-19 12:11:58 -04:00
Dan Stillman
fc4eb5308f Remove related-item relations when deleting item 2017-05-19 12:11:51 -04:00
Dan Stillman
8edd8830da Remove reference to 'publications' library type in URI.getLibraryPath() 2017-05-19 12:11:21 -04:00
Dan Stillman
90a27f8d4b Add Zotero.URI.getURIItemLibraryKeyFromDB()
Allows getting libraryID and key without relying on library data being
loaded (e.g., at startup)
2017-05-19 12:11:21 -04:00