Commit graph

6193 commits

Author SHA1 Message Date
Simon Kornblith
8e40bde671 Make QuickFormat text bigger and border smaller on OS X 2015-08-13 19:14:53 -04:00
Dan Stillman
bb785df49f Merge pull request #828 from gracile-fr/fixedCol
Forbid "Attachments" column to be resized
2015-08-13 18:35:31 -04:00
gracile-fr
2920d9ff5e Forbid "Attachments" column to be resized 2015-08-12 21:15:18 +02:00
Dan Stillman
b53892fe54 Fix various collection-dragging UI bugs
Fixes #823, hopefully
2015-08-08 17:26:42 -04:00
Dan Stillman
9fa53439ef Update hasChildCollections() when child moved to another collection 2015-08-08 16:45:51 -04:00
Simon Kornblith
50f695f298 Disable spell checking in quickformat
It basically underlines all the names, which is not useful
2015-08-08 16:38:39 -04:00
Simon Kornblith
668ca94f9e Make quickformat non-resizable 2015-08-08 16:38:17 -04:00
Simon Kornblith
6bce6b1d30 Alter quick format dialog appearance on OS X
Firefox no longer supports transparent windows because it made them do
extra preprocessing on a file to restore the drop shadow when the
Developer Edition theme was active:
https://bugzilla.mozilla.org/show_bug.cgi?id=1162649
2015-08-07 19:45:49 -04:00
Dan Stillman
5a61ac4871 Don't try to select unselectable row on library tree row removal
(If deleting a group, don't select the header or separator before it.)
2015-08-07 16:36:53 -04:00
Dan Stillman
cbf4876173 Fix attachment renaming
Fixes #822
2015-08-07 15:36:46 -04:00
Dan Stillman
06867d886e Fix note loading 2015-08-06 22:49:21 -04:00
Dan Stillman
1ecc53b099 Merge pull request #820 from aurimasv/csl-json
Fix issues with computerProgram citations
2015-08-06 18:29:06 -04:00
Dan Stillman
536cd867d7 Fix toJSON for attachment items 2015-08-06 15:55:37 -04:00
Dan Stillman
f963413170 Handle conflict resolution for remote item deletions 2015-08-06 06:03:45 -04:00
Dan Stillman
51253fb933 Delete from sync cache when deleting object 2015-08-06 05:25:45 -04:00
Dan Stillman
b5b99672db Remove some obsolete sync code 2015-08-06 04:19:53 -04:00
Dan Stillman
0aecaad761 Update conflict resolution for API syncing
This will appear much less frequently, since non-conflicting field changes on
both sides can be resolved automatically, but genuine field conflicts still
require manual conflict resolution.

The merge pane is no longer editable, since the itembox code to do that is
async and can't run in a modal window, but it's not really necessary,
particularly with conflicts happening less frequently.

TODO:

- Remote item deletions
- File conflicts
- Maybe handle some edge cases where the conflicted items fail to save
2015-08-06 04:14:49 -04:00
Dan Stillman
7b0c34a3ab Update submodules 2015-08-05 15:11:24 -04:00
Aurimas Vinckevicius
711b823552 Add tests for itemFromCSLJSON and make sure data round-trips 2015-08-04 15:22:35 -05:00
Aurimas Vinckevicius
c4cd7ce3e0 Fix import of computerProgram exported as CSL JSON 2015-08-04 15:19:33 -05:00
Aurimas Vinckevicius
bb15336fdb Fix season export in CSL JSON 2015-08-04 14:19:39 -05:00
Aurimas Vinckevicius
0fbae77456 Don't use for-in to iterate over arrays in itemFromCSLJSON 2015-08-03 16:15:24 -05:00
Dan Stillman
7075300a17 Fix hasChanged() bug related to 'synced' 2015-08-02 05:26:02 -04:00
Dan Stillman
f02a9aa95e Check remote delete log during full sync
If an object is marked as synced locally and doesn't exist remotely but
is in the remote delete log, delete it locally
2015-08-02 03:44:14 -04:00
Dan Stillman
67f4a467ea Consolidate object erase methods into DataObjects::erase() 2015-08-02 03:40:14 -04:00
Dan Stillman
4600318ad7 Support 'successful' property in upload response
Save uploaded data to cache, and update local object if necessary (which
it mostly shouldn't be except for invalid characters and HTML filtering
in notes)

Also add some upload and JSON tests
2015-08-01 05:28:42 -04:00
Dan Stillman
dce9ff304f Update cslpreview.dtd and csledit.dtd from Transifex
Fixed config file that was preventing these from being pulled

Addresses #796
2015-07-31 14:11:44 -04:00
Dan Stillman
70d9b9870c Fix a few small data layer bugs, and tidy up a little
I don't think these were triggered by any client code, but I found them while
porting code to the server.
2015-07-31 04:09:24 -04:00
Dan Stillman
535d3340e3 Update locales from Transifex 2015-07-30 16:02:07 -04:00
Dan Stillman
fc2574f7bf Update citeproc-js to 1.1.46 2015-07-30 15:52:26 -04:00
Aurimas Vinckevicius
fdd91affd9 Debugging code for checking manually modified citations
Re https://forums.zotero.org/discussion/50701/cant-insert-citationzotero-asks-to-modify-all-my-citations/
2015-07-28 22:59:32 -05:00
Aurimas Vinckevicius
1cbd7f71cf Parse author names in itemToCSLJSON 2015-07-27 18:37:45 -05:00
Dan Stillman
4e92b313c6 Update citeproc-js to 1.1.45 2015-07-26 19:11:04 -04:00
Dan Stillman
fb9109e837 Update versions and submodules 2015-07-26 18:33:04 -04:00
Simon Kornblith
125ad50698 Merge pull request #811 from zotero/sjk/810
Fix #810, memory leak
2015-07-26 17:59:17 -04:00
Simon Kornblith
954e60a83a Don't leak memory when showing the select dialog
Again, I'm pretty sure this shouldn't be necessary.
2015-07-26 14:07:04 -04:00
Simon Kornblith
51bcd2409d Fix #810, memory leak
I'm still not really sure what the problem was. But this seems to
eliminate the leak for me.
2015-07-25 14:38:27 -04:00
Dan Stillman
9000c9dcc7 Fix error saving PDF if Zotero pane hasn't been opened in window 2015-07-23 01:26:14 -04:00
Andrew Dunning
e6d1f31e46 Supply missing Œ/œ in diacriticsRemovalMap. 2015-07-21 18:08:16 -04:00
Dan Stillman
5fc2dd4d44 Fix a probably rare case of a file's not being uploaded
If a file existed locally but somehow ended up marked as to-download without
existing on the server, it was never uploaded. I'm not sure when this can
happen, but I saw it while messing around. Maybe switching between ZFS and
WebDAV?

This will still only check and upload if there's another computer syncing files
to the same library, but we'll check all files in 5.0.
2015-07-21 03:10:59 -04:00
Dan Stillman
33334d9c01 Fix excessive file sync mtime updates/checks, but for real this time 2015-07-21 02:59:12 -04:00
Dan Stillman
1fadf1150e Remove <=Fx24 file sync code 2015-07-21 02:53:17 -04:00
Dan Stillman
a452af6c3a Sort descendant collections alphabetically in advanced search window
https://forums.zotero.org/discussion/50679/
2015-07-21 00:45:30 -04:00
Dan Stillman
984789d304 API syncing megacommit
There's a lot more to do, and this isn't ready for actual usage, but the
basic functionality is mostly in place and has decent test coverage. It
can successfully upgrade a library last used with classic syncing and
pull down changes via the API. Uploading mostly works but is currently
disabled for safety until it has better test coverage.

Downloaded JSON is first saved to a cache table, which is then used to
populate other tables and later for generating PATCH requests and
automatically resolving conflicts (since it shows what was changed
locally and what was changed remotely). Objects with unmet dependencies
or unknown fields are skipped for now but don't block the rest of the
sync.

Some of the bigger remaining to-dos:

- Tests for uploading
- Re-do the preferences to get an API key
- File sync integration
- Full-text syncing integration
- Manual conflict resolution (though this already includes much smarter
  conflict handling that automatically resolves many conflicts)
2015-07-20 18:16:57 -04:00
Dan Stillman
b4a8083f2f Throw specific errors for missing objects or unknown fields
And add a bit more debugging info to other messages
2015-07-20 17:31:27 -04:00
Dan Stillman
258b70b455 Throw an error saving an empty item with no item type 2015-07-20 04:15:27 -04:00
Dan Stillman
cd4d084dd9 Support for automatically merging collections and searches 2015-07-20 02:12:14 -04:00
Dan Stillman
9d0d79c9c2 Take a promise-returning function in Utilities.Internal.forEachChunkAsync()
Instead of a promise-yielding generator
2015-07-20 02:12:14 -04:00
Dan Stillman
4f55f28e7d Honor .synced on data objects in all cases
Previously, if .synced was already true, setting it to true and saving
would result in .synced == false unless skipSyncedUpdate was passed. Now
the value assigned to .synced is always used on the next save. If the
value hasn't changed and no other values have changed, a save will be a
no-op.
2015-07-20 02:12:14 -04:00
Dan Stillman
93b5694420 Make editable/filesEditable required in Zotero.Libraries.add() 2015-07-20 02:12:14 -04:00