Repository navigation
Fix organization profile images in GitHub Mobile - #29
Merged
Merged
Conversation
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.
Organization-profile images use README-relative URLs, which GitHub Mobile can resolve from the repository root instead of profile/. Public and member views therefore show broken banners/buttons despite valid published assets. Use absolute URLs to the authoritative public assets for every profile image src and picture srcset, including mobile and dark variants. The existing member-profile sync copies the corrected generated README.
The menu generator resolves those profile-owned URLs back to local assets while retaining the original URL in the HTML. Consolidate path/URI rejection at the existing ownership guard; foreign URLs and filesystem-absolute paths remain excluded. No new publishing mechanism, renderer, image copy or configuration flag is added.
Files
profile/template.md: eight explicit public asset URLs and the authoring rule.profile/README.md: regenerated withsnodec_sync profile.tools/snodec_sync/navigation.py: preserve local menu generation for the canonical profile URLs.tests/test_sync.py: every image URL must be absolute, public and backed by an owned local file.tests/test_navigation.py: verify button/HTML width normalization, URL preservation, foreign-URL exclusion and no drift.Verification
python tools/snodec_sync check— PASS.python tools/snodec_sync profilethengit diff --exit-code profile/README.md— PASS after commit, no drift.python -m unittest discover -s tests -v— 74 tests passed (10.868 s).python tools/snodec_sync page-headers --repo . --check— PASS.python tools/snodec_sync docs-audit --repo .— 0 violations.git diff --check HEAD^ HEAD— PASS.Production Python: +3/-4 lines (net -1). Test Python: +21/-3 lines. No SVG, license, historical record, workflow definition, tag or setting changes. Native GitHub-app behavior cannot be directly verified on a device in this environment; this corrects the URL-resolution boundary matching GitHub's acknowledged organization-profile issue.
The owner authorized merge and live publication. On merging, existing main validation requests the member-profile sync. No product or package build workflow is needed or requested.