Skip to content

Upgrade vendored Podigee podcast player to 9931784#1445

Open
andygrunwald wants to merge 4 commits into
mainfrom
andygrunwald/upgrade-podigee-podcast-player
Open

Upgrade vendored Podigee podcast player to 9931784#1445
andygrunwald wants to merge 4 commits into
mainfrom
andygrunwald/upgrade-podigee-podcast-player

Conversation

@andygrunwald
Copy link
Copy Markdown
Contributor

Summary

  • Bumps the vendored Podigee podcast player snapshot under public/podcast-player/ from 5134f68 (Dec 2024) to 9931784 on the fork's andygrunwald/migrate-yarn-1-to-yarn-4 branch.
  • Drops ~1.9 MB of vendored build artifacts that the browser never requests at runtime (the iframe document inlines its CSS and embed JS at build time, so the standalone stylesheets/app.css, themes/default/*, and fonts/*.json are dead weight).
  • Adds docs/upgrade-podigee-podcast-player.md so the next upgrade is mechanical: it captures which files we vendor, which build/ outputs we intentionally skip and why, and the step-by-step procedure.

Commits

  1. chore(podcast-player): drop unused vendored build artifacts — remove dead weight.
  2. chore(podcast-player): update vendored player to 9931784 — refresh the runtime files (podigee-podcast-player.html, loader JS, fonts, chromcast.png) and bump the public/podcast-player/README.md pointer.
  3. docs: document Podigee podcast player upgrade procedure — add the upgrade guide and cross-link it from README.md and AGENTS.md.
  4. style(docs): apply prettier formatting to upgrade doc — match project formatting on the new doc.

Fork commit included in this bump: 9931784… (Sass @import → @use migration, jQuery 4.x, Sass 1.x, Node 24, dropping node-sass, Yarn 1 → Yarn 4 build-tooling migration).

Notes for review

  • The diff on podigee-podcast-player.html is huge (~15k line deletions) because the new build minifies the inlined CSS; functional content is equivalent. Focus on the smoke test rather than line-by-line review.
  • The vendored player files are already covered by .prettierignore, so the prettier monthly job won't touch them.
  • The fork HEAD is on a feature branch (andygrunwald/migrate-yarn-1-to-yarn-4). A follow-up can re-pin to a merged commit once the fork's branch lands.

Test plan

  • make build — Astro build succeeds, all 7 expected files emitted under dist/podcast-player/, no orphan references to the removed files.
  • make test-javascript — 60/60 tests pass.
  • prettier --check on the files touched by this branch — clean (pre-existing repo-wide warnings unchanged).
  • Manual smoke test in make run: iframe renders, play/pause/chapter marks work, transcript click jumps audio, DevTools shows only expected /podcast-player/... requests, Matomo _paq.push entries fire on play/pause/ended.

🤖 Generated with Claude Code

andygrunwald and others added 4 commits May 12, 2026 09:32
The webpage uses the Podigee player in iframe-script mode: the loader
JS creates an iframe to `podigee-podcast-player.html`, and the fork's
build pipeline inlines the theme CSS and the embed JS bundle into that
HTML file. As a result, the following vendored files exist on disk but
are never requested by the browser at runtime:

- `public/podcast-player/stylesheets/app.css` (inlined into the HTML)
- `public/podcast-player/themes/default/index.css` (inlined)
- `public/podcast-player/themes/default/index.html` (build-time template,
  not served)
- `public/podcast-player/fonts/podigee-podcast-player.json` (icomoon
  metadata; not referenced by any @font-face, ~1.88 MB)

Removing them shrinks the vendored snapshot by ~1.9 MB and keeps future
re-syncs from `build/` focused on files we actually serve.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Refresh the vendored Podigee Podcast Player snapshot from the fork's
build/ directory. The previous pin was `5134f68` (Dec 2024); this bumps
to `9931784` on branch `andygrunwald/migrate-yarn-1-to-yarn-4`.

The fork has accumulated the following changes since the last sync,
none of which alter the integration contract used in
`src/layouts/podcast-episode.astro` (the `<script class="podigee-podcast-player">`
loader and the `window.playerConfiguration` shape are unchanged):

- Sass modernization: migrated `@import` to `@use`, replaced deprecated
  `lighten()` with `color.adjust()`.
- Dependency lockfile maintenance and pinning, jQuery 4.x bump, Sass
  1.x updates, Node 24, dropping `node-sass`.
- Build-tooling migration from Yarn 1 to Yarn 4.

Files updated:

- `public/podcast-player/podigee-podcast-player.html` — iframe document
  (now ships the build's minified inlined CSS; the on-disk size drops
  from ~610 KB to ~360 KB even though functional content is equivalent)
- `public/podcast-player/javascripts/podigee-podcast-player.js` — loader
- `public/podcast-player/fonts/podigee-podcast-player.{ttf,woff,eot}` —
  icon font (svg is byte-identical to the previous snapshot)
- `public/podcast-player/images/chromcast.png` — UI icon
- `public/podcast-player/README.md` — pointer bumped to the new commit
  and branch; cross-link to the upgrade doc added

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add `docs/upgrade-podigee-podcast-player.md` as the canonical reference
for refreshing the vendored Podigee fork under `public/podcast-player/`.
The previous upgrade required reverse-engineering which build artifacts
the iframe actually loads versus which ones are inlined into
`podigee-podcast-player.html` at build time; the new doc captures that
mapping so future sync passes are mechanical.

Coverage:

- How the player is integrated (iframe-script mode and where the loader
  sits in `src/layouts/podcast-episode.astro`).
- Authoritative list of files we vendor (HTML, loader, fonts, icon).
- Files in the fork's `build/` we intentionally skip and why
  (direct-mode bundles, `.gz` siblings, other themes, the icomoon
  metadata JSON, the standalone CSS that the build already inlines).
- A step-by-step upgrade procedure ending in a manual smoke test that
  catches regressions in `public/js/podcast-player-tracking.js` — the
  bridge most affected by any change to the iframe's `playerjs` event
  shape.

Cross-link the new doc from the top-level `README.md` and `AGENTS.md`
"Podcast player" sections. The Embedly `player.js` upgrade path stays
in the README since it has nothing to do with the Podigee fork.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Run `prettier --write` on the newly added
`docs/upgrade-podigee-podcast-player.md` so the file ships in the
project's enforced style (table column padding, single-line HTML
attribute layout in code samples, no double spaces in list items).

This is the only file from this branch that prettier flagged; the
other 89 pre-existing offenders elsewhere in the repo are left for
the monthly `Code formatting` workflow to handle.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@netlify
Copy link
Copy Markdown

netlify Bot commented May 12, 2026

Deploy Preview for nifty-bardeen-5c7e53 ready!

Name Link
🔨 Latest commit 53a1488
🔍 Latest deploy log https://app.netlify.com/projects/nifty-bardeen-5c7e53/deploys/6a02d879920f910008f5c1a4
😎 Deploy Preview https://deploy-preview-1445--nifty-bardeen-5c7e53.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

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