Summary
- Bugfix - Fix recursive copy in File Provider: #1557
- Bugfix - Prevent accidental dismissal of markup UI via pinch gesture: #1560
- Bugfix - Fix infinite icon loading retries: #1573
- Bugfix - Support for additional Drive ID formats: #1577
- Enhancement - Configuration options for in-app web-app URL opening: #1572
Details
-
Bugfix - Fix recursive copy in File Provider: #1557
This PR fixes an issue where trying to copy and paste a whole folder hierarchy
into the File Provider could render inconsistent and incomplete results. -
Bugfix - Prevent accidental dismissal of markup UI via pinch gesture: #1560
Prevents the accidental dismissal of markup UI via pinch gesture.
-
Bugfix - Fix infinite icon loading retries: #1573
Fixes an infinite loop trying to load the icon of a web app if that icon does
not exist. -
Bugfix - Support for additional Drive ID formats: #1577
This PR adds
OCVaultsupport for Drive IDs in formats other than the standard
oCIS-format (like f.ex.
166d1210-cdb9-50ab-9f1e-ecb9ef12a304$2e81b56f-9284-409a-9dd0-364604df62ce) or
that are longer than supported by APFS (defined by iOS asNAME_MAX, currently
255):- Drive IDs matching
/^[A-Za-z0-9\\-\\$]{1,}$/and shorter than
NAME_MAXare kept as-is, keeping the vault structure backwards-compatible - Drive IDs not matching that regex are transparently base64-en-/decoded before
use - Drive IDs longer than
NAME_MAX(before or after base64-encoding) are
replaced with their SHA-256 checksum, while preserving the original Drive ID in
a newmetadata.plistfile at the root level of the respective drive's folder
in the vault
Furthermore this PR:
- rejects nameless
OCItems in WebDAV responses, returning anOCErrorinstead - verifies an item's parent folder location before removing it from the vault
- Drive IDs matching
-
Enhancement - Configuration options for in-app web-app URL opening: #1572
Adds a new option
action.in-app-web-app-link-open-modeto allow configuring
behavior when in-app web apps want to open a URL in a new window.Possible values:
with-default-browser: ask the user if the link should be opened in the default browser (default)navigate: ask the user if the in-app browser hosting the web apps should navigate to the linkchoice: ask the user whether to delegate link opening to the default browser or perform an in-app navigationdeny: deny opening the link and tell the usersilent-deny: silently deny opening the link (effectively turning it into a no-op) and log a debug message (not including the URL)