Skip to content

fix(auto): stop footer-flooding flat content pages#3

Open
mixflavor wants to merge 2 commits into
mainfrom
fix/footer-flood-flat-pages
Open

fix(auto): stop footer-flooding flat content pages#3
mixflavor wants to merge 2 commits into
mainfrom
fix/footer-flood-flat-pages

Conversation

@mixflavor
Copy link
Copy Markdown
Contributor

What

Page-end overwrite dyed html + body + body::before with the last opaque section's color, flooding the visible background of flat light pages with a short high-contrast footer. This classifies the end section as a designed end-zone vs an incidental footer:

  • designed end-zone (gradient ending / closing section ≥ 50vh / footer color ≈ page bg) → full html+body+body::before overwrite (unchanged)
  • incidental footer (short, high-contrast, flat bg) → tint <html> only (correct rubber-band color, visible body left alone)

Adds an overscrollFill: 'auto' | 'always' | 'never' escape hatch (default 'auto'). Backward compatible — every pre-existing overscroll case (footer ≥ 50vh) still classifies as end-zone and floods exactly as before.

Tests

  • node test/pure.mjs31/0
  • node test/integration.mjs79/0 (incl. new N–N5: incidental-no-flood / always / never / tall-still-floods / continuous-color-floods)

Both engines kept in lockstep (src/utils.mjs ESM + src/utils.js CJS), .d.ts + README updated.

⚠️ Not yet device-validated

The chrome tint + overscroll overwrite only render on real iOS Safari 26+ (if (!isIOS) return); headless/CI proves the decision logic, not the native paint. Before publishing 2.2.0, the real-iPhone regression matrix must pass: gradient page stays seamless / flat page no longer floods brown / rubber-band tints correctly on both.

🤖 Generated with Claude Code

lersiann and others added 2 commits May 31, 2026 19:44
Page-end overwrite dyed html+body+body::before with the last opaque
section's color, flooding the visible background of flat light pages
with a short high-contrast footer. Classify the end section as a
designed end-zone vs an incidental footer; for the incidental case
tint <html> only (correct rubber-band color, body left alone). Add
overscrollFill: 'auto'|'always'|'never' escape hatch. Backward
compatible: tall/gradient/continuous endings still fully overwrite.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

2 participants