Commit graph

11189 commits

Author SHA1 Message Date
Dan Stillman
dc321ce643 Fix startup error on Windows
Regression from 8d3f874e64, which included this unfinished code by mistake.

Fixes #3196
2023-07-14 05:48:48 -04:00
abaevbog
0cd94555d5
prevent incorrect jumpback (#3204)
Fixes: #3152
2023-07-14 05:29:43 -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
Adomas Venčkauskas
e5d25f3d66 Fix /connector/saveSnapshot still not including info about snapshots 2023-07-12 10:21:46 +03:00
Abe Jellinek
2aa34a6346 Merge: Remove spacing from annotation regex, delete external annotation items
- `/Subtype` isn't necessarily preceded or followed by a space
- Annotation items with `isExternal: true` are for display only and should be
  deleted on merge

https://forums.zotero.org/discussion/105960/external-annotations-ignored-when-merging
2023-07-11 11:12:58 -04:00
Adomas Venčkauskas
a0cdf11096 Fix failing test from 02ba9ca7 2023-07-11 15:57:35 +03:00
Adomas Venčkauskas
02ba9ca7f0 Include information about saved snapshots in /saveSnapshot 2023-07-11 15:45:51 +03:00
Martynas Bagdonas
5928147f26 Fix middle-click selecting tab that is being closed 2023-07-11 14:02:12 +03:00
Dan Stillman
8d3f874e64 Remove all uses of Zotero.isStandalone
(View diff with -w)
2023-07-11 05:35:32 -04:00
Dan Stillman
b98efe0b67 Remove ZoteroPane.updateTagsBoxSize()
Disabled several years ago in bb5075e8b8
2023-07-11 05:35:32 -04:00
Dan Stillman
071162f914 Remove styled-textbox XBL binding 2023-07-11 05:35:32 -04:00
Dan Stillman
af892e5cbd Make annotation sortIndex more flexible 2023-07-11 05:35:32 -04:00
Abe Jellinek
b6d0ad3e05 Accept non-integer attachmentLastPageIndex 2023-07-11 05:35:32 -04:00
Martynas Bagdonas
89adf56eed Add support for text annotations 2023-07-11 05:35:32 -04:00
Martynas Bagdonas
cb14034c46 Add support for underline annotations 2023-07-11 05:35:32 -04:00
Dan Stillman
81ec8287f8 Disable attachmentContentType check to prevent sync errors 2023-07-11 05:35:32 -04:00
Dan Stillman
4a8935eefd Guidance panel fixes
- Fix missing styling in Quick Format dialog
- Fix Book Section panel being immediately hidden
- Remove low-res Zotero icon
- Increase font size and tweak padding
2023-07-11 05:35:32 -04:00
Dan Stillman
fb3466b392 Fix Ctrl-Q on Linux
Fixes #3199
2023-07-06 19:21:52 -04:00
windingwind
a2e8be2af5
Fix extremely slow binary to base64 (#3201) 2023-07-06 01:56:38 -04:00
Martynas Bagdonas
8017b2ab1b Fix extremely slow note editor image ArrayBuffer to data URL conversion 2023-07-05 19:41:32 +03:00
abaevbog
04496fadcd
only save username to prefs on successful login (#3192)
Failing to login does not update the username in prefs.

Fixes #2901
2023-07-05 04:11:56 -04:00
abaevbog
13571f9fd2
making toolbar accessible to the keyboard - initial conversion (#3188)
Port of d866a10a2b

Fixes #3001
2023-07-05 03:17:07 -04:00
Adomas Ven
aca86967bf
Merge pull request #3195 from CommonLoon102/cl102/fix-bib-indent
Fix indentation in bibliography
2023-07-03 15:19:01 +03:00
Adomas Venčkauskas
1a850d58c4 Fix the column picker not working outside of zotero pane. Closes #3162 2023-07-03 14:54:50 +03:00
CommonLoon102
b60fb28313
Fix indentation in bibliography
Fix indentation in bibliography when a new item is added and therefore the recalculation of indents are needed.

https://forums.zotero.org/discussion/23689/bibliography-indentation
2023-07-01 13:15:44 +02:00
Dan Stillman
1766f8bb53 Plugin lifecycle fixes
- Call `shutdown()`/`uninstall()` with `ADDON_UPGRADE`/`ADDON_DOWNGRADE`
  during plugin upgrade/downgrade
- Actually call new version's bootstrap.js, not cached old version
- Create new scope for new version
- Don't call `shutdown()` on uninstall if not active

Fixes #3159
2023-07-01 06:19:04 -04:00
Martynas Bagdonas
fcb30b5e5d Fix not working context menu options to create note from annotations 2023-06-30 10:54:52 +03:00
Adomas Venčkauskas
1274f5f602 Fix citation reordering by dragging in the citation dialog. Closes #3183 2023-06-28 13:36:38 +03:00
Martynas Bagdonas
abfe96fcaa Temporary fix for context-pane item deck selection when closing a tab
Fixes #3175
Related to bb85e11a
2023-06-27 18:34:15 +03:00
Abe Jellinek
65048fd624 Scaffold: Automatically load last opened translator 2023-06-24 15:00:57 -07:00
Abe Jellinek
9b6d6c109c RemoteTranslate: Support cross-origin XMLHttpRequest
By creating our Sandbox under the system principal and giving it privileged XHR.
Bonus: no more `wrappedJSObject` required because sandbox code and actor code
are at the same privilege level now.

Fixes #3176
2023-06-23 22:19:46 -07:00
Dan Stillman
3454c321e7 Fix sw_vers call on older macOS versions
Apparently it didn't used to allow two hyphens before flags
2023-06-23 02:01:27 -04:00
Dan Stillman
f8d8fb5e11 Fix item-type-menu breakage after canceling item-type change on Windows
https://forums.zotero.org/discussion/105739/zotero-7-beta-bug-changing-item-type
2023-06-22 14:18:23 -04:00
Dan Stillman
4b581ad07b Don't call plugin startup() on upgrade if disabled
Fixes #3177

https://forums.zotero.org/discussion/105692/z7-beta-disabled-add-on-suddenly-active
2023-06-22 05:05:05 -04:00
Dan Stillman
d868143fc9 Update locales from Transifex and merge new English strings 2023-06-19 04:34:29 -04:00
Dan Stillman
f62cef9c12 Remove DOMLocalization from plugin sandbox
That can just be retrieved directly from document.l10n on the
appropriate window, and Mozilla doesn't use it directly.
2023-06-18 16:55:30 -04:00
Dan Stillman
c7304b9fb0 Fix plugin localization handling
Pass Localization and DOMLocalization to plugins and fix locale
registration so that it occurs before startup() is called.
2023-06-18 16:50:04 -04:00
Abe Jellinek
0a94e8fdf0
fx-compat: Make color picker CE accessible via keyboard and VoiceOver (#2933) 2023-06-17 02:43:24 -04:00
Abe Jellinek
c37e327330 Fix clicky sizing and appearance
- Set min-width and min-height to width and height so buttons never shrink
- Remove defunct .zotero-clicky-* styles from 2x block in zotero.css
- Include zotero-platform/content/zotero.css in searchDialog.xhtml
   - It seems only the defunct 2x styles from zotero.css were being applied, so
     the buttons would have been unstyled on a non-hiDPI display
2023-06-17 02:33:59 -04:00
Abe Jellinek
1a2950ae34 Automatically adjust height of multiline/long fields in edit mode
Fixes #3170
2023-06-16 12:17:29 -07:00
Adomas Venčkauskas
9668270017 Fix the integration template check for unknown agents 2023-06-16 12:40:13 +03:00
Adomas Venčkauskas
6efa55ffdf Update Word for Mac submodule. Update template version check 2023-06-16 03:24:03 -04:00
Adomas Venčkauskas
e3e607a6d4 Add support for macWord transaction initialization via HTTP 2023-06-16 03:24:03 -04:00
Abe Jellinek
c124ca9738 Scaffold: Fix test creation
Fixes #3167
2023-06-15 16:18:57 -07:00
Dan Stillman
4273448b5d Add preferences.ftl files for all locales 2023-06-15 06:07:29 -04:00
Abe Jellinek
2639981dda
Block remote content when indexing HTML file (#3157) 2023-06-12 23:43:18 -04:00
Abe Jellinek
30624c6aba Preferences: Remove extraDTD pane option
Include FTL localizations directly in your pane XHTML fragment:

    <linkset>
        <html:link rel="localization" href="make-it-red.ftl"/>
    </linkset>

Fixes #3161
2023-06-12 13:25:20 -04:00
Abe Jellinek
75df7bcbdd Item Pane: Allow "long" fields to wrap
Aligns with Z6 behavior.

Fixes #3163
2023-06-12 12:38:30 -04:00
Dan Stillman
ffd6a988e1 Await plugin bootstrap methods 2023-06-12 01:39:57 -04:00
Dan Stillman
027060ba86 Log reason when calling bootstrap methods 2023-06-07 01:58:18 -04:00
Abe Jellinek
6106e379c9 Plugins: Uninstall immediately but allow undo
When you uninstall a plugin through the UI, XPIInstall:
1. Sets the plugin's `pendingUninstall` to true
2. Calls our onUninstalling() method
3. Waits for the Add-ons window to be closed
4. Actually uninstalls the plugin
5. Calls our onUninstalled() method

If you undo the uninstallation between steps 2 and 3, the remaining steps
instead look like:
3. Sets the plugin's `pendingUninstall` to false
4. Calls our onOperationCancelled() method

This commit changes our implementation of the bootstrapped plugin lifecycle so
that the shutdown and uninstall hooks are called from onUninstalling() (step 2).
If you close the Add-ons window without undoing, nothing more happens. The
plugin remains uninstalled. If you undo before closing, though, we call the
plugin's lifestyle hooks just as if it had been newly installed (unless it was
disabled before uninstallation, in which case we call install but not startup).

This mirrors the behavior of Firefox WebExtensions and makes things work more
like you'd expect: uninstalling a plugin immediately deactivates it, and undoing
activates it again.
2023-06-06 16:14:33 -04:00
Abe Jellinek
a28b949dc1 Preferences: Attach preferences to all added nodes in tree
mutation.addedNodes only contains the top-level nodes, so we need to query for
all nodes with preference attributes in their trees.
2023-06-06 14:00:57 -04:00
Martynas Bagdonas
bb85e11a92 Fix tab selection when closing a tab nearby
Fixes #3151
2023-06-06 19:42:34 +03:00
Martynas Bagdonas
785dcb30c3 Ensure that note is created when inserting an image
Fixes #3155
2023-06-06 16:22:19 +03:00
Abe Jellinek
5e41b3ab4d Place word processor plugin installers under heading and fix spacing
Fixes #3147
2023-06-05 10:52:04 -04:00
Abe Jellinek
d077388616 Fix WebDAV settings
- Fix mistaken reference to event.target (instead of currentTarget) in sync
  function
- Move sync functions to fields for easier debugging - can't set a breakpoint
  inside an inner function in the Firefox debugger

Fixes #3142
2023-06-05 10:32:37 -04:00
Dan Stillman
ea1e28c7b7 Update translate submodule 2023-06-01 06:08:40 -04:00
Dan Stillman
fd7cf71043 fx-compat: Fix Page textbox in classic citation dialog 2023-05-30 17:32:21 -04:00
Tom Najdek
afaf0b4968 Add scripts to convert ftl to/from Transifex JSON (#3058) 2023-05-29 22:46:24 -04:00
Dan Stillman
d5a584c28b Don't close window with Cmd-W on first tab if other tabs are open
Closes #2572
2023-05-29 06:00:31 -04:00
Dan Stillman
7c902d40a9 Timer updates
- Switch to Mozilla's Timer.jsm for timer functions in XPCOM scope
- Add setInterval/clearInterval/requestIdleCallback/cancelIdleCallback
- Add all timer functions to plugins sandbox
2023-05-28 04:51:21 -04:00
Dan Stillman
f966662911 "Preferences" → "Settings" on all platforms
Firefox has switched on all platforms, Chrome and Edge on Windows use
"Settings", and we really don't want to have to say different things for
different platforms
2023-05-27 07:30:32 -04:00
Dan Stillman
773a89b0f3 Fix title of import wizard 2023-05-27 06:42:11 -04:00
Dan Stillman
77241d1c71 Fix test in collection tree selectLibrary()
getRowIndexByID() can only return an integer or false
2023-05-27 02:34:03 -04:00
Dan Stillman
cd20df8d74 Fix sw_vers being run repeatedly in View Output window on macOS
Fixes #3136
2023-05-26 06:45:23 -04:00
Dan Stillman
febcf2568e Update locales from Transifex and merge new English strings 2023-05-25 21:56:32 -04:00
Dan Stillman
3f739fc1b4 "Capitalize" → "Fix Case" for creator context menu
https://forums.zotero.org/discussion/105117/zotero-7-thank-you-for-adding-right-click-case-change-for-author-names
2023-05-25 21:56:31 -04:00
Dan Stillman
b2b768cd4b Fix fileQuitItemUnix is null error in PDF reader window 2023-05-25 21:56:31 -04:00
Abe Jellinek
4cfe682367
Remove outdated startup error messages (#3138) 2023-05-25 21:38:12 -04:00
Abe Jellinek
42572efca9 Fix error when adding link attachment with unparseable URL
https://forums.zotero.org/discussion/105158/zotero-7-beta-attach-link-to-uri-logosres-does-not-work-any-longer
2023-05-25 18:45:48 +03:00
Abe Jellinek
a4c3f5267b Fix ScienceDirect PDF downloads
ScienceDirect sometimes puts the `name` directive at the end of the Content-Type
header instead of in Content-Disposition. That isn't strictly spec-approved, but
there are other directives (`charset` and `boundary`) that can also be appended
to Content-Type per the spec. We want to strip them before looking for handlers.

https://forums.zotero.org/discussion/105194/sciencedirect-pdf-downloads-not-working-zotero-7
2023-05-25 17:57:32 +03:00
Dan Stillman
6e2ec2300d Fix checking for Firefox profiles high up in filesystem
This was triggering an erroneous warning dialog about a failure to check
for Firefox profiles during Linux tests (where the profile is at
something like /tmp/tmp.l5phnqSxBH/Zotero), but it could also affect a
custom profile directory location.
2023-05-25 03:37:06 -04:00
Abe Jellinek
6405997723 Use Zotero.appName in window title 2023-05-25 09:13:42 +03:00
Abe Jellinek
91fec9024c Bidi: Fix control characters appearing in reader window titles on Windows
Fix in 6d5ce578e4 only affected tabs.

Fixes #3135
2023-05-25 09:05:36 +03:00
Abe Jellinek
087a9859b4 Fix preference binding issues and "Include Zotero Links" checkboxes
- Set zotero-noteQuickCopy-menu's preference attribute to the correct key
- Warn about all ID-ish preference attribute values
  - zotero-noteQuickCopy-menu's preference attribute was being set to the ID of
    a now-nonexistent <preference> element. preference attribute values should
    be preference keys now, but we were only warning if the associated
    <preference> element was actually there
  - We can't warn in all cases where the preference doesn't yet exist, because
    some preferences don't have default values, and we shouldn't limit to
    preferences that don't exist, because then the warning will stop showing
    after the preference is persisted once
- When a <preference> ID is replaced by the associated key, update the
  preference attribute so future syncFromPref() and syncToPrefOnModify() calls
  will set the correct preference
- Listen to a range of events on all bound nodes, no matter their type
- Don't resolve _firstPaneLoadDeferred until actually done loading

Fixes #3131.
2023-05-24 20:46:00 +03:00
Martynas Bagdonas
26068a855c Make note editor iframe an XUL element to avoid focus anomalies
Fixes #3128
2023-05-24 17:38:15 +01:00
Dan Stillman
0b1d958a86 Fix erroneous warning if Firefox profile directory can't be found
`Zotero.File.getContentsAsync()` now uses IOUtils rather than OS.File
2023-05-24 06:53:23 -04:00
Dan Stillman
f5433f04e6 Update searchfox link to permalink 2023-05-24 02:25:20 -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
Abe Jellinek
fd6ea99967 Item box: Always save current item when switching items
Fixes #3125
2023-05-23 19:40:09 +03:00
Abe Jellinek
61749d39a6 Item box: Populate both fields on creator autocomplete click
Fixes #3129
2023-05-23 19:06:56 +03:00
Dan Stillman
8440501ad2 Remove unused Zotero.isBigSurOrLater property 2023-05-23 01:55:31 -04:00
Dan Stillman
f9dab9b041 Show correct OS info in error reports 2023-05-23 01:55:31 -04:00
Dan Stillman
478dcc4f0f Add Zotero.Utilities.Internal.subprocess(command, args)
To run a short-lived command and return stdout

The Subprocess module can also start long-running process and
communicate with them, but we'll implement something different for that
if we need it.
2023-05-23 01:46:25 -04:00
Dan Stillman
522de4ad92 Add 32/64-bit info after version number in about dialog on Windows/Linux 2023-05-22 23:58:00 -04:00
Dan Stillman
66623b945e Temporary fix for context-menu options getting triggered on Windows
https://forums.zotero.org/discussion/105103/right-click-on-collections-or-items-not-functioning-properly-in-zotero-7
2023-05-22 06:16:53 -04: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
Dan Stillman
c653449cc0 Increase active tabs count from 2 to 3 on <=8 GB systems
To match current Zotero 6 behavior on non-Windows systems
2023-05-20 19:12:19 -04:00
Abe Jellinek
db4a79838b Preferences: Resync menulists when their subtrees change 2023-05-19 16:54:32 +03:00
Abe Jellinek
ff43d1877e Focus preferences window if already open on Cmd-Comma 2023-05-19 16:46:24 +03:00
Abe Jellinek
eecd85a1c2 Disable window dragging inside toolbar controls
And enable in the context pane toolbar extension.
2023-05-17 16:52:50 +03:00
Abe Jellinek
f299692de7 Allow window dragging from PDF reader toolbar
Fixes #2713
2023-05-16 16:23:32 +03:00
Dan Stillman
3ba6fbf0f7 Avoid warnings in console due to duplicated brand.ftl
zoteroPane.xhtml includes base.js via customElements.js, and base.js
inserts brand.ftl, so we don't need to include brand.ftl as a link.
2023-05-10 07:12:24 -04:00
Dan Stillman
05fd1601ad Update locales from Transifex
This removes some newlines due to processing changes in our script.
2023-05-10 06:25:05 -04:00
Dan Stillman
b8c9bfcc34 Update non-English Mozilla locale files
Mostly just minor whitespace changes due to changes in our processing
script
2023-05-10 06:25:05 -04:00
Dan Stillman
8cf7993af5 Add non-English updates.properties
(And update the en-US version with some strings that we don't use but
might if we updated to a slightly newer version of the updater before
they got rid of the dedicated update window)
2023-05-10 06:25:05 -04:00
Dan Stillman
08a508b750 fx-compat: Fix collections-containing-an-item highlight 2023-05-09 17:49:18 -04:00
Abe Jellinek
fa31956d28
fx-compat: Fix feed button appearance/overflow behavior (#3114) 2023-05-09 16:38:33 -04:00
Abe Jellinek
942986c6b6 fx-compat: Use native checkboxes for Quick Copy options 2023-05-09 16:01:52 +03:00
Abe Jellinek
508cd0a64c
Hide About window in Window menu (Mac) (#3113) 2023-05-08 20:35:40 -04:00
Abe Jellinek
8c37865c07 Fix add-on install error message when file is entirely invalid
If the file wasn't an XPI at all, or it didn't contain valid metadata for fx102,
the error message would previously show "%S" where the add-on name should be.
Now we fall back to the file path.
2023-05-08 20:13:47 +03:00
Abe Jellinek
b30f97dad5 fx-compat: Allow file drop on Add-ons window
Fixes #3099
2023-05-08 20:06:47 +03:00
Abe Jellinek
ddbcc32bd8 fx-compat: Basic viewer: Add necessary FTL 2023-05-08 19:51:31 +03:00
Dan Stillman
371bcfea81 "Zotero Preferences" → "Zotero Settings" on macOS
Fixes #3105
2023-05-07 23:56:16 -04:00
Dan Stillman
87c71f74a0 Move -app-name variable to brand.ftl
So a custom build doesn't have to modify each .ftl file

`app-name` is redundant with the Firefox strings, but it's what we used
previously and is easier to remember.
2023-05-07 23:55:34 -04:00
Dan Stillman
43373b77ec Remove connectorTypeSchemaData.js and update build_typeSchemaData.js
We now use zoteroTypeSchemaData.js in the connector, so update the
build script to generate that.
2023-05-06 02:01:03 -04:00
Dan Stillman
2dc08a0dfb Fix React key warning after 4c283d88c7 2023-05-05 06:48:49 -04:00
Dan Stillman
2e0f7062c3 Don't log error at startup if session.json doesn't exist 2023-05-05 06:42:31 -04:00
Dan Stillman
4974532276 Z7: Fix Mark as Read/Unread button in feeds not working
Fixes #3092, but overflow in non-English locales needs to be addressed
in #3110
2023-05-05 06:34:43 -04:00
Dan Stillman
5a75c59bf2 Z7: Style improvements in update dialog 2023-05-05 05:20:33 -04:00
Dan Stillman
fc48025629 Reindent updates.css 2023-05-05 05:15:41 -04:00
Dan Stillman
00703c0b8f Z7: Fix conflict resolution merge window styling
Closes #3090
2023-05-05 04:28:07 -04:00
Dan Stillman
4c283d88c7 Remove key hack for setting innerHTML in item tree
Results in a segfault during tests due to a null pointer deference
2023-05-04 08:40:06 -04:00
Dan Stillman
febc2fcc7d fx-compat: Wait until request completion in WebProgressFinishListener
`nsIWebProgressListener.onStateChange()` gets called twice at the end of
requests, once with `stateFlags` set to `327696` and once with it set to
`262160`, which corresponds to `STATE_STOP + STATE_IS_NETWORK +
STATE_IS_REQUEST` and `STATE_STOP + STATE_IS_NETWORK`. httpd.js debug
logging shows that the connection is closed between the two calls. In
WebProgressFinishListener, we were previously calling `onFinish` after
the first one, but in Zotero 7, at least on Linux (or maybe just on
slower machines due to a race condition), the file from `saveURI()`
doesn't appear to be reliably written after the first call, causing
`Attachments.downloadFile()` to fail in `_enforcePDF()` due to an empty
file.

This changes WebProgressFinishListener to wait until the second
`STATE_STOP` call. We'll have to confirm whether this is the
state-change pattern for all requests, but it fixes our Find Available
PDF tests in CI.
2023-05-01 02:52:37 -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
2f6f2feade for…infor…of in sniffForMIMEType() 2023-04-29 18:50:39 -04:00
Dan Stillman
4ec357bb26 Use pdf-worker to extract text for item.attachmentContent if no cache 2023-04-29 17:38:14 -04:00
Dan Stillman
c326a6c971 Fix more files for combined repos 2023-04-29 07:50:54 -04:00
Dan Stillman
e46ae13a5a Remove resizabledialog.xml binding 2023-04-29 03:15:39 -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
ed224dce34 Z7: Update relatedbox tests 2023-04-28 01:54:00 -04:00
Dan Stillman
07acfb444a Z7: Fix Add Item by Identifier tests (and rename textbox)
Now only one textbox, so no need to call it 'multiline'
2023-04-28 01:54:00 -04:00
Dan Stillman
42f87597cf Add missing debug line for notifier registration 2023-04-27 03:39:25 -04:00
Dan Stillman
59ca0731b8 Fix note editor not being properly unregistered from notifier 2023-04-27 03:37:31 -04:00
Tom Najdek
a8c30362a1
Remove shadow root from PublicationsLicenseInfo #3082
* Fix legacy css path
 * Rename license-info.scss -> publicationsLicenseInfo.scss to match element name
2023-04-26 15:23:49 +02:00
Tom Najdek
842f474939
Remove shadow root from StyleConfigurator #3082
Also renamed style-configurator.scss -> styleConfigurator.scss
2023-04-26 15:23:49 +02: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
eaef035062 Update non-en-US updates.dtd based on en-US file
Now that the localizer has been updated to handle Mozilla
.dtd/.properties files
2023-04-26 04:40:22 -04:00
Dan Stillman
144dbf8af0 Add Mozilla updates.dtd for non-English locales
From some 2017-era langpacks I had downloaded. These strings aren't in
current langpacks, which use a different update mechanism, but we're
bundling a modified version of updates.xhtml from Firefox.
2023-04-26 04:40:22 -04:00
Dan Stillman
15151acb3e Add Mozilla locale strings for Breton 2023-04-26 04:40:22 -04:00
Dan Stillman
3d0896f1b6 Update menubar.ftl and textActions.ftl from current Mozilla langpacks 2023-04-26 04:40:22 -04:00
Dan Stillman
9236d65215 Add Mozilla wizard.ftl 2023-04-26 04:40:22 -04:00
Dan Stillman
3693674fc9 Fix Fluent localization for non-English locales
All declared Fluent files need to exist for a locale to be used (in a
window?). Since Mozilla code tries to load Fluent files, we need to copy
non-English Mozilla .ftl files to their default effective path (just in
the app omni.ja instead of the toolkit omni.ja).

Fixes #3094
2023-04-26 04:40:22 -04:00
Abe Jellinek
c07eccb468 Scaffold: Improve perceived translation speed
When translators do a lot of logging.

https://github.com/zotero/translators/pull/3022#issuecomment-1517291971
2023-04-21 13:38:42 -04:00
Dan Stillman
fb2d35c765 Better logging for changes to deleted property 2023-04-21 06:51:41 -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
Abe Jellinek
c7d30ebde4
Allow disabling JavaScript in basic viewer (#3089)
And:
- Prevent JavaScript inside notes from executing in reports
- Update calls to openInViewer() to pass an options object
2023-04-20 15:50:57 -04:00
Dan Stillman
78a81f321a Update utilities and translate submodules 2023-04-20 05:48:10 -04:00
Dan Stillman
1ec37ebcbf Fix redundant Number on Dataset item type 2023-04-20 03:21:33 -04:00
Dan Stillman
7774cb7ffb Update citeproc-js to 1.4.63
73bc1b44bc
2023-04-19 17:27:06 -04:00
Adomas Venčkauskas
a9937740c5 Fix classic citation dialog collection tree not working (regression b213b8f1)
Report https://forums.zotero.org/discussion/104460/zotero-6-0-24-classic-add-citation-dialog-doesnt-show-collections-content
2023-04-19 15:26:24 +03:00
Abe Jellinek
83527d27fb Preferences: Fix site settings delete button being disabled after click 2023-04-18 14:10:24 -04:00
Adomas Venčkauskas
50e780ad57 Fix broken citation dialog (regression 01b9a3c2) 2023-04-18 14:51:16 +03:00
Abe Jellinek
b222bbcccb fx-compat: RemoteTranslate improvements
- Support removeHandler()
- Return DB items from translate() when called with libraryID
- Don't invoke done until attachments are done

Fixes #3084 ("after all" hook still times out, but that happens even if the test
is disabled)
2023-04-17 16:20:54 -04:00
Dan Stillman
348083d287 Refresh Feeds row when feed unread count is updated
Regression from fd744fb526
2023-04-15 05:51:38 -04:00
Dan Stillman
44f283c4a2 Update translate module
Missing from #2784
2023-04-15 03:38:08 -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
d1ae009f57 Fix HTML indexing when using linkFromDocument() 2023-04-15 00:24:13 -04:00
Dan Stillman
c81391b5b6 Fix Collection condition in Advanced Search (regression from 6b819e259c)
The shadow root here is from xul:menulist, not one of our CEs.
2023-04-14 16:00:26 -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
893ad2bf62 fx-compat: Fix PDF and style interception 2023-04-14 11:44:52 -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
b2947aede0 fx-compat: Fix attaching CookieSandbox to a browser 2023-04-14 11:44:02 -04:00
Abe Jellinek
667058204d fx-compat: HiddenBrowser: Fix destroy() and URI/path check 2023-04-14 11:44:02 -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
Adomas Venčkauskas
fd744fb526 Fix feed update refreshing, scrolling item and collection trees
Closes #2950
2023-04-14 15:23:01 +03:00
Dan Stillman
49b7e43c81 Zotero{ -app-name } for some localized strings 2023-04-14 07:03:31 -04:00
Abe Jellinek
01b9a3c268
fx-compat: Fix <tab> keyboard nav, move CE imports to single file (#2756)
Having a single customElements.js file that we import everywhere we need it
helps with organization, and it gives us a single place to put things like the
<tab> fix.

We could switch to using setElementCreationCallback() like Firefox if the number
of imports gets out of hand, but the overhead right now should be small.
2023-04-12 23:09:40 -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
Abe Jellinek
b33d3ec799
Basic viewer: Open separate windows per URI (#3081) 2023-04-12 16:53:28 -04:00
Dan Stillman
8e6f33f045 Re-enable hardware acceleration
For all the people who turned it off to fix rendering problems in the
PDF reader due to Fx60
2023-04-12 06:14:50 -04:00
Martynas Bagdonas
e6e424836d Update PDF.js in PDF reader 2023-04-12 11:15:46 +03:00
Martynas Bagdonas
5880d62000 Fix citation dialog opening from note editor 2023-04-12 11:14:56 +03:00
Abe Jellinek
e747c089fc fx-compat: Basic viewer: Fix menus
- Add strings and items to previously empty and untitled Edit and Window menus
- Add basic context menu to the browser
2023-04-10 16:47:08 -04:00
Abe Jellinek
72ec5c64d9 fx-compat: Fix printing from basic viewer
Fixes #3071
2023-04-10 16:09:06 -04:00
Abe Jellinek
48f7830558 fx-compat: Load zotero://report/ channels as chrome
It seems that the issue wasn't that zotero:// URLs can't be loaded in a content
browser, but rather that the report extension was returning a channel that the
content browser couldn't access. For some reason, it handled that failure by
passing the URL off to the OS, which then opened a duplicate instance of Zotero.

Also:

- Remove ensureBrowserType() and always use <browser type="content"> in
  basicViewer (see b8966f)
- Fix system principal being used to load extensions without `loadAsChrome` set
  to true if an extension with `loadAsChrome` set to true had been loaded in the
  past
2023-04-10 16:01:09 -04:00
Abe Jellinek
6a85dd2c5e
fx-compat: Lay out preferences window with flexbox (#3073) 2023-04-10 15:37:50 -04:00
Abe Jellinek
80c2f233d4 fx-compat: Fix WebDAV settings layout
Fixes #3069
2023-04-10 14:39:17 -04:00
Dan Stillman
1db153b66b Space out pref sections 2023-04-10 06:43:41 -04:00
Dan Stillman
593b4fd515 Move Config Editor button to bottom of Advanced prefpane 2023-04-10 06:43:15 -04:00
Dan Stillman
8b2362a84e Update locales from Transifex and merge new English strings 2023-04-10 06:09:04 -04:00
Dan Stillman
6372d3c01b Point to our textActions.ftl in editMenuOverlay.js
This doesn't help with zotero/zotero-standalone-build#113, though.
2023-04-10 05:59:41 -04:00
Dan Stillman
db856014aa Remove obsolete extensions-pane overlay 2023-04-10 05:59:41 -04:00
Dan Stillman
16ef1c476e
Merge pull request #3067 from tnajdek/2925-direct-login-fx-102
Port Mendeley Import fixes & improvements from master branch
2023-04-08 18:03:18 -04:00
Dan Stillman
d420ab34eb Mendeley importer: Add native=true to checkbox 2023-04-08 17:17:14 -04:00
Abe Jellinek
6d5ce578e4 Bidi: Fix control characters appearing in the window title on Windows 2023-04-07 13:50:15 -04:00
Dan Stillman
79fa3c7b0f Remove obsolete parameter to WebSocket constructor 2023-04-07 01:32:19 -04:00
Tom Najdek
5e2507041d
Remove unused import, nicer plurals, lint 2023-04-06 17:10:13 +02: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
Dan Stillman
a6a69605c6
Mendeley citation relinking tweaks
- Show "More information" link next to relink option
- Automatically check relink option when coming from integration prompt
- Change done message to "[x] items were relinked" instead of "0 items
  were imported"
2023-04-06 17:10:13 +02:00
Adomas Venčkauskas
e10fc538d0
Add a prompt to import Mendeley DB if mendeley citation found in doc 2023-04-06 17:10:13 +02:00
Adomas Venčkauskas
9b938f2236
Add a nicer interface for prompts 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
Dan Stillman
80bdf51ecb
Store Mendeley importer version number in database 2023-04-06 17:10:12 +02:00
Tom Najdek
1923085068
Block Mendeley import if ZotFile installed 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
8e04c077ca
Don't add border to the top/sides of the toolbar on Windows (#3061) 2023-04-06 01:04:00 -04:00
Abe Jellinek
db74640993 fx-compat: Make Tools -> Error Console work
Fixes #3059
2023-04-05 14:13:37 -04:00
Abe Jellinek
5d44089214 fx-compat: Fix some CE style conflicts
- Windows global styles make .header bold, so we'll override them
- Prefix IDs in <notes-box>
- Give <tags-box> Add button a normal margin
  - I think the CSS this removes was meant to apply to tags in the list, not the
    Add button, but that's handled elsewhere now
2023-04-05 12:39:32 -04:00
Martynas Bagdonas
fcf3cec0fc Don't show HTML and Markdown options for collection export
Fixes #3033
2023-04-05 09:30:38 +02:00
Abe Jellinek
16411422c8 fx-compat: Item box: Set control attribute on label
For accessibility.
2023-04-04 14:39:50 -04:00
Abe Jellinek
d9b16c15f7 fx-compat: <split-menu-button>: Use margin instead of absolute height
And add space to the right of the button text. Should look right on Linux now.

Fixes #3041
2023-04-03 12:01:25 -04:00
Dan Stillman
2131a1e4ee Update global schema and utilities 2023-04-02 19:10:55 -04:00
Dan Stillman
3530545eb9 Remove base-only localized strings from searchConditions
Now all included in `itemFields.`

We still use base-only fields as search conditions, and schema.json
consumers might want to do so as well, so it makes sense to include
them.
2023-04-01 22:04:50 -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
6ac13e3281 Limit Everything full-text-word subsearch to current library
This fixes an error using Everything if another library hasn't yet been
loaded and should speed up Everything searches for people with multiple
libraries.

This is sort of an awkward fix, because it doesn't fix the underlying
problem of `addCondition('libraryID', ...)` not working the same as
`.libraryID =` for some search conditions that perform subsearches. But
supporting `addCondition('libraryID', ...)` for those would get
complicated, because there could technically be multiple such
conditions, and applying those to a subsearch that used `AND` would get
messy. So let's just fix the problem at hand.

Fixes #3032
2023-04-01 04:55:05 -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
Adomas Ven
d6a9b43515 Sorts first-author last name matches first when year present. (#3025)
Closes #3024
2023-04-01 04:52:04 -04:00
Adomas Ven
6b819e259c
fx102: Cleans up scss files, removes shadow DOM use from CEs (#3051)
Removes a huge amount of excessive files and duplication for CE scss.
All CE css is now output in the single
zotero-react-client.css file.

Moving all CE styling into a single stylesheet required removing their
shadow DOMs. It is desirable anyway, since you want to
be able to style CEs from "outside", when embedding in different
contexts.

Shadow removal required some CE code changes to maintain
functionality.

Elements refactored:
- attachment-box (displayed when an attachment (like PDF) is selected in
the item tree)
- color-picker (in the tag color selector)
- guidance-panel (displayed on first run when editing authors for a book
section)
- item-box (info tab in the item pane)
- note-editor
- notes-box (note tab in the item pane)
- quick-search-textbox
- related-box (related tab in the item pane)
- tags-box (tags tab in the item pane)
- zoterosearch (advanced search condition builder form)
2023-04-01 01:37:55 -04:00
Martynas Bagdonas
bd9a40562f Replace pdftotext and pdfinfo with pdf-worker 2023-03-31 12:48:05 +01:00
Adomas Venčkauskas
3a0731a024 Merge branch 'fx-compat-monkey-patch-toolbarbutton' into fx102 2023-03-29 15:05:37 +03:00
Abe Jellinek
988a443974 Fix the toolbarbutton dropmarker style 2023-03-29 15:03:07 +03:00
Abe Jellinek
88ce834385 Monkey-patch toolbarbutton CE to display a native menu on macOS 2023-03-29 15:02:55 +03:00
Tom Najdek
3eeac6f8b0
Fix double <browser> regression in basicViewer #3039 2023-03-28 13:01:15 +02:00
Dan Stillman
1af3142c52 Update translators, styles, CSL locales, and global schema 2023-03-28 04:25:22 -04:00
Abe Jellinek
fe89ad5a51 ProgressWindow: Fix incorrect sizing
Setting a height/max-height was causing the window not to grow correctly when
rows were added. Whatever the purpose of those styles was in past FF versions,
they're no longer necessary now.
2023-03-27 14:15:05 -04:00
Dan Stillman
8469a2485b
Merge pull request #2862 from tnajdek/2252-bulk-folder-import-no-react-wizards-squashed
fx-compat: Wizards. Add folder import
2023-03-27 01:20:44 -04:00
Abe Jellinek
ca2b84af8f
fx-compat: Disable macKeyset completely on non-Mac (#3044) 2023-03-25 04:06:48 -04:00
Abe Jellinek
2b3ee82d56 fx-compat: <split-menu-button>: Use margin-inline-end 2023-03-24 14:34:13 -04:00
Abe Jellinek
c30a648edf fx-compat: <split-menu-button>: Add divider 2023-03-24 14:31:26 -04:00
Abe Jellinek
5b08eec813 fx-compat: Don't run <split-menu-button> command handler when popup is opened 2023-03-23 14:15:14 -04:00
Abe Jellinek
8f87a74398 fx-compat: Fix showNativeElementPopup() positioning on Win/Linux 2023-03-23 14:14:29 -04:00
Abe Jellinek
8512402eca fx-compat: Fix Reset Sync subpane
cfbfcf2 changed restore{To,From}Server to restore{To,From}OnlineLibrary and
updated most of the references, but not the ones in preferences_sync_reset.
Other languages still have those strings under the old key names.
2023-03-23 10:18:46 -04:00
Tom Najdek
01611cbb07
Temporarily disable folder import #2862 2023-03-23 14:16:51 +01:00
Tom Najdek
fc572ba2a6
fx-compat: Convert Publications dialog to CE 2023-03-23 14:16:51 +01:00
Tom Najdek
c65e8f1621
fx-compat: Convert rtfScan to use CE wizards
Also:
* Adds Style Configurator CE
* Extends "base" CE to enable fluent l10n
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
Dan Stillman
6117221cbc fx-compat: Remove DOMParser init() calls
No longer supported. Still possible to pass to the constructor, but
almost certainly not necessary:

https://udn.realityripple.com/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMParser#Principals_document_and_base_URI
2023-03-20 16:32:40 -04: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
b1595cdd1d Scaffold: Support the detectedItemType test field (#3023) 2023-03-14 10:21:10 -04:00
Dan Stillman
0ba81a1a92 Fix no such column: IA.authorName error from early 6.0 beta upgrade
Fixes #3013
2023-03-09 01:28:44 -05:00
Dan Stillman
c675150305 fx102: Update quit keybindings
- Add 'x' accesskey for "Exit" on Windows
- Show "Quit" instead of "Exit" on Linux
- Don't show Ctrl-Q for shortcut key on Windows

But Ctrl-Q still works on Windows when it shouldn't because of the Mac
keybinding, which still gets registered even if disabled
programmatically in platformKeys.js.

fx102 follow-up to #3010
2023-03-09 01:26:44 -05:00
Adomas Venčkauskas
b4d534c02d Use referrer from connector when saving snapshots
Closes #3006
2023-03-09 00:37:25 -05:00
Dan Stillman
c048460c22 Match duplicates with same last name but different field modes
https://forums.zotero.org/discussion/103307/duplicates-not-being-recognised-as-duplicates
2023-02-28 00:45:03 -05:00
Abe Jellinek
0627ee0cb6
fx-compat: Fix adding/editing feeds (#2632) 2023-02-26 05:34:21 -05:00
Abe Jellinek
53ace4876e fx-compat: Fix feed Add To button
And make accessible by keyboard
2023-02-26 05:00:31 -05:00
Abe Jellinek
730677a918 fx-compat: Fix ProgressWindow 2023-02-26 05:00:31 -05:00
Dan Stillman
95f2e40434 Use clearer variable in item box
https://groups.google.com/g/zotero-dev/c/TvOfXVxwwkA/m/SdpU1QD7AAAJ
2023-02-25 01:40:10 -05:00
Abe Jellinek
fd85411e26
Preserve capitalization in Zotero.HTTP.request() headers (#3002) 2023-02-24 02:15:07 -05:00
Dan Stillman
e18624e4b5 Fix startup error if DB corrupt and no backup files
Fixes #2996
2023-02-24 02:11:17 -05:00
Martynas Bagdonas
429970ad30 Fix annotation image rendering caused issues:
- Don't save unmodified annotation item when rendering annotation image
- Don't render annotation image multiple times
2023-02-24 02:11:17 -05:00
Adomas Ven
ba06db2e19 Remove firefox-zotero IPC pipe and switching code (#2990) 2023-02-24 02:11:17 -05:00
Martynas Bagdonas
504e932d88 Add missing text color string 2023-02-24 02:11:17 -05:00
Martynas Bagdonas
f49a6bf807 Add more colors to pdf-reader, note-editor and introduce text color tool 2023-02-24 02:11:17 -05:00
Abe Jellinek
55b17c2b7e Scaffold web template: Serialize multiples
Fixes #2980
2023-02-23 16:36:59 -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
bcfdaaabab Update Retraction Watch retraction reasons 2023-02-10 01:55:23 -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
c6bcc2572c Add PDF reader tab title pref to General pane 2023-02-10 01:54:36 -05:00
Dan Stillman
3be8abeae2 Fix broken creator autocomplete if place becomes a base field
Well this was a wild one to debug.

Creator fields were only initialized for autocomplete due to a series of
>10-year-old bugs:

1) In `showEditor()`, `Zotero.ItemFields.isAutocompleteField(fieldName)`
   was called for creator fields, which would pass, e.g.,
   `creator-0-lastName`.

2) In `isAutocompleteField()`, `ItemFields.getName()` would normalize
   `creator-0-lastName` to `false`, since it's not a valid field.

3) `isAutocompleteField()` listed `place` as a base field despite its
   not having any mapped fields, so when `getTypeFieldsFromBase()` was
   called on it, the return value would be `false`, which would be added
   to the list of autocomplete fields, which would mean that the
   normalized field of `false` from `creator-0-lastName` would match,
   which would mean that `isAutocompleteField('creator-0-lastName')`
   would always return true...as long as `place` never gained a mapped
   field.

Except `isAutocompleteField()` wasn't supposed to be the test for
initializing autocomplete for creator fields anyway -- `fieldName ==
'creator'` was. But `fieldName` is something like `creator-0-lastName`,
not `creator`, which meant that that test always failed, which meant
that if `place` did gain a mapped field, both tests would fail, which
would cause the creator field not to be initialized for autocomplete,
which would cause it to break as soon as you started to type into it.

This fixes that.
2023-02-10 01:39:31 -05:00
Martynas Bagdonas
a78860f092 Add Filename option for PDF tab title pref 2023-02-09 17:21:21 +00:00
Dan Stillman
382bde0fc2 Rename PDF tab title pref to include reader
In case we have a separate pref for notes or something else

(cherry picked from commit 6d0e5959e6)
2023-02-09 17:21:21 +00:00
Martynas Bagdonas
c0c1d011fa Add a hidden pref for tab title with support for Creator-Year-Title option (#2985)
(cherry picked from commit a5fb64f295)
2023-02-09 17:21:21 +00:00
Dan Stillman
8272989171 Add DOMParser to plugin scope 2023-02-09 05:36:03 -05:00
Abe Jellinek
4865f8afca Scaffold: Await more async functions
Might help prevent a deadlock I experienced when switching back to Zotero after
changing a translator file externally (although I can't reproduce it).
2023-01-23 12:32:30 -05:00
Dan Stillman
786d3db880 Revert "Limit Windows version to 2 PDF tabs in memory"
This reverts commit ffc8088ccd.

I cherry-picked this, but it's not necessary in Zotero 7, which has a
Win64 build.
2023-01-17 23:09:05 -05:00
Dan Stillman
3d4b93c86a Fix DOI field context menu not appearing after field edit
Context menu wouldn't appear again until the item box was refreshed
2023-01-17 23:05:48 -05:00
YFdyh000
bb5fe45f31 Show fieldLocalizedName in Scaffold - List All Fields (#2965) 2023-01-17 10:39:02 -05:00
Abe Jellinek
7e0b898765 fx-compat: Preferences: Fix pane script global object
Panes were being loaded with Zotero_Preferences as their global scope, so global
variables they defined would be set on that object instead of the window.
2023-01-17 10:28:57 -05:00
Adomas Venčkauskas
b6edaea54c fx102: Fix Word for Windows initialization and prefs 2023-01-13 09:56:59 +02:00
Dan Stillman
c7da16f07d Add protection against immediate retries in delayGenerator 2023-01-11 02:31:08 -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
Dan Stillman
437b457134 Additional logging for "Invalid sync state undefined"
https://forums.zotero.org/discussion/102186/invalid-sync-state-undefined
2023-01-08 02:02:28 -05:00
Martynas Bagdonas
ffc8088ccd Limit Windows version to 2 PDF tabs in memory
Fixes zotero/zotero#2955
2023-01-08 02:02:28 -05:00
Abe Jellinek
7e7e8b88a2 LABD file relinking: Process using Unix paths (#2961) 2023-01-05 15:40:28 -05:00
Dan Stillman
959e868126 Read default prefs from prefs.js in a plugin's root directory
The file should follow the same `pref("extensions.foo.bar", "value");`
syntax as files previously in defaults/preferences/, which should no
longer be used in Zotero 7. (For an extension that works in both Zotero
6 and 7, it's OK to have a file in defaults/preferences for Zotero 6 and
an identical prefs.js for Zotero 7.)

Files in defaults/preferences/ aren't automatically loaded when a plugin
is installed/enabled but are still loaded at app startup by Mozilla code
for now. Plugins shouldn't count on that continuing to be the case in
Zotero 7 and should switch to prefs.js.

We'll add a way for bootstrapped plugins to manually trigger reading of
a prefs.js file in Zotero 6.
2023-01-05 01:53:03 -05:00
Dan Stillman
83792757de Remove pref code for <Fx59 2023-01-05 01:09:28 -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
Dan Stillman
bad4597a86 Add mechanism for setting preferences remotely
Limited to a hard-coded list

Initially limited to `extensions.zotero.import.mendeleyUseOAuth`,
to switch the Mendeley importer from direct login to OAuth
2022-12-23 17:26:20 -05:00
Dan Stillman
32b6e0a485 Allow 204 response to OPTIONS request from WebDAV server
https://forums.zotero.org/discussion/101824/possible-to-allow-http-204-response-for-options-request-in-webdav-server-check

The specs used to (seemingly inadvertently) disallow 204 for OPTIONS,
but they've been clarified to make it clear that it's allowed [1], and MDN
now even shows it as an example [2].

[1] https://stackoverflow.com/a/57455110
[2] https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS
2022-12-23 17:26:04 -05:00
Abe Jellinek
da075fb215 fx-compat: Scaffold: Fix Tests richlistbox growing when tests are added 2022-12-20 13:19:22 -05:00
Adomas Venčkauskas
c12e5659ab Fix a potential bug in integration plugin when field codes are corrupt 2022-12-14 16:26:33 +02:00
Dan Stillman
75aa17f169 Fix running function passed to Zotero.openInViewer()
This fixes plugin removal in the Add-ons window.

Broken by b8966f7878
2022-12-11 18:39:27 -07:00
Dan Stillman
e7fa5d7f9d Add setTimeout and clearTimeout to plugin scope 2022-12-10 02:11:30 -07:00
Abe Jellinek
45e0340787 v-t: Fix freeze when type-to-find wraps and first row is selected 2022-12-06 14:58:58 +02: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
Abe Jellinek
ca1f83e9c9 fx-compat: Tag Color Chooser: Don't disable label
The default styles make it a strange-looking gray color, and there's no reason
to disable it separately if the element it's connected to is disabled.
2022-11-22 21:00:35 -05:00
Abe Jellinek
16eac5040b fx-compat: Fix error when switching language to Automatic
Services.locale always wants an array now, but it can be empty.

We still get "Uncaught (in promise) undefined" printed to the console, no stack,
not caught by "Pause on exceptions" in the debugger... but it's not clear that
that's actually coming from this code, and it doesn't seem to prevent anything
from working.
2022-11-22 20:53:29 -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
b561aff94f Avoid locator detection on paste in citation dialog. Closes #2856
Locators will get detected if there is additional typing or editing
after the paste
2022-11-22 15:54:30 +02:00
Adomas Venčkauskas
4fa208d4d7 fx-compat: Fix pasting in quick format dialog 2022-11-22 15:52:57 +02:00
Adomas Venčkauskas
350a5d2cbb Fix quick format locator regexp to not match numbers without space.
Closes #2915
2022-11-22 15:51:54 +02:00
Adomas Venčkauskas
e8356de3c1 Proxy code: ensure URL constructor in non-window JS scope
Closes #2924
2022-11-22 15:51:54 +02:00
Abe Jellinek
4b09edfa42
fx-compat: Add color picker CE (#2682) 2022-11-21 02:48:16 -05:00
Dan Stillman
4dbb2d88b9 Update styles, translators, and CSL locales 2022-11-21 01:14:07 -05:00
Dan Stillman
90cf3c9049 Merge new English strings 2022-11-21 01:14:07 -05:00
Dan Stillman
5a82aa952d Don't allow note on embedded-image attachments
https://github.com/windingwind/zotero-better-notes/issues/212
2022-11-21 01:14:07 -05:00
Dan Stillman
b5862ba780 Handle relative PDF links when using custom PDF resolver 2022-11-21 01:14:07 -05:00
Dan Stillman
1f0a721101 Fix focus stealing in item box (#2885)
Port of #2895
2022-11-21 01:14:07 -05:00
Adomas Venčkauskas
0e4cdda8c7 Prevent citation merging from being always enabled after refreshing the doc 2022-11-21 01:14:07 -05:00
Abe Jellinek
00b387afc2
fx-compat: Toolbar fixes (#2922)
- Don't rely on Zotero.hiDPISuffix being initialized in menuToolbarbutton.js --
  it probably hasn't been at the time that the code that creates the dropmarker
  is running
- Fix merge mistake that created a duplicate block of CSS
2022-11-21 00:07:59 -05:00
Abe Jellinek
74492e40c4
Improve bidi & RTL support (#2415)
- Render cell text in its native direction
- Fix context menu positioning
- Fix item box (localizations needed)
- Fix column resizing
- Fix bidi text in collection tree
- Always right-align in RTL, always left-align in LTR.
  I'm going off advice from this excellent guide for RTL website design
  by Ahmad Shadeed: https://rtlstyling.com/posts/rtl-styling#tables
- Join creators in the tree ("Smith and Jones") using a format string to
  support languages like Arabic and Hebrew where there shouldn't be a
  space after the "and".
- Fix tabs
- Fix toolbar on Mac, flip icons on other platforms
2022-11-20 18:23:17 -05:00
Adomas Venčkauskas
93bba41dd5 Don't throw when getting potential proxies with invalid URL 2022-11-15 13:54:33 +02:00
Adomas Venčkauskas
ed46d8c53c Deproxify homepage URLs without trailing slash. Closes #2884 2022-11-15 13:22:52 +02:00
Dan Stillman
039142e50d Fix clearing of active quick search after annotation change
https://forums.zotero.org/discussion/90727/search-results-disappear
2022-11-14 22:55:17 -05:00
Abe Jellinek
a7b605f0cc
Add "Open PDF reader in new window" preference (#2868)
When enabled:
- Double-clicking a PDF or choosing "Open PDF" opens a new window
- Shift-double-clicking opens a new tab
- "Open in New Window" locate option becomes "Open in New Tab" and has the
  reverse behavior
2022-11-14 17:12:48 -05:00
Abe Jellinek
b6591dba5a
Make Feeds row into a selectable global view of feed items (#2800) 2022-11-14 16:55:28 -05:00
Abe Jellinek
318ec4074e
fx-compat: Style Editor: Validate inline (#2745) 2022-11-12 05:31:29 -05:00
Adomas Venčkauskas
e789872efe Improve cookie-sandbox behavior when getting attachments via WBP
Previously cookies only got attached on the initial request but not on
any redirect and subsequent request. This may have been the cause for
many reports of import failures behind proxies in the past.
2022-11-11 12:56:12 +02:00
Abe Jellinek
cda0e0cf6d
Add "Any Field" advanced search condition (#2902) 2022-11-10 21:55:09 -05:00
Abe Jellinek
177da5937e
Add "Add to Dictionary" to note editor context menu (#2897)
As well as "Undo Add to Dictionary", as in Firefox.
2022-11-10 17:50:40 -05:00
Adomas Venčkauskas
eaeb144c3b Fix a cookie sandbox regression e537018 2022-11-10 14:58:27 +02:00
Adomas Venčkauskas
26f1d6125b Fix proxied urls not unproxifying (regression 1116b05f)
Technically this code has been wrong for a long time, but it only
manifest now. It seems that the equivalent code in translate module
was fixed when that code was extracted into a separate repo
2022-11-10 12:45:31 +02:00
Adomas Venčkauskas
249fbfad15 Update translate submodule 2022-11-10 12:28:44 +02:00
Adomas Venčkauskas
1116b05f1d Always replace dots to hyphens for https proxy schemes 2022-11-10 12:28:44 +02:00
Abe Jellinek
9cc2993e70 fx-compat: Fix Locate Manager appearance
- Correct padding and don't use Mozilla preferences styles
- Fixed v-t issue that applied the wrong class names to columns, giving them
  incorrect widths
2022-11-07 16:05:21 -05:00
Abe Jellinek
3af5976aa2 fx-compat: Preferences: Manage pref observers for elements added later 2022-11-03 11:52:54 -04:00
Abe Jellinek
e4b290a394 fx-compat: Replace more XUL createElement() calls 2022-11-02 16:01:48 -04:00
Abe Jellinek
76f844da2f Scaffold: Autocomplete translator IDs in setTranslator() calls 2022-11-01 16:36:44 -04:00
Abe Jellinek
ac8db7a376 fx-compat: Scaffold: Fix type-to-find not receiving ' ' 2022-11-01 16:05:17 -04:00
Abe Jellinek
1aebad3c19 Scaffold: Fix copying JSON test data
Previously only copied '[object Object]'.
2022-11-01 16:04:24 -04:00
Dan Stillman
b5ce8b655a Fix error copying from note if note Quick Copy format is "HTML"
In this case, Note Markdown wouldn't be preloaded, but it's always used
for copying from the note editor, and since the note editor uses
`noWait`, this would result in "Code promise is not resolved in noWait
mode".
2022-11-01 03:56:25 -04:00
Dan Stillman
cbb1ebad33 Fix Quick Copy drag after reiniting translators
Zotero.Translators.reinit() didn't reinit Quick Copy, so if an export
translator was selected it wouldn't be preloaded again and dragging
would fail with "Code promise is not resolved in noWait mode".
2022-11-01 03:19:22 -04:00
Adomas Venčkauskas
228e8407a7 Make colored tagging via keyboard layout independent
Report https://forums.zotero.org/discussion/100717/tag-number-shortcut-with-mac-raccourci-clavier-pour-marqueurs-avec-un-mac
2022-10-31 09:45:27 +02:00
Dan Stillman
8e59e49d29 Avoid infinite/excessive loops in Find Available PDF
https://forums.zotero.org/discussion/100634/potential-infinite-loop-when-trying-to-find-available-pdf

Closes #2883
2022-10-30 04:44:31 -04:00
Dan Stillman
4722366b42 Update Mac Word automation settings instructions for Ventura 2022-10-29 16:42:28 -04:00
Dan Stillman
7a45047f8f Fix comment for Zotero.Attachments.getPDFResolvers() 2022-10-29 04:41:16 -04:00
Dan Stillman
59cb33d231 Retry only twice on error in Find Available PDF
Not three times
2022-10-29 04:41:10 -04:00
Dan Stillman
06b23cca94 Fix hang on 500 from site during Find Available PDF
Find Available PDF has its own domain-based retry logic that predated
automatic 5xx retries in Zotero.HTTP, so disable the latter and fix some
bugs in the former.

Fixes #2700
2022-10-29 04:38:57 -04:00
Adomas Venčkauskas
d658e05363 Truncate long citation text in citation dialog. Closes #2879 2022-10-28 15:08:26 +03:00
Abe Jellinek
57916c032f
Attachment box: Add ability to copy URL of snapshot/link (#2748)
Fixes #2747
2022-10-27 16:54:50 -04:00
Dan Stillman
d850a8be7d Don't localize "Markdown" in Quick Copy settings 2022-10-27 05:06:55 -04:00
Dan Stillman
c6448bd9c1 Add Zotero.Utilities.Internal.stringWithColon() for localized colons
Generally just a colon, but, e.g., French adds a space before it. We'll
want to replace uses of `punctuation.colon` with this.
2022-10-27 05:05:47 -04:00
Dan Stillman
c51cb88c97 Adjust layout of Quick Copy note format options
Also:

- Hide format options until translators are loaded (since otherwise
  the checkboxes don't have labels and the layout is messed up)
- Remove unnecessary "zotero-" prefix from the new elements
2022-10-27 05:04:16 -04:00
Dan Stillman
a95a2937c1 Reset note Quick Copy pref on upgrade if set to Markdown + Rich Text
The default JSON pref value used spaces, but changing the drop-down
resulted in a version without spaces, so simply changing the default to
include the new link options wouldn't change all existing installs and
the "Include App Links" checkbox wouldn't show as enabled for Markdown.
This adds a pref migration step to reset the pref to the new default if
it's set to Markdown + Rich Text, regardless of whitespace differences.
2022-10-27 04:50:04 -04:00
Martynas Bagdonas
da7c73b662 Add "Include Zotero Links" option for note export and QuickCopy
Fixes #2349
2022-10-27 04:49:11 -04:00
Dan Stillman
09f0f74104 Fix error message for invalid field in Item.setField()
The error message was showing a field instead of an item type.

https://forums.zotero.org/discussion/100598/error-1533410729-impossible-to-correct-date-field-in-items-added-with-zotero-conector-ver-6-0-15
2022-10-27 03:47:54 -04:00
Dan Stillman
3a77eb85ed Don't match all attachments with annotations for "not" search conditions
Fixes #2867
2022-10-27 03:46:18 -04:00
Dan Stillman
fe016edf33 PDF reader: Hide "Rotate Page 180°" menu option for now
Rotating will speed up with Zotero 7, so maybe we can do without this.
2022-10-27 03:43:34 -04:00
Dan Stillman
ff3a74064b PDF reader: Add "Page" to rotate menu options for clarity 2022-10-27 03:41:28 -04:00
Martynas Bagdonas
454a2c186b Add rotation options to Edit menu to rotate the current PDF page
(cherry picked from commit d8d6054927)
2022-10-27 03:39:56 -04:00
Martynas Bagdonas
03ba306018 Reduce loaded tabs limit if the system has 8 GB or less memory 2022-10-27 03:01:42 -04:00
Adomas Venčkauskas
19558a425b Fix wrong given name disambiguation after editing author for citeproc-js
Closes #2870
2022-10-25 14:50:05 +03:00
Adomas Venčkauskas
87a567122e Fx102: Fix Integration tests 2022-10-25 13:48:39 +03:00
Adomas Ven
ee67c848d7 Adds support for merging adjacent citations (#2875) 2022-10-25 13:19:14 +03:00
Abe Jellinek
93666d310e Zotero.PreferencePanes: Fix shutdown observer error (#2845)
`this` referred to the observer instead of Zotero.PreferencePanes, so
`this.pluginPanes.length` caused an error and plugin panes were not removed.
2022-10-16 16:06:22 -04:00
Abe Jellinek
ccc94e7b45 fx-compat: Add stylesheets parameter to PreferencePanes.register() (#2845)
And just fully reload the preferences window when the pane array changes. The
preferences window won't often be open when a plugin is enabled or disabled,
considering that the Add-ons window is external to the preferences, and trying
to add/remove panes dynamically without reloading brings lots of bugs.
(No way to dynamically remove a script, for one.)
2022-10-16 16:06:05 -04:00
Abe Jellinek
f81a81cb74 fx-compat: Preferences: Activate <?xml-stylesheet?>s, default to XUL (#2845) 2022-10-16 16:05:51 -04:00
Abe Jellinek
c1bb910d1c
Clear sync error and start sync after logging in in prefs (#2802)
Also fixes an existing error due to an argumentless call to
Zotero.Sync.Runner.updateIcons() in ZoteroPane.
2022-10-16 15:47:54 -04:00
Dan Stillman
f9a0622c30 Merge new English strings 2022-10-13 02:20:42 -04:00
Dan Stillman
961e5b955d Default to UTF-8 when indexing text file without detected charset
https://forums.zotero.org/discussion/94637/indexing-of-markdown-plain-text-attachments-with-md-extension
2022-10-13 02:20:42 -04:00
Dan Stillman
23a6af128b Change connector server response to "Zotero is running"
People are confused by "Zotero Connector Server is Available". I'm not
sure if this will be any better, but not mentioning the connector might
help -- that seems to be part of the problem.

We could display a longer message with a link to
https://www.zotero.org/support/kb/connector_zotero_unavailable, but this
is the /ping page that gets hit constantly, so it seems like we should
keep it short (though probably it doesn't make a difference).
2022-10-13 02:20:42 -04:00
Abe Jellinek
bde157b085
fx-compat: Automatically register plugin l10n sources (#2863)
Fixes #2837
2022-10-11 11:59:33 -04:00
Abe Jellinek
367090614d fx-compat: Fix File -> Save... in basicViewer
Printing is still broken with no clear fix - PrintUtils really wants a
tabbrowser.
2022-10-11 10:47:15 -04:00
Abe Jellinek
f030190fb7 "Swap First/Last" in creator transform menu
https://github.com/zotero/zotero/pull/2801#issuecomment-1274107763
2022-10-11 10:30:53 -04:00
Abe Jellinek
568b88e342
Add "Capitalize" text transform to creator context menu (#2801) 2022-10-11 01:28:27 -04:00
Abe Jellinek
9be51a5cb0
Fix last editpane tab being misaligned vertically (#2864) 2022-10-10 21:47:20 -04:00
Dan Stillman
7276223a90 Tweak text in LABD auto-relinking dialogs (#2374, #2092) 2022-10-10 10:38:53 -04:00
Abe Jellinek
5f9e8f5b7e Automatically relink attachments from LABD (#2374)
Fixes #2092
2022-10-10 10:38:43 -04:00
Martynas Bagdonas
3a26f6eb6f Add pdf-reader annotation creation test
(cherry picked from commit af436d34a8)
2022-10-10 16:56:17 +03:00
Martynas Bagdonas
8db82c1022 Don't allow to rotate or delete pages for read-only PDF
(cherry picked from commit 29dd0cf5dc)
2022-10-10 16:56:17 +03:00
Martynas Bagdonas
35cbbeeea4 Fix annotation image saving to cache for read-only annotations
(cherry picked from commit 28329aa785)
2022-10-10 16:56:17 +03:00
Martynas Bagdonas
b851e66ec8 Fix annotation saving regression
(cherry picked from commit c5d418fc16)
2022-10-10 16:56:17 +03:00
Martynas Bagdonas
a5c17f3abe Properly handle errors when trying to open too large (>2GB-1) PDF file
(cherry picked from commit e9c6c76e79)
2022-10-10 16:56:17 +03:00
Adomas Ven
aa1aac6adb
fx-compat: Restore word processor integration (#2841)
- Word for Windows not tested since there's no build yet
- Word for Mac currently causes a sigsev, and likely we'll see this on
windows too. This is happening on an API call where we pass a callback,
so likely an issue in ctypes that we'll have to work around.
- All integration UIs restored.
- Added a component for richlistitems with a checkbox with corresponding
interactions (spacebar/double-click to toggle).
2022-10-06 00:17:28 -04:00
Martynas Bagdonas
03de28a7b7 Fix pref observer handler unregistering
(cherry picked from commit b7cc1d549b)
2022-10-05 21:00:20 +03:00
Martynas Bagdonas
b24a7cf529 Allow importing annotations in group libraries
(cherry picked from commit b594ad0b0a)
2022-10-05 21:00:16 +03:00
Martynas Bagdonas
f8837ae58b Don't allow pdf-reader to set annotation author name
Fixes the issue when your own created annotation becomes grayish and indicates that it was modified by another user.

(cherry picked from commit 4dd1851140)
2022-10-05 21:00:11 +03:00
Martynas Bagdonas
acfbbebd85 Re-render annotation images when rotating a page
Fixes #2824

(cherry picked from commit 006dd20d5b)
2022-10-05 21:00:04 +03:00
Martynas Bagdonas
ef5e80d4dc Remove PDF view rotation options 2022-10-05 20:59:49 +03:00
Abe Jellinek
bcb4220d00 Preferences: Use XUL <label>s around HTML <h2>s
Fixes #2836
2022-10-05 12:05:23 -04:00
Adomas Venčkauskas
0bbad7a2db Fix item list row text not read when using non-contiguous kb selection
Closes #2830
2022-10-03 15:20:56 +03:00
Abe Jellinek
5ef9a3116c
Preferences: Restore Help button (#2803)
Having the macOS Help button in a scrolling view feels kind of weird, but that's
what Apple is doing in the Ventura System Settings app, so I guess we go with
it. I like it better than Firefox's non-contextual "Firefox Support" button
under the pane list in their preferences, anyway - having pane-by-pane
contextual help buttons seems like good UX that there isn't a good reason for us
to ditch.
2022-10-03 07:35:40 -04:00
Abe Jellinek
b8966f7878
fx-compat: Fix zotero:// protocol for reports (#2825)
- The protocol can no longer be marked "dangerous to load," only "UI resource"
  (accessible inside browsers but not by web pages).
- The protocol needs to run in the main process.
- We need to replace the XUL browser to reset its type attribute depending on
  whether we're loading a zotero protocol URI - zotero protocol URIs, maybe due
  to the protocol handler's tight coupling with the main process, cannot load in
  type="content" browsers.
2022-10-03 07:31:17 -04:00
Dan Stillman
fe391a1026 Add 15 and 16 as note font size options in menu
https://forums.zotero.org/discussion/100079/notebook-fonts
2022-10-03 06:47:17 -04:00
Dan Stillman
47c939561c Remove default OpenURL gateway
https://www.worldcat.org/registry/gateway is no longer supported -- see
https://forums.zotero.org/discussion/comment/418373/#Comment_418373 for
details

If no resolver is selected, show an error on "Library Lookup" with a
button to open the prefs.
2022-10-03 06:47:17 -04:00
Dan Stillman
817ca999e3 Swap "Split Vertically" and "Split Horizontally" in PDF reader 2022-10-03 06:47:17 -04:00
Dan Stillman
4f10c00c71 Add Number as items list column option
https://forums.zotero.org/discussion/99844/add-columns-to-desktop-app-report-number
2022-10-03 06:47:17 -04:00
Martynas Bagdonas
d484d16128 Prevent error when creating a note from annotations that have ink
(cherry picked from commit 4fdf43ed92)
2022-09-30 13:25:06 +03:00
Martynas Bagdonas
764d1b006e Import external annotations before trying to add a note from annotations
(cherry picked from commit 9691fcafc2)
2022-09-30 13:25:06 +03:00
Martynas Bagdonas
61c0dfee38 Add split view for PDF reader (#2832)
Fixes #2821
2022-09-29 14:28:47 +03:00
Dan Stillman
f40b215753 fx-compat: Restore error reporting wizard 2022-09-28 06:56:39 -04:00
Dan Stillman
03532e1289 fx-compat: Fix Zotero.getInstalledExtensions() 2022-09-28 06:56:24 -04:00
Tom Najdek
76ff32098f
fx-compat:Creator buttons keyboard accessible #999 (#2833) 2022-09-23 04:18:24 -04:00
Dan Stillman
e0ccce4072 fx-compat: Fix 'dev' channel warning not appearing 2022-09-22 03:41:11 -04:00
Dan Stillman
542a6adf84 Zotero.Plugins.getResourceURI()getRootURI()
To go with the `rootURI` string variable passed to bootstrap methods
2022-09-20 00:39:21 -04:00
Dan Stillman
acc4d2a81b Update paths for Mozilla Fluent files
Follow-up to zotero/zotero-standalone-build@600b35d
2022-09-15 18:39:19 -04:00
Dan Stillman
dda60995a3 fx-compat: Fix app update dialog
Styling needs to be redone, but it works.
2022-09-15 06:29:14 -04:00
Dan Stillman
35d5c2633d fx-compat: Add app update dialog files from fx68
Removed in fx69

Not yet functional
2022-09-15 06:29:14 -04:00
Dan Stillman
e955583d2c Update translate submodule 2022-09-15 06:29:14 -04:00
Martynas Bagdonas
7cd57cd9e4 Fix focusContextPane error when pressing tab in standalone PDF window
Fixes #2823
2022-09-15 12:01:34 +03:00
Abe Jellinek
500f187a60 Scaffold: Remove useless debug 2022-09-13 11:20:41 -07:00
Martynas Bagdonas
82b53fee87 Fix PDF reader sometimes showing UTC time and sometimes local
(cherry picked from commit c13d17b5e6)
2022-09-13 17:16:08 +03:00
Martynas Bagdonas
531f8fe24d Convert Mendeley colors to equivalent Zotero colors on PDF open
Fixes #2820

(cherry picked from commit eb255c5868)
2022-09-13 17:16:08 +03:00
Tom Najdek
223f44fdfd Map annotation colors colors on import #2819 (#2822) 2022-09-12 19:58:21 -04:00
Abe Jellinek
7829a0dfdc fx-compat: Style Editor: Fix error when no style selected 2022-09-12 14:06:58 -07:00
Abe Jellinek
52e8fa8995 Prune Monaco distribution, fix JS acting like TS in Scaffold
We don't need most of the bundled languages or localizations, so they were just
taking up disk space pointlessly.
2022-09-12 14:06:17 -07:00
Dan Stillman
88869f43ae Merge new English strings 2022-09-12 15:54:11 -04:00
Dan Stillman
a63c634e3f Add "Create Note from Annotations" option to items list context menu
To allow creation of a standalone note with annotations from all the
selected top-level items and/or attachments. Annotations will be sorted
by the order of the items in the items list.

"Add Note from Annotations" remains when a single regular item or one or
more attachments under a single regular item are selected.
2022-09-12 15:54:03 -04:00
Dan Stillman
e81b43be98 Add collectionID option to EditorInstance.createNoteFromAnnotations()
For adding a standalone note to the current collection
2022-09-12 15:54:03 -04:00
Dan Stillman
39e45221b1 Rename Zotero.Items::keepParents() to keepTopLevel()
So that it works for more than two levels of items

Also fix a bug where the parent item could be returned more than once if
multiple child items were selected.
2022-09-12 15:54:03 -04:00
Dan Stillman
497d6376c8 Add Zotero.Item::topLevelItem and Zotero.Items.getTopLevel(items) 2022-09-12 15:54:03 -04:00
Martynas Bagdonas
f70ec29881 EditorInstance.createNoteFromAnnotations(): Handle multiple attachments 2022-09-12 15:54:03 -04:00
Abe Jellinek
dbbc6a2f44 fx-compat: Basic viewer: Restore loadURI() for Zotero.openInViewer() 2022-09-09 13:46:19 -07:00
Martynas Bagdonas
20aa40c5d2 Adjust PDF reader and context pane UI based on font size pref
Fixes #2809

(cherry picked from commit 64897455f4)
2022-09-09 18:10:25 +03:00
Abe Jellinek
94392fce96 fixup: Option-P was supposed to push, not type pi 2022-09-07 11:17:47 -04:00
Abe Jellinek
df9d8d593c fx-compat: Fix sync button tooltip
XULTooltipElement now prepends a <description> node, so the nodes we were
getting were off by one. Just use class names for all the children.
2022-09-07 11:15:55 -04:00
Martynas Bagdonas
9f9dde511e fx-compat: Flex grow note-editor when using in contextPane 2022-09-07 17:26:12 +03:00
Martynas Bagdonas
7317b61425 fx-compat: Fix note-editor initialization 2022-09-07 17:26:12 +03:00
Martynas Bagdonas
9d584152f0 fx-compat: Fix contextPane after b5bdae3d 2022-09-07 17:26:12 +03:00
Abe Jellinek
74051576dd
Hide "Find Available PDF" for feed items (#2807) 2022-09-06 18:46:13 -04:00
Martynas Bagdonas
04120099fb Allow inserting images over context menu
Fixes #2759

(cherry picked from commit f893206dfd)
2022-09-06 17:11:41 +03:00
Martynas Bagdonas
75a080b7cb fx-compat: Tweak image copying to clipboard 2022-09-06 17:05:52 +03:00
Martynas Bagdonas
80385ff893 Add context menu options to copy/save image from pdf-reader/note-editor
Fixes #2664
2022-09-06 16:48:13 +03:00
Abe Jellinek
dbc65faecb Preferences: Don't add IDs to pane containers
Built-in panes were creating a semi-invalid DOM in which the pane container and
the root element of the pane's XHTML got the same ID. There's no reason to give
containers IDs in the DOM, since we already have a Map of IDs to pane objects,
so let's just not.
2022-09-02 11:22:50 -04:00
Abe Jellinek
5d6ad703c1 Preferences: Fix tests, improve clarity, and more
- Fix sync and advanced preferences tests; use a new waitForFirstPaneLoad()
  functions instead of the old paneload event listener
- Remove empty preferences_searchTest.js
- Rename some Zotero_Preferences members/functions for better clarity and
  public/private differentiation
- Reorder, also for clarity
- Fix tabIndex parameter causing an error if invalid
- Remove window.sizeToContent() call in Sync.displayFields()
    - So *that's* why the window resized every time the sync pane was loaded...
- Deprecate openURL() and simplify openInViewer()
2022-09-02 11:01:37 -04:00
Martynas Bagdonas
11b0afc0bd Add missing noteEditor.mathBlock string
(cherry picked from commit a3b45a74e9)
2022-08-31 16:00:01 +03:00
Dan Stillman
a4f802806c Use items-list sort order for report from collection or saved search
https://forums.zotero.org/discussion/99284/exporting-a-report-sorted-by-first-date

Regression from HTML tree
2022-08-30 16:22:53 +02:00
Abe Jellinek
0fe394082c fx-compat: Scaffold: Prevent Space from scrolling translator list 2022-08-30 10:07:15 -04:00
Dan Stillman
00b24f85c9 Fix HTTP.request() 5xx handling with errorDelayMax=0
This was causing delay-less infinite loops for OPTIONS requests to Box,
which are returning 502 errors.
2022-08-29 23:46:58 +02:00
Abe Jellinek
63864f2f86
duplicateAndConvertSelectedItem: Don't copy abstracts (#2799) 2022-08-29 16:15:31 -04:00
Martynas Bagdonas
09ba429723 Update note-editor submodule and strings for math and table insertion
(cherry picked from commit d156bef42a)
2022-08-25 14:27:42 +03:00
Adomas Venčkauskas
4f0b07505a Fix SingleFile snapshot saving stalling in Firefox Connector
Update SingleFile submodule
2022-08-24 11:49:45 +03:00
Abe Jellinek
92095314c6 fx-compat: Preferences: Use our edit menu overlay
So text context menu actually works.
2022-08-22 16:46:50 -04:00
Abe Jellinek
c2254f3783 fx-compat: Scaffold: Native checkboxes, dropmarker 2022-08-22 16:20:28 -04:00
Abe Jellinek
d653ec817c fx-compat: Add by Identifier: Prevent expand after invalid ID input 2022-08-22 12:51:35 -04:00
Abe Jellinek
85e13dc3ee Zotero.PreferencePanes: Auto-generate ID, rearrange params
A manual pane ID isn't often necessary, since you can just give a manual ID to
the root element in your XHTML. Let's make things a bit simpler for the caller
and reduce the potential for conflicts.
2022-08-22 10:52:25 -04:00
Dan Stillman
170f1962ad Don't repeatedly upload relations
Fixes #2772
2022-08-22 01:15:21 -04:00
Tom Najdek
454368e3d3 Make citavi annotations importer more resilient 2022-08-19 12:05:30 -04:00
Tom Najdek
cff02b04a0 Fix importing Citavi annotations in some cases 2022-08-19 12:05:30 -04:00
Dan Stillman
e9e1add9b8 Fixed filed items with annotations appearing in Unfiled Items
Fixes #2771

Regression from 20c6fe67
2022-08-19 12:05:30 -04:00
Abe Jellinek
22b00c33de Empty Trash: Visually remove deleted items, refresh icon (#2606)
There were a few problems causing the incorrect behavior:
1. Rows were being removed only if they had no non-deleted children, which
   wasn't the right check. We want to remove all rows with no *deleted*
   children.
2. Children of the removed rows weren't being removed with them.
3. We weren't invalidating the tree (which _removeRows() doesn't do).

Also:

* Erase trashed annotation after getAnnotations() test

Because ItemTree#notify() doesn't yet correctly handle refresh events on
parent items that are themselves children (three-level nesting: item ->
attachment -> annotation), this test was causing a failure in
itemTreeTest.js.
2022-08-19 09:14:24 -04:00
Martynas Bagdonas
40ae2e3246 Fix navigation to annotation when opening an unloaded PDF reader tab
Regression from 142e3b09
2022-08-18 04:12:44 -04:00
Martynas Bagdonas
8ca7356489 Fix regression for broken "Snow in Page"
Fixes #2764
Regression from 7ec54fd
2022-08-18 04:12:44 -04:00
Abe Jellinek
0eaf5887ea fx-compat: Scaffold: Use platform keys like zoteroPane 2022-08-17 16:47:39 -04:00
Abe Jellinek
f5f49c7b1d fx-compat: Scaffold: Non-async detectWeb and async scrape by default
We don't usually want an async detectWeb, since HTTP requests should only be
used there in very exceptional cases. We do usually want an async scrape (and we
were already - mistakenly - awaiting it).
2022-08-17 16:31:30 -04:00
Dan Stillman
f7b8d25e75 Update localized string for pdf-reader 2022-08-17 03:47:30 -04:00
Dan Stillman
c3ee588bfe Match parent attachments for annotation tags
Expose annotation tags in tag selector and match parent attachments when
filtering/searching

This also fixes searching for annotation text or comments when using
Everything quick search.

This is temporary until we display annotations in the items list
directly.
2022-08-17 03:35:28 -04:00
Dan Stillman
6cd1a41a32 Fix importing of standalone attachments without URLs
And allow `importSnapshotFromFile()` without `parentItemID` or
`libraryID`, which is more consistent with other attachment functions

Follow-up to 318e4852e9

https://forums.zotero.org/discussion/comment/414802/#Comment_414802
2022-08-16 06:09:00 -04:00
Abe Jellinek
b03657add3 fx-compat: Use DOMParser constructor in _eventToEventTitle 2022-08-15 10:38:11 -04:00
Dan Stillman
676abca671 Fix importing of standalone attachments
Maybe has been broken for years?

https://forums.zotero.org/discussion/99020/warning-data-loss-when-exporting-collections
2022-08-13 16:24:14 -04:00
Dan Stillman
d546caca4c Don't relate book sections to each other when creating from book
Fixes #2757
2022-08-13 05:46:04 -04:00
Dan Stillman
344a10421a Fix copying of standalone attachments between libraries
Regression in f684984b07 (maybe a race condition)
2022-08-13 02:04:07 -04:00
Abe Jellinek
30197a09d2 Revert mistaken change from 26069a580a
Shouldn't have made it into that commit.
2022-08-12 15:36:54 -04:00
Abe Jellinek
fc86bdb55c fx-compat: Fix error when Edit menu is shown 2022-08-12 15:34:27 -04:00
Abe Jellinek
26069a580a fx-compat: Fix Quit when main window is closed
Application menu items, contrary to the comment I added in a654ad291f,
actually *do* belong in hiddenWindow.xhtml so that they still work when
zoteroPane.xhtml is closed. They just can't be split between there and
zoteroPane.xhtml. This commit moves all of them to hiddenWindow.xhtml and
reimplements openPreferences() in a non-Zotero-object-dependent way.

Fixes #2738
2022-08-12 15:34:26 -04:00
Abe Jellinek
333cf8cc2a
Add Book -> Book Section and Book Section -> Book to context menu (#2754) 2022-08-11 16:28:32 -04:00
Martynas Bagdonas
4f52eb9be3 Fix PDF reader selector popup that was never opening
(cherry picked from commit e4e3c72036)
2022-08-11 14:22:52 +03:00
Martynas Bagdonas
d1550a3fd5 Fix regression preventing opening PDF reader window when the tab is open
(cherry picked from commit 0857cefb0c)
2022-08-11 14:22:52 +03:00
Adomas Venčkauskas
d6909ec8e5 Update SingleFile config for current version
They got updated upstream and the backwards-compat code
does not run for the way we execute singlefile

See https://github.com/gildas-lormeau/SingleFile/issues/1021
Addresses https://github.com/zotero/zotero-connectors/issues/398
2022-08-11 14:00:40 +03:00
Adomas Venčkauskas
2dd54fddf4 Prevent singlefile config from overwriting the Zotero.SingleFile namespace 2022-08-11 13:51:57 +03:00
Dan Stillman
c90f8415b3 Improve test for event-title substitution
And add comments

Follow-up to 20d0f103f
2022-08-11 03:57:25 -04:00
Dan Stillman
7eab91a160 Automatically substitute event-title for event in styles
Stopgap until styles are updated in citation-style-language/styles#6151
2022-08-11 03:57:15 -04:00
Dan Stillman
57b91a0add Move item box comment from 87455d28c3
The code seems to have already been applied on the fx102 branch
2022-08-11 03:56:46 -04:00
Abe Jellinek
678a6101b3 Advanced Search: Make sure items are loaded (#2743) 2022-08-11 03:53:39 -04:00
Dan Stillman
72d4cdd3a3 Don't preselect Act for multiple sources in classic citation dialog
"Multiple Sources…" wasn't properly handled by 629892b0b8

https://forums.zotero.org/discussion/98877/act-instead-of-page
https://twitter.com/drezvera99/status/1554521940684984320
2022-08-11 03:53:34 -04:00
Martynas Bagdonas
098886bcb6 Select existing unloaded tab instead of opening a new one
Fixes #2740
2022-08-11 03:52:53 -04:00
Martynas Bagdonas
9190eb8f34 Allow to scroll tabs with mouse wheel
Fixes #2724
2022-08-11 03:52:45 -04:00
Abe Jellinek
1f9e518581 Duplicates Merge: Preserve embedded annotations (#2728) 2022-08-11 03:52:40 -04:00
Adomas Venčkauskas
63148dff3b Do not load-timeout on browser PDF download during content load
Closes #2726
2022-08-11 03:52:31 -04:00
Martynas Bagdonas
d595b3f195 Freeze note schema version to 8
We can do it because it was only used to create a note from annotations.

No need to update schema version in Zotero client, unless using new
features when creating a note from annotations.
2022-08-11 03:50:06 -04:00
Martynas Bagdonas
44ef4cd35a Fix regression that prevents showing the last selected tab on startup
Fixes #2723
2022-08-11 03:50:01 -04:00
Martynas Bagdonas
b02ad0dc83 Fix regression that prevents showing new notes in contextPane notes list 2022-08-11 03:49:52 -04:00
Adomas Venčkauskas
1955427d62 Fixes some assets not being saved with SingleFile snapshots
Part of zotero/zotero-connectors#394

When saving an item (e.g. on arxiv) with a site translator, the
translator may add a custom snapshot attachment URL which does not match
the translation URL (the URL in the browser where translation was
initiated) in which case Zotero handles snapshot saving. Zotero loads
the page in a background browser. By default images are not loaded in
this browser. SingleFile due to CORS restrictions has to refetch all
resources that are not from the same domain or subdomain, but uses
pre-loaded resources (images) from the same domain. Before this change
any images that were from the same domain as the saved website were not
saved in the snapshot. This commit fixes that.
2022-08-11 03:49:52 -04:00
Adomas Venčkauskas
3ba78dec78 Changes for updated SingleFile submodule 2022-08-11 03:49:52 -04:00
Dan Stillman
f46c0986d3 Localize "Export PDF…" menu option
Fixes #2710
2022-08-11 03:49:52 -04:00
Dan Stillman
a33775d2a1 Update translate submodule 2022-08-11 03:49:52 -04:00
Dan Stillman
54a7211a45 Update locales from Transifex 2022-08-11 03:47:00 -04:00
Dan Stillman
8bce2b1fdd Increase Mendeley API timeout to 60 seconds
To see if we can fix the 30-second timeout here:

https://forums.zotero.org/discussion/comment/412750/#Comment_412750
2022-08-11 03:46:51 -04:00
Dan Stillman
393b1f8369 Add warning in toolbar for 'dev' channel builds 2022-08-11 03:43:03 -04:00
Martynas Bagdonas
7089ce8fc7 Use Quick Copy (Markdown) for direct plain-text copying from note-editor
Fixes #2505
2022-08-11 02:49:07 -04:00
Abe Jellinek
bd18339797 Prevent deleting My Publications
Previously showed a blank confirmation dialog and logged an error.
2022-08-11 02:48:59 -04:00
Martynas Bagdonas
221aa25e00 Prevent delayed context pane expansion and pdf-reader rerender/resize when switching from library tab 2022-08-11 02:48:54 -04:00
Martynas Bagdonas
4ab154c4bf Don't include quotes when {{highlight}} is placed in a blockquote
Fixes #2697
2022-08-11 02:48:49 -04:00
Martynas Bagdonas
fcb63465ac Include quotation marks for highlights by default, but allow to disable
Fixes #2697
2022-08-11 02:48:44 -04:00
Dan Stillman
d3942ad1f0 Better fix for errors from invalid sort fields
Just catch the error from `ItemTree::sort()` and clear the
secondary-sort and fallback-sort prefs so that sorting works on the next
attempt.

Replacement for a8ed30ce80

https://groups.google.com/g/zotero-dev/c/kc0-C6-SA74/m/bhHniGceAQAJ
2022-08-11 02:48:35 -04:00
Dan Stillman
d747da7c65 Revert "Validate fields in ItemTree::getSortFields()"
This reverts commit a8ed30ce80 and related
commits.

We'll address breakage from invalid sort fields another way, without
inconveniencing plugin authors.

https://groups.google.com/g/zotero-dev/c/kc0-C6-SA74/m/bhHniGceAQAJ
2022-08-11 02:48:31 -04:00
Dan Stillman
9dc8995ba8 Sort empty rows last for Date/Year columns when descending
Date columns start in descending order, so put empty rows at end

Also remove a seemingly unnecessary exception for Title when not the
primary sort and just always sort it with empty rows first
2022-08-11 02:48:26 -04:00
Dan Stillman
e25ec0d981 Fix sorting of attachments and notes columns
Regression from a8ed30ce80
2022-08-11 02:48:22 -04:00
Dan Stillman
3ab661b628 Fix sorting by Item Type and feed item itemID
Regression from a8ed30ce80
2022-08-11 02:48:16 -04:00
Dan Stillman
5620dc96bd CookieSandbox: Fix error setting request cookies
Regression from 6af3b0276a, showing up as "trackedBy is undefined" error

https://forums.zotero.org/discussion/98322/no-snapshot-or-pdf-autosaved-using-zotero-connector-on-safari
2022-08-11 02:48:06 -04:00
Dan Stillman
74f00e60c7 Merge new English strings 2022-08-11 02:47:51 -04:00
Dan Stillman
2c11aadc57 Add localized string for timestamp CSL locator
Not included in the CSL locales:

https://forums.zotero.org/discussion/comment/412060/#Comment_412060
2022-08-11 02:47:46 -04:00
Dan Stillman
c4c940722b Merge new English strings 2022-08-11 02:47:38 -04:00
Dan Stillman
7b247e73df Tweak confirmation message for recursive collection-item removal
I guess the "its" is technically a little clearer, but it's a bit
awkward, and I think it's reasonably implied.
2022-08-11 02:47:33 -04:00
Abe Jellinek
b18967fba4 recursiveCollections: Remove from all subcollections on delete (#2689) 2022-08-11 02:47:28 -04:00
Dan Stillman
cac0e7ee50 Update locales from Transifex 2022-08-11 02:47:19 -04:00
Dan Stillman
387e4dd958 Add CSL 1.0.2 locators and switch to CSL locales for localization
And move Page to middle of list, while still selecting by default

https://forums.zotero.org/discussion/comment/396602/#Comment_396602
2022-08-11 02:47:15 -04:00
Dan Stillman
92a1a43cbb Validate fields in ItemTree::getSortFields()
To avoid startup hang if a plugin does something bad:

https://forums.zotero.org/discussion/comment/411843/#Comment_411843

Fixes #2692
2022-08-11 02:47:04 -04:00
Tom Najdek
a7c5f78107 Improve log output for multiple Mendeley imports
Helps with debugging cases where new import is started while previous
one is still being cancelled
2022-08-11 02:46:47 -04:00
Tom Najdek
9acf1ac42e Lint code related to Mendeley importer 2022-08-11 02:46:42 -04:00
Tom Najdek
141258d564 Fix a bug in regex extracting fields to "extra"
Because regex is built using a template string, \s* is actually escaped
into s*, i.e. literal "s" appearing 0 or more times. In most cases this
would mean that output can have spacing slightly off. In extreme case,
when identifier starts with letter "s", this could this could lead to
identifier being stored incorrectly.

Also adjusted tests to be more strict and mock data to cover this case.
2022-08-11 02:46:37 -04:00
Tom Najdek
c9400c565c Mendeley import: detect win close, better feedback
* Detect wizard cancel/close and interrupt import. This will still
  have to wait for current fetch (file or metadata) to complete but will
  then advance to the cleanup stage
* Advance progress bar during metadata fetch
* Add some extra logging
2022-08-11 02:46:31 -04:00
Tom Najdek
4b86c2a3fd Don't try to remove temporary dir after import
Previously we had a structure that also created folders in temp dir,
that has since changed but code in cleanup phase to remove containing
dir has been accidentally left unremoved.
2022-08-11 02:46:26 -04:00
Martynas Bagdonas
5f6d6da154 Fix disabled "Add to Note" when a child note is open
Fixes #2687
2022-08-11 02:46:17 -04:00
Dan Stillman
01dc397afd Update global schema and utilities for CSL 1.0.2 2022-08-11 02:43:53 -04:00
Martynas Bagdonas
ca3e048b78 Adjust page rotation labels in PDF reader
Fixes #2669
2022-08-11 02:43:47 -04:00
Martynas Bagdonas
b9f4a7835a Show parent item title for child notes in context pane
Fixes #2681
2022-08-11 02:43:32 -04:00
Martynas Bagdonas
b5bdae3d6d Implement smart notes switching in contextPane (#2671)
Fixes #2650
2022-08-11 02:38:55 -04:00
Dan Stillman
5920c5d3e5 Update utilities submodule and date-parsing tests
Includes strToDate() fixes
2022-08-11 02:36:04 -04:00
Dan Stillman
9c6d7abc76 Update locales from Transifex 2022-08-11 02:35:56 -04:00
Adomas Venčkauskas
3ff650f046 Limit the force-click during drag fix to macOS (4fb0661b) 2022-08-11 02:34:29 -04:00
Adomas Venčkauskas
9feb2fc6cf Fix alt-arrow not working on macOS when editing collection names.
Fixes #2651
2022-08-11 02:34:24 -04:00
Adomas Venčkauskas
1937220099 Fix force-click during drag sometimes causing collections to switch
Closes #2652
2022-08-11 02:34:17 -04:00
Abe Jellinek
48ad6dcb99 Fix error if New Collection prompt is canceled 2022-08-11 02:34:12 -04:00
Dan Stillman
3fb9e2162e Use String.fromCharCode() to load Chinese characters in strToDate() test
Follow-up to dc045250a6
2022-08-11 02:34:06 -04:00
Dan Stillman
56151a4198 Fix parsing of Chinese and other non-ASCII month names
https://forums.zotero.org/discussion/97683/bug-locale-issues-concerning-zotero-and-zotero-connector
2022-08-11 02:33:58 -04:00
Dan Stillman
c8cc97dd97 Properly strip ZWJ in isOnlyEmoji() 2022-08-11 02:33:54 -04:00
Dan Stillman
011b60af61 Fix Emoji detection
And move to Zotero.Utilities.Internal.isOnlyEmoji()

Fixes #2643
2022-08-11 02:33:41 -04:00
Abe Jellinek
3481def4f6 Fix sorting by attachment (#2586) 2022-08-11 02:33:03 -04:00
Dan Stillman
d14700606d Update locales from Transifex and merge new English strings 2022-08-11 02:32:54 -04:00
Dan Stillman
6828e24481 citeproc-js: Add space after left margin in plain-text mode
This adds a space after the the number in some numeric styles ("[1]" in
IEEE style, "1." in Nature) when pasting bibliography entries into a
plain-text editor.

Some styles (ACS, AMA, Vancouver) will need to be updated to remove
their hard-coded spaces to avoid double spaces after this change.

Patch from @zepinglee

Fixes #2633
2022-08-11 02:32:39 -04:00
Martynas Bagdonas
bfc61a69ba Add support for PDF page deletion and rotation (#2595)
* Add support for PDF page deletion and rotation
Fixes #2561
2022-08-11 02:32:30 -04:00
Adomas Venčkauskas
44e8a372e5 Fix a MIMETypeHandler.removeHandler() bug 2022-08-11 02:31:33 -04:00
Adomas Venčkauskas
1687d4caad Improve downloadPDFViaBrowser handlers and logging 2022-08-11 02:31:28 -04:00
Adomas Venčkauskas
f88cc8b988 Fix cookieSandbox not overriding user agent if no cookies for domain.
Potential fix for #2635
2022-08-11 02:31:23 -04:00
Martynas Bagdonas
266ea99a77 Fix library tab tooltip always staying on top 2022-08-11 02:31:15 -04:00
Dan Stillman
b1c2b9e005 Fix detection of some emoji set as colored tags
Emoji such as ️ that began as text-based Unicode characters and depend
on Variation Selector-16 to display the emoji presentation weren't being
properly detected.
2022-08-11 02:31:01 -04:00
Dan Stillman
fdff93a961 Update locales from Transifex 2022-08-11 02:29:18 -04:00
Dan Stillman
5eecc3fc54 Add prefs for timeouts for downloading PDF via browser
1 second isn't enough for some users, so try 1.5, and allow for easier
debugging via a pref.

https://forums.zotero.org/discussion/96431/i-have-access-to-pdf-but-zotero-cannot-automatically-add-it
https://forums.zotero.org/discussion/97277/unable-to-download-papers-using-zotero-chrome-extension
2022-08-11 02:28:16 -04:00
Dan Stillman
cb2594f53f Feed import: Don't fail on OPML entry with no title or text
https://forums.zotero.org/discussion/96841/impossible-dimporter-ompl-rss
2022-08-11 02:28:03 -04:00
Martynas Bagdonas
b98a5e0545 Avoid error interrupting annotation extraction from multiple items 2022-08-11 02:25:43 -04:00
Dan Stillman
477dd69d54 Update locales from Transifex 2022-08-11 02:25:43 -04:00
Dan Stillman
82eb701ea7 Try to open external PDF reader to page number for "Show on Page"
PDF-handling code from `ZoteroPane.viewAttachment()` predates
`Zotero.OpenPDF` and didn't handle page numbers for external PDF
readers, so when called from "Show on Page" in a note (via
`ZoteroPane.viewPDF()`) it just launched the file itself in the
specified handler or via the OS.

For now, change to use `Zotero.OpenPDF.openToPage()` when there's a page
number. Later we should use `Zotero.OpenPDF` for everything, but that
code is more complicated than just using `launchFile()`, so we'll need
to do some testing (particularly on Linux) to see what's best.

(Note that "Show on Page" with an external reader doesn't make a ton of
sense, since you can't actually see the annotation, but opening the
right page is better than nothing.)

Fixes #2612
2022-08-11 02:25:43 -04:00
Abe Jellinek
139d92054f Scaffold templates: Pull URL from doc
Link URLs could lead to redirects.
2022-08-11 02:25:43 -04:00
Abe Jellinek
7d3e95e050 Fix Scaffold load error when fontSize pref is set 2022-08-11 02:25:43 -04:00
Abe Jellinek
8d75f37548
fx-compat: Add preferences with full-text/keyword search (#2659) 2022-08-10 18:26:23 -04:00
Abe Jellinek
db600cb5b9 fx-compat: Item box: Don't set flex attribute on HTML elements 2022-08-08 14:52:17 -04:00
Dan Stillman
78b0055206 Change app id to zotero@zotero.org
And remove all references to old id

We can do this because plugins will use new mechanisms for install and
update manifests that don't use the id (which also means it's now only
used internally).
2022-08-08 05:11:21 -04:00
Dan Stillman
ef33731490 fx-compat: Add message to Add-ons pane when no plugins installed
We'll want to update the rest of the instances of "extensions" or
"add-ons" to say "plugins" (unless we think we might support themes, in
which case we can keep "add-ons").
2022-08-06 03:49:40 -04:00
Abe Jellinek
cd296b1f37 fx-compat: Item box: Fix _*FieldValue(), more focus issues
_getFieldValue() and _setFieldValue() were using `.value` instead of
`.textContent`, so the few places that use it were getting/setting ignored
fields on divs.

fbc25834 messed up the tab index logic, shifting the responsibility for
preserving _lastTabIndex across refreshes: originally, the default was to throw
it away, and the caller was responsible for saving and restoring it if the
refresh was caused by tabbing between fields. The bad commit reversed the
situation and made the item box *remember* the _lastTabIndex by default,
meaning that a refresh caused by the notifier, for example, would focus the
last focused field even if it had been closed by the user in the meantime.

That bad change was a misguided attempt to fix the Tab key cycling infinitely
between Item Type, Title, and creators and never reaching further fields. The
actual fix was just to add `, textarea` to the query on line 1459.
2022-08-05 16:12:28 -04:00
Abe Jellinek
1ecc0b113b fx-compat: Item box: Fix auto-scroll functions 2022-08-05 12:32:03 -04:00
Abe Jellinek
cb14564174 fx-compat: Item box: Prevent editor from reopening after close
We did need to reset _lastTabIndex as the line removed in fbc25834 did, but
only immediately surrounding the saveTx() call.
2022-08-05 12:10:16 -04:00
Abe Jellinek
57abea5416 fx-compat: Item box: Remove some dead code
All already being handled by CSS (besides the exact character length limits, but
it's not clear that we really need those - we just ellipsize if it visually
overflows now, which seems fine).
2022-08-05 11:57:54 -04:00
Abe Jellinek
4e6fe4d119 fx-compat: Remove temp item type menulist logging 2022-08-05 11:49:14 -04:00
Abe Jellinek
1c36406b1e fx-compat: Item box: Fix removing creator while editing it 2022-08-05 11:45:58 -04:00
Abe Jellinek
361a83c378 fx-compat: Item box: Restore batch paste behavior
Since <input>s are single-line, we do the split operation on paste instead of on
blur.
2022-08-05 11:45:58 -04:00
Dan Stillman
53a09bb912 Add reason parameter for plugin bootstrap methods
As documented on https://wiki.mozilla.org/Extension_Manager:Bootstrapped_Extensions

And fix method names for `install()` and `uninstall()`
2022-08-05 04:51:07 -04:00
Dan Stillman
51f9150410 fx-compat: Initial plugin support
Plugins are ZIPs containing at least these two files:

- manifest.json: A WebExtension MV2 manifest with basic metadata
  properties and `applications.gecko` with `id` and `update_url`
- bootstrap.js: A bootstrap file, similar to old bootstrapped extensions,
  with `installed()`, `startup()`, `shutdown()`, and `uninstalled()`
2022-08-05 01:08:51 -04:00
Dan Stillman
e82e808f2b Update definition style of Zotero.log() and Zotero.logError() 2022-08-05 01:08:51 -04:00
Dan Stillman
e6256d60ec fx-compat: Fix logging to the browser console 2022-08-05 01:08:51 -04:00
Abe Jellinek
080ada78ee fx-compat: Item box: Prevent tabbing to hidden firstName 2022-08-04 17:20:01 -04:00
Abe Jellinek
fbc2583433 fx-compat: Item box: Fix tabbing 2022-08-04 17:02:41 -04:00
Abe Jellinek
7a22458ed4 fx-compat: Item box: Fix fieldMode resetting on blur
The fieldMode attribute of the input was being set by the call to
switchCreatorMode(), but it didn't carry over to the label that replaces it on
line 1997.

Also removed a debug line and cleaned up a bit.
2022-08-04 16:50:48 -04:00
Abe Jellinek
581f4bdf7b fx-compat: Fix parameter name typo 2022-08-04 15:10:32 -04:00
Abe Jellinek
617ede481a fx-compat: Add roles to banners
Fixes #2655 (with 0983ff)
2022-08-04 14:52:16 -04:00
Abe Jellinek
c7fc98dff6 fx-compat: editContextMenu -> editMenuOverlay
To reflect that it now handles the menu bar Edit menu as well.
2022-08-02 15:50:44 -04:00
Abe Jellinek
64155bf58f fx-compat: Fix edit context menu
The menupopup needs to be in a popupset to show correctly.
2022-08-02 15:49:06 -04:00
Abe Jellinek
27841acb83 fx-compat: Select items dialog: Fix search and make functional 2022-08-01 15:39:57 -04:00
Abe Jellinek
f8ac57bdb1 fx-compat: Don't focus dropdown in quick search textbox
To match old behavior and fix autofocus.
2022-08-01 15:22:25 -04:00
Abe Jellinek
d018133e9b fx-compat: Use html-tooltip everywhere
And convert tooltiptext attributes on item box HTML elements to titles.
2022-08-01 15:02:42 -04:00
Abe Jellinek
812511e31b fx-compat: Open DOI popup as native menu, too 2022-08-01 14:29:35 -04:00
Abe Jellinek
bcf62e688f fx-compat: Item box: Use addEventListener() 2022-08-01 14:27:46 -04:00
Adomas Venčkauskas
41907975b0 Adjust integration function comments and test dummy signature 2022-07-26 10:53:05 +03:00
Abe Jellinek
808375d5e3 fx-compat: Item box: Fix creator name field sizing
Not the exact same sizing as Fx60, because that relied on some quirks
of the Mozilla box model that I can't reproduce with flexbox, but still
works about as well.
2022-07-21 16:12:28 -04:00
Abe Jellinek
26a2398399 fx-compat: Restore guidance panels as CE
Fixes #2711.
2022-07-20 11:12:52 -04:00
Dan Stillman
7b10182e4a Disable obsolete "Open in External Viewer" menu option
Hasn't done anything since in-browser viewing of certain file types in
Zotero 4 for Firefox. Perhaps we'd bring it back at some point, but
disable for now.
2022-07-19 22:38:01 -04:00
Dan Stillman
744837cce7 fx-compat: Remove Zotero.MIME.hasInternalHandler()
Hasn't been relevant since the Firefox NPAPI days, but was returning
true for `application/pdf` (possibly due to the bundled pdf.js in
Firefox still being included in our builds, which we should remove if
so), which was causing "Open in External Viewer" to appear, even though
it just opened the internal reader.
2022-07-19 22:38:01 -04:00
Abe Jellinek
5e6dc290b6 fx-compat: Scaffold: Read ESLint output from stdin
Need to update your zotero/translators clone to get linting working again.
2022-07-19 16:26:17 -04:00
Abe Jellinek
14f79018ad fx-compat: Scaffold: Fix "undefined" attributes 2022-07-19 14:44:28 -04:00
Abe Jellinek
db3aa5248c fx-compat: Scaffold: Fix list overflow in Tests 2022-07-19 14:44:28 -04:00
Abe Jellinek
8ff75607a5 fx-compat: Item box: Disable guidancepanel trigger + cleanup 2022-07-19 14:44:28 -04:00
Abe Jellinek
6f8c5d7c51 fx-compat: Item box: Make vertically scrollable 2022-07-19 14:44:20 -04:00
Abe Jellinek
083e3c7a36 fx-compat: Search: Clear join mode condition
Fixes an error that prevents changing the join mode from having an effect
after clearing the search when a join mode was already set. Bug also
present on master, not introduced with fx102.
2022-07-12 22:01:20 -04:00
Abe Jellinek
fba349b144 fx-compat: Remove more unused binding CSS 2022-07-12 14:55:12 -04:00
Abe Jellinek
5f8a5056f1 fx-compat: Remove unused progress display 2022-07-12 14:50:53 -04:00
Abe Jellinek
5c6837c1fc fx-compat: Add copyright to CE base 2022-07-12 14:47:24 -04:00
Abe Jellinek
916627b590 fx-compat: Scaffold: Fix indentation using spaces 2022-07-11 13:03:48 -04:00
Abe Jellinek
dc96c1a175 fx-compat: Fix ZP progress queue button creation 2022-07-11 13:02:51 -04:00
Abe Jellinek
ab6b683d90
fx-compat: More progress on platform menus (#2675)
Not able to test on non-Mac yet, but this behavior should be right.
Removes all the #ifdefs and moves the behavior into platformKeys.js.
2022-07-07 00:04:13 -04:00
Abe Jellinek
9a8e78aaf4
fx-compat: Restore quick search menu and update styles (#2684) 2022-07-06 23:42:23 -04:00
Abe Jellinek
bc41c3b7b0 fx-compat: Make changelog link in About work 2022-07-06 15:24:31 -04:00
Abe Jellinek
abe19b9435 fx-compat: Fix error when v-t tooltip shows 2022-07-06 11:12:44 -04:00
Abe Jellinek
0983ffbef2 fx-compat: Make sync / retraction links tabbable
Addresses #2655. Still need to add roles.
2022-07-06 10:53:08 -04:00
Abe Jellinek
8face792c0
fx-compat: Fix search dialogs (#2631) 2022-07-04 01:48:52 -04:00
Abe Jellinek
b78b9cad1f fx-compat: Duplicates: UI fixes
- Scroll vertically
- Restore margins between groupboxes
- Restore field version dropmarker
2022-06-30 12:32:11 -04:00
Abe Jellinek
97786bfa77 fx-compat: Fix multiline Add Item by Identifier
Now just one textarea instead of an input and a textarea.

Fixes #2677
2022-06-30 11:48:15 -04:00
Abe Jellinek
f81b4b071f fx-compat: Correct create[XUL]Element[NS]() calls
This fixes the dictionary manager and various other places where a XUL
element was being created with createElement(), and also simplifies a lot
of createElementNS(HTML_NS, ...) calls.

This might cause some minor regressions but everything tested has
worked. Not touching preferences (#2659) or bindings.
2022-06-29 11:14:40 -04:00
Abe Jellinek
8b7d959781 fx-compat: Fix column picker context menu 2022-06-29 09:27:11 -04:00
Dan Stillman
4fcde6c8c5 fx-compat: hiddenWindow.xul → hiddenWindow.xhtml 2022-06-29 06:17:21 -04:00
Dan Stillman
41f54624b1 fx-compat: Fix "Hide {-brand-shorter-name}" in Mac application menu 2022-06-29 03:38:16 -04:00
Abe Jellinek
1eb9718b6b Style editor: Light theme, leave selection if unchanged
Since onStyleModified() is called when a style is loaded.
2022-06-28 15:12:57 -04:00
Abe Jellinek
9c837b3361 Improve Monaco integration and use in csledit
And remove timedtextarea.xml. Fixes #2665.
2022-06-28 15:05:16 -04:00
Abe Jellinek
8681e8ffe9 fx-compat: Make macOS application menu shortcuts work
e.g. Cmd-H flashed the menu but didn't actually hide.
2022-06-28 12:15:11 -04:00
Abe Jellinek
00e46443a6 Add XULElementBase class for custom elements
https://github.com/zotero/zotero/pull/2631#discussion_r906723540
2022-06-28 11:52:11 -04:00
Abe Jellinek
6295050fa6
Restore platform edit menu behavior without #ifdef (#2674) 2022-06-27 23:06:01 -04:00
Abe Jellinek
f0aef79c7a fx-compat: Use permalink in comment 2022-06-27 14:26:00 -04:00
Abe Jellinek
a654ad291f fx-compat: Add comment explaining menubar change 2022-06-27 14:22:02 -04:00
Abe Jellinek
a8c4e0637b fx-compat: Restore Mac application menu
The stuff in hiddenWindow.xul doesn't seem to have been doing anything
in Fx102 anyway.
2022-06-27 14:15:11 -04:00
Abe Jellinek
89587e6b76 fx-compat: native="true" on more checkboxes/menulists 2022-06-24 09:11:38 -04:00
Dan Stillman
3805f901cf fx-compat: Fix centering of library pane progress bar 2022-06-23 04:17:08 -04:00
Dan Stillman
f827b9ef50 fx-compat: initKeyEvent()new KeyboardEvent()
Quick Format change is untested
2022-06-21 03:31:58 -04:00
Dan Stillman
587ae6ba7e fx-compat: Fix blurring of textarea fields in item box
And fix tests
2022-06-21 03:03:37 -04:00
Dan Stillman
3743c179e1 Add missing commonDialog.js from dictionary manager
Currently provides close-on-Esc functionality
2022-06-21 01:39:07 -04:00
Dan Stillman
20945f60c9 fx-compat: Remove nsIURI.clone() usage 2022-06-21 01:39:07 -04:00
Dan Stillman
6297d0862f fx-compat: Replace last use of getURLSpecFromFile()
Follow-up to 8f7a160ba1

Untested, since it's in the prefs -- we'll have to see if this works
after #2659
2022-06-21 01:39:00 -04:00
Dan Stillman
789a8a5fe9 fx-compat: Use new mozILocaleService API
Replace functions with arrays, as in https://phabricator.services.mozilla.com/D6339
2022-06-20 23:09:46 -04:00
Dan Stillman
96f6b871ce fx-compat: Fix sync error panel 2022-06-20 18:43:09 -04:00
Martynas Bagdonas
5b879f75c5 fx-compat: Avoid dead object errors in note-editor
Fixes #2663
2022-06-20 11:33:10 +03:00
Dan Stillman
b3077182d2 fx-compat: Fix Zotero.MIME.getMIMETypeFromURL()
Replace

```
Components.classes["@mozilla.org/network/standard-url;1"]
	.createInstance(Components.interfaces.nsIURL)
```

with

```
Services.io.newURI(url).QueryInterface(Ci.nsIURL);
```
2022-06-20 01:12:57 -04:00
Dan Stillman
30f636274b Update Notifier ids for itemBox/notesEditor custom elements 2022-06-20 00:47:50 -04:00
Dan Stillman
be3b245dbe Don't index PDF if fulltext.textMaxLength is 0
Follow-up to 13adfd131c
2022-06-19 19:03:41 -04:00
Dan Stillman
dfff86df72 fx-compat: Fix Zotero.File.download() 2022-06-19 18:58:25 -04:00
Dan Stillman
8f7a160ba1 fx-compat: getURLSpecFromFile()Zotero.File.pathToFileURI()
One remaining instance in the prefs that will need to be fixed
2022-06-19 15:20:54 -04:00
Abe Jellinek
9c69f73de5 Manually remove handler instead of using once
Since we only want to remove if the target matches.
2022-06-18 03:45:32 -04:00
Abe Jellinek
a48ebe2dd7 Show native menus from toolbar 2022-06-18 03:45:32 -04:00
Abe Jellinek
a60e46dd5c fx-compat: Fix toolbar 2022-06-18 03:45:32 -04:00
Abe Jellinek
dd3385ec67 Revert "fx-compat: Remove Mac toolbarbutton images"
This reverts commit 280a1265c8.
2022-06-18 03:45:32 -04:00
Dan Stillman
d90334e883 fx-compat: Initial nsIWebBrowserPersist.saveURI() fixes
Will need additional fixes for cookie handling, etc., but this at least
fixes the signature
2022-06-17 20:29:01 -04:00
Dan Stillman
2b41b0127c Get binary contents in Zotero.File.getSample()
And fix magic numbers for content-type sniffing, which wrongly used the
Unicode replacement character (which likely just meant we were falling
back to file-extension-based detection)
2022-06-17 20:29:01 -04:00
Dan Stillman
13adfd131c fx-compat: Update full-text indexing
Use the new PageData mechanism for character set detection, don't try to
index HTML files directly without properly detecting the charset, and
generally simplify the indexing code.

HTML files are now considered cached files that require indexing and
won't be indexed automatically in Zotero.FullText.findTextInItems(),
which breaks certain expectations, including in some tests. This will
need to be addressed.
2022-06-17 20:29:01 -04:00
Dan Stillman
1dd24f7082 Remove Zotero.File.getCharsetFromFile()/addCharsetListener()
Unused in over a decade, and now replaced by the PageData actor
2022-06-17 20:29:01 -04:00
Dan Stillman
6a2949be8a fx-compat: Add HiddenBrowser.jsm
Remove Zotero.Browser and add HiddenBrowser.jsm. Post-Fission, web/file
content loads in a separate process, so it's not possible (as best as I
can tell) to directly access the contents of a hidden browser -- it just
appears as about:blank in the parent process. We now use Mozilla's
JSWindowActor mechanism [1] to get page data, including character set
and body text for full-text indexing. We'll have to evaluate other uses
of hidden browsers to see how to handle them.

This also adds include.jsm for loading the Zotero object into a JSM.

[1] https://firefox-source-docs.mozilla.org/dom/ipc/jsactors.html
2022-06-17 20:28:58 -04:00
Dan Stillman
7f748b2620 Take path or nsIFile in Zotero.File.pathToFileURI() 2022-06-17 20:24:43 -04:00
Dan Stillman
730e86d661 fx-compat: Restore tests and test using actual Zotero executable
The test runner now uses the Zotero executable from
`zotero-standalone-build/staging` rather than the Firefox from
`zotero-standalone-build/xulrunner`. Along with testing the actual
program, this restores visible UI updates during tests, which should
make debugging various things easier. We can also now remove anything
related to Zotero being an extension.

Many tests are still broken, but this at least lets us start running
them.
2022-06-17 20:24:43 -04:00
Dan Stillman
3c9dcea46b Add comment explaining CSS rule to hide menuitem icons on macOS 2022-06-17 20:24:43 -04:00
Abe Jellinek
0e1a16b96b fx-compat: Show native field/creator transform popups
No longer anchored to the element, but instead to the cursor.
2022-06-17 18:49:07 -05:00
Abe Jellinek
c31df4ae6b fx-compat: Display item box using CSS grid
- Widths are now correct
- Rows are a little too tall
- Field value vertical alignment is off
- Platform styling isn't done and some styles might be redundant
- Still can't scroll vertically
- Creator name inputs still displayed wrong
2022-06-16 16:27:16 -05:00
Tom Najdek
cb3d4b1800
Fix tag selector menus not appearing on fx102 (#2654)
Also tweaked offset where a context menu appears to 1px from cursor
(was 2px) to match other context menus.
2022-06-14 18:28:02 -04:00
Abe Jellinek
cd17c90f2e fx-compat: Don't show hidden types in Item Type menu 2022-06-10 14:03:53 -05:00
Abe Jellinek
ac9e882bda fx-compat: Item box: Fix URL opening and field blurring 2022-06-10 13:59:01 -05:00
Martynas Bagdonas
097d423275 fx-compat: Fix spellchecker and dictionary manager 2022-06-10 12:57:27 +03:00
Martynas Bagdonas
5924753fd1 fx-compat: Fix unloaded tab loading 2022-06-09 16:30:34 +03:00
Martynas Bagdonas
64c652ea06 fx-compat: Replace eval with wrappedJSObject in PDF reader 2022-06-09 13:13:08 +03:00
Abe Jellinek
9a2e98360a fx-compat: Scaffold: Update Monaco
Now that we can. Quite a bit faster and more customizable.
2022-06-08 17:38:59 -05:00
Abe Jellinek
e537018e71 fx-compat: Initial fix for Scaffold
Not working:
- Web tests (hidden browser is broken)
- Test Updated status text
- Various platform menu things (code copied from ZP and will use whichever
  approach we settle on there)
2022-06-08 17:16:50 -05:00
Martynas Bagdonas
1b324f9bd1 fx-compat: Fix color rendering in annotation popup, use checkbox 2022-06-08 21:22:37 +03:00
Martynas Bagdonas
1e25e2ac4c fx-compat: Fix invisible caret issue in linksBox tags popup 2022-06-08 21:22:37 +03:00
Martynas Bagdonas
a7bc25b553 fx-compat: Fix PDF reader window 2022-06-08 18:57:26 +03:00
Martynas Bagdonas
08089d6120 fx-compat: Fix tooltip node to work in PDF reader tab 2022-06-08 18:57:26 +03:00
Martynas Bagdonas
2e5388af5b fx-compat: Implement tagsBox element 2022-06-07 17:13:48 +03:00
Abe Jellinek
7e55ea59bb fx-compat: Item box: Change creator type label correctly 2022-05-31 16:31:20 -07:00
Abe Jellinek
b9f3bea8c3 fx-compat: Attachment box: Only add listener once 2022-05-31 16:30:55 -07:00
Abe Jellinek
1b74befd64 fx-compat: Fix Item Type menu regression 2022-05-31 15:04:14 -07:00
Abe Jellinek
d3555228b2 fx-compat: Fix Duplicate Items merge view 2022-05-31 14:57:47 -07:00
Abe Jellinek
59d5013952 fx-compat: Item box: Fix menu actions, plus/minus buttons 2022-05-31 11:23:19 -07:00
Abe Jellinek
496f34117c fx-compat: Fix attachment rename, remove <links-box> observer
<links-box> doesn't actually have a notify() method, so an error was
being thrown on each notification.
2022-05-27 13:28:07 -06:00
Abe Jellinek
1ef40d9423 fx-compat: Fix attachment box 2022-05-27 12:56:13 -06:00
Martynas Bagdonas
307701788f fx-compat: Fix and extract notesBox into a separate element 2022-05-27 13:21:18 +03:00
Abe Jellinek
f05d6fe0e0 fx-compat: Fix basicViewer for http(s):// URLs
maychangeremoteness="true" is required to successfully load pages from
the web even though we never actually change remoteness.

https://searchfox.org/comm-central/rev/2cf3a09a0127fe73e932c5ee793986f3bed2ccd2/mail/base/content/aboutMessage.xhtml#118
2022-05-26 10:45:57 -06:00
Abe Jellinek
e26fd18450 fx-compat: Change autocomplete-input load method 2022-05-26 09:39:30 -06:00
Martynas Bagdonas
0079fbdb08 fx-compat: Fix relatedBox 'Add' button visibility 2022-05-26 18:31:07 +03:00
Martynas Bagdonas
db0ac723fa fx-compat: Note editor and links box fixes:
- Add links-box component (inside noteEditor.js).
- Add related-box component and fix related pane.
- Use tagsBox.jsx instead of tagsbox.xml in note editor links box popup.
- Remove CSS styles and bindings for noteeditor, relatedbox and tagsbox.
2022-05-26 18:23:31 +03:00
Martynas Bagdonas
4a1812e5ba fx-compat: Fix selectItemsDialog 2022-05-26 18:23:31 +03:00
Abe Jellinek
4a856b94cc fx-compat: Item box: Fix abstract expander 2022-05-25 13:22:52 -06:00
Abe Jellinek
3566d1fc1f fx-compat: Item box: Fix item type menulist
- Use IDs as list item values
- Use addEventListener() so events are actually received
- Put menulist inside <td>
    * This causes a small appearance regression at the moment because
      <td> margins/padding are a bit off, but that issue is visible on
      all other fields already.
2022-05-25 12:51:15 -06:00
Abe Jellinek
c2ce5c7596 fx-compat: Remove duplicate menulistItemTypes.js 2022-05-24 15:56:09 -06:00
Abe Jellinek
5d96f9960a fx-compat: Item box: Fix unstyled menulists 2022-05-24 15:48:10 -06:00
Abe Jellinek
fdd73d4ada fx-compat: Item box: Fix multiline fields & autocomplete 2022-05-24 15:42:54 -06:00
Abe Jellinek
02bcb1712c fx-compat: Fix content shrinking to half of window height
On my system, this would always happen after adding a new attachment.
2022-05-24 13:59:12 -06:00
Abe Jellinek
29b270e761 fx-compat: Fix progress queue / Find Available PDFs 2022-05-24 13:52:52 -06:00
Abe Jellinek
195dd379d9 fx-compat: Fix context menu icons showing on Mac
Why does :is match when a regular selector doesn't? I have absolutely no
idea, but it's more concise anyway.

Fixes #2620
2022-05-24 13:37:20 -06:00
Abe Jellinek
87decd0f8d fx-compat: Fix _getExtensionFromURL() 2022-05-24 12:07:30 -06:00
Abe Jellinek
300af4477f fx-compat: Fix Attach Link dialog 2022-05-24 12:02:37 -06:00
Abe Jellinek
a2215cb8f6 fx-compat: Fix hard confirmation dialog
ID changed to commonDialog so we get commonDialog.css styling for free.
2022-05-24 11:43:45 -06:00
Dan Stillman
1a1a5924da fx-compat: Simplify Zotero.File.download()
`NetUtil.newChannel()` can take a string spec, so don't bother parsing
to an nsIURI first

Follow-up to 7adb8fd150
2022-05-24 03:03:36 -04:00
Abe Jellinek
7adb8fd150 fx-compat: Fix Zotero.File.download() 2022-05-24 00:47:22 -06:00
Abe Jellinek
eae9a4447d fx-compat: Mostly fix locateManager
Still many selectors to update in preferences.css, but how we do that
depends on what our <prefwindow>/<prefpane> replacement looks like.
2022-05-24 00:46:39 -06:00
Martynas Bagdonas
7b4c4e528c fx-compat: Fix context pane:
- Stacked view.
- Item pane tabs.
- Note list search box.
2022-05-19 14:10:51 +03:00
Martynas Bagdonas
e99a0d4515 fx-compat: Partial fixes for note editor 2022-05-19 14:10:51 +03:00
Dan Stillman
29bc36c02a fx-compat: Tweak styling of Create Bibligraphy window
And generalize CSS rules for richlistitem and groupbox headers (using
HTML H2s for the latter, as Mozilla does)

Follow-up to 547311ff26
2022-05-19 02:06:42 -04:00
Dan Stillman
9bf61f9914 fx-compat: Update CSL Edit window 2022-05-18 23:45:51 -04:00
Dan Stillman
d6e0c90baa Revert "fx-compat: Fix item box CSS link casing"
This reverts commit 4c21a42b53.

itemBox.css is correct
2022-05-18 23:45:51 -04:00
Abe Jellinek
948b09a27f fx-compat: Remove uses of defunct DOM constructors
This fixes feed translation. Getting a lot of '[object Object]' fields
from that, but I don't think it's related to these changes.
2022-05-18 20:03:37 -07:00
Abe Jellinek
09ec5b1fde fx-compat: Fix ProgressWindow
popup -> alwaysontop because popup removes the background.
2022-05-18 19:52:59 -07:00
Abe Jellinek
547311ff26 Fix Create Bibliography
listbox is gone, but richlistbox is still here as a custom element and
works fine for cases where we don't need virtualization.

groupbox label and richlistitem styles should probably be copied to
somewhere global once tuned a bit.
2022-05-18 19:32:39 -07:00
Abe Jellinek
4c21a42b53 fx-compat: Fix item box CSS link casing 2022-05-17 10:03:29 -07:00
Abe Jellinek
5f24b2dc98 Fix Create Parent dialog 2022-05-17 09:47:19 -07:00
Abe Jellinek
49a9c2dba9 fx-compat: Fix Export dialog
RDF isn't working yet, but CSV works well.
2022-05-16 14:27:23 -07:00
Abe Jellinek
60606a8528 fx-compat: Fix Add to Collection menu
Document.createXULElement is handy.
2022-05-16 13:18:16 -07:00
Martynas Bagdonas
9e93007355 fx-compat: Initial fixes for PDF reader, tabs and contextPane 2022-05-13 18:50:19 +03:00
Dan Stillman
4eb405d405 Update utilities submodule 2022-05-13 04:28:57 -04:00
Dan Stillman
da9154d811 fx-compat: Get basicViewer working for debug output
Doesn't work with, e.g., zotero://timeline/library
2022-05-13 04:28:57 -04:00
Dan Stillman
d6875e1182 fx-compat: Switch to Mozilla's method of loading window scripts 2022-05-13 04:28:57 -04:00
Dan Stillman
9b3d7a32e3 Include error message in startup error dialog 2022-05-13 04:28:57 -04:00
Dan Stillman
7c458b9bd3 fx-compat: Fix positioning of some context menus 2022-05-13 04:28:57 -04:00
Dan Stillman
bc68b6e9fe fx-compat: Start to fix tag color chooser dialog
Among other things, need to recreate XBL <customcolorpicker> as a Custom
Element and need to change `ondialogaccept`/etc. to event listeners:

https://searchfox.org/mozilla-central/rev/b72e9d7d63bf499d1d8168291b93d4ec7fde236e/browser/components/places/content/bookmarkProperties.js#232-237
2022-05-13 04:28:57 -04:00
Dan Stillman
63634eed02 fx-compat: Fix clicking URL label
Now that it's a div rather than a label, have to use `textContent`
instead `nodeValue`
2022-05-13 04:28:57 -04:00
Dan Stillman
516c76a4ab fx-compat: Start to update feed settings dialog 2022-05-13 04:28:57 -04:00
Dan Stillman
909d68eac3 fx-compat: Fix New Item menu 2022-05-13 04:28:57 -04:00
Dan Stillman
2e26703b50 fx-compat: goQuitApplication() now takes an event argument 2022-05-13 04:28:57 -04:00
Dan Stillman
172c2da2cc fx-compat: Add dropmarkers to toolbarbuttons 2022-05-13 04:28:57 -04:00
Dan Stillman
758c3187fc fx-compat: Update Edit menu (WIP) 2022-05-13 04:28:57 -04:00
Dan Stillman
280a1265c8 fx-compat: Remove Mac toolbarbutton images
Need to replace with proper styling, but the former approach doesn't
work with the new toolbarbutton component.
2022-05-13 04:28:57 -04:00
Dan Stillman
10a801fcc7 WIP: Localization 2022-05-13 04:28:57 -04:00
Dan Stillman
a16e0620d2 WIP: Localization 3 2022-05-13 04:28:57 -04:00
Dan Stillman
65658b16e6 WIP: Localization 2 2022-05-13 04:28:57 -04:00
Dan Stillman
77015336a4 WIP: Localization 2022-05-13 04:28:56 -04:00
Dan Stillman
c82af749ac Don't force Lucida Grande in various components on macOS 2022-05-13 04:28:56 -04:00
Dan Stillman
4f5b7bbccb Remove old commented-out lines in include.js 2022-05-13 04:28:56 -04:00
Dan Stillman
002132bc4b fx-compat: Populate Window menu on macOS 2022-05-13 04:28:56 -04:00
Dan Stillman
ebc511f418 coroutine()async for Zotero.init() 2022-05-13 04:28:56 -04:00
Dan Stillman
f8e10f80cc fx-compat: __defineGetter__()defineProperty() 2022-05-13 04:28:56 -04:00
Dan Stillman
13b9837524 fx-compat: Fix New Item menu and serializePersist()
`document.getElementsByAttribute` → `document.querySelectorAll`
2022-05-13 04:28:56 -04:00
Dan Stillman
9222b939ab fx-compat: Fix error viewing items
`Components.classes["@mozilla.org/network/standard-url;1"]` no longer
exists
2022-05-13 04:28:56 -04:00
Dan Stillman
31677dd296 fx-compat: Fix error generating item context menus with locate options 2022-05-13 04:28:56 -04:00
Dan Stillman
f91bf49aae fx-compat: nsIIdleServicensIUserIdleService 2022-05-13 04:28:56 -04:00
Dan Stillman
1714351cc9 fx-compat: Fix position of collection and item context menus 2022-05-13 04:28:56 -04:00
Dan Stillman
b49b8ad140 fx-compat: Mostly fix About pane
Example of converting top-level XUL `<dialog/>` to
`<window><dialog/></window>`, which uses a Mozilla-provided `<dialog>`
Custom Element
2022-05-13 04:28:56 -04:00
Dan Stillman
f4675c02df fx-compat: Update nsILoginManager::findLogins() calls 2022-05-13 04:28:56 -04:00
Dan Stillman
c7c61f72c9 fx-compat: Stop trying to load overlay.js, which was removed 2022-05-13 04:28:56 -04:00
Dan Stillman
7ee40c4682 fx-compat: Fix Add Item by Identifier window
Still a little buggy
2022-05-13 04:28:56 -04:00
Dan Stillman
8075c2d938 Remove obsolete tab.css 2022-05-13 04:28:56 -04:00
Dan Stillman
753824a7e2 fx-compat: Temporarily disable quick search bar mode menu 2022-05-13 04:28:56 -04:00
Dan Stillman
a54da965a7 fx-compat: Use search-textbox custom element for quick search bar 2022-05-13 04:28:56 -04:00
Dan Stillman
26c4bea4fd fx-compat: .boxObject was removed in Fx69
https://bugzilla.mozilla.org/show_bug.cgi?id=1519948
2022-05-13 04:28:56 -04:00
Dan Stillman
0717612b4b fx-compat: Remove contentAreaContextMenu menupopup
No longer necessary
2022-05-13 04:28:56 -04:00
Dan Stillman
260c110d05 fx-compat: Convert itembox XBL to custom element
Still lots of things to fix, particularly with styling, but the basic
functionality is there.
2022-05-13 04:28:56 -04:00
Dan Stillman
3c6f0b26af Move .zotero-clicky to its own SCSS component
This will allow it to be included in shadow DOM.
2022-05-12 05:18:47 -04:00
Dan Stillman
87f2716da8 fx-compat: zoteroPane.xul → zoteroPane.xhtml 2022-05-12 05:18:47 -04:00
Dan Stillman
abfa09df51 fx-compat: loadURI() signature change in HTTP.loadDocuments() 2022-05-12 05:18:47 -04:00
Dan Stillman
59fd8247b4 fx-compat: Remove overlay.js, since overlays no longer exist 2022-05-12 05:18:47 -04:00
Dan Stillman
d635fdda41 fx-compat: AddonManager.getAllAddons() now returns a promise 2022-05-12 05:18:47 -04:00
Dan Stillman
94c7e0674d fx-compat: Remove 'context' from onStartRequest()/onStopRequest()/etc. 2022-05-12 05:18:47 -04:00
Dan Stillman
3a77abc8d2 fx-compat: Zotero files are now packaged in app/omni.ja, not zotero.jar 2022-05-12 05:18:47 -04:00
Dan Stillman
004d5db2c3 fx-compat: Services.console.getMessageArray() returns an actual array 2022-05-12 05:18:47 -04:00
Dan Stillman
fb8984c947 fx-compat: XULDocument → XMLDocument 2022-05-12 05:18:47 -04:00
Dan Stillman
46a52b3e3e fx-compat: Update locales code 2022-05-12 05:18:47 -04:00
Dan Stillman
6d5b2c3d12 Fx-compat: nsIUTF8ConverterServicensIScriptableUnicodeConverter
It's not totally clear what this does or if it's necessary (see #1540),
but this is a replacement that Thunderbird used.
2022-05-12 05:18:47 -04:00
Dan Stillman
bbecb4d0bd fx-compat: Add appcontent container to zoteroPane.xul
Part of inlining XUL

(View with -w for real diff)
2022-05-12 05:18:47 -04:00
Dan Stillman
1bb99a6bc8 fx-compat: nsIWebNavigation::loadURI() signature change 2022-05-12 05:18:47 -04:00
Dan Stillman
b6f5d7183f fx-compat: Remove use of tree.treeBoxObject and change getCellAt() signature
Properties and methods are now available on the tree itself, and
getCellAt() now returns an object instead of using in-out variables.
2022-05-12 05:18:47 -04:00
Dan Stillman
ee78dd308b fx-compat: Remove XBL stylesheets (WIP) 2022-05-12 05:18:47 -04:00
Dan Stillman
3f64310d45 fx-compat: Inline all XUL overlays 2022-05-12 05:18:47 -04:00
Dan Stillman
dd2ff63019 fx-compat: Replace nsIDOMParser with new DOMParser() 2022-05-12 02:38:59 -04:00
Dan Stillman
993320655e fx-compat: Throw error if generator is passed to DB.executeTransaction() 2022-05-12 02:38:59 -04:00
Dan Stillman
03242e8984 fx-compat: DB.executeTransaction() no longer takes generator functions 2022-05-12 02:38:59 -04:00
Dan Stillman
ccbc785499 fx-compat: XPCOMUtils.generateQI() → ChromeUtils.generateQI() 2022-05-12 02:38:59 -04:00
Adomas Venčkauskas
4d35cdf095 Remove unneeded constant in virtualized table 2022-05-10 17:03:34 +03:00
Adomas Venčkauskas
eb6b14a218 Fix item tree column resizing issues
Report https://forums.zotero.org/discussion/97077/problem-with-column-width-adjustment
2022-05-10 17:02:36 +03:00
Adomas Venčkauskas
a406e62fd3 Item Tree: Fix column dividers not aligned for second-level items
Closes #2605
2022-05-10 13:52:32 +03:00
Adomas Venčkauskas
aa483f579f HTML tree: Find-as-you-type remains on matching string.
Closes #2607
2022-05-10 13:35:31 +03:00
Dan Stillman
273fc6c657 Update locales from Transifex 2022-05-09 10:05:55 -04:00
Abe Jellinek
db5b535ea6 Update translate submodule 2022-05-07 20:34:37 -07:00
Adomas Ven
c49a05d486
Improve column resizing robustness (#2588)
Also:

* Add staticWidth and minWidth column properties
2022-05-03 03:00:23 -04:00
Martynas Bagdonas
01645c5e51
Pin library tab (#2589)
Fixes #2575
2022-05-03 01:21:59 -04:00
Abe Jellinek
097308c5c6 Update utilities submodule 2022-05-02 17:12:39 -07:00
Dan Stillman
b6fdeeca13 Fix deadlock in integrity check before DB schema upgrade
One of the repair steps uses a transaction, which is reasonable, so
don't run integrity check within transaction at startup.
2022-05-01 02:14:45 -04:00
Dan Stillman
d201fdc119 Fix target is undefined error during upgrade from Zotero 4
https://forums.zotero.org/discussion/96811/database-upgrade-error-when-migrating-from-version-4-0-to-6-0-directly-skipping-zotero-5

Regression from 078e3bb07, probably
2022-05-01 02:14:36 -04:00
Dan Stillman
5e0674b842 Add logging for PDF exports 2022-04-30 05:17:41 -04:00
Abe Jellinek
9829ea7009
Update utilities, move tests, add to CI (#2584) 2022-04-30 04:55:11 -04:00
Dan Stillman
fd859bd976 Update locales from Transifex and merge new English strings 2022-04-29 18:28:52 -04:00
Dan Stillman
b536432866 Fix mistake in tab-unavailable integration message 2022-04-29 16:54:16 -04:00
Dan Stillman
644cce219a Tweak tab-unavailable integration message 2022-04-29 16:51:41 -04:00
Adomas Venčkauskas
ff920de130 Fix integration transaction getting stuck when google docs tab is closed
Closes #2583
2022-04-29 15:19:20 +03:00
Adomas Venčkauskas
fca16d2ad5 Fix find-as-you-type not matching beyond first letter
Closes #2581
2022-04-29 15:19:20 +03:00
Martynas Bagdonas
70c9bef320 Switch tabs with Cmd-Option-←/→
Fixes #2475
2022-04-29 12:56:04 +03:00
Abe Jellinek
3bfc6740c4
Add tests for improved compareCallNumbers (#2579) 2022-04-28 04:43:30 -04:00
Abe Jellinek
5196ba379b
Update typeSchemaData and builder script (#2576) 2022-04-28 02:12:29 -04:00
Martynas Bagdonas
fe14ee79a3 Show a few missing options in Tools menu when PDF reader tab is open
Fixes #2502
2022-04-27 18:20:41 +03:00
Martynas Bagdonas
41bdd36068 Add an option to disable smart quotes
Fixes #2524
2022-04-27 10:23:10 +03:00
Dan Stillman
a4cdaf0407 Show "Add Note from Annotations" in attachment context menu 2022-04-27 02:34:42 -04:00
Dan Stillman
c405fa76a1 Add sortNotesChronologically.reader pref for PDF reader notes list
And default to true. I forgot we were sorting reverse chronologically by
default in order to make it easy to open recent notes.

Follow-up to https://github.com/zotero/zotero/issues/2526 for
https://forums.zotero.org/discussion/96743/pdf-reader-two-feature-requests
2022-04-26 17:59:45 -04:00
Dan Stillman
40501c3953 Update locales from Transifex and merge new English strings 2022-04-26 17:22:39 -04:00
Martynas Bagdonas
10c8fc4c74 Implement tab duplication
Fixes #2566
2022-04-26 19:41:51 +03:00
Abe Jellinek
89aaa10504
Sort LC call numbers better, sort integers as integers (#2569)
* Update utilities submodule after https://github.com/zotero/utilities/pull/8
* Extract and add tests
2022-04-26 04:11:29 -04:00
Martynas Bagdonas
7a06671ecb Fix undefined variable issue in annotation templates 2022-04-26 08:29:42 +02:00
Adomas Venčkauskas
d96ebad82a Allow adding multiple sources at once in classic citation dialog.
Closes #2568
2022-04-25 13:28:00 +03:00
Adomas Venčkauskas
1be2d69f1e Log integration invocations before other integration actions 2022-04-25 12:43:48 +03:00
Martynas Bagdonas
b8d427790c Fix error when using a note template and checking if array is not empty 2022-04-23 14:52:24 +07:00
Adomas Venčkauskas
d9463daa66 HTML Tree: Search by typing loops instead of starting from beginning
Closes #2559
2022-04-22 10:58:25 +03:00
Martynas Bagdonas
c1fde1d3d9 Improve tab title visibility and adjust scroll arrow scroll step
Fixes #2554
Fixes #2553
2022-04-22 13:07:18 +07:00
Dan Stillman
114b48d5b8 Update locales from Transifex 2022-04-21 15:46:50 -04:00
Dan Stillman
031ff1824b Fix middle click to close tabs (#1993) 2022-04-21 12:23:14 -04:00
Martynas Bagdonas
a8cb9bfddd Restore custom note styling
Fixes #2560
2022-04-21 13:17:04 +07:00
Abe Jellinek
f91ca9c18a Don't merge with a deleted master attachment 2022-04-20 11:04:24 -07:00
Martynas Bagdonas
142e3b09f8
Unload tabs (#2500)
- Keep all tabs unloaded on Zotero opening.
- Keep loaded only the last five selected tabs.
- Keep loaded only in the last 24h selected tabs.

Fixes #2383
2022-04-20 03:14:50 -04:00
Dan Stillman
578986ab1e Fix item types not appearing in New Item submenu
https://forums.zotero.org/discussion/96530/a-issue-about-new-item-drop-down-menu

After a type from the submenu was selected and added to the MRU, the
submenu wouldn't be updated. Not sure how long this has been going on.

Fixes #2534
2022-04-19 23:04:18 -04:00
Martynas Bagdonas
5d442b706e
Make tab bar scrollable (#2506)
Fixes #2232
2022-04-19 18:51:32 -04:00
Adomas Ven
7b0d6951d2
Update csl validator for CSL 1.0.2 (#2493) 2022-04-19 18:42:48 -04:00
Dan Stillman
3f10e4c064 Bad JSON in sync cache shouldn't break syncing
https://forums.zotero.org/discussion/95926/zotero-not-syncing-report-id-1924846177
2022-04-19 17:49:13 -04:00
Martynas Bagdonas
5c8ea0174a Fix empty table row height in generated report, prevent table overflow
Fixes #2545
2022-04-15 21:59:27 +07:00
Adomas Venčkauskas
5ca8486047 Adjust conditional clause for Windows from 76276a3 2022-04-15 11:21:07 +03:00
Adomas Venčkauskas
76276a39ce HTML Tree: adjust row padding per OS 2022-04-15 11:15:40 +03:00
Abe Jellinek
e8ad2fab95
getSortTitle: Only strip initial punctuation clusters (#2537)
Specifically exclude @, #, and *
2022-04-15 02:08:14 -04:00
Dan Stillman
c9b39675ba Update locales from Transifex and merge new English strings 2022-04-14 18:06:32 -04:00
Dan Stillman
498e38730b Update translate submodule 2022-04-14 18:06:32 -04:00
Abe Jellinek
d842e7a9bc Fix save() without transaction when saving search 2022-04-14 14:39:34 -07:00
Martynas Bagdonas
f494ab5114
Allow creating and editing tables in note-editor (#2511)
Fixes #2480
2022-04-14 17:17:32 -04:00
Adomas Venčkauskas
01506b27e9 Allow moving cursor by clicking on collection name while editing
Closes #2513
2022-04-14 17:03:54 +03:00
Adomas Venčkauskas
599c6821b7 Ensure columns don't resize when switching tabs 2022-04-14 16:51:13 +03:00
Abe Jellinek
1538a836b9
Show label of translator that causes import error (#2539) 2022-04-14 07:01:43 -04:00
Dan Stillman
08d3880d88 Don't remove relations in annotation item JSON
This was causing UUIDs for annotations from Mendeley imports to be
removed after a sync, resulting in annotations being duplicated on a
reimport.
2022-04-14 06:37:30 -04:00
Abe Jellinek
3792c89fbd Allow >4 numbers after the decimal point in Dewey
https://github.com/zotero/zotero/pull/2538#issuecomment-1097292396
2022-04-12 15:45:50 -07:00
Abe Jellinek
ce39185fa7
Sort call numbers alphabetically, handle Dewey specially (#2538) 2022-04-12 17:40:25 -04:00
Dan Stillman
a72deb4648 Update locales from Transifex and merge new English strings 2022-04-12 02:57:07 -04:00
Abe Jellinek
e03c1603ca Fix "%S" in displayed startup error message 2022-04-11 19:03:29 -07:00
Abe Jellinek
38f5551ee5
Add "Open PDF in New Window" to context menu (#2490)
Also:

* Remove Locate tooltips
2022-04-11 17:53:40 -04:00
Abe Jellinek
a5fc8b859c Context Pane: Use getNoteTitle()
ad36c9fb2a (r71022779)
2022-04-11 13:36:03 -07:00
Abe Jellinek
b8b1f8be55
Disable Import actions in uneditable libraries (#2471) 2022-04-11 16:12:43 -04:00
Abe Jellinek
ad36c9fb2a Context Pane: Sort notes in item tree order
Fixes #2526.
2022-04-11 10:13:50 -07:00
Abe Jellinek
892c1169c8 Attachment merge: Compare link mode type
Actually fixes #2527.
2022-04-11 09:30:16 -07:00
Adomas Venčkauskas
237bd8f0ce Fix Restore Column Order in Item Tree not always working
Closes #2521
2022-04-11 13:55:30 +03:00
Adomas Ven
4c445554a3
Item Tree: Attempt to fix OS font scaling (#2488) 2022-04-11 05:16:59 -04:00
Martynas Bagdonas
2af7275968 Fix template condition evaluating to true for empty string from function
Fixes #2529
2022-04-11 12:22:20 +07:00
Abe Jellinek
be0b0a7151
Always autocomplete creators in hideEditor (#2516) 2022-04-11 00:21:14 -04:00
Abe Jellinek
47a2f3cad9 Attachment merge: Compare linkModes, improve logging
Using keys instead of IDs should make logs more useful.
Fixes #2527.
2022-04-09 20:39:37 -07:00
Dan Stillman
0df8b7670d Fix broken tag selector with colored tags that differ with normalization
https://forums.zotero.org/discussion/96138/lost-content-in-tag-selector

An entered character from the CJK_COMPATIBILITY_IDEOGRAPHS block (char
code 63834, or similar) was normalized to the CJK_UNIFIED_IDEOGRAPHS
block (char code 35712), which then caused an expected key not to exist.

To fix, normalize colored tag values coming from the DB.
2022-04-09 06:24:17 -04:00
Martynas Bagdonas
2112aa7271 Don't jump back to library tab when PDF recognition finishes 2022-04-08 15:31:28 +07:00
Adomas Venčkauskas
b850d16c89 Fix integration error handling code when citeproc-rs disabled.
Closes #2508
2022-04-08 10:41:35 +03:00
Martynas Bagdonas
bdbde99fa7 Remove alpha channel from highlight color when inserting a note
Fixes #2499
2022-04-08 13:00:33 +07:00
Abe Jellinek
dea9fc5e88 Scaffold: setInterval -> activate listener 2022-04-07 19:50:13 -07:00
Abe Jellinek
a40ab83b71
Fix double separator in Edit menu on Win/Linux (#2507) 2022-04-06 23:42:13 -04:00
Abe Jellinek
fbaa1c6e61 Fix huge Scaffold toolbar icons on Win/Linux 2022-04-05 14:50:05 -07:00
Adomas Venčkauskas
c510d91461 Fix an error that causes test failures (regression 9a5657b) 2022-04-05 10:08:10 +03:00
Adomas Venčkauskas
5b9ac2ca53 Fix a non-terminal startup error introduced in d7b1a53 2022-04-05 10:08:10 +03:00
Dan Stillman
28ec72666f Update locales from Transifex and merge new English strings 2022-04-04 14:02:08 -04:00
Adomas Venčkauskas
9a5657bf79 Item Tree: Fix fixed-width columns sometimes changing width 2022-04-04 16:06:51 +03:00
Martynas Bagdonas
f877476c1a Partially disable buggy ff <64 table resizing handles in note-editor
Unfortunately the first opened note will still have the handles.
2022-04-01 17:09:08 +07:00
Martynas Bagdonas
3f4030ff80 Allow copying image annotations to external text fields
Fixes #2447
2022-04-01 17:09:08 +07:00
Abe Jellinek
a5b3d6440b
Fix next duplicates set selection after merge (#2448) 2022-03-31 17:46:30 -07:00
Martynas Bagdonas
3356557493 Add 'Zoom to Page Height' PDF reader option
Fixes #2255
2022-03-31 15:52:00 +07:00
Martynas Bagdonas
8e54f1649b Add annotation to note at cursor position
Fixes #2487
2022-03-31 12:14:11 +07:00
Abe Jellinek
e922ae711a Fix ProgressQueue titles for cases, letters, etc.
Handles items with an alternate field that maps to title (like cases)
and items for which the title is usually filled in by updateDisplayTitle()
(like letters).
2022-03-30 16:30:07 -07:00
Abe Jellinek
2a1ce292d2 Remove Note Font Size -> Reset restart prompt
+ replace empty menuitem with a divider as in the Font Size menu.
2022-03-30 14:55:48 -07:00
Abe Jellinek
27c9086222 Scaffold: Show "defer" value in test list 2022-03-30 14:49:42 -07:00
Abe Jellinek
745069c070 Don't strip punctuation before numbers
Fixes #2496
2022-03-30 11:58:55 -07:00
Dan Stillman
f2209974b2 Don't show "Export PDF" in reader
Save As already exists
2022-03-30 14:13:24 -04:00
Dan Stillman
e0097df068
Remove "Store Annotations in File" option (#2498)
This is a confusing, bad option, which was already disabled in groups,
and this removes it from personal libraries as well. People seem to be
using it mainly because they think annotations are locked into Zotero if
they don't, which is causing them to ask for this to be done
automatically on every edit, which we don't do because it would result
in constant file syncing and file conflicts [1].

We provide multiple export options for exporting PDFs with annotations,
and people can use those when sharing a file with people who don't use
Zotero. Otherwise, if storing annotations in the file is a priority,
they can use an external reader that's not designed to be tightly
integrated into Zotero.

(As a rare hack, it's of course also possible to export the PDF with
annotations, replace the original file, and import the annotations.)

[1] https://www.zotero.org/support/kb/annotations_in_database
2022-03-30 13:58:59 -04:00
Tom Najdek
56321a7a6d
Fix regression: download() fails for non-http URLs (#2497)
This fixes compatiblity with some addons that use Zotero.File.download
to extract files from their XPI bundle.
2022-03-30 12:15:40 -04:00
Tom Najdek
776769f480
Citavi import: Tweak how page label is determined (#2494)
Instead of attempting to extract `PageRange` value we now let pdf worker
always determine page label.

Also improved citavi tests and fixtures.
2022-03-30 09:34:07 -04:00
Abe Jellinek
a9d7a08a05 Fix merge interface doubling rows in master selector
Master choices would occasionally be doubled in the listbox. Clearing
the innerHTML instead of using removeItemAt() fixes the issue.
2022-03-28 13:24:59 -07:00
Adomas Venčkauskas
d7b1a53248 HTML Tree: Improve item tree column header alignment.
Addresses #2153
2022-03-28 13:32:17 +03:00
Dan Stillman
17d9f06b65 Update more try-wrapped calls to getString 2022-03-27 02:37:49 -04:00
Abe Jellinek
470d9cd7c2 Update more try-wrapped calls to getString 2022-03-25 16:49:52 -07:00
Abe Jellinek
82228a1072 Search: Use item field localization if string == key
91faa73b19 made getString return the key
instead of throwing on non-en-US locales, so we check if the getString
result is equal to the key even if it doesn't throw.

Fixes #2472.
2022-03-25 16:35:01 -07:00
Abe Jellinek
a3322a9afb
Merge pull request #2397 from AbeJellinek/scaffold-sanitize-for-display 2022-03-25 11:59:05 -07:00
Martynas Bagdonas
4dcb3e7a53 Fix deletion confirmation and copying in standalone PDF reader window
Fixes #2462
2022-03-25 15:53:49 +02:00
Martynas Bagdonas
2f5974e1ab Reduce probability of annotation comment/text being cleared while typing
Fixes #2361
2022-03-24 13:40:43 +02:00
Dan Stillman
91faa73b19 Don't throw from getString() for missing strings in non-English locales
Just show the key

We still merge strings before pushing betas, but this means it won't
crash for source builds, or if we forget. Not sure why we didn't do this
15 years ago.
2022-03-24 07:06:53 -04:00
Dan Stillman
1d1adbca70 Fix error merging items with missing attachment files
Fixes #2453
2022-03-24 06:39:47 -04:00
Dan Stillman
9d91e0d4f7 Update locales from Transifex and merge new English strings 2022-03-24 06:18:17 -04:00
Adomas Venčkauskas
f7e49630c8 Fix some more column picker brokenness 2022-03-24 11:00:16 +02:00
Adomas Venčkauskas
c87b40e5ca Fix secondary sort submenu breakage in 8e31bf5b 2022-03-24 10:33:58 +02:00
Adomas Venčkauskas
8e31bf5b6d Possible fix for missing More Columns submenu. Addresses #2443 2022-03-24 10:28:37 +02:00
Martynas Bagdonas
62f07a7356 Upgrade note-editor schema to v8:
- Allow highlight and citation nodes in headers

Fixes #2467
Related #2390
2022-03-24 10:21:04 +02:00
Adomas Venčkauskas
229f42bed2 HTML Tree: Change Cu.reportError() to Zotero.logError() 2022-03-23 13:28:46 +02:00
Martynas Bagdonas
23a4a14b44 Upgrade note-editor schema to v7:
- Allow ul/ol nodes to have `dir` attribute
2022-03-23 12:35:08 +02:00
Adomas Venčkauskas
c083c69be1 Fix note insertion dialog not appearing when classic mode is enabled.
Closes #2463
2022-03-23 11:58:06 +02:00
Adomas Venčkauskas
1b124bff2d Actually fix quick format color issues. See cc5e110 2022-03-23 11:28:50 +02:00
Adomas Venčkauskas
0f2273ea43 Link to manual word plugin installation instructions on install failure.
Closes #2444
2022-03-23 11:12:42 +02:00
Dan Stillman
fcb16f628b Fix "path.startsWith is not a function" sync error on Windows
`OS.Path.join()` on Windows throws if an integer is passed. Seems like
this would happen on another computer whenever an image annotation is
deleted in a group?
2022-03-23 00:01:00 -04:00
Dan Stillman
37c48dc3ee Remove Zotero.Items.moveChildItems() transaction requirement exception
Follow-up to 734057ff9b

This was supposed to allow ZotFile to continue to work but 1) it
contained a bug and 2) another transaction messed things up for ZotFile
anyway, so we'll just fix this in jlegewie/zotfile#593.
2022-03-22 18:07:40 -04:00
Abe Jellinek
95d8b37f0a Potentially fix ProgressWindow crash
The call to _window.addEventListener() might have been causing an error
when _window was null or undefined (no main Zotero window could be
found), which would prevent _windowLoading from being set to true and
the window from being added to the ProgressWindowSet, which might have
caused unpredictable behavior when positioning windows later on.

I could only briefly reproduce the issue, so this is just one idea. The
call to addEventListener on a potentially null _window was definitely a
bug but I don't know if it caused the crash.
2022-03-22 12:55:47 -07:00
Adomas Venčkauskas
cc5e1106ec Fix quick format issues in Linux dark themes. Closes #2441 2022-03-22 14:32:15 +02:00
Adomas Venčkauskas
227b6354de Item Tree: Reset scrollbar to top on collection change 2022-03-22 13:58:02 +02:00
Adomas Venčkauskas
25230b0fca HTML Tree: Fix focused row losing focus sometimes not being redrawn 2022-03-22 13:58:02 +02:00
Dan Stillman
5df1017689 Correction to Scite access date fix in dc886d3cec 2022-03-22 06:01:30 -04:00
Dan Stillman
dc886d3cec Remove access dates broken by Scite
A non-date value ('INVALID_SCITE_VALUE') apparently gets output as
`false` in toJSON(), which results in a sync error.
2022-03-22 05:53:24 -04:00
Dan Stillman
d14a8b1d92 Put Scite cleanup code in a try/catch
Just to be safe
2022-03-22 05:01:50 -04:00
Dan Stillman
f8e9aa147b Add temporary code to fix invalid values from Scite at startup
https://github.com/scitedotai/scite-zotero-plugin/issues/38
2022-03-22 05:00:28 -04:00
Dan Stillman
f95bf41d13 Revert "Fix "cleanDOI: argument must be a string" startup error"
This reverts commit 8763190328.

This is caused by the Scite plugin, and it's better to block startup
until this is fixed, since it's wrecking other fields too.
2022-03-21 23:49:33 -04:00
Dan Stillman
174f1aadde Fix error adding group item before syncing in Zotero 6
Fixes #2440
2022-03-21 22:50:43 -04:00
Dan Stillman
8763190328 Fix "cleanDOI: argument must be a string" startup error
Due to 0 integer value for DOI from somewhere (a plugin?)

https://forums.zotero.org/discussion/comment/402388/#Comment_402388
https://forums.zotero.org/discussion/comment/402391/#Comment_402391
2022-03-21 22:02:54 -04:00
Abe Jellinek
bca76319ce
getSortTitle: Strip less punctuation, trim (#2442)
Now it:

1. Strips punctuation at the beginning, no matter what it is.
2. Strips non-dash punctuation in other positions.
3. Trims the result.

This should better prevent numerical ranges from being joined into a
single number that ends up incorrectly being sorted to the very bottom.
2022-03-21 20:06:27 -04:00
Martynas Bagdonas
388d18d017 Terminate PDF worker after processing PDFs queue
Fixes #2421
2022-03-17 14:26:07 +02:00
Martynas Bagdonas
edf0c31bdb Remove old note editor binding 2022-03-17 11:18:17 +02:00
Dan Stillman
121f3f3037 Update locales from Transifex 2022-03-16 20:45:18 -04:00
Abe Jellinek
b1d11bf7dc Really fix lastSync log spam
6b6c27029b didn't do the trick because
library.lastSync can be false and the ?. operator doesn't catch that.
2022-03-15 10:43:17 -07:00
Abe Jellinek
8a235c07f1 Fix et al. regex for sorting by creator
\. -> \\. and apply the same escaping to general.and.
2022-03-15 10:05:09 -07:00
Martynas Bagdonas
26e4de500e Fix overflowing itemPane and hidden contextPane for new profiles, in stacked view
Fixes #2305
2022-03-15 18:27:18 +02:00
Martynas Bagdonas
982b41359b Fix oversized tagBox icons in standalone PDF reader window
Fixes #2143
2022-03-15 18:27:18 +02:00
Martynas Bagdonas
d02eb145d5 Fix copying over PDF reader context pane
Fixes #2408
2022-03-15 18:27:18 +02:00
Dan Stillman
1f2f91d2d2 Update locales from Transifex 2022-03-15 07:43:11 -04:00