Skip to content

Take odrcore 6.13.0 - #189

Merged
andiwand merged 1 commit into
mainfrom
bump-odrcore-6.13.0
Sep 5, 2026
Merged

Take odrcore 6.13.0#189
andiwand merged 1 commit into
mainfrom
bump-odrcore-6.13.0

Conversation

@andiwand

@andiwand andiwand commented Sep 4, 2026

Copy link
Copy Markdown
Member

6.11.0 → 6.13.0. Two releases: 6.12.0 (memory and repeat bombs in spreadsheets, html named as a file type) and 6.13.0 (drawings, docx tables and floats, the webkit fit).

What the app takes up

The engine fits the page. HtmlViewportMode.fitWidthByView was filed as opendocument-app/OpenDocument.core#761 after it went back out of #185: in a WKWebView the fit landed but the type did not scale with it. 6.13.0 fixes that, so the app's own fit-to-width user script goes — a hundred lines of it. Photographed against the shipping build on an iPhone 17 Pro: the page fits the same, and the body text is now the size the document gives it. Webkit used to enlarge the prose of a page laid out wider than the screen, which left a heading barely larger than the text under it. A PDF and a spreadsheet are unchanged, as they state their own scale.

Markdown by name. openFile/nameOutranksText were this app doing what the engine now does itself: a .md decodes as markdown when opened by path. The two tests that pin it pass untouched.

HtmlConfig in Swift. Breaking, and the reason for the rest of the diff: the optional settings are Swift optionals of the real type rather than NSNumber/NSValue. spreadsheetLimit loses the hand-written objc type encoding.

A password protected document is no longer editable. The engine refuses to save one, and the app already asks isSavable before it offers the pencil — so this arrives without a change.

Not taken

DocumentFile.thumbnail() would give the browser a real preview of a document, but the picture comes from a thumbnail extension, which is a target this project does not have. saveToMemory() would drop the staging dance in backTranslate, at the cost of holding a whole document in memory beside the one already there.

Checked

70 unit tests, and the four screens the store is photographed from. One test changed: the tap the edit test aims at a run is hit-tested through odr.getViewportRect, because the fit applies a zoom that webkit leaves out of getBoundingClientRect.

🤖 Generated with Claude Code

Two workarounds this app filed upstream come back fixed, and go: the fit-to-width
user script, now that the engine's own fit holds the type at its size in a web
view, and the markdown-by-name routing, which the engine does itself.

The type in a fitted document is the size the document gives it. Webkit used to
enlarge the body text of a page laid out wider than the screen, which left a
heading barely larger than the prose under it.

The spreadsheet limits are set as themselves rather than as boxed numbers -
6.13.0 gives HtmlConfig's optional settings their real Swift types.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Na3zwCmkKv5pmPUZMmcr6W
@andiwand
andiwand merged commit f958aef into main Sep 5, 2026
4 checks passed
@andiwand
andiwand deleted the bump-odrcore-6.13.0 branch September 5, 2026 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant