Skip to content

refactor(reader): centralize render config and harden hosting env#535

Merged
everpcpc merged 1 commit intomainfrom
codex/reader-render-config
Feb 22, 2026
Merged

refactor(reader): centralize render config and harden hosting env#535
everpcpc merged 1 commit intomainfrom
codex/reader-render-config

Conversation

@everpcpc
Copy link
Copy Markdown
Owner

@everpcpc everpcpc commented Feb 22, 2026

What

  • add ReaderRenderConfig as the single render preference payload for DIVINA/Webtoon page rendering
  • thread renderConfig through DivinaReaderView, ScrollPageView, CurlPageView, page image views, and Webtoon readers
  • remove duplicated leaf-level @AppStorage reads and use passed config values for tap zones, page numbers, background, live text, and double-tap zoom
  • explicitly inject readerPresentation and readerBackgroundPreference into UIHostingController pages created inside curl mode
  • remove a few unused environment dependencies identified during crash triage

Why

Crash logs pointed to missing object-style environment values inside nested hosting roots. The reader stack also had split configuration sources (@AppStorage, AppConfig, params), which made behavior inconsistent and harder to reason about.

Validation

  • make build-ios
  • make build-macos
  • make build-tvos

Add ReaderRenderConfig and pass it through Divina, scroll/curl page views, and webtoon readers to remove duplicated AppStorage reads in leaf views.

Ensure UIHostingController pages explicitly receive readerPresentation and readerBackground environment values so nested hosting roots do not crash when environment objects are missing.

Also remove unused environment dependencies discovered during crash triage.
@everpcpc everpcpc merged commit 2ec0878 into main Feb 22, 2026
3 checks passed
@everpcpc everpcpc deleted the codex/reader-render-config branch February 22, 2026 03:08
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