Commit graph

5211 commits

Author SHA1 Message Date
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
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
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