Validate iOS Safari SPA-nav logo fix on docs site#30
Closed
Conversation
why: Validate the upstream gp-sphinx fix end-to-end on the published docs site before 0.0.1a12 ships. The fix reorders pushState above swap(doc) in spa-nav.js so relative href/src in the swapped DOM resolve against the new baseURI; without it, iPad Safari (in landscape or with "Request Desktop Site") blanks the sidebar logo after every cross-depth SPA navigation. what: - Add [tool.uv.sources] overrides pinning gp-sphinx and sphinx-gp-theme to git ref 652ce020 on fix/spa-nav-ios-relative-urls. - Refresh uv.lock; transitive workspace siblings (sphinx-autodoc-typehints-gp, sphinx-fonts, sphinx-gp-opengraph, sphinx-gp-sitemap) follow the same git ref automatically. - Temporary; revert this block once gp-sphinx 0.0.1a12 is on PyPI.
why: Trigger the docs deploy on this branch so the rebuilt site at libtmux-mcp.git-pull.com runs the patched spa-nav.js and we can confirm the iPad sidebar-logo regression is gone. what: - Add try/spa-nav-ios-fix to the docs.yml push trigger. - Drop this commit before merging once verified.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #30 +/- ##
=======================================
Coverage 83.77% 83.77%
=======================================
Files 40 40
Lines 2132 2132
Branches 270 270
=======================================
Hits 1786 1786
Misses 266 266
Partials 80 80 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
gp-sphinxandsphinx-gp-theme(and transitive workspace siblings) at unreleased gp-sphinx ref652ce020on branchfix/spa-nav-ios-relative-urls. The fix reorderspushStateaboveswap(doc)inspa-nav.jsso relativehref/srcin the swapped DOM resolve against the newbaseURI.docsworkflow trigger so the rebuilt site at https://libtmux-mcp.git-pull.com serves the patched theme.Background
On iPad Safari (landscape, or "Request Desktop Site" — viewport ≥ 63em where Furo's sidebar drawer is on-screen), the sidebar logo blanks after every cross-depth SPA navigation. Sphinx emits page-relative logo paths (e.g.
_static/img/libtmux.svgon root,../_static/img/libtmux.svgon/api/), and the previous order ranswap(doc)beforehistory.pushState, sosetAttribute("src", …)resolved the new path against the olddocument.baseURIand produced a 404 on the wrong directory.Chromium and Gecko queue
<img src>resolution as an element task and readbaseURIafterpushStateruns on the same call stack, so they tolerate the bug. WebKit on iOS resolves eagerly atsetAttributetime, and insidedocument.startViewTransitionthe failed-load state is then committed into the new snapshot during the 150ms cross-fade.Test plan
docsworkflow to deploy this branch./api/,/installation/→/)._static/img/libtmux.svg— no 404 entries during cross-depth nav.Follow-ups (not in this PR)
ci(docs[temp])commit (and thetry/spa-nav-ios-fixbranch entry indocs.yml) before merge.[tool.uv.sources]git pin with the releasedgp-sphinx==0.0.1a12pin once it ships.