Commit graph

14774 commits

Author SHA1 Message Date
Dan Stillman
ef2cceba7e Fix deleted files not getting removed after complete updates
Mozilla uses a `precomplete` file to delete local files when doing a
complete update, but since Zotero 5 in 2017 we've just been bundling an
empty file, which has meant that deleted or moved files have been left
behind. Among other things, this has likely been the primary cause of
Safari App Extension post-update brokenness for many years.

Incremental updates weren't affected, since those include explicit
removal instructions for moving from the given build to the latest one.

This restores proper generation of the `precomplete` file during builds,
using the Mozilla script added in 74ec6620e.

Separately, we'll update the `removed-file` for each platform to remove
files that should've been removed during previous updates.

Fixes #3133
2024-07-25 02:13:22 -04:00
Abe Jellinek
9a43e8f057 Related box: Filter out missing items
Fixes #4427
2024-07-24 16:58:31 -04:00
Martynas Bagdonas
10adea71fc Add "Citation" string for note editor 2024-07-24 17:36:28 +03:00
Martynas Bagdonas
32f7919952 Update note-editor submodule 2024-07-24 17:32:03 +03:00
Martynas Bagdonas
d825b51db6 Fix and enable reader tests
Fixes #3256
2024-07-23 11:12:32 +03:00
Abe Jellinek
0944f3bdc6 Item pane header: Show default context menu for attachment titles
Closes #4415
2024-07-22 12:45:18 -04:00
Martynas Bagdonas
c2575d2a14 Gray out "Import Annotations…" in reader window when no annotations
Fixes #4416
2024-07-22 14:42:14 +03:00
Dan Stillman
74ec6620e3 Add Mozilla script to generate precomplete file 2024-07-22 03:05:14 -04:00
abaevbog
c5c613c82c
vpat 80: focus first field in search window/dialog (#4402)
Instead of focusing the first condition, which ends up placing
focus in the middle of the new window or modal. It is best
to focus the first node, which is the general convention,
per https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/, and
what many screen reader users expect. When we focus a field in
the middle of the window/dialog, it makes it seem for some users
that this is the first node, which will make them miss all the
fields above it.

Also, linked search name input to its label in searchDialog.xhtml.
2024-07-21 06:02:50 -04:00
Dan Stillman
846279da01 Use include.js in customElements.js 2024-07-21 06:01:43 -04:00
Dan Stillman
8a075dce9e Fix error generating header in updates window 2024-07-21 06:01:26 -04:00
Dan Stillman
1d0cdf4df0 Fix "Check for Updates" button in startup error dialog 2024-07-21 05:59:25 -04:00
Dan Stillman
3b1cb2b9c2 Avoid error if item is modified before collections pane is loaded
E.g., during Extra field migration at startup
2024-07-21 05:57:17 -04:00
Dan Stillman
9446f7f583 Fix Collection [n] not yet loaded startup error
Can happen during Extra field migration at startup due to
Item::getCollections() change in 2d3375e9f6 that requires collections
to be loaded

https://forums.zotero.org/discussion/115993/collection-not-yet-loaded-error-on-startup
https://forums.zotero.org/discussion/116137/zotero-cannot-be-used-after-updating-to-the-latest-version
2024-07-21 05:57:04 -04:00
Dan Stillman
7e01a7d0ec Merge new English strings and fix some backslash errors 2024-07-20 02:35:03 -04:00
Martynas Bagdonas
d16ea8fe15
Enable type change between highlight and underline (#4411) 2024-07-20 02:27:11 -04:00
Dan Stillman
e20e62d4f7 Update reader submodule 2024-07-20 02:24:27 -04:00
Dan Stillman
934a74fba4 Use -jsdebugger for build_and_run, and don't bind devtools on port 6100
Since -jsdebugger apparently works fine, there's no reason to connect to
Zotero from Firefox anymore. So just open the Browser Toolbox when
passing the -d flag to build_and_run, and stop having the devtools
server listen on port 6100 for devtools-enabled builds, since
-jsdebugger uses a random port of its own.
2024-07-20 02:20:03 -04:00
Dan Stillman
34eb8205d1 Fix -jsdebugger flag on Linux
https://groups.google.com/g/zotero-dev/c/h4_UZDml-10/m/DjQCcl6PAAAJ
2024-07-20 02:16:32 -04:00
Martynas Bagdonas
532ae729c0 Implement highlight ↔ underline annotation conversion (delete, recreate)
#3744
2024-07-19 14:31:46 +03:00
Martynas Bagdonas
10fecce381 Add missing File → Import Annotations option to reader window
Fixes #3864
2024-07-19 12:20:22 +03:00
Dan Stillman
691d26886f Update locales from Transifex 2024-07-19 04:27:15 -04:00
Dan Stillman
6969ce394c Update reader submodule 2024-07-19 02:42:46 -04:00
windingwind
b04f2c8ccb
Fix context notes pane not load (#4289)
fix: #4284
introduce a new notifier type "load", "tab", a follow up fix to #4174

---------

Co-authored-by: Bogdan Abaev <bogdan@zotero.org>
2024-07-19 02:41:45 -04:00
abaevbog
53fed83e05
do not save edits on Escape in reader tags popup (#4399)
<panel> takes over Escape handling by just closing the popup via
what looks like a capturing listener on document, since Escape
keydown events never even reach the popup itself. When the popup
is just closed like that, tagsBox is blurred so all unwanted edits get saved.

To properly handle Escape, attach our own capturing listener that will
reset all edits before the popup is closed.

Fixes: #4398
2024-07-19 02:34:28 -04:00
Abe Jellinek
38391f356c
Restore autoscroll support in reader (#4405)
- Mozilla's ActorManagerParent was only being imported when devtools
  were initialized (either by opening the Error Console or by connecting
  via remote debugging). Import it in our ActorManager so Mozilla
  actors, including AutoScroll, are always registered.
   - This may have other effects! I'm assuming most of us test with
     the error console visible, though, so we would've had Mozilla
     actors, while users running without devtools wouldn't have. We
     definitely want those actors. (Most of them, at least.)
- Don't override autoscroller styles with our panel customizations.
2024-07-19 01:57:45 -04:00
Abe Jellinek
192ea54de0 Update reader submodule
Addresses #4401
2024-07-18 10:56:37 -04:00
abaevbog
e6b5ba60dd
fix tab not scrolling into view (#4404)
After react 18 update, the tab node may not yet be rendered
by tabBar.jsx when we try to scroll it into view in Zotero_Tabs.select.

- To make sure scrolling happens when rendering is done, move scroll-related
logic into a useEffect of tabBar.jxs. It also makes sure that we'll scroll to
a selected tab if it is moved via context menu to the very beginning or the end.

- Added a small scroll-padding to tabs container to make sure the border
does not get cutoff after the tab is scrolled into view instead of
JS code accounting for the border.

- Fixed a glitch where the pinned library tab would not get selected
on shift-tab from opened tabs menu.

Fixes: #4382
2024-07-18 02:19:07 -04:00
abaevbog
40fd5efe05
vpat 48: announce selection for default virtualized table (#4391)
* vpat 48: announce selection for default virt table

For simpler virtualized tables
(e.g. style manager in Zotero_Preferences.Cite), the table
does not get re-rendered when selection changes, so
aria-activedescendant does not get updated in render().

- a single function to update aria-activedescendant of the table
- call it in _updateTree of the tree selection because _onSelection
is not called the very first time a table is rendered. In that case, after
restart, collectionTree would have a selected row but no aria-activedescendant
- remove this.forceUpdate() from selection handlers of itemTree and
collectionTree because judging by the coment it's main purpose was to set
aria-activedescendant through render()
- set aria-activedescendant in _onSelection handler
of virtualized table. 
- construct and set aria-label for rows build via
makeRowRenderer of VirtualizedTable so that is is
announced when the row is selected.
2024-07-17 10:34:16 +03:00
Martynas Bagdonas
a46f1bcbbb Fix reader popups being covered by contextPane in Stacked View mode
Fixes #3542
2024-07-16 15:12:26 +03:00
Dan Stillman
220bb43830 Update reader submodule 2024-07-16 03:44:31 -04:00
Bogdan Abaev
ed1f3853b4 fix shift-Enter tagsbox inconsistent glitches (#4231)
- remove earlier shift-Enter behavior that makes tag's
input multiline.
- shift-Enter will function just as Enter by saving the
tag and allowing focus to return to reader or itemTree.
- except after pasting multiple tags which will still turn
the tags input into a multiline field. Then, shift-enter
will add a new line, just as with any other multiline
editable-text.
2024-07-16 02:36:10 -04:00
Bogdan Abaev
16a5b5b6bc add aria-label to tag edit fields (#4231) 2024-07-16 02:36:02 -04:00
Bogdan Abaev
a73035c848 vpat 66-68: fix focus within tagsBox popup (#4231)
- focus will always enter the tagsBox popup opened from the reader
- escape from within the popup with tagsBox will close the popup (vpat
  67)
- one should not be able to collapse the tagsBox. Added `collapsible`
  getter and setters to the collapsible panel to prevent the section
  from changing its open status. This may be also used in other cases,
  such as to prevent itemBox from being collapsed in duplicates mode.
- patched a glitch where tab from the last empty tab input would loose
  focus.
- changed the `menupopup` for `panel` to display the `tagsbox` because
  `menupopup` has implicit `role="menu"` which is not meant to contain
  inputs, so voiceover completely looses cursor when inputs are focused
  inside of the popup. Also, tweaked spacing a bit to avoid the
  focus-ring getting cutoff.

Addresses: #4222
Fixes: #4230
Fixes: #4226
Addresses: #4388
2024-07-16 02:35:53 -04:00
Tom Najdek
f227aeb6e0
File renaming: suppress duplicate suffixes #3317 (#4389) 2024-07-16 01:59:07 -04:00
abaevbog
25d0cf66bd
save itemPane title/abstract fields on blur (#4390)
As opposed to 'change' event.

Because if the field is editted and another window is focused
while the cursor is in the field, the change event will be
swallowed and when the field finally looses focus, it will not
be saved.

This may address the reported issue of edits not being saved in
title and abstract fields.

Addresses: #4388
2024-07-16 01:35:35 -04:00
Martynas Bagdonas
abad33116b Add reader text selection popup annotation mode toggle pref
Fixes #3352
2024-07-15 15:43:53 +03:00
Dan Stillman
06741ceb62 Add additional backslashes in Exec line in Linux desktop file
https://github.com/zotero/zotero/issues/4163#issuecomment-2220309854
2024-07-15 04:20:39 -04:00
Dan Stillman
d949748945 Update reader submodule 2024-07-15 04:15:27 -04:00
abaevbog
26f7c707ba
display emojis from color-less tag in itemTreeRow (#3330)
- display the first continuous span of emojis in the primary cell of
the itemTree for non-colored tags.
- the emojis appear after the colored tags' circles (if any)
- to keep things consistent with itemTree, sort tags in the tagsBox in
the following order: colored tags first sorted by their position,
emoji tags after sorted alphabetically, followed by remaining tags sorted
alphabetically.
2024-07-15 00:28:01 -04:00
Abe Jellinek
833ecca364
Set automatic titles in more or less all cases (#4369)
By moving the setAutoAttachmentTitle() calls to importFromFile() /
_addToDB().

Also:

- Chop off file extension when setting the parent's title based on the
  filename in Create Parent Item -> Manual Entry.
- Fix Manual Entry not renaming the attachment correctly by awaiting
  createEmptyParent().
2024-07-14 23:37:24 -04:00
abaevbog
ac1cb29c69
refresh library tab's icon cache on update (#4387)
When tabs' state is updated, refresh library tab's icon.
Do not skip it if the icon already exists (as for reader tabs).
Otherwise, when selected row from collectionTree changes,
the icons in the library tab will not update.

Fixes: #4385
2024-07-13 15:46:33 -04:00
windingwind
b16bbc4a8a Fix richlistitem inner element style
fix: https://github.com/zotero/zotero/pull/4339#issuecomment-2225908561
2024-07-13 23:51:56 +08:00
Abe Jellinek
174bde7451
Find Available PDF: Use translator-provided title (#4377) 2024-07-12 00:58:38 -04:00
windingwind
f79dab8f3e
No focus ring and background in CR readonly fields (#4380)
fix: #4138
2024-07-12 00:57:04 -04:00
abaevbog
c0f6671542
fixes to saved search dialog layout (#4378)
- remove padding between the <dialog> and the window edges
- explicit width for all zoterosearch fields because otherwise
a menulist with a long content (e.g. longer collection name) name
can push the + and - buttons outside of the window

Fixes: #4374
2024-07-12 00:55:49 -04:00
abaevbog
f387c67fbc
remove unneeded .trim from react-virt patch (#4379)
Followup to #4370, per https://github.com/zotero/zotero/pull/4370#discussion_r1674336402
2024-07-12 00:21:45 -04:00
Abe Jellinek
c3e927e52f Disable flaky Advanced Search test on CI
Re-enable after we figure out #4375, but this is breaking PR CI runs
right now.
2024-07-11 11:43:23 -04:00
abaevbog
0ea3d232f0
quickFormat rtl layout fixes (#4372)
- properly determine between which two bubbles a click landed
- set input direction
- delete the bubble on the left of the cursor
- in rtl, use selectionStart as the expected end of the input
and selectionEnd as the start. It fixes the issue of the
cursor getting stuck at the end of the input, as well as
fixes the Home/End not working from the right end.
- fix spacing issues for item descriptions in both layouts

Fixes: #4371
2024-07-11 05:39:24 -04:00
Dan Stillman
40a9ebc225 Update reader submodule 2024-07-11 01:47:42 -04:00