Commit graph

460 commits

Author SHA1 Message Date
Dan Stillman
e45ca4edad Support deleted property for collections and searches
This lays the groundwork for moving collections and searches to the
trash instead of deleting them outright. We're not doing that yet, so
the `deleted` property will never be set (except for items), but this
will allow clients from this point forward to sync collections and
searches with that property for when it's used in the future. For now,
such objects will just be hidden from the collections pane as if they
had been deleted.
2021-01-13 00:49:12 -05:00
Dan Stillman
80b8280e9d Update submodules 2021-01-10 14:58:37 -05:00
Fletcher Hazlehurst
36d81e839c Use ace-builds NPM package 2020-12-18 10:45:38 -07:00
Dan Stillman
87352822fa Delay properly on 429 response in syncAPIClient
ConcurrentCaller wasn't waiting properly if start() was called again
while it was pausing, so 429 caused an immediate retry, which is pretty
much exactly what you don't want a 429 to do.
2020-12-11 02:02:20 -05:00
Dan Stillman
07874d84bd
Merge pull request #1909 from fletcherhaz/snapshot
Update SingleFile for bug fixes
2020-11-17 16:02:13 -05:00
Dan Stillman
d5ac87648b Update submodules 2020-11-04 15:04:44 -05:00
Fletcher Hazlehurst
a2620b757d Update SingleFile and fix several bugs
- Using `sandboxPrototype` properly uses window as prototype
- This commit removes the need for our patch in babel-worker.js:
3d0bc4cf9f
- We properly inject into frames in the client if we ever include frames
2020-11-02 17:24:14 -07:00
Dan Stillman
daefc9c0ae Downgrade SingleFile module
4be877ca1e
breaks some things in our hidden browser. They can probably all be fixed
by adding `window.` (e.g., `setTimeout()` → `window.setTimeout()`), but
for now just use the commit before that one.
2020-10-24 01:15:21 -04:00
Dan Stillman
e31fa0b150 Update SingleFile submodule
Fixes resizing issue from
https://forums.zotero.org/discussion/85789/zotero-connector-zooms-web-pages-to-very-small-sizes
in Firefox, though seemingly not in Chrome (#1907)
2020-10-24 00:42:10 -04:00
Dan Stillman
bdc3cfcb97 Remove SingleFileZ submodule
Follow-up to 76ae5d9f59
2020-10-24 00:06:01 -04:00
fletcherhaz
76ae5d9f59
Switch back to SingleFile from SingleFileZ (#1904)
Our SingleFileZ integration would save images inside directories following the
SingleFileZ format. However, Zotero does not support syncing sub-directories of
attachments. This commit switch back to a single HTML file with base64 encoded
resources. We think that the 33% increase in resources will be offset by the
compression of HTML and removal of JavaScript and unused CSS.

This commit does not fix past snapshots that were saved using SingleFileZ.
2020-10-23 19:39:07 -04:00
Dan Stillman
93d3a4be7a Update translators 2020-10-15 17:42:38 -04:00
Dan Stillman
828ec4010e Don't allow items to be set as their own parents, and correct existing 2020-10-14 19:33:46 -04:00
Fletcher Hazlehurst
9b9bafe48e Update SingleFileZ submodule 2020-10-12 17:28:04 -06:00
Dan Stillman
dc41e82833 Update submodules 2020-10-03 17:51:07 -04:00
Dan Stillman
20c8cede4d
Merge pull request #1846 from fletcherhaz/snapshot
Use SingleFile to create snapshots of web pages
2020-09-24 18:08:34 -04:00
Fletcher Hazlehurst
0fba08b3c9 Use SingleFile to create snapshots of web pages 2020-09-23 09:37:09 -07:00
Dan Stillman
fa8e25eaca Update submodules 2020-07-22 18:40:20 -04:00
Dan Stillman
3e8f0af583 Schema upgrade debugging
Include flags in repo update checks indicating whether a database table
that was previously supposed to be removed was removed and whether a new
table was created. This should help us figure out whether we can safely
perform schema update steps or whether we need to figure out why some
schema update steps aren't being applied.
2020-06-21 03:08:03 -04:00
Dan Stillman
c1839596cf Update submodules 2020-06-12 13:50:55 -04:00
Dan Stillman
482b8b6f75 Update locales from Transifex 2020-06-11 04:21:07 -04:00
Dan Stillman
b2c03a9a3e Update submodules 2020-05-18 01:38:59 -04:00
Dan Stillman
b03a49ce33 Update submodules 2020-05-12 17:48:58 -04:00
Dan Stillman
849d52f1bb Update submodules 2020-05-09 03:20:53 -04:00
Dan Stillman
a416400036 Update locales from Transifex 2020-05-09 03:18:14 -04:00
Dan Stillman
595ba396ef Fix invalid relations from copying invalid feed item to collection
Prior to fdfa8052d1, it was possible to create an item in a feed
library using Add Item by Identifier. If you did that, and then copied
it to a collection in your personal library, it would somehow end up
with an owl:sameAs relation to a `/users/local` URI (probably because
the URI functions don't work properly on a feed library).

This will clean up such relations in a schema update.
2020-04-17 05:42:21 -04:00
Dan Stillman
7fe1dec173 Update translators 2020-03-23 16:05:26 -04:00
Dan Stillman
d95b507ea0 Update locales from Transifex 2020-03-23 16:05:26 -04:00
Dan Stillman
52d5b68564 Update 'type:' handling when migrating Extra lines
- When changing type based on 'type:' line, move existing fields that
  are no longer valid to Extra
- Remove 'type:' line with CSL type if the item's existing type is one
  of the types mapped to it
2020-03-22 15:19:24 -04:00
Dan Stillman
fe9f2ebe01 Update locales from Transifex 2020-02-24 18:48:09 -05:00
Dan Stillman
1a532d3915 Update submodules 2020-02-24 13:27:58 -05:00
Dan Stillman
c81ac1f642 Update global schema to fix "undefined" in Advanced Search "More" menu 2020-02-06 20:08:29 -05:00
Dan Stillman
e6ab5b8889 Update submodules 2020-01-21 19:23:41 -05:00
Dan Stillman
5276cef7d2 Update schema submodule and document chrome.manifest locale dependencies 2020-01-18 17:37:32 -05:00
Dan Stillman
1a790c0c3f Update submodules 2020-01-06 16:04:57 -05:00
Dan Stillman
f7d895ab52 Fix database after direct upgrade from Zotero 4 to 5.0.78-79 2019-12-03 14:03:22 -07:00
Dan Stillman
133b2b83d8 Update submodules 2019-12-01 01:51:55 -07:00
Dan Stillman
c6927643ab Update submodules 2019-11-30 01:17:11 -07:00
Dan Stillman
47d8a54600 Fix invalid tab characters in abbreviations.json
Regression from 1389d8917

(I'm not sure why there are spaces in the middle of this entry, but this
reverts it to what it was before.)
2019-11-23 00:49:21 -07:00
Dan Stillman
1389d89177 Pretty print abbreviations.json for easier editing and smaller diffs 2019-11-15 23:42:21 -05:00
Dan Stillman
5791ffeb16 Reactify item tags box
Improvements:

- Fixes autocomplete text remaining in field after selection in Fx60
- No more text or icon shifting on select (tested on macOS)

Changes:

- Tags are now selected on mousedown with no active state, as in web
  library

Regressions:

- Tooltip with tag type doesn't appear when hovering over icon
- Pressing Tab after modifying a tag loses focus
- Right-click in textbox shows custom menu instead of default text
  editing context menu (Cut/Copy/Paste)

To-do:

- Switch to this version for note tags box
- Style colored tags in autocomplete drop-down? Sort to top?
- Only show delete button on row hover, as in web library?
2019-11-08 06:41:06 -05:00
Dan Stillman
d4f682aa88 Merge branch 'fx60' 2019-10-21 21:44:01 -04:00
Dan Stillman
85a9acd403 Update submodules 2019-10-14 01:41:13 -04:00
Dan Stillman
4e63cfd40e Update submodules 2019-10-08 01:10:34 -04:00
Dan Stillman
4b60c6ca27 Type/field handling overhaul
This changes the way item types, item fields, creator types, and CSL
mappings are defined and handled, in preparation for updated types and
fields.

Instead of being predefined in SQL files or code, type/field info is
read from a bundled JSON file shared with other parts of the Zotero
ecosystem [1], referred to as the "global schema". Updates to the
bundled schema file are automatically applied to the database at first
run, allowing changes to be made consistently across apps.

When syncing, invalid JSON properties are now rejected instead of being
ignored and processed later, which will allow for schema changes to be
made without causing problems in existing clients. We considered many
alternative approaches, but this approach is by far the simplest,
safest, and most transparent to the user.

For now, there are no actual changes to types and fields, since we'll
first need to do a sync cut-off for earlier versions that don't reject
invalid properties.

For third-party code, the main change is that type and field IDs should
no longer be hard-coded, since they may not be consistent in new
installs. For example, code should use `Zotero.ItemTypes.getID('note')`
instead of hard-coding `1`.

[1] https://github.com/zotero/zotero-schema
2019-09-16 02:27:22 -04:00
Dan Stillman
f292d9c030 Clarify translator/style repository update modes 2019-09-16 00:51:33 -04:00
Dan Stillman
3f3b6501ce Update whitelist for TinyMCE 2019-09-16 00:38:47 -04:00
Dan Stillman
ee5302f893 Add 'zotero/' prefix for Zotero-specific modules
Pulling from chrome/content/zotero/modules/

This may or may not be what we want to do, but it's better than
intermingling our modules with third-party modules in 'resource/'.
2019-08-27 00:47:39 -04:00
Dan Stillman
0165f75f79 Stub Promise.defer() to avoid the Bluebird deprecation warnings
We should indeed use `new Zotero.Promise`, but we don't need the
warnings for existing code.
2019-08-27 00:47:39 -04:00
Dan Stillman
78e9db9523 Fx60: Fix issues with JS code modules
- The Mozilla CommonJS loader is no longer available, so bundle the
  Fx52 version of it
- Strict mode is enforced
- `this` is only defined as a global object in .jsm files, not .js files
- `this` can't be converted to a string for BackstagePass test, so check
  for presence of Components.utils.import instead
- The return value from import() is no longer available
2019-08-27 00:47:39 -04:00