feat: French VF toggle (Frembed) + Live TV section (iptv-org)#119
Open
GuillaumeBld wants to merge 3 commits into
Open
feat: French VF toggle (Frembed) + Live TV section (iptv-org)#119GuillaumeBld wants to merge 3 commits into
GuillaumeBld wants to merge 3 commits into
Conversation
added 3 commits
June 1, 2026 01:08
Add Frembed (frembed.fun) as a new player source — a French-dubbed (VF) embed API covering 24,000+ movies and 3,000+ series. The entire Frembed catalog is VF by design; no language parameter needed. Add a 🇫🇷 VF button to the player controls in MoviePage and TVPage: - Clicking switches the active source to Frembed and saves the previous source so switching back restores it exactly - Button turns red when Frembed is active - Hidden for AllManga (anime sub/dub has its own toggle) - Export sourceIsFrenchOnly() helper in api.js
Use screen.getPrimaryDisplay() to explicitly center the window after did-finish-load. Combined with show:false on BrowserWindow creation and app.disableHardwareAcceleration(), this fixes the black-window rendering glitch on macOS multi-monitor setups where the secondary display has a Metal compositor issue.
Integrate the iptv-org open-source IPTV database (8,000+ channels) as a new Live TV section in Streambert. - LiveTVPage: channel grid with inline HLS player, country/category filters, search, and geo-block/not-24h7 badges on cards - iptv.js: fetches channels + streams + logos from iptv-org GitHub Pages API, joins them in memory, caches to localStorage for 6 hours - Sidebar: new Live TV nav item with antenna icon - Icons: add LiveTVIcon - Styles: full LiveTV page + channel card CSS Default country filter is FR (France). Channels are filtered to non-NSFW and non-closed only. Logos use in_use=true entries from the logos endpoint.
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
Two new features built on top of the existing player architecture:
1. French dubbed (VF) toggle via Frembed
A 🇫🇷 VF button appears in the player controls for all non-anime sources (MoviePage + TVPage).
playerSourceBeforeFrin localStorage so switching back is exactsourceIsFrenchOnly()helper exported fromapi.jsFrembed URL format:
https://frembed.fun/api/film.php?id={TMDB_ID}https://frembed.fun/api/serie.php?id={TMDB_ID}&sa={SEASON}&epi={EPISODE}2. Live TV section powered by iptv-org
A new Live TV page accessible via the sidebar (antenna icon).
Data source: iptv-org/api — 8,000+ channels, updated daily, no auth required. Fetches
channels.json+streams.json+logos.jsonin parallel, joined in memory and cached to localStorage for 6 hours.UI:
Files added:
src/utils/iptv.js— fetch + cache + join logicsrc/pages/LiveTVPage.jsx— full page componentsrc/components/Icons.jsx—LiveTVIconaddedsrc/components/Sidebar.jsx— Live TV nav itemsrc/styles/global.css— LiveTV + channel card stylesTest plan