fix(social-media,about-psf): make X icon visible, use official PyPI logo, etc.#273
Merged
JacobCoffee merged 5 commits intomainfrom Apr 25, 2026
Merged
fix(social-media,about-psf): make X icon visible, use official PyPI logo, etc.#273JacobCoffee merged 5 commits intomainfrom
JacobCoffee merged 5 commits intomainfrom
Conversation
Three icon issues across the social-media page and About PSF page: - The X icon SVG had no fill attribute, so on iOS WebView it could render as transparent. Switched the rows from <img> to <ion-icon src=...> which inlines the SVG, and gave both the X and Bluesky SVGs fill="currentColor" so CSS color: applies. (PYMOBIL-111) - The PyPI image rendered with the dark-mode invert filter applied, which mangled the multicolor logo. Tagged it with class="pypi" and excluded it from the filter. (PYMOBIL-111) - About PSF's PyPI row used the generic Ionic cube-outline icon instead of the official assets/img/pypi-logo.png we already ship. Swapped it and added a .resource-icon style sized to match the surrounding ion-icons. Adjacent ion-text-wrap classes on labels in the same diff hunks come along with this commit (couldn't be cleanly separated from the icon swap); they're harmless on their own but properly belong to the following text-overflow commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Text was running off the screen in several places — Help & Safety, Code of Conduct, sponsor detail descriptions, etc. — because Ionic's default ion-label sets white-space: nowrap. - Add class="ion-text-wrap" to list-item labels with description <p> on help, coc, and venues-hours pages. - Add overflow-wrap: anywhere on .sponsor-desc so long URLs and code in API-supplied HTML wrap instead of overflowing. - Add a global rule for ion-content <p>, <li>, ion-card-content, and [innerHtml]/[innerHTML] so long unbreakable strings (URLs, code snippets, German compound words, etc.) wrap rather than push the layout off-screen. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…YMOBIL-113) The full-width "Fetch latest update" button on the About PyCon US page was the only path to apply a new live-update bundle. Move that action into every page's top toolbar so users don't have to navigate to one specific page to update. - LiveUpdateService.performAutomaticUpdate() now owns the loader-spin + reload flow that used to live on AboutPyconPage. - The static "1" badge that already appeared next to the menu button on 17 pages becomes a tappable cloud-download-outline icon button (visible only when needsUpdate is true), wired to that service method. - About PyCon US loses its giant inline update CTA in favor of the same toolbar button. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sunday's schedule was showing "Posters" twice — once as the correct collapsed Poster session at 9:30am, once as a Plenary at 10:00am. The upstream conference.json mistakenly returns the daily posters block as kind="plenary" with a name like "Posters (Hall AB)" alongside the real kind="poster" 5-min slots. The collapse logic only groups within-kind, so the plenary entry survives as a duplicate. Filter those out client-side before the schedule is processed. The fix needs to live here even after pycon-site corrects the upstream data, since installed apps will keep hitting the old shape until they update. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…BIL-114) The "Posters" entry in the schedule used to open a session detail with only time + location and no body content. Now consume the new posters[] array from conference.json (added in pycon-site) and: - Render every poster (title + speaker name + speaker photo) on the collapsed Posters session-detail page. - Tapping a poster row drills into a per-poster session-detail with its title, abstract, and full speaker list. Implemented by synthesizing a session entry per poster (id "poster-detail-<conf key>") so the existing session-detail layout reuses unchanged. - Register poster authors in the global speakers list with their individual poster session attached, so tapping an author lands on a populated speaker detail page. - Compute a distinct .tracks list per speaker so the speaker list / search renders one pill per session type when someone has more than one (e.g. a Talk and a Poster). - Make session-detail react to paramMap changes so navigating between the collapsed Posters page and an individual poster (same route, different param) re-renders. Photo URLs from the API are relative paths; they go through resolveSpeakerPhoto so they get the environment.baseUrl prefix. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Three icon issues across the social-media page and About PSF page:
render as transparent. Switched the rows from
fill="currentColor" so CSS color: applies. (PYMOBIL-111)
which mangled the multicolor logo. Tagged it with class="pypi" and
excluded it from the filter. (PYMOBIL-111)
ion-text-wrap, prod stuff isnt wrpaping properlyCo-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com