Commit graph

61 commits

Author SHA1 Message Date
Dan Stillman
0be2796500 Fix webpage/snapshot saving from connector 2016-05-20 15:51:54 -04:00
Dan Stillman
eb400587e8 Fix various bugs saving from connector and add test 2016-05-13 15:00:54 -04:00
Philipp Zumstein
aef8453924 Fix some for each ... in cases (#978) 2016-05-03 17:51:12 -04:00
Dan Stillman
244a52ad22 Merge branch '4.0' 2016-03-06 01:20:51 -05:00
Dan Stillman
4190412ee4 Allow PDF saving via connectors
If 'pdf' flag is included in object POSTed to saveSnapshot, import the
PDF directly and save as top-level item. Currently the PDF is
redownloaded -- there might be a better way to get the PDF data over
without redownloading. (It uses passed cookies, though, so gated PDFs
should still work.)
2016-03-05 01:20:42 -05:00
Dan Stillman
3071b8093b Merge branch '4.0' 2016-01-20 01:23:02 -05:00
Dan Stillman
7d404e8d4a Closes #896, Legacy array/generator comprehension is removed in Firefox 46
Possible there are some bugs here (and it also may fix a couple existing bugs).
2016-01-12 01:58:38 -05:00
Dan Stillman
5c523d8694 Merge branch '4.0' 2015-07-18 07:09:53 -04:00
Dan Stillman
ba53f256d6 Quick hack to fix "without snapshot" save option in Z4Fx via Standalone
(I don't see any obvious reason I can't do this. We should probably clean this
up later, not call the endpoint "saveSnapshot", etc. Also, is there a reason it
doesn't follow the snapshot pref by default?)
2015-07-01 01:03:04 -04:00
Dan Stillman
bdd69d0a53 Merge branch '4.0' into api_syncing 2015-03-16 23:41:10 -04:00
Dan Stillman
a03772cae7 Merge branch 'master' into api_syncing
Note that this loses conflicting changes to translate_item.js from 849803473a,
so those will need to be reapplied if applicable. /cc @aurimasv, @mtd91429
2015-03-16 15:23:07 -04:00
Simon Kornblith
64f7710877 Merge pull request #409 from aurimasv/cookies
Manage cookies received from other hosts.
2015-02-14 13:24:58 -05:00
Dan Stillman
b0e37a38a2 Merge branch '4.0'
Conflicts:
	chrome/content/zotero/xpcom/schema.js
	chrome/content/zotero/xpcom/translation/translate.js
	chrome/content/zotero/xpcom/zotero.js
	install.rdf
	update.rdf
2015-01-29 19:59:47 -05:00
Simon Kornblith
55f86f4295 Fix error handling for saveItems 2014-09-05 00:28:34 -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
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
efc4455476 Fix connector server changes for async getTranslators() 2013-08-17 01:23:50 -04:00
Simon Kornblith
540a54515e Async Zotero.Translators.get* and Zotero.Translate.getTranslators
This mostly works, but there is still much to be done:

- getTranslators() calls in preferences_export.js and quickCopy.js need
  to be made asynchronous
- getTranslators() calls in mimeTypeHandler.js need to be made
  asynchronous. This looks hard, since there is a synchronous Mozilla
  API involved
- I need to test lookup, the connector server, and export more to make
  sure that they actually work
- This API needs to be implemented for the connector and bookmarklet
- Translators should be read off the disk using async IO
2013-08-16 13:48:59 -04:00
Simon Kornblith
de2dec921f Fix https://forums.zotero.org/discussion/28922/ 2013-04-17 02:35:44 -04:00
Simon Kornblith
f42ded42c6 Fix https://forums.zotero.org/discussion/28810/ 2013-04-17 01:11:44 -04:00
Simon Kornblith
142a48b132 Use ZOTERO_CONFIG for bookmarklet URL 2013-04-07 18:48:18 -04:00
Simon Kornblith
1c3890e837 Merge branch '3.0' 2013-01-26 00:29:08 -05:00
Simon Kornblith
5465c885e5 Tweaks to getHiddenPref()
- Remove references to configOptions, displayOptions, and hiddenPrefs
  from connector/translator.js. We can't rely on them to be set in
  Zotero.Translator since https://repo.zotero.org/repo/metadata doesn't
  provide them, but we shouldn't need them until we get the translator
  code anyway.
- Don't serve configOptions, displayOptions, and hiddenPrefs from Zotero
  Standalone server. There's no point in serving anything that
  https://repo.zotero.org/repo/metadata doesn't.
- Alias the translator metadata loaded into the sandbox as
  Zotero.Translate._translatorInfo. Use this to get configOptions and
  hiddenPrefs.
- "v" browserSupport indicates that a translator can be run through
  translation-server, not that translation-server is required.

This obviates the need for zotero/zotero-connectors#4.
2013-01-25 22:40:14 -05:00
aurimasv
0c38ce03ac Allow translators to define translator-specific hidden preferences. 2013-01-25 22:40:14 -05:00
Simon Kornblith
45e28cf769 Merge branch '3.0'
Conflicts:
	chrome/content/zotero/recognizePDF.js
	chrome/content/zotero/xpcom/cite.js
2012-12-19 23:16:56 -05:00
aurimasv
7bf31afa8c Pass url to detect function 2012-12-01 01:38:49 -06:00
Simon Kornblith
bd367dcd85 Merge branch '3.0' 2012-11-11 17:15:30 -05:00
Simon Kornblith
a4f4691b04 Fix http://forums.zotero.org/discussion/23702/chrome-connector-hangs-on-some-pages-when-invoked-from-the-save-zotero-snapshot-context-menu/ 2012-11-11 17:14:19 -05:00
Dan Stillman
c2e116a49a Merge branch '3.0'
Conflicts:
	chrome/content/zotero/locale/csl
	chrome/content/zotero/xpcom/server_connector.js
	chrome/content/zotero/xpcom/storage.js
2012-09-10 17:18:08 -04:00
Simon Kornblith
c81c9478d9 Make Zotero Standalone use the browser's user agent string when making requests on its behalf via connectors
In conjunction with a change to the translator, this fixes the issue reported at http://forums.zotero.org/discussion/22409/
2012-08-19 19:06:05 -04:00
Simon Kornblith
0a89a787a3 Merge branch '3.0' 2012-08-06 02:04:52 -04:00
Simon Kornblith
2b00819253 ie_compat.js -> common_ie.js 2012-08-06 02:04:20 -04:00
Simon Kornblith
695cb47106 Only allow endpoints specifically marked as permitted to be accessed by the bookmarklet to be accessed by the bookmarklet. 2012-07-03 19:50:12 -04:00
Simon Kornblith
c6be453564 Attachment progress in connector 2012-06-10 22:36:22 -04:00
Simon Kornblith
5c02a81e81 Fix identification of collections 2012-06-10 21:55:56 -04:00
Simon Kornblith
48f7dd5b6e Add endpoint for getting selected collection
Addresses #23, "Saving item..." notification should show the name of the library where item is imported
2012-06-10 15:30:23 -04:00
Simon Kornblith
a750203f4f Hook up attachment progress notifications in Firefox UI, and simplify a lot of old code.
Closes #3
2012-06-09 14:02:21 -04:00
Simon Kornblith
221d1da340 Attachment progress notifications. These are already hooked up to the UI in the connector, but still need to be hooked up to the UI in Firefox.
Addresses #3
2012-06-02 16:58:14 -04:00
Simon Kornblith
5619555866 Improve our chances of getting attachments from the connector. We attach cookies sent from the connector to attachment downloads, which should get most proxies working, provided that the user is logged in. We also use WeakMaps to keep track of active CookieSandboxes, rather than manually removing them from a list. 2012-02-10 19:14:46 -05:00
Simon Kornblith
051445334b Small fixes to comments 2011-10-02 22:27:43 +00:00
Simon Kornblith
d19c87ef83 Remove processNextEvent() call 2011-09-20 21:47:04 +00:00
Simon Kornblith
24a736b316 support GET 2011-09-01 07:08:24 +00:00
Simon Kornblith
92378313f7 Fix IE hack comments and name 2011-09-01 06:54:19 +00:00
Simon Kornblith
f9a0db633c IE cross-domain messaging hack 2011-09-01 06:53:20 +00:00
Simon Kornblith
8ec4377d3e Add bookmarklet support 2011-08-30 06:46:47 +00:00
Simon Kornblith
dec907569a Fix saving into collections when translation is performed in the browser 2011-08-16 14:44:24 +00:00
Simon Kornblith
bbbc8991f2 - Fix failure to save snapshots, caused by failure to add and remove our request from loadGroup
- Fix a few other issues in ConnectorChannel
2011-08-12 18:10:53 +00:00
Simon Kornblith
18f7bf1112 Don't save before CSS has been loaded 2011-08-12 15:36:54 +00:00
Simon Kornblith
b232106526 - XPCOM errors use "filename" instead of "fileName" for some ungodly reason
- Fix verison
2011-08-11 04:06:45 +00:00
Simon Kornblith
d11e78de0e Save webpage snapshots from connectors when Zotero Standalone is running 2011-07-27 21:01:21 +00:00