Skip to content

Fix two columns on the iPhone Duo unfolded in landscape - #919

Merged
mickael-menu merged 2 commits into
developfrom
fix/duo-columns
Oct 12, 2026
Merged

mickael-menu merged 2 commits into
developfrom
fix/duo-columns

Conversation

@mickael-menu

@mickael-menu mickael-menu commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Fixes reflowable EPUBs being displayed as a single column on the iPhone Duo unfolded in landscape.

☝️ The hotfix/3.11.1 branch contains the same fix, but for the latest stable 3.11.0 release. It might get released officially, not sure yet.

This ports the responsive columns fix from the Readium CSS v1-maintenance branch (readium/css#247, future 1.1.2) to the bundled stylesheets. Only the two relevant upstream hunks are applied. The bundled Readium CSS stays based on 1.0.0-beta.1 to prevent regressions.

Supersedes #903, thanks to @jeremygrenier for the report and the initial fix.

Behavior changes

  • An iPhone Duo unfolded in landscape shows two columns with columnCount set to auto.
  • A forced EPUBPreferences.columnCount (.one or .two) now applies to any viewport size. Previously, it was ignored on small viewports such as an iPhone in portrait.
  • The horizontal-viewport-segments: 2 query has no effect yet, because WKWebView does not expose viewport segments on iOS 27.1.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The focused stylesheet changes consistently match the upstream fix and the described behavior.

0 open findings

What changed in this PR

Ports Readium CSS’s responsive-column fix to bundled EPUB stylesheets.

Changes:

  • Enables automatic two-column layouts on wide landscape viewports.
  • Applies forced column counts at all viewport sizes.
  • Documents the fix in the changelog.
File Description
CHANGELOG.md Records the Duo layout fix.
readium-css/​ReadiumCSS-after.css Updates default horizontal pagination rules.
readium-css/​rtl/​ReadiumCSS-after.css Updates RTL pagination rules.
readium-css/​cjk-horizontal/​ReadiumCSS-after.css Updates horizontal CJK pagination rules.
Files not reviewed (3)
  • Sources/Navigator/EPUB/Assets/Static/readium-css/ReadiumCSS-after.css: Generated file
  • Sources/Navigator/EPUB/Assets/Static/readium-css/cjk-horizontal/ReadiumCSS-after.css: Generated file
  • Sources/Navigator/EPUB/Assets/Static/readium-css/rtl/ReadiumCSS-after.css: Generated file

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@jeremygrenier jeremygrenier left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙏

@mickael-menu
mickael-menu merged commit add2447 into develop Oct 12, 2026
5 checks passed
@mickael-menu
mickael-menu deleted the fix/duo-columns branch October 12, 2026 14:21
@mickael-menu

Copy link
Copy Markdown
Member Author

This is now released as 3.11.1.

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.

3 participants