Take odrcore 6.13.0 - #645
Merged
Merged
Conversation
Two releases in one: 6.12.0 and 6.13.0. Almost all of it arrives without a line of app code - the ODF drawing and chart work, the docx anchors and table borders, the metafile decoder, the PDF stroke state, and the spreadsheet memory and repeat-count fixes. CHANGELOG says what a user gets. Three things the app had to answer for: A document only held decrypted is no longer savable, so `host` closes it and no Edit button appears over it. That already works - `isEditable && isSavable` is what decides - and `testDecryptedDocumentIsNotEditable` holds it, because saving one used to write the content back out with its protection stripped. 6.12.0 named html in the format table without giving it a decoder, so `declaredType` now answers only for a type the core can open. Otherwise every `.html` - read as text, correctly - was reopened as html, failed, and fell back. render-sweep's list of claimed extensions was missing `md` and `markdown`, which the manifest has had since 6.11.0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T9iat7kbbySjhjy2agH2w1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two engine releases in one: 6.12.0 and 6.13.0.
What comes for free
Almost all of it. The format table is unchanged apart from html (below), so
SupportedDocumentTypes, the manifest's generated filters and the store copy all stay as they are.draw:enhanced-geometryinstead of their bounding box;draw:path,polygon,polyline,regular-polygon,connector,ellipse,measureandcaptionat all; and every shape where itsdraw:transformputs it.wp:anchordrawing floats at its offset with its wrap, table borders are drawn and no longer four times too thick, and a cell's content starts at the top.gsapplies the/ExtGStatestroke parameters, so a producer that only sets line width there - Canva - no longer draws everything at width 1.mergeCellnaming 17 billion positions).break-before:page.What the app had to answer for
A decrypted document is read-only (6.13.0, breaking). Every
saveoverload now throws for a document decrypted from a password-protected package - it used to write the content back out with the protection stripped, silently. The app already asksdocument.isEditable && document.isSavablebefore holding one open, so the Edit button disappears on its own;testDecryptedDocumentIsNotEditablepins it.html is named but not decoded (6.12.0).
FileType.HYPERTEXT_MARKUP_LANGUAGEis classification only - noopen, notranslate_html, never detected from bytes. It is not claimed anywhere (CORE_FILE_TYPESfilters ontranslateHtml), butdeclaredTypestarted answering it for a.html, andnameOutranksTextsays a name outranks text when the core cannot detect the type from content - so every.html, read as text and shown correctly, was reopened as html, failed, and fell back.declaredTypenow answers only for a type the core has a decoder for.render-sweep was missing
mdandmarkdownfrom its claimed extensions - stale since #636. The list now matches the manifest exactly.The one new API, and why it is not used
DocumentFile.thumbnail()(6.13.0) hands back the preview a package carries. The obvious home is the recent documents list. It is not worth it: on the core's own corpus, 27 of 33 ODF files carry a thumbnail and 0 of 33 OOXML files do - Word, Excel and PowerPoint only write one when the author ticks "Save Thumbnail". A recent list with a picture on the.odtrows and nothing on the.docxones reads as broken.Document.saveToMemory()(6.12.0) is the other addition; the save path writes a file and copies it into the SAF uri, and abyte[]of a whole document is a worse trade on a phone.Verified
spotlessCheck,lintProDebug,testProDebugUnitTestconnectedProDebugAndroidTeston a Pixel 6 Pro AVD: 89/89, including the format tests that holdSupportedDocumentTypesagainst the manifestrender-sweepover the corpus' drawings and presentations: 10/10ok, no crash and no failed render. The.odgof dimension drawings now shows its measure lines.🤖 Generated with Claude Code