Skip to content

Take core 7.4.0, and format sheet cells and align paragraphs - #697

Merged
andiwand merged 1 commit into
mainfrom
core-7.4.0
Oct 3, 2026
Merged

andiwand merged 1 commit into
mainfrom
core-7.4.0

Conversation

@andiwand

@andiwand andiwand commented Oct 3, 2026 •

Copy link
Copy Markdown
Member

Summary

This PR takes core v7.4.0 and uses its new features.

  • Sheet formatting. The strip now shows over a sheet. It has the same tools as a document, but it has a fill in place of the highlight. In lite, the fill is the free tool, as the highlighter is in a document.
  • Paragraph alignment. Both strips get an alignment tool. A tap opens left, center, right and justify, under the tool. A sheet does not get justify, because a cell has no justify. The icon shows the alignment of the selection.
  • HtmlConfig.hostMessageHandler. The page sends every odr.on* callback to PageView.postMessage. This PR deletes editing-bridge.js and its injection in onPageFinished. The callbacks are now in place before the page's scripts run, not after the load finishes.
  • HtmlConfig.sheetEditOnClick and pdfAnnotationMarkOnSelection. These replace the two calls that the injected script made after each load.

Changes in the core that come with the version and need no work in the app:

  • Sheet fills show their real colors, and keep them in night mode.
  • A typed space shows, and a save keeps spaces as spaces.
  • External images do not load, and only a link with a navigable scheme leaves the page. PageView.shouldOverrideUrlLoading already gives such a link to another app. I keep allowExternalContent off, because no document leaves the device.

Not used: PdfFile.permissions and pdfEnforcePermissions. pdf.js keeps them off by default too. Enforcing them would block copy and print on some pdfs. That is a product decision, so I did not make it here.

The new strings are in English only. Run scripts/translate-app.py before the release.

Test plan

  • spotlessCheck assembleDebug lintProDebug testProDebugUnitTest
  • connectedProDebugAndroidTest: 98 of 98 pass on Pixel_6_Pro (API 31)
  • connectedLiteDebugAndroidTest: 98 of 98 pass on Pixel_6_Pro (API 31)
  • The new test aSheetCellTakesAFill pins a cell and taps the fill. It checks that the page logs a setCellStyle op, and that the edit reaches the app through postMessage.
  • A look at the alignment row and the fill palette on a device

🤖 Generated with Claude Code

Core 7.4.0 formats a selection of cells in the sheet editor and aligns
paragraphs in odt, odp, odg, docx and pptx. The strip now shows over a
sheet, with a fill in place of the highlight. Both strips get an
alignment tool. The fill is the free tool of a sheet in lite, as the
highlighter is in a document.

HtmlConfig.hostMessageHandler sends every odr.on* callback to
PageView.postMessage, so editing-bridge.js and its injection are gone.
HtmlConfig.sheetEditOnClick and pdfAnnotationMarkOnSelection replace the
two calls that the script made after each page load.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VTmf15E1oFAe5PrtjT2Cz8
@andiwand
andiwand merged commit e999209 into main Oct 3, 2026
2 of 7 checks passed
@andiwand
andiwand deleted the core-7.4.0 branch October 3, 2026 13:04
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