ranger 609e0edf60 feat(v0.5.1-prep): expand Quick Stations 8 → 14
Adds 6 more SomaFM channels to the NewTab Quick Stations chip row.
Was reading sparse with only 8; the row had space for more. Selections
broaden genre coverage and add two on-brand picks:

  +  defcon       DEF CON Radio       (electronic / hacker culture)
  +  beatblender  Beat Blender        (electronic / breakbeat)
  +  bootliquor   Boot Liquor         (americana / outlaw country)
  +  u80s         Underground 80s     (80s indie / synthwave)
  +  bagel        BAGeL Radio         (indie / alt-rock)
  +  thistle      ThistleRadio        (celtic / folk — Dublin nod)

Total chip count: 8 → 14. No code change other than the QUICK_IDS
array. The render loop already drops any ID that's missing from
SomaFM's channels.json catalogue, so if a slug changes upstream
it just disappears silently.

DEF CON Radio = David's personal favourite (used as the test
station throughout v0.3.0 development). ThistleRadio = Irish-built
extension nodding to Celtic folk. Both feel right for the demographic
this product serves.
2026-06-10 00:28:46 +01:00

RangerHQ Tuner

Chrome Web Store version users rating license manifest V3 last commit no telemetry made in Dublin

🎉 Install from the Chrome Web Store →

Lightweight indie internet radio player for Chrome. Plays SomaFM in any browser tab. Manifest V3, vanilla JS, no telemetry.

Sibling to rangerhq-radio (the WordPress version).

Tier 1 — MVP (current)

  • Manifest V3 + Offscreen API audio
  • Loads all SomaFM channels from channels.json
  • Pick a station, click Play, audio runs in background
  • Volume + state persisted across popup open/close
  • Catalogue cached 6h in chrome.storage.local
  • Source-adapter pattern in place for future networks

Install (developer mode)

  1. Open chrome://extensions
  2. Toggle Developer mode on (top right)
  3. Click Load unpacked → pick this folder (rangerhq-tuner/)
  4. Pin the extension to your toolbar (puzzle icon → pin)
  5. Click the toolbar icon → pick a SomaFM station → ▶ Play

Project layout

rangerhq-tuner/
├── manifest.json
└── src/
    ├── background/service-worker.js   # message router, no audio here
    ├── offscreen/offscreen.{html,js}  # the <audio> element host (MV3 needs this)
    ├── popup/popup.{html,css,js}      # the toolbar UI
    ├── sources/                       # extensibility seam
    │   ├── base-source.js             # RadioSource interface (JSDoc)
    │   ├── somafm.js                  # first concrete adapter
    │   └── index.js                   # registry
    ├── lib/                           # shared utilities
    └── assets/icons/                  # 16/32/48/128 PNGs

License

GPL-2.0-or-later — matches the rest of the RangerHQ family.

S
Description
No description provided
Readme GPL-2.0 1.6 MiB
Languages
JavaScript 58.3%
CSS 31.4%
HTML 10.3%