Commit graph

9032 commits

Author SHA1 Message Date
Tom Najdek
aa6037c088 Re-introduce custom implementation of setTimeout
* Resolves issues with some tests failing
2017-06-01 11:36:17 -04:00
Tom Najdek
289b049377 Support generators in tests via coMocha, instead of custom code
* coMocha offers better error stack trace
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
748c30206f Run tests from build dir 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
8f116f60c4 Increase gulp.watch() interval to decrease CPU usage
This brings idle CPU usage down to 1.5% from 14% for me.
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
1e459287de Convert non-standard octal escape sequences to hex in test runner 2017-05-24 01:59:56 -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
Dan Stillman
79ed9e8448 Display relative path to files in build output
Not just filenames
2017-05-23 17:25:53 -04:00
Dan Stillman
9cd0c5a674 Merge pull request #1230 from tnajdek/babel
Introduce a build system
2017-05-23 17:00:33 -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
c0f7f6070a Avoid a warning from a storageRequest test from the item not existing 2017-05-23 02:12:00 -04: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
Dan Stillman
5873e554f1 Allow functions for testing and repair in DB integrity checks
This can be used for things that can't be checked or repaired with SQL
alone, or that are too difficult to do that way.
2017-05-19 12:11:14 -04:00
Dan Stillman
caf61bec2f Use COUNT(*) > 1 for DB integrity check queries 2017-05-19 06:33:03 -04:00
Dan Stillman
cf125435fb Update citeproc-js to 1.1.167 2017-05-19 04:51:20 -04:00
Dan Stillman
74fe4b31f9 Merge locales from Transifex 2017-05-17 21:41:40 -04:00
Dan Stillman
05dcc11a8d Update localized string name
Most localizations still say "Firefox" for this string, so this will
clear those.
2017-05-17 21:41:40 -04:00
Dan Stillman
d9fbccca67 Add item sanity check to note editor
When refreshing the note editor, store the associated itemID on the
textbox, and check it when saving to make sure it's for the expected
note. This might prevent weird situations (which I can't reproduce, but
there was a report in the forums [1]) where something goes wrong and the
note doesn't refresh when selecting a new item, and then one note's
content is saved over another's.

[1] https://forums.zotero.org/discussion/65708/
2017-05-17 21:41:40 -04:00
Dan Stillman
c4411e1ad3 Crash app if there's an error selecting an item 2017-05-17 21:41:39 -04:00
Adomas Venčkauskas
182cf67a97 Fix wrong localization arg passing 2017-05-15 18:26:41 +03:00
Dan Stillman
f12ae67c47 Test for e1986b460e (export with empty attachment path) 2017-05-14 05:26:39 -04:00
Dan Stillman
7e95f8fc51 Use proper alerts for export errors 2017-05-14 05:07:18 -04:00
Dan Stillman
e1986b460e Fix failed export due to missing attachment path 2017-05-14 05:06:37 -04:00
Dan Stillman
eb42152c42 UI fixes for read-only notes
- Don't show toolbar in read-only note editor
- Get rid of "undefined" button in CR window
- Better padding/alignment in CR window
2017-05-12 20:01:47 -04:00
Dan Stillman
be7cc45c0e Better debug logging for CR error 2017-05-12 17:53:19 -04:00
Dan Stillman
a92d469466 Remove accidental 'false' in 20121b9b9 2017-05-12 06:16:29 -04:00
Dan Stillman
20121b9b97 Fix tag selector tests (broken in 5963c02db) 2017-05-12 06:13:02 -04:00
Dan Stillman
5963c02dbb Fix "Display All Tags in This Library" (broken in fe186333b) 2017-05-12 05:37:46 -04:00