Commit graph

1507 commits

Author SHA1 Message Date
Abe Jellinek
8d825f641a
Fix segfault when hyphenating text in main process (#3388) 2023-09-14 02:48:50 -04:00
Dan Stillman
647e45c115 Use mixed-case DOI in retraction tests
https://forums.zotero.org/discussion/comment/442114/#Comment_442114 is
being fixed on the server, but test it here.
2023-09-03 18:51:50 -04:00
Abe Jellinek
85cade3fb2
Make preferences less janky, preload panes on hover, allow panes to delay visibility until promise resolves (#3363)
Prevents flashes of unlocalized labels and controls without values set.
Makes switching panes feel speedier overall because of preloading.

I thought there was an issue for the flashes of uninitialized content but can't
find it now.
2023-08-26 05:57:38 -04:00
Dan Stillman
fb96cd595d Add startHTTPServer() support function
Centralize httpd creation and add automatic retry to try to deal with
NS_ERROR_SOCKET_ADDRESS_IN_USE errors in CI.
2023-08-16 01:16:49 -04:00
Dan Stillman
9dd182e9ca Collection tree selection fixes
Fixes various logic around what gets selected when collections and
searches are moved to or restored from the trash (which has never been
exposed) or when they're erased
2023-08-11 04:16:42 -04:00
Dan Stillman
69ba2310a2 Actually fix NS_ERROR_SOCKET_ADDRESS_IN_USE during tests 2023-08-09 08:05:30 -04:00
Dan Stillman
3b04c012b3 Fix --openssl-legacy-provider issue when tests need to build reader 2023-08-09 07:27:22 -04:00
Dan Stillman
4ac3128b17 Use more ports for attachment tests
To try to avoid this stupid NS_ERROR_SOCKET_ADDRESS_IN_USE error
2023-08-07 17:36:19 -04:00
Dan Stillman
ae8ed58383 Disable PDF reader tests 2023-08-07 16:27:23 -04:00
Abe Jellinek
2ef560f7d8 Extract ISBNs and DOIs from EPUB content (#64)
And move EPUB functionality to class.
2023-08-07 16:07:55 -04:00
Abe Jellinek
cab0fa93e7 Extend Retrieve Metadata to support EPUBs (#57) 2023-08-07 16:07:55 -04:00
Abe Jellinek
ba1b1b0639 Add EPUB format to Zotero.MIME 2023-08-07 16:07:52 -04:00
Dan Stillman
9b0ce9558c
attachmentRenameFormatStringattachmentRenameTemplate (#3249) 2023-08-04 05:58:15 -04:00
Dan Stillman
02198b12fe Fix dragging to My Publications
Also:

  - Don't show file options if only linked files
  - Don't set Rights field to "All Rights Reserved" if no files
2023-07-29 02:22:20 -04:00
Dan Stillman
be1ab236c8 Better cycling through httpd.js ports to avoid CI failures 2023-07-26 07:25:22 -04:00
Dan Stillman
a376ad8762 Don't close and reopen window during WebDAV tests
With any luck this will fix the crashing we've been getting in CI.
2023-07-26 07:25:22 -04:00
Dan Stillman
630c6d0d97 Fix tags not being saved in item tags box when pressing Enter
SyntaxError: Element.querySelector: '[ztabindex=1]' is not a valid selector

https://forums.zotero.org/discussion/106405/zotero-7-changes-to-item-tag-do-not-persist
2023-07-25 05:51:41 -04:00
Dan Stillman
ed2cae9236 Adjust attachment-title handling on Rename File from Parent Metadata
Don't change the attachment title on a manual rename from metadata if it
doesn't match the current filename, with or without the extension

Closes #3220
2023-07-25 01:48:23 -04:00
Abe Jellinek
676f820f87
Strip bidi control characters in filenames and elsewhere (#3208)
Passing unformatted = true to Item#getField() now returns a bidi control
character-less result, and we use that in Reader#updateTitle() and
getFileBaseNameFromItem() to prevent bidi control characters from showing up in
filenames and window titles (the former everywhere, the latter on Windows only).

We also strip bidi control characters in getValidFileName() to be extra safe.
2023-07-22 03:30:28 -04:00
Tom Najdek
0ba766f2e0
Customizable renaming rules #1413 (#2297) 2023-07-20 06:50:34 -04:00
Dan Stillman
d7449b4d78 Fix merging of group attachments with annotations created by another user
https://forums.zotero.org/discussion/106197/merge-in-group-library-fails-despite-having-edit-permissions
2023-07-13 19:58:47 -04:00
Dan Stillman
21c05bb8d7 Cycle through httpd.js ports to prevent CI failures in ZoteroPane tests
And remove unused XHR mock
2023-07-06 19:22:05 -04:00
Dan Stillman
14f7d3acad Cycle through httpd ports to prevent CI failures
We didn't seem to be doing this anymore, even though we had a comment
for it, and some tests were failing with NS_ERROR_SOCKET_ADDRESS_IN_USE.
2023-06-19 06:54:19 -04:00
Abe Jellinek
2639981dda
Block remote content when indexing HTML file (#3157) 2023-06-12 23:43:18 -04:00
Dan Stillman
117dbe1fe0 Clear Zotero.skipLoading after data directory tests
This was causing a startup error in the re-enabled debug output tests,
which don't reset app state.
2023-05-25 05:45:53 -04:00
Abe Jellinek
794b27c1ad Test debug output logging again
Now that we run tests in Zotero with application menus.
2023-05-24 20:59:29 +03:00
Dan Stillman
722287b81a Switch back to @mozilla.org/browser/clh;1 and fix tests
In Firefox 102, `-file` was being swallowed by `nsBrowserContentHandler`
in BrowserContentHandler.jsm, so ab7d916e0 overrode that by using the
same contract id for our main nsICommandLineHandler in
zotero-service.js. But `nsBrowserContentHandler` also handles `-chrome`,
which we were using in tests to pass runtests.html. There's no need to
pass in dynamically though -- we can just hard-code that and open the
window ourselves.
2023-05-24 08:21:16 -04:00
Abe Jellinek
caa1036da2 Remote translation: Don't use wantGlobalProperties
Not necessary - just use the properties we inherit from contentWindow. This
fixes the DOMParser constructor, which fails if called without a window context
from a non-system principal.

https://forums.zotero.org/discussion/105163/zotero-7-doi-translator-broken-in-scaffold
2023-05-23 22:30:24 +03:00
Dan Stillman
55fe6f33f5 fx-compat: Fix XMLSerializer calls
https://forums.zotero.org/discussion/105118/zotero-7-error-upon-exporting-in-mods-format
2023-05-22 01:34:41 -04:00
Abe Jellinek
fa31956d28
fx-compat: Fix feed button appearance/overflow behavior (#3114) 2023-05-09 16:38:33 -04:00
Dan Stillman
f21ca49d83 Fix sync engine tests after 00703c0b8 2023-05-05 06:38:00 -04:00
Dan Stillman
e6776fd922 Skip 32-bit Linux build in CI or tests 2023-04-30 06:10:14 -04:00
Dan Stillman
296c0142f2 fx-compat: OS.File.read()IOUtils.read() in getContentsAsync()
https://firefox-source-docs.mozilla.org/dom/ioutils_migration.html

This also fixes a bug when `getContentsAsync()` is passed an
`nsIInputStream` or `nsIChannel` where raw bytes were returned instead
of a string. Not sure if we're doing that anywhere. If we are, this
would presumably break that code, but the function is supposed to return
a decoded string.
2023-04-30 05:23:41 -04:00
Dan Stillman
0858960d33 Better logging for request count mismatches in Find Available PDF tests 2023-04-29 17:50:49 -04:00
Dan Stillman
c326a6c971 Fix more files for combined repos 2023-04-29 07:50:54 -04:00
Dan Stillman
79ef3e3571 Fix path to staging Zotero in test runner on Linux 2023-04-29 07:22:02 -04:00
Dan Stillman
78cc8cc8c9 Don't open Error Console when running tests in CI 2023-04-29 07:14:51 -04:00
Dan Stillman
9a5275b92a Stop bundling the PDF tools 2023-04-29 07:14:51 -04:00
Dan Stillman
a497f501e9 Update pdf-worker and update full-text test
Strip '\f' at end of extracted text and ignore '\n' in the middle of
text from the test PDF
2023-04-29 04:56:28 -04:00
Dan Stillman
26dade03f2 Z7: Fix ZoteroPane tests 2023-04-29 04:27:48 -04:00
Dan Stillman
8fc94a5560 Z7: Fix loadPrefPane() test support function 2023-04-29 04:21:09 -04:00
Dan Stillman
7e6af7f541 Remove executable version output in test runner
Now that we're using our own build, we output it in other places
2023-04-29 04:20:33 -04:00
Dan Stillman
95455dbd83 Fix tagsbox tests after shadow root removal 2023-04-29 03:15:15 -04:00
Dan Stillman
4a77bc4be0 fx-compat: Update conflict resolution merge window (#3090)
Tests passing, but not yet styled properly
2023-04-29 03:13:53 -04:00
Dan Stillman
dbefdaac2c Update snapshot tests for new SingleFile markup 2023-04-28 02:18:52 -04:00
Dan Stillman
46d0ce3cbf Don't load example.com in /saveSnapshot tests 2023-04-28 02:18:19 -04:00
Dan Stillman
fa143f1ea4 Z7: Update retractions tests 2023-04-28 01:54:00 -04:00
Dan Stillman
5f631ff0af Add delay() test support function
`Zotero.Promise.delay()` wrapper
2023-04-28 01:54:00 -04:00
Dan Stillman
ed224dce34 Z7: Update relatedbox tests 2023-04-28 01:54:00 -04:00
Dan Stillman
82b4943d13 Z7: Update note editor tests 2023-04-28 01:54:00 -04:00
Dan Stillman
2c995c913e Z7: Update items test for andJoiner delimiters 2023-04-28 01:54:00 -04:00
Dan Stillman
b6522ae3f5 Z7: Update item pane teets 2023-04-28 01:54:00 -04:00
Dan Stillman
43ba4c3620 Don't check for .zotero-ft-info in test
No longer created
2023-04-27 03:48:49 -04:00
Dan Stillman
f95a6d0f0a Rename Zotero.Fulltext tests to Zotero.FullText 2023-04-27 03:48:01 -04:00
Dan Stillman
3ba78e28bb Update connectorTypeSchemaData and test data for Dataset Number removal 2023-04-27 03:44:25 -04:00
Dan Stillman
2e081ce8d2 Fix RemoteTranslate test after b222bbcccb
And remove duplicate test
2023-04-27 01:05:02 -04:00
Dan Stillman
57a60c1946 Update runtests.sh for combined repos 2023-04-27 01:05:02 -04:00
Dan Stillman
947fa2b558 Ignore numeric values for Type: lines in Extra
https://forums.zotero.org/discussion/comment/433334/#Comment_433334
2023-04-26 04:55:43 -04:00
Dan Stillman
4a30dd2e4f Fix potential sync error after Replace Online Library in group
https://forums.zotero.org/discussion/104431/syncing-problem

Replace Online Library can upload annotations created by others in a
group library, so if the upload resulted in a local write, "Cannot edit
item in library" was thrown, since annotations by others aren't
writable. This should've only been a problem if the uploaded data was
actually modified by the server, but we were also checking whether
objects were editable before checking if they had actually changed, so
it would happen for any upload of another person's annotation.

This fixes the order of checks when saving objects and makes an
edit-check exception for saving uploaded data for group annotations.
2023-04-21 06:51:25 -04:00
Dan Stillman
f57c462b85 fx-compat: Don't use number as OS.Path.join() argument
It's dropped silently from the path in Fx102.
2023-04-19 17:41:11 -04:00
Dan Stillman
8e46e2a4c1 Remove obsolete install.rdf from zotero-unit 2023-04-19 17:27:06 -04:00
Abe Jellinek
a47a17852e Fix feed item drag test's after() callback 2023-04-17 16:28:10 -04:00
Adomas Venčkauskas
096a3c5f2f Add a test for feed update scroll issues. See fd744fb52 2023-04-17 12:30:31 +03:00
Dan Stillman
2397940292 Use httpd.js instead of resource:// URL for feed item drag test
Since HiddenBrowser doesn't work on resource:// URLs (at least without
modifications, and it wouldn't be representative)
2023-04-15 05:07:47 -04:00
Dan Stillman
40fd9e8759 Fix test for opening the Cite prefpane when clicking Manage Styles… 2023-04-15 03:35:17 -04:00
Dan Stillman
085a271b6c Update test prefs
Remove Firefox prefs and skip word processor integration installation,
which no longer depends on extensions being bundled.
2023-04-15 01:21:45 -04:00
Dan Stillman
2796e6c80a Fix attachment tests that depend on HTML indexing
HTML files are now indexed instead of read directly, and indexing was
previous skipped in tests and otherwise performed on a delay, so set a
flag in the affected tests that triggers inline indexing.
2023-04-15 00:24:35 -04:00
Dan Stillman
b99e581929 Fix advanced-search tests 2023-04-15 00:24:02 -04:00
Dan Stillman
033733122a
Merge pull request #2784 from AbeJellinek/fx-compat-loadDocument
fx-compat: Implement Scaffold functions, SingleFile, PDF redirects, and style installation
2023-04-14 15:07:26 -04:00
Abe Jellinek
0612a9e6f5 fx-compat: Run translation and SingleFile in [hidden] browser
And replace loadDocuments().
2023-04-14 11:44:44 -04:00
Abe Jellinek
4b99b2715d fx-compat: HiddenBrowser: Add more options
- Make docShell properties configurable
- Allow requiring a successful HTTP status code
2023-04-14 11:43:48 -04:00
Dan Stillman
33ef7b1641 Prevent setting search .name to empty value
Prevents bug in zotero-citation plugin (at least on macOS) from creating
a search that breaks syncing

We were already checking for a missing name in `saveTx()`, but the
plugin is saving the same search twice in rapid succession, the second
time without a name, and the second attempt clears the search object's
name value after the first save's `_initSave()` check and before its SQL
write. The second save fails, but the first save goes through without a
name, resulting in a sync error.

https://forums.zotero.org/discussion/104274/id-1702002152-cannot-sync
https://github.com/MuiseDestiny/zotero-citation/issues/31
2023-04-12 22:23:13 -04:00
Dan Stillman
cadfca7475 Set a default annotation color if not assigned
https://forums.zotero.org/discussion/104249/sync-issue-on-ipados
2023-04-12 22:23:13 -04:00
Tom Najdek
a6042d3958
Mendeley importer: Fix issue with empty tags (#3018)
Also adds a test for this particular case and for importing tags in
general.
2023-04-06 17:10:13 +02:00
Tom Najdek
96022847d7
Mendeley importer: Fix issue with empty creators (#3016)
It does not appear to be possible to create a creator with no values in
Mendeley, however we got reports of these causing the imports to fail.
This tweak makes the importer more resilient by discarding empty/invalid
creators.
2023-04-06 17:10:13 +02:00
Tom Najdek
197d8d1f3b
Add option to Mendeley importer to relink items
New option only appears if importer version is < 1 or not present.
It will:
    * Skip fetching collections and attachments
    * Skip any new items
    * Update relations on existing items
2023-04-06 17:10:12 +02:00
Tom Najdek
4b523555d6
Mendeley Import: Auth using direct login
* Importer will now ask user for a login and password via form and will
  perform sign-in directly using credentials rather than oauth
* Signing in this way enables importer to obtain desktop document ID
  which is now stored for each item
* It's possible to switch back to the old method (ouath) by setting
  `import.mendeleyUseOAuth` pref to `true`.
* New option to only import new items. This options only appears if
  database contains previously imported items.
* Importer will now update mendeleyDB:documentUUID on existing items to
  match value used in Mendeley Desktop if available
* Importer will no longer create collections when no new items are
  imported * Importer will only report number of new items imported on
  re-import * Importer will now preserve dateAdded on re-import

Co-authored-by: Dan Stillman <dstillman@zotero.org>
2023-04-06 17:10:12 +02:00
Abe Jellinek
f694f87d49 fx-compat: Update item pane tests 2023-04-04 14:52:10 -04:00
Dan Stillman
ab2e163234 Update test sample data for authority/legislativeBody base mapping 2023-04-03 00:41:35 -04:00
Dan Stillman
68a6441b16 Continue generating citeProcJSExport test data
Since it's needed by zotero/utilities
2023-04-02 19:05:53 -04:00
Dan Stillman
430118f071 Write out path when generating item type/field data for tests
It writes to the build folder, so it's easy to think it's not working.
2023-04-01 16:34:43 -04:00
Dan Stillman
e27c1b5335 Add Dataset and Standard item types
zotero/zotero-bits#22
zotero/zotero-bits#52
2023-04-01 16:34:43 -04:00
Dan Stillman
1aa82094f1 Better way of skipping migration of Place and Date from Extra
Or at least a way that we already have built-in and that only applies to
the call in `Zotero.Item::migrateExtraFields()`. This doesn't
distinguish between CSL fields (`publisher-place`, `event-place`,
`issued`) and actual Zotero field, and we really only need to skip
the former, but it's fine.

Follow-up to e3cfeee81, related to #3030
2023-04-01 04:52:30 -04:00
Dan Stillman
e3cfeee813 Temporarily disable extracting Issued from Extra
Until we can parse ranges in the Date field. See #3030.

citeproc-js will still use it (which is the point).
2023-04-01 04:52:14 -04:00
Tom Najdek
01611cbb07
Temporarily disable folder import #2862 2023-03-23 14:16:51 +01:00
Tom Najdek
5ea43bd65c
fx-compat: Convert import wizard to use CE 2023-03-21 20:42:43 +01:00
Tom Najdek
2820add3d1
Add bulk folder import #2252 2023-03-21 20:38:39 +01:00
Tom Najdek
13cc393840
fx-compat: long tag fixer (#2649)
* Manual tag splitting from tag selector
* Only apply split to the tag in current library
* Preserve tag type
2023-03-16 21:20:11 -04:00
Abe Jellinek
fd85411e26
Preserve capitalization in Zotero.HTTP.request() headers (#3002) 2023-02-24 02:15:07 -05:00
Adomas Ven
ba06db2e19 Remove firefox-zotero IPC pipe and switching code (#2990) 2023-02-24 02:11:17 -05:00
Adomas Ven
cfbfcf20bf Refactor l10n code. Remove use of react-intl. (#2975)
Strings from .dtd files are now accessible from Zotero.getMessage
as the eventual move to Fluent would remove their distinction.
2023-02-10 10:26:49 +02:00
Dan Stillman
3813456e2b Fix some lint errors in Zotero.Retractions 2023-02-10 01:55:18 -05:00
Dan Stillman
bac87cbc42 Detect retractions for DOIs with capital letters
https://forums.zotero.org/discussion/102745/retraction-watch-not-working
2023-02-10 01:55:12 -05:00
Dan Stillman
6a1f0251cd Fix incorrect retries if multiple HTTP.request() calls get 500s
https://forums.zotero.org/discussion/comment/425814/#Comment_425814

The passed intervals array was modified, so after a request() got a 500,
subsequent calls would start with longer delays and eventually start
retrying immediately.
2023-01-11 02:20:07 -05:00
Abe Jellinek
fc8a037d12 Zotero.HTTP.request(): Process headers case insensitively
Using the Headers class from the Fetch API.

Before, the added test would fail: `_requestInternal()`, not finding a header
named `Content-Type` (case sensitive), would set it to
`application/x-www-form-urlencoded`. XMLHttpRequest, upon being given both
`content-type`: `application/json`) and `Content-Type`:
`application/x-www-form-urlencoded`, would helpfully merge the two, producing
`content-type`: `application/json, application/x-www-form-urlencoded`. That's
obviously not the correct behavior.
2022-12-23 21:37:15 -05:00
Abe Jellinek
e46ffaf84b Add /connector/request endpoint 2022-12-23 21:37:15 -05:00
Adomas Venčkauskas
e59bcd2b64 Link Mendeley citations in documents to imported items. Closes #2622 2022-11-29 16:27:19 +02:00
Dan Stillman
76f2f0c783 Don't show items with annotated attachments after moving to trash
https://forums.zotero.org/discussion/100775/deleted-items-keep-reappearing-in-my-library

Regression from c3ee588bf
2022-11-28 04:34:49 -05:00
Adomas Venčkauskas
f98ab3b0a6 Import URL from XPCOM code instead of relying on window for Proxy code
Also fix other failing proxy tests. Closes #2928
2022-11-22 15:58:49 +02:00
Adomas Venčkauskas
7e4e66b54d Fix proxy test 2022-11-22 15:51:54 +02:00