Skip to content

Stop the Jekyll build overwriting deploys; add Sirasa TV and other official YouTube lives - #11

Draft
AshenWijesingha wants to merge 2 commits into
mainfrom
ccr-935bedef-xdoexq
Draft

AshenWijesingha wants to merge 2 commits into
mainfrom
ccr-935bedef-xdoexq

Conversation

@AshenWijesingha

@AshenWijesingha AshenWijesingha commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Summary

Deploy fix (urgent). After PR #10 merged, the live site showed the repository README instead of the app: the after-deploy test found the title "FalconStream-Pro.github.io" and /manifest.json and lk.m3u returning 404. GitHub Pages is set to Deploy from a branch, so every push also runs GitHub's Jekyll "pages build and deployment", and this time it finished after our deploy. Re-running the deploy restored the app; this PR stops it from happening again.

  • The deploy job now waits for that branch build to finish, so the app deploy always lands last.
  • verify waits until the new version is being served before it runs the smoke test.
  • workflow_dispatch allows redeploying by hand.
  • Permanent fix on your side: Settings → Pages → Source → GitHub Actions.

Channels

  • YouTube playback. Official YouTube channel live streams now play in YouTube's embedded player (src/lib/youtube.ts, YouTubePlayer.tsx).
  • Sirasa TV added from its confirmed official channel UCn0XmAUFv6d2tofMFEesSNw, marked Not 24/7: it is only live when Sirasa broadcasts on YouTube, and it was not live at check time.
  • Five other official YouTube lives added; all were live when checked: TV Derana, Ada Derana 24x7, The Buddhist, Pragna TV and Sathi TV.
  • Swarnavahini removed. Chrome rejects its server's CORS header (smoke-test console: "blocked by CORS policy"), so it only plays with the proxy on.
  • Checks. check_streams.py now checks YouTube entries (live now and embedding allowed), and the smoke test checks that the YouTube embed loads.

Test plan

  • Lint, type check and build pass. A local smoke test (without --play) passes with 13 channels, no page errors and no broken assets. Sirasa opens in the YouTube embed.
  • Smoke test with --play in Chrome on CI: all 7 HLS channels play and all 6 YouTube embeds load, with no page errors and no broken assets.
  • Check Sri Lanka streams: 12/13 pass. The 5 YouTube lives are live and embeddable; Sirasa TV is not live on YouTube right now.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KFgZAqUcFaYKfwpPMUvu9P

claude added 2 commits October 8, 2026 01:16
…reams fail in the smoke test

- scripts/check_youtube_live.py reports channel name and live status for
  Sirasa's YouTube channel (found embedded on online-television.net) and
  the official channels iptv-org used to relay (Rupavahini, TV Derana,
  Ada Derana, Shraddha, The Buddhist, ...)
- smoke_test.cjs prints failed requests, HTTP errors and console errors
  for each channel that does not play, to diagnose Swarnavahini, which
  downloads fine (CORS allowed) but never starts in Chrome

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KFgZAqUcFaYKfwpPMUvu9P
…and other official YouTube lives

Deploy
- The PR #10 deploy was overwritten by GitHub's own "pages build and
  deployment" (Pages source is "Deploy from a branch"), which published
  the README as the site. The deploy job now waits for that branch
  build to finish before deploying, so the app always lands last.
- verify waits until the new version is served before smoke testing.
- Allow running the deploy by hand (workflow_dispatch).

Channels
- Play YouTube links (official channel live streams) in YouTube's
  embedded player. Add Sirasa TV (confirmed official channel
  UCn0XmAUFv6d2tofMFEesSNw; live only when Sirasa broadcasts on YouTube)
  and the official lives that were on air when checked: TV Derana,
  Ada Derana 24x7, The Buddhist, Pragna TV and Sathi TV.
- Remove Swarnavahini from lk.m3u: Chrome rejects its server's CORS
  header (smoke test console: "blocked by CORS policy"), so it only
  plays with the proxy on.
- check_streams.py checks YouTube entries (live now + embedding
  allowed); the smoke test checks the YouTube embed loads.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KFgZAqUcFaYKfwpPMUvu9P

This branch has not been deployed

No deployments
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