Commit graph

6306 commits

Author SHA1 Message Date
Dan Stillman
49d85dbe0f My Publications wizard changes
- Only show first pane (without Sharing pane) if no files or files
  aren't included
- Update authorship checkbox to reflect file include setting to avoid
  confusion
- Clarify in intro text that license applies to files, not notes --
  notes here are no different than notes in any public library, so it's
  sort of up to the user to clarify those if they're substantial enough
  for it to matter
- Adjust alignment of authorship checkbox if more than one line
2016-04-11 03:41:32 -04:00
Dan Stillman
aee214ed44 Update collection context menu once items have loaded
Otherwise, when right-clicking on a collection that's not currently
selected, some of the menu items appear gray at first, and a second
right-click is necessary after the items have loaded. This way the menu
items turn black once the items have loaded.
2016-04-11 02:52:09 -04:00
Dan Stillman
bb4db297c4 Fix "this.selection is undefined" switching away from loading collection 2016-04-11 02:29:25 -04:00
Dan Stillman
7c3a134107 Show loading message in middle pane if items loaded after startup 2016-04-11 02:29:08 -04:00
Dan Stillman
5e614e2787 Fix a few protocol handler bugs 2016-04-11 02:22:13 -04:00
Dan Stillman
46997bd3e4 Fix "cannot access dead object" error at startup
This could happen if a second page was loaded quickly at startup, before
translators finished loading and detection ran on the first page.
2016-04-11 02:20:10 -04:00
Dan Stillman
a1ef16a0a6 Add .library to Zotero.DataObject
This should replace uses of Zotero.Libraries.get(item.libraryID).
2016-04-10 19:46:10 -04:00
Dan Stillman
0469d6506a Show toolbar icon and collections pane while items are loading
Items in a library are now loaded only when a library is clicked on and
at sync time. There might be some other areas where they need to be
loaded or where this causes problems (e.g., drag and drop, word
processor integration).
2016-04-10 19:01:36 -04:00
Dan Stillman
be335acc65 "Loading items list…" -> "Loading items…" 2016-04-10 18:43:09 -04:00
Dan Stillman
2bdb818988 Fix large toolbar icons on HiDPI Linux
Fixes #943
2016-04-10 16:05:33 -04:00
Dan Stillman
85c0c086d5 Disable Restore to/from Zotero Server and add back Full Sync
Restore to/from will need to be reimplemented for API syncing (#914)

Closes #916
2016-04-10 05:19:51 -04:00
Dan Stillman
c9c5e40e95 Don't log relations-upgrade messages as errors 2016-04-10 04:32:23 -04:00
Dan Stillman
23e01fcefd Fix saving to My Library if Zotero pane hasn't been opened 2016-04-09 18:34:54 -04:00
Dan Stillman
9c53fe893c Skip collectionTreeView::notify() actions if no selection
I think this only happens if the Zotero pane hasn't yet been opened, which also
means an initial refresh() hasn't been done, which means that updates aren't
necessary.
2016-04-09 18:30:45 -04:00
Dan Stillman
1c19fe8d81 Use proper on-detect handler rather than pageshow in browser tests
Otherwise the test could run scrapeThisPage() before translators were ready. It
would be good to make scrapeThisPage wait for detection to complete so that an
early press still uses a translator for saving, but this way tests can also
test for the proper icon (though they don't now).
2016-04-09 18:26:13 -04:00
Dan Stillman
b650263d66 "Sync with Zotero Server" -> "Sync with zotero.org" 2016-04-08 17:03:29 -04:00
Dan Stillman
d2a5181637 Clarify/correct a couple Zotero.Item file method comments 2016-04-07 21:18:44 -04:00
Dan Stillman
14341ca16c Clear item creators when calling setCreators() with an empty array 2016-04-07 21:10:11 -04:00
Dan Stillman
79748b9132 Fix #940, UI not updating when dragging child item between parents 2016-04-07 21:10:11 -04:00
Dan Stillman
d78089d4b9 Properly update parent isOpen flag when removing child item at end of list 2016-04-07 21:10:10 -04:00
Dan Stillman
afaaf20c90 Allow click on menu title to select feed item add target
Instead of requiring a click on the menuitem at the top of the submenu, allow
a click on the menu itself.

This is a hack that, among other things, replicates the flash effect on
menuitems on OS X. Unfortunately, <menu> elements can't have checkboxes, so
only the menuitem in the submenu will be checked. (Otherwise I'd remove the
redundant menuitem in the submenu.)
2016-04-07 06:16:06 -04:00
Dan Stillman
a360494724 Backport Zotero.ID changes (fabc2ba6a) to 4.0 2016-04-07 04:43:54 -04:00
Dan Stillman
4bc4acb923 Hide empty fields in item pane when not editable (e.g., feeds)
A stopgap measure until we have a better design for the item pane
2016-04-06 05:14:29 -04:00
Dan Stillman
df1cdb9754 Abstract field tweaks
- Allow clicking on non-editable abstract field to expand/collapse it
- Change cursor when hovering over abstract to show it can be toggled
- Default abstracts to expanded
2016-04-06 02:04:06 -04:00
Dan Stillman
0f5b277c91 Fix error on missing files when searching full-text content 2016-04-06 01:10:42 -04:00
Dan Stillman
d7309ca64e Use hi-res attachment file bullets 2016-04-06 01:10:01 -04:00
Dan Stillman
d6064cfeba Add Zotero.hiDPISuffix to avoid "@2x" logic each time
Can use Zotero.hiDPISuffix directly in URLs to automatically substitute
"@2x" on HiDPI displays.
2016-04-06 01:09:14 -04:00
Dan Stillman
71d79e1f08 Make sure info pane is selected for feed items 2016-04-05 15:08:11 -04:00
Dan Stillman
1e8b74d9b9 Tweak item pane padding
The item pane scrollbox was actually padded on the outside. This removes
that padding, which slightly increases the viewable content in the pane.
2016-04-05 15:07:49 -04:00
Dan Stillman
f70c2bfa0a Feed item button tweaks
- Fix persistence of last translation target
- Add checkbox to menuitem of selected target
- Remove unnecessary flex attributes

Also:

- Move collectionTreeView row id (e.g., "L1", "C123") and image
  generation to Zotero.Library and Zotero.Collection properaties,
  .collectionTreeViewID and .collectionTreeViewImage -- currently used
  only for the feed add-to button, but could be expanded for use in
  collectionTreeView
2016-04-05 02:24:58 -04:00
Dan Stillman
8714816cec Fix feed item add-to button appearance on OS X 2016-04-05 02:24:36 -04:00
Dan Stillman
aa266c11f4 Add quotes around feed button target 2016-04-04 23:24:19 -04:00
Dan Stillman
cf212e2b70 Initialize feed button only when necessary
And without extra init() call

This fixes the button being initialized before Zotero.hiDPI is set, resulting
in a low-res icon until the target is changed.
2016-04-04 23:18:29 -04:00
Adomas Venčkauskas
5b8d3c178f Add a menu option to add feeds found on a page
Closes #adomasven/zotero/10
2016-04-04 17:36:51 -04:00
Dan Stillman
0f7d1c7061 Fix various connector-mode issues for 5.0
Still more to fix
2016-04-04 06:33:15 -04:00
Dan Stillman
7a449e8deb Clearer parameter name for autocomplete select handler
Refs #926
2016-04-02 04:16:35 -04:00
Dan Stillman
eecd625298 Populate both creator fields on Tab autocomplete select
Closes #926
2016-04-02 04:11:35 -04:00
fbennett
55bfe54af2 Bugfixes for new styled-textbox code 2016-04-02 12:02:53 +09:00
Dan Stillman
cdedbaccac Add some missing empty platform-specific CSS files 2016-04-01 06:05:59 -04:00
Dan Stillman
6ec8e7800f Fix double-size height of feed add buttons on HiDPI 2016-04-01 05:54:05 -04:00
Dan Stillman
c8affb49ee Add empty Mac/Windows itemPane.css to avoid CSS load error 2016-04-01 05:51:49 -04:00
Dan Stillman
943b2c1ddf Don't auto-sync on feed library changes, and add Zotero.Library::syncable 2016-04-01 05:47:43 -04:00
Dan Stillman
7aa6d98f35 Use library icon for New Library button, and add more HiDPI icons
Includes HiDPI icons for feed rows, which weren't showing up before
2016-04-01 05:37:25 -04:00
Dan Stillman
129b8113b9 Don't try to show secondary sort menu in feeds
(Feeds don't have a visible primary sort column.)
2016-04-01 05:33:14 -04:00
Dan Stillman
842dea973b Remove references to removed Zotero.Items.cacheFields() 2016-04-01 05:33:14 -04:00
Dan Stillman
4cccf27bb1 A few debug message tweaks 2016-04-01 05:33:14 -04:00
Adomas Venčkauskas
3dc0ad3745 Add feed menu buttons. Close adomasven/zotero#9. 2016-04-01 12:25:37 +03:00
Dan Stillman
8a57183e0b Remove unused version table rows 2016-04-01 02:38:36 -04:00
Dan Stillman
514547ab3b Reinstate auto-sync, and remove lots of old sync code
The on-change auto-sync now syncs only the modified library, and does so
quite efficiently (and should be able to be made more efficient), so we
might be able to reduce the timeout below 15 seconds.
2016-04-01 02:30:17 -04:00
Dan Stillman
9b231169b2 Return the new item from ZoteroPane.duplicateSelectedItem() 2016-04-01 02:00:30 -04:00
fbennett
9431e0de53 HTML/RTF and RTF/HTML conversion for styled textbox 2016-04-01 09:24:02 +09:00
Adomas Venčkauskas
2b41f7af1d Close #934. Remove feed item read state syncing 2016-03-31 12:37:01 +03:00
Dan Stillman
70c41e8a51 Update citeproc-js to 1.1.91 2016-03-30 23:24:34 -04:00
Dan Stillman
fabc2ba6a2 Always start at MAX() + 1 for Zotero.ID.get(), and deasyncify
Instead of getting batches of unused primary key ids, even if they're lower
than other ids, which for some reason seemed like a good idea in 2008, just do
a `MAX()` on the table at startup and return the next available id on each call
to `Zotero.ID.get()`. This is much simpler, and not reusing ids allows them to
be used as a chronological sort field.

While SQLite's `SELECT last_insert_rowid()` could return auto-increment values,
it's unsafe with async DB access, since a second `INSERT` can come in before
the first `last_insert_rowid()` is called. This is true even in a transaction
unless a function that calls it is never called in parallel (e.g., with
`Zotero.Promise.all()`, which can be faster than sequential `yield`s).

Note that the next id is always initialized as MAX() + 1, so if an object is
added and then deleted, after a restart the same id will be given. (This is
equivalent to (though unrelated to) SQLite's `INTEGER PRIMARY KEY` behavior,
as opposed to its `INTEGER PRIMARY KEY AUTOINCREMENT` behavior.)

Closes #993, Feed items out of order
2016-03-30 01:39:43 -04:00
Dan Stillman
87acdce81b Pass query options to logQuery for DB.(value/column)Query
Allows, e.g., `debug: false` to work for those methods.
2016-03-28 17:53:03 -04:00
Dan Stillman
cebf2a3125 Throw an error from queryAsync() if onRow throws an error
If onRow throws StopIteration, the query will stop gracefully.
2016-03-28 17:47:25 -04:00
Dan Stillman
0c5eacbd0f Follow existing pref for gzip-compressed uploads 2016-03-28 05:19:32 -04:00
Dan Stillman
f906b4226d Fix loading of Edit Bibliography window in Firefox 45
Edit textbox is still broken, at least for some items.
2016-03-28 03:14:09 -04:00
Dan Stillman
35530af1fb Gzip-compress API uploads larger than 1000 characters 2016-03-28 02:38:28 -04:00
Dan Stillman
92f2e38325 Remove Zotero.UnresponsiveScriptIndicator
If import/export can still trigger the warning (which hopefully they
can't), we should just asyncify those further.
2016-03-27 03:34:40 -04:00
Dan Stillman
8b1f10aee0 Properly delete library version for full-text sync on library delete 2016-03-27 03:19:39 -04:00
Dan Stillman
b5adb084f2 Don't reload last folder on items pane crash, in case it's the problem
Otherwise you have to edit the prefs to continue using Zotero if, say, a saved
search causes a crash.
2016-03-26 04:16:23 -04:00
Dan Stillman
b7b246e741 Saved search fixes
- Fix saved search editing
- Refresh items list on search change
- Generate correct conditions array for search JSON
2016-03-26 04:14:56 -04:00
Dan Stillman
62f3177d36 Speed up expanding of items in items tree 2016-03-26 01:33:26 -04:00
Dan Stillman
6e0ef7b625 Don't send notification for 'user' library change 2016-03-25 18:46:13 -04:00
Dan Stillman
15a9fd5494 Make various collection methods synchronous
- Collection::getDescendents()
- Collections.getByLibrary()
- Collections.getByParent()

And various things that depend on those. (View with -w.)
2016-03-25 18:44:24 -04:00
Dan Stillman
234127e65a Update toolbar icons on group editability change
And trigger 'group' 'modify' notifier event for inherited Zotero.Library
properties
2016-03-25 16:49:26 -04:00
Dan Stillman
a61c99843b Fix error switching to COinS in export dialog
Or other export translators without options
2016-03-25 02:33:55 -04:00
Dan Stillman
afee1d16ad Fix saving an item with a child note into a collection 2016-03-25 02:24:22 -04:00
Dan Stillman
c5702abb7b Don't include 'filename' in linked_file attachment JSON 2016-03-24 22:26:50 -04:00
Dan Stillman
fc6c113f25 Show intro text for My Publications in middle pane when no items
ZoteroPane.setItemsPaneMessage() and setItemPaneMessage() can now
optionally take a DOM node instead of a string.

Closes #705
2016-03-24 09:03:59 -04:00
Dan Stillman
db33163a99 Fix Advanced Search window 2016-03-23 20:45:02 -04:00
Dan Stillman
0d343458a3 Normalize Unicode in new filenames 2016-03-23 04:29:38 -04:00
Dan Stillman
002dd66e03 Restore proper error for Show File on missing file 2016-03-23 04:29:38 -04:00
Dan Stillman
a1ce85decb Overhaul object downloading/processing during data syncs
Previously, objects were first downloaded and saved to the sync cache,
which was then processed separately to create/update local objects. This
meant that a server bug could result in invalid data in the sync cache
that would never be processed. Now, objects are saved as they're
downloaded and only added to the sync cache after being successfully
saved. The keys of objects that fail are added to a queue, and those
objects are refetched and retried on a backoff schedule or when a new
client version is installed (in case of a client bug or a client with
outdated data model support).

An alternative would be to save to the sync cache first and evict
objects that fail and add them to the queue, but that requires more
complicated logic, and it probably makes more sense just to buffer a few
downloads ahead so that processing is never waiting for downloads to
finish.
2016-03-23 04:29:04 -04:00
Dan Stillman
6ac35c75c1 Fix display of sync error icon on error 2016-03-22 22:44:02 -04:00
Dan Stillman
aab4fca3ad Don't override 'options' objects going through syncAPIClient 2016-03-22 22:44:02 -04:00
Dan Stillman
dcb7c88ebd Misc. debug output cleanup 2016-03-22 22:44:02 -04:00
Dan Stillman
63e169c139 Only show empty-response-from-server error for 0 or 200 status codes 2016-03-22 22:44:02 -04:00
Dan Stillman
af8865f3f3 Fix behavior of Zotero.Utilities.Internal.delayGenerator and add tests
Also convert to an ES6 generator
2016-03-22 22:44:02 -04:00
Dan Stillman
c099bd432a Handle multi-collection/search add in collectionTreeView::notify() 2016-03-22 22:44:00 -04:00
Dan Stillman
6c43e75d26 Merge pull request #902 from adomasven/feature/feed-reader-UI
Feed Reader UI

(I squashed a bunch of commits from the PR.)
2016-03-22 07:31:03 -04:00
Adomas Venčkauskas
12fc6cfbe8 Various feeds changes
- Hide notes, tags and related for feed items in itembox
- Add feed support for <enclosure> elements
- Add feed syncing methods for synced settings (additional work is
  needed on the sync architecture to download synced settings from the
  server)
- Change feed item clear policy to be less aggressive
- Adjust for deasyncification
- Disable translate-on-select
- Close adomasven/zotero#7, Remove context menu items from feeds
2016-03-22 06:56:36 -04:00
Adomas Venčkauskas
0d4025e9fb Add preferences for feed sorting and toggle read hotkey 2016-03-22 06:56:36 -04:00
Adomas Venčkauskas
05c0f1f3fc Closes #905, Move library creation buttons into menu 2016-03-22 06:56:35 -04:00
Adomas Venčkauskas
39aca505e0 Add right-click menu read state choices for feeds 2016-03-22 06:56:35 -04:00
Adomas Venčkauskas
9e88969f3d Refactor ProgressWindow translation messages show for feed items 2016-03-22 06:56:35 -04:00
Adomas Venčkauskas
e206b0af5e Various feeds changes
- Change sort order for feed items to natural order
- Remove display of dates in itembox
- Trim html tags from creators in FeedReader parser
2016-03-22 06:56:33 -04:00
Adomas Venčkauskas
5e706c31ad Translate and add items to library on drag 2016-03-22 06:56:33 -04:00
Adomas Venčkauskas
6da0845f4b Add feedItem translation 2016-03-22 06:56:32 -04:00
Adomas Venčkauskas
e6ede4b36f Various feeds changes
And move Z.Attachments.cleanAttachmentURI() to Z.Utilities.cleanURL()
2016-03-22 06:56:30 -04:00
Adomas Venčkauskas
8a2dc6e7f2 Adds Zotero.FeedReader tests 2016-03-22 06:56:29 -04:00
Aurimas Vinckevicius
2d46e3d59b Various feeds changes 2016-03-22 06:55:48 -04:00
Aurimas Vinckevicius
e7f568d56c Automatically start feed update when adding new feed 2016-03-22 06:14:16 -04:00
Aurimas Vinckevicius
2c3eb205ab Implement read/unread functionality in feeds 2016-03-22 06:14:16 -04:00
Aurimas Vinckevicius
9686758c7d Add feeds to collections tree view and items tree view 2016-03-22 06:14:15 -04:00
Aurimas Vinckevicius
2e56e2f659 Add feed button and Add Feed dialog 2016-03-22 06:14:15 -04:00
Aurimas Vinckevicius
4c94b05023 New feed data methods 2016-03-22 05:13:55 -04:00
Aurimas Vinckevicius
ca36096bcf Add FeedReader 2016-03-22 03:38:49 -04:00
Dan Stillman
74cf2a3c22 Fix hang on import that includes an HTML attachment
Closes #734, for the moment
2016-03-22 01:31:20 -04:00
Dan Stillman
42968949b6 Fix collection export
Closes #734, maybe?
2016-03-21 18:11:30 -04:00
Dan Stillman
5de18a007d Fix typo 2016-03-21 02:06:14 -04:00
Dan Stillman
20ece48a57 Fix saving of single files to library root via save button 2016-03-21 01:30:16 -04:00
Dan Stillman
ea1486f62f Merge branch '4.0' 2016-03-21 00:46:28 -04:00
Dan Stillman
220cf2c29b Fix export of attachment linkMode/contentType and standalone note text
Closes #889

Needs better tests, but that will have to happen on 5.0 in #923.
2016-03-21 00:18:11 -04:00
Dan Stillman
51b286528c Fix export translation
This reverts Zotero.Translate.ItemGetter.prototype.nextItem() to being
synchronous post-deasyncification. This will need to be made to work
asynchronously in the future if _attachmentToArray(), which is called by
nextItem, is changed to use async file access (which might be required
at some point).

Addresses #734, [Async DB] Import/export fails
2016-03-20 23:39:12 -04:00
Dan Stillman
b1eb2b6de5 Cleaner debug message when getting contents from input stream 2016-03-20 22:17:30 -04:00
Dan Stillman
7010742527 Update bundled file installation from XPI
- Use JSON translator index
- Use original translator filename instead of label
- Fix style installation error
2016-03-20 22:14:56 -04:00
Dan Stillman
c5aa935b16 Fix invalid copyright header in citeproc.js 2016-03-19 04:36:40 -04:00
Dan Stillman
14ed5cf2cb Update locales from Transifex 2016-03-19 02:59:32 -04:00
Dan Stillman
81e2e926a1 Update citeproc-js to 1.1.81 2016-03-19 02:57:10 -04:00
Dan Stillman
da18408070 Fix proxy redirection in Firefox 46 (non-e10s)
notificationCallbacks no longer QIs to webNavigation in Firefox 46, so
this gets the relevant browser object by getting the content window id
from channel.loadInfo and finding the window via nsIWindowMediator.
Unfortunately the window id provided under e10s is invalid (or something
-- it's a very high number that can't be found via nsIWindowMediator),
so something else will need to be done for that.
2016-03-19 02:46:29 -04:00
Dan Stillman
400411515d Tweak My Publications wizard intro text 2016-03-18 05:24:33 -04:00
Dan Stillman
f1aa6c5c80 Fix indexing of PDFs imported from current document 2016-03-18 04:51:32 -04:00
Dan Stillman
c02baa639d Fix word processor integration 2016-03-18 04:31:37 -04:00
Dan Stillman
da45df06cc Load reverse relations mappings at startup
This allows Zotero.Relations.getByPredicateAndObject()/getByObject() and
Zotero.Item::getLinkedItem()/Zotero.Collection::getLinkedCollection() to
be synchronous, which is necessary for word processor integration.
2016-03-18 04:31:37 -04:00
Dan Stillman
f4896a15ec Merge branch '4.0' 2016-03-17 05:08:06 -04:00
Dan Stillman
11e3603a73 Fix creator search in Quick Format dialog
Broken by 7d404e8d4a
2016-03-17 02:07:45 -04:00
Dan Stillman
28dc7d17e2 Fix setting of local mtime when remote file change matches local file 2016-03-16 02:01:51 -04:00
Dan Stillman
8df6b4bbd3 Don't modify Date Modified when updating downloaded attachment state 2016-03-16 01:36:59 -04:00
Dan Stillman
8830dfeff9 Update version and submodules 2016-03-15 03:31:08 -04:00
Dan Stillman
322852ff67 Fix display of tag colorpicker in Firefox 44
(And make the colorpicker work in high-contrast mode, according to the
Mozilla bug that broke this [1].)

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1047595
2016-03-15 03:06:48 -04:00
Dan Stillman
be04f3d33c Restore colored tags at top of tag selector when not linked to item 2016-03-15 01:18:55 -04:00
Dan Stillman
9ffcd89303 Fix error selecting from creator autocomplete 2016-03-15 01:18:55 -04:00
Dan Stillman
8e5016ae4d Load synced settings (incl. tag colors) at startup 2016-03-15 01:18:55 -04:00
Dan Stillman
60830c27ee Remove items from open Unfiled Items view when added to collection 2016-03-13 22:59:19 -04:00
Dan Stillman
6b509820b3 Fixes #918, Enabling "Show Unfiled Items" or "Show Duplicates" breaks UI 2016-03-13 20:31:15 -04:00
Dan Stillman
4fcf0c3c15 nsITreeSelection can be 0 incorrectly even if count is 0 2016-03-13 20:30:44 -04:00
Dan Stillman
d86b622c0a More daylight saving time 2016-03-13 20:28:15 -04:00
Dan Stillman
c18675801f Fix breakage in collection selection from 36db3c98 2016-03-13 04:58:53 -04:00
Dan Stillman
36db3c98b3 Fix selecting last selected collection 2016-03-12 05:03:14 -05:00
Dan Stillman
c4ca22ca62 Fix duplicate merging
Fixes #919
2016-03-11 09:27:03 -05:00
Dan Stillman
f795240bbf Fix display of Duplicate/Unfiled Items rows 2016-03-11 09:25:33 -05:00
Dan Stillman
394aa8dded Update display title after item edit 2016-03-11 09:25:33 -05:00
Dan Stillman
f310c39162 Remove Item::copy()
Instead of creating a duplicate copy of the item with the same primary
data and saving that, it's safer just to use clone() (which doesn't
preserve ids) and apply changes to the main object.
2016-03-11 07:48:24 -05:00
Dan Stillman
ae6d560a66 Fix Item::multiDiff() 2016-03-11 07:48:24 -05:00
Dan Stillman
277ddc39f8 Don't include dateAdded/dateModified in item JSON if not set 2016-03-11 07:48:24 -05:00
Dan Stillman
7a03b1e527 Accept ISO dates in Item::setField() 2016-03-11 07:48:24 -05:00
Dan Stillman
28eaaaf2bf Don't try to parse non-SQL dates in Date.sqlToDate() 2016-03-11 07:48:24 -05:00
Dan Stillman
edcd2a16d2 Replace obsolete collectionTreeView::getLastViewedRow() call 2016-03-11 07:48:24 -05:00
Dan Stillman
b9b769db51 Trim repotime before passing to sqlToDate() 2016-03-11 07:48:24 -05:00
Dan Stillman
39f7d0f333 Don't require objects to be saved before calling toJSON() 2016-03-11 07:48:19 -05:00
Dan Stillman
ffb3823b4c Properly include creators of last item when looking for duplicates 2016-03-11 03:08:40 -05:00
Dan Stillman
2bf611ccf8 Fix shift-drag to copy citations 2016-03-10 23:04:52 -05:00
Dan Stillman
0746f520e4 Fix broken Abstract/Extra editing in Firefox 45 2016-03-10 07:03:55 -05:00
Dan Stillman
e3d03ca380 Revert "Update citeproc-js to 1.1.74"
This reverts commit 52980133b0.
2016-03-07 22:20:57 -05:00
Dan Stillman
0184101ed0 Revert "Fix broken citeproc-js file header"
This reverts commit c046949ac6.
2016-03-07 22:20:54 -05:00
Dan Stillman
c046949ac6 Fix broken citeproc-js file header 2016-03-07 22:10:30 -05:00
Dan Stillman
52980133b0 Update citeproc-js to 1.1.74 2016-03-07 19:40:27 -05:00
Dan Stillman
daf4a8fe4d Deasyncification 🔙 😢
While trying to get translation and citing working with asynchronously
generated data, we realized that drag-and-drop support was going to
be...problematic. Firefox only supports synchronous methods for
providing drag data (unlike, it seems, the DataTransferItem interface
supported by Chrome), which means that we'd need to preload all relevant
data on item selection (bounded by export.quickCopy.dragLimit) and keep
the translate/cite methods synchronous (or maintain two separate
versions).

What we're trying instead is doing what I said in #518 we weren't going
to do: loading most object data on startup and leaving many more
functions synchronous. Essentially, this takes the various load*()
methods described in #518, moves them to startup, and makes them operate
on entire libraries rather than individual objects.

The obvious downside here (other than undoing much of the work of the
last many months) is that it increases startup time, potentially quite a
lot for larger libraries. On my laptop, with a 3,000-item library, this
adds about 3 seconds to startup time. I haven't yet tested with larger
libraries. But I'm hoping that we can optimize this further to reduce
that delay. Among other things, this is loading data for all libraries,
when it should be able to load data only for the library being viewed.
But this is also fundamentally just doing some SELECT queries and
storing the results, so it really shouldn't need to be that slow (though
performance may be bounded a bit here by XPCOM overhead).

If we can make this fast enough, it means that third-party plugins
should be able to remain much closer to their current designs. (Some
things, including saving, will still need to be made asynchronous.)
2016-03-07 17:03:58 -05:00
Dan Stillman
e510395210 Restore "More Columns" submenu in items list column picker
All fields were shown in the main menu due to a bug in 7d404e8d
2016-03-07 09:10:38 -05:00
Dan Stillman
92c8d8cc44 Revert "Update citeproc-js to 1.1.71"
This reverts commit cdac94f8f9.
2016-03-07 08:31:09 -05:00
Dan Stillman
d871e2540b Revert "Make citing work via right-click"
This reverts commit f95832d4a9.

No longer necessary with deasyncification.
2016-03-07 07:33:37 -05:00
Dan Stillman
285dac425c Fix proxy saving/deleting for async DB 2016-03-06 16:48:00 -05:00
Dan Stillman
244a52ad22 Merge branch '4.0' 2016-03-06 01:20:51 -05:00
Dan Stillman
cdac94f8f9 Update citeproc-js to 1.1.71 2016-03-05 22:39:44 -05:00
Simon Kornblith
f95832d4a9 Make citing work via right-click
Drag and drop and WP integration are still TODO
2016-03-05 19:29:24 -05:00
Simon Kornblith
22026e5cfb Fix sandbox permissions issue with .length on nested translators
Addresses #520
2016-03-05 17:41:15 -05:00
Dan Stillman
685954a487 Fix translation breakage in Firefox 45
"new" now required before XMLHttpRequest() in chrome code
2016-03-05 01:51:28 -05:00
Dan Stillman
3abb77d318 Add gray and 48px webpage icons for use in Chrome 2016-03-05 01:28:30 -05:00
Dan Stillman
612504f441 Properly select items created via Attachments.importFromURL() 2016-03-05 01:25:42 -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
ee1e8578ce Update submodules 2016-03-01 01:25:48 -05:00
Dan Stillman
878011824d Update locales from Transifex 2016-03-01 01:24:01 -05:00
Dan Stillman
2b0aaf6314 Fix potential crash when dragging collection to another library
Fixes #141, Error dragging collection containing standalone note to library
where note isn't standalone
2016-03-01 01:18:52 -05:00
Dan Stillman
d102e32f7d Fix potential crash when dragging in files on some systems
This might fix https://forums.zotero.org/discussion/57031
2016-02-24 04:03:05 -05:00
Dan Stillman
72302c8e24 Make selected, onfocused tree row highlight color on Linux more distinct
By default it's very close to the alternating row color (even in Places)

https://forums.zotero.org/discussion/56942/
2016-02-20 17:33:53 -05:00
Dan Stillman
c813df84dd Show proper error message on Firefox login manager service failure
If the XPCOM service can't even be retrieved, show the same message as
when there's an error finding logins.
2016-02-15 01:47:11 -05:00
Dan Stillman
45c2265c1e Update DB query return value check in Collection::getChildItems() 2016-02-11 15:07:41 -05:00
Dan Stillman
4d85866ade Fix translation breakage after 7c41618a4 2016-02-11 15:06:17 -05:00
Dan Stillman
7c41618a42 Asyncify Zotero.Translate.ItemGetter.prototype.setCollection()/setAll()
And some of the calling functions, but there's a lot more to do.

Addresses #520 and #734
2016-02-11 04:25:44 -05:00
Dan Stillman
ad0d6765d7 Fix Zotero.Attachments.linkFromDocument() 2016-02-11 02:54:52 -05:00
Dan Stillman
e137a05201 Merge branch '4.0' 2016-02-11 02:33:16 -05:00
Dan Stillman
5f3313d132 Restore proper sizing of toolbar icons on HiDPI Windows/Linux
I guess the idea that switching to PNGs obviated the need for this was wishful
thinking (though it doesn't seem to be necessary for the single buttons anymore
on Linux, and it's no longer necessary on OS X, which has generally saner
styling in Firefox).
2016-02-10 05:21:27 -05:00
Dan Stillman
88f1636d08 Toolbar icon tweaks
- Fix spacing on Windows and Linux in latest Firefox versions
- Tweak icon colors on Windows and OS X
- Adjust Z SVG to take up full height, so Z is a full 16px instead of
  14px with slight anti-aliasing
- Use generated PNGs instead of SVG for Z toolbar icons, to remove the
  need for complicated size rules
- Add separate platform-specific .svg files that are used by a
  zotero-build script, make-z-icons, to generate the Z PNGs; the main
  SVG is still used directly in the menu panel and customization
  palette, with platform media queries to determine the coloring
2016-02-10 03:33:01 -05:00
Dan Stillman
dd334ac413 Merge locales from Transifex 2016-02-08 23:49:36 -05:00
Dan Stillman
24e8c2e8cb Closes #758, Replace tab icon
Switch to red Z alone. Only 16px for now, since that's what we have in the red
Z.
2016-02-08 02:18:48 -05:00
Dan Stillman
64e7738bd3 Fix switching into tab mode 2016-02-08 01:37:48 -05:00
Dan Stillman
092a0b5560 Log some additional Standalone startup errors 2016-02-08 00:57:09 -05:00
Dan Stillman
99007af1f9 Fix Standalone startup 2016-02-07 01:51:07 -05:00
Dan Stillman
a20a6c86bc Closes #899, Setting max chars to 0 should disable full-text indexing 2016-02-07 01:01:26 -05:00
Dan Stillman
892708d071 Include path in debug output when nsIFile is passed to getContentsAsync() 2016-02-06 15:20:17 -05:00
Dan Stillman
bbdfebf8f6 Avoid repeated search when clearing quick search bar 2016-02-06 15:20:02 -05:00
Dan Stillman
6f1905bcfc Merge new English strings 2016-02-06 05:09:11 -05:00
Dan Stillman
b05f1d29aa Backport better incompatible-DB-version handling from 2177a000ea
Implements #891 for 4.0
2016-02-06 04:59:15 -05:00
Dan Stillman
3b402c564c Closes #900, Change fields order for cases in system.sql 2016-02-06 04:12:07 -05:00
Dan Stillman
49068d1d35 Initialize styles in Cite prefpane if not yet loaded
Fixes #904
2016-02-06 03:30:54 -05:00
Dan Stillman
27de351615 Fix middle pane status messages while using quick search 2016-02-06 03:26:31 -05:00
Dan Stillman
47e9f82927 Avoid repeated file existence checks for some files in getImageSrc() 2016-02-06 03:26:01 -05:00
Dan Stillman
1855b5e1f9 A couple better error messages 2016-02-04 04:05:58 -05:00
Dan Stillman
72c927c840 Fix Zotero.Utilities tests, which were being skipped accidentally
Unfortunately this will need to be partly redone, since retrieveItem(), and
therefore itemToCSLJSON(), and therefore itemToExportFormat(), need to be
synchronous. The item data load statements in itemToExportFormat() will
probably need to be performed earlier, when they can be async, and made
available to the session for retrieval by retrieveItem(), but I'll let someone
more familiar with the citation infrastructure do that.

This restores some code in retrieveItem() that may have been accidentally
removed in a merge, though it probably won't be useful anymore anyway.

Addresses #529
2016-02-04 04:05:46 -05:00
Dan Stillman
d2d7f2368c Remove 'version' workaround now that field is named 'versionNumber' 2016-02-04 03:53:04 -05:00
Dan Stillman
9765d06d1d Use "new" with File constructor, which now requires it 2016-02-03 12:30:24 -05:00
Dan Stillman
7474b31e96 Don't hang if Zotero.debug() is called on a window 2016-02-03 01:19:44 -05:00
Dan Stillman
9c2a7a9e77 Only retry file sync requests once after 500 error in tests
Now that 500 errors are retried in file downloads (ec28c5a3), we have to
override the default backoff schedule in order to get expected failures.

This also fixes an error that occurred on a retried download.
2016-02-03 01:19:15 -05:00
Dan Stillman
9fb85a263a Fix LIKE errors in Fx44
In Fx44, SQL queries must use '?' with LIKE and cannot concatenate a
placeholder string (e.g., 'foo%'). This is for Sqlite.jsm only, so it
doesn't affect 4.0.
2016-02-03 01:13:30 -05:00
Dan Stillman
7c7ea6a66d Fix PDF recognition
But leave tests disabled, since they should maybe be mocked?
2016-02-02 06:47:54 -05:00
Dan Stillman
8a85114c13 Update comments to recommend Zotero.HTTP.request() instead of .promise() 2016-02-02 05:31:35 -05:00
Dan Stillman
e8046d8ad2 Use Promise.coroutine() instead of Zotero.spawn() for saveItems()
(Use -w for diff)
2016-02-02 05:30:54 -05:00
Dan Stillman
a6caa14412 Fix Add Item by Identifier (and search translation in general) 2016-02-02 05:29:02 -05:00
Dan Stillman
741ca99c10 Restore open/save dialog when cancelling MIME type intercept
Behavior from #617 apparently got lost in the transition to master
2016-02-02 02:51:52 -05:00
Dan Stillman
d0a99fc0a1 Merge branch '4.0' 2016-02-02 02:44:51 -05:00
Dan Stillman
04d957a95c Fix "Add Identifier by ID" in Fx45
const doesn't create a property on the global object in Fx45
2016-02-02 02:03:46 -05:00
Dan Stillman
ef180d190f Update submodules 2016-02-01 04:43:49 -05:00
Dan Stillman
6b93704006 Update locales from Transifex 2016-02-01 04:41:11 -05:00
Dan Stillman
950e1a5047 Don't call stop handler twice in storage stream listener
The second status code would be 0, so it could result in spurious
S3 retries.

Backported from master
2016-02-01 04:20:22 -05:00
Dan Stillman
ec28c5a35d Retry S3 requests on 500 or 503 in addition to interruption
And adjust S3 success/backoff counters on success
2016-02-01 03:58:45 -05:00
Dan Stillman
eb85fdc42e An invalid translator file shouldn't break all translation
For now, delete it and clear it from the cache so it's updated properly going
forward, but really we want to reinstall the correct file automatically
(#903).
2016-01-29 05:34:26 -05:00
Dan Stillman
ab9330d88e Don't show open/save dialog in addition to style installation prompt
This apparently has been happening for a year, since #617.

Might be better to show open/save on cancel, as implemented for the
RIS/BibTeX prompt in 4ecdd55 (which caused this), but that would have to
wait for the better promise handling in 5.0. Doing "Save Link As..." for
a CSL file also seems a bit more straightforward than for RIS/BibTeX,
which can be served in complicated ways.
2016-01-23 02:26:06 -05:00
Dan Stillman
31d2f6aecb Merge branch '4.0' 2016-01-22 01:10:56 -05:00
Dan Stillman
e206d70595 Fix "undefined" prefix from md5Async() 2016-01-22 01:10:08 -05:00
Dan Stillman
bf58ba6faa Fix remaining old-style array comprehensions 2016-01-20 01:26:41 -05:00
Dan Stillman
3071b8093b Merge branch '4.0' 2016-01-20 01:23:02 -05:00
Dan Stillman
e873617890 Fix trashing of descendant items when deleting a collection
Also allows 'collections' property to be passed to
createDataObject()/createUnsavedDataObject() in tests.
2016-01-18 13:50:46 -05:00
Dan Stillman
a80f130997 Avoid temporary table when getting tags for current view
Instead, pass ids directly to SQLite. This seems to take about the same
amount of time or a little less (by avoiding the time it takes to start
a transaction) and avoids blocking other transactions when switching
views.
2016-01-18 13:50:46 -05:00
Dan Stillman
5ef89b1d0f Speed up DB methods slightly by avoiding unnecessary yields
And tidy some things up
2016-01-17 00:50:17 -05:00
Dan Stillman
0a5e31a4e1 Fix crashes due to "Parameter 4 is undefined" error
Broken in 7d404e8d4a
2016-01-14 19:42:25 -05:00
Dan Stillman
da71d6201a Fix file sync error due to Zotero.Utilities.Internal.md5() brokenness
Broken in 7d404e8d4a
2016-01-14 19:25:15 -05:00
Dan Stillman
c4d67c5b5e Don't unlink sync account in prefs when offline 2016-01-14 13:04:29 -05:00
Dan Stillman
99bba5d198 Allow Zotero.HTTP.request() for non-HTTP URLs when offline
Otherwise Zotero throws an error at startup when offline.
2016-01-14 12:47:52 -05:00
Dan Stillman
f05b98ba20 Fetch top-level items before other items when syncing 2016-01-14 01:50:13 -05:00
Dan Stillman
cd41609761 Improve debug logging for database transactions
Among other things, add an id to each DB transaction for better tracking
2016-01-13 04:24:27 -05:00
Dan Stillman
02eea99128 Get latest cache object versions in bulk during sync downloads 2016-01-12 21:57:00 -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
02b29ff14b Fix SQL error switching from ZFS to WebDAV 2016-01-09 17:02:13 -05:00
Dan Stillman
d53b9b993f Fix 'debug: false' option in DB.queryAsync() 2016-01-09 16:59:10 -05:00
Dan Stillman
d0d818840a Switch temp table inserts from SELECT...UNION to VALUES (x),(x)...
Supported as of SQLite 3.7.11

Also use hard-coded values instead of bound params
2016-01-09 16:58:40 -05:00
Dan Stillman
2ac27be95e Upgrade to Bluebird 3.1.1 2016-01-08 21:07:10 -05:00
Dan Stillman
a8c364d830 Remove duplicate ItemFields.isMultiline method 2016-01-08 04:31:28 -05:00
Dan Stillman
9fb42b6788 Fixes #890, Use text area for Book Title 2016-01-08 04:30:47 -05:00
Dan Stillman
08562e50cd Fixes #877, getPrimaryIDForType doesn't work due to typo 2016-01-08 03:44:38 -05:00
Dan Stillman
818ef28f88 Fixes #876, Uncaught error in getTypesForItemType with valid input 2016-01-08 03:43:10 -05:00
Dan Stillman
703cfd1fc5 Closes #521, [Async DB] Update DB integrity check for new schema
Most checks are now just foreign key checks and can be checked with
"PRAGMA foreign_key_checK".

The DB Repair Tool will need to be updated to handle the new schema (but
still accept the old one).
2016-01-08 03:09:55 -05:00
Dan Stillman
4a5de628ce Fix WebDAV test failure 2016-01-07 16:48:57 -05:00
Dan Stillman
739365fd28 Return boolean from Zotero.Library::hasItems()
Fix test breakage in 2e389de47
2016-01-07 16:27:36 -05:00
Adomas Venčkauskas
2e389de471 Closes #833, Displays a warning dialog if API key present but library empty 2016-01-07 21:11:20 +00:00
Adomas Venčkauskas
77a95b5e6d Closes #886, Fixes auth form showing until key info check finishes 2016-01-07 21:11:06 +00:00
Dan Stillman
1415b9fe45 Fix ZFS purgeDeletedStorageFiles() 2015-12-30 05:14:51 -05:00
Dan Stillman
2177a000ea Closes #891, Better incompatible-DB-version handling
Fixes the incompatible-version dialog and adds info on the version used
to upgrade the database, which may be helpful for troubleshooting.

Also fixes showing of the Zotero toolbar icons even in case of a startup
error.
2015-12-30 05:14:50 -05:00
Dan Stillman
0173e9084d Resize Sync prefpane after init
Otherwise things can get cut off the bottom
2015-12-30 05:14:50 -05:00
Dan Stillman
c5a9987f37 WebDAV file sync overhaul for 5.0
Also:

- Remove last-sync-time mechanism for both WebDAV and ZFS, since it can
  be determined by storage properties (mtime/md5) in data sync
- Add option to include synced storage properties in item toJSON()
  instead of local file properties
- Set "Fake-Server-Match" header in setHTTPResponse() test support
  function, which can be used for request count assertions -- see
  resetRequestCount() and assertRequestCount() in webdavTest.js
- Allow string (e.g., 'to_download') instead of constant in
  Zotero.Sync.Data.Local.setSyncState()
- Misc storage tweaks
2015-12-30 05:14:50 -05:00
Dan Stillman
6844deba60 Disable foreign key checks during schema modifications
Otherwise renaming a table causes existing foreign keys to be renamed.
2015-12-29 23:44:16 -05:00
Dan Stillman
8933e3b586 Item.toJSON() should output unset mtime/md5 as null, not undefined 2015-12-22 01:49:45 -05:00
Adomas Venčkauskas
8e0e86e59c Closes #882
Hide password in debug output of key request
2015-12-20 13:46:58 +00:00
Dan Stillman
cfee7ea9d2 Merge pull request #879 from adomasven/feature/transparent-api-keygen
Restores the functionality of 4.0 for sync settings
2015-12-14 19:28:56 -05:00
Adomas Venčkauskas
ffd9a07164 Restores sync credential functionality of 4.0.
Improves UX of sync authentication.
The account is now linked and unlinked and an API key related to
the client is generated transparently in the background.
The API key is deleted on unlinking.
No sync options are allowed before linking an account.
2015-12-14 23:55:28 +00:00
Dan Stillman
faf3b94b64 Clear existing DB user values when reinitializing Users for tests 2015-12-10 20:34:41 -05:00
Dan Stillman
0673face28 Update submodules and maxVersion 2015-12-10 16:33:51 -05:00
Dan Stillman
177dac3fd2 Closes #805, Translation shouldn't create new item in My Publications
And in download overlay, save and switch to My Library if My
Publications is selected.
2015-12-10 01:11:41 -05:00
Dan Stillman
18349b2232 Restore certificate checking for API syncing errors
Closes #864

This adds a 'channel' property to Zotero.HTTP.UnexpectedStatusException,
because the 'channel' property of the XHR can be garbage-collected
before handling, and the channel's 'securityInfo' property is necessary
to detect certificate errors.
2015-12-09 04:11:27 -05:00