Skip to content

Releases: D3AD-rgb/FBTV

FBTV v0.2.0 - Playback engines

Choose a tag to compare

@D3AD-rgb D3AD-rgb released this 26 Oct 00:25

FBTV v0.2.0

[0.2.0] - 2026-10-26

Added

  • Player engine layer: native webOS HLS (via <source>), hls.js and mpegts.js over MSE, loaded on demand from
    vendor/; engine order per stream type, remembered engine per URL, start-up timeout, supersede on fast switching.
  • Playback error classification with plain-language messages (needs headers, forbidden/geo, not found, CORS,
    decode, timeout, unsupported format/protocol, and rejected when the TV player refuses a source without a
    reason).
  • Playback test screen (Settings › Playback test, Diagnostics › Run playback test): plays public vendor test
    streams (Mux, Unified Streaming, Apple) with each engine and records resolution, start-up time and audio tracks.

Findings

  • FND-010: native player handles TS-segment HLS fastest; hls.js plays fMP4 HEVC 4K that native rejects.
  • FND-011: Akamai live test channel broken upstream; replaced with Unified Streaming's live demo.
  • FND-008: target TV is an LG 50UQ751C0LF on webOS TV 22 (Chromium 87).
  • FND-009: Key Server can appear on while not listening; toggle it to fetch the key.

Changed

  • Packaging: builds that are not exactly a tagged release are named
    <app-id>_<version>-dev.<commit>[.dirty]_all.ipk, so they never overwrite a release IPK; npm run deploy
    installs the newest package unless --ipk is given.

Fixed

  • Release tags lost their markdown headings because git strips # lines from tag messages (BUG-004).

Commits

  • docs: correct test stream list in changelog (ba1c057)
  • fix(player): report native source rejection honestly; replace broken live test stream (5e0261e)
  • chore: correct release and deploy hints (f6803e2)
  • build: name untagged builds as dev packages; deploy newest (99fccae)
  • docs: record target TV details and Key Server quirk (FND-008, FND-009) (51063d9)
  • feat(player): engine cascade and on-TV playback test (b3e1ba4)
  • fix(release): keep markdown headings in annotated tag messages (BUG-004) (105c29f)

FBTV v0.1.0 - Foundations

Choose a tag to compare

@D3AD-rgb D3AD-rgb released this 26 Oct 00:03

FBTV v0.1.0

[0.1.0] - 2026-10-26

Added

  • Project foundations: Vite build emitting a single classic-script bundle for webOS file:// (FND-002),
    ES2015 output with polyfills for webOS 4 and newer, appinfo.json generated from package.json.
  • Design system tokens (palette, type scale, spacing, card sizes, focus ring) with Chromium 53-safe CSS (FND-001).
  • Spatial-navigation focus engine: nearest-row geometry, row/page scroll tracks, focus memory, entry rules,
    traps for dialogs, boundaries and overrides.
  • Remote handling: arrows, OK, Back (461), CH+/−, digits, colour and media keys, Magic Remote pointer.
  • Router with Back order: overlay → page → nav bar → Home → exit prompt.
  • App shell: top navigation (Home, Live TV, Movies, Series, Kids, Search, Settings) with honest empty states.
  • Diagnostics screen: device model and webOS version (Luna getSystemInfo), media format support
    (canPlayType, MSE), platform features.
  • App icons and splash screen.
  • Scripts: npm run package (ares-package, with SHA-256), npm run deploy (ares-install + ares-launch),
    npm run release (version, changelog, findings, annotated tag, IPK).
  • Documentation: research of the nine source repositories, architecture, decisions, design system, remote map,
    deployment guide, findings log.

Fixed

  • Focus marker lost when a component re-rendered (BUG-001).
  • Left/Right jumping diagonally to another row (BUG-002).
  • Up skipping content scrolled behind the nav bar (BUG-003).

Commits

  • docs: source research, architecture, decisions and deployment guide (764492c)
  • build: package, deploy and release scripts (c2ad5c2)
  • feat(app): design system, app shell and Diagnostics (fea6f96)
  • feat(nav): spatial focus engine, router and remote input (94d8597)
  • chore: scaffold FBTV project (3be0169)