commit 38b6b8d3f78b66fea9a5eeeb94786e42f0bc3148 Author: David Keane Date: Mon Jun 8 23:31:29 2026 +0100 feat: initial commit — RangerHQ Tuner v0.1.0 (Tier 1 MVP) Chrome MV3 extension, browser-resident sibling to rangerhq-radio (WP plugin). Plays SomaFM via the chrome.offscreen API + a source- adapter pattern at src/sources/. Architecture highlights: - Audio runs in offscreen document — SW would get killed. - Source-adapter pattern locks Tier 1 contract (RadioSource interface in src/sources/base-source.js). Adding a network = drop a file + register one line in src/sources/index.js. - Vanilla JS, no build step. Pure ES modules. - No telemetry, no third-party JS. Outbound only to somafm.com. - Narrow permissions: offscreen + storage + somafm.com host_perms. No tabs, no , no webRequest. 22 files, ~30 min build following the saved plan at ~/.ranger-memory/projects/rangerhq-tuner-plan.md. Tier 2 + Tier 3 (Web Store submission) not started. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..42e300f --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.DS_Store +node_modules/ +dist/ + +# .crx is the packed extension build, .pem is the signing key. +# Losing the .pem means you can never update the same extension ID, +# so it lives outside git and gets backed up separately. +*.crx +*.pem diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..69450c0 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,83 @@ +# Changelog + +All notable changes to **RangerHQ Tuner** are documented here. +Format: [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/) — versioning: [SemVer](https://semver.org/). + +--- + +## [Unreleased] + +### Planned — New Tab Page override (Tier 2.5) +- Replace Chrome's default New Tab Page with a RangerHQ-branded version that surfaces the player, current track, and a quick-station picker. +- Adds `chrome_url_overrides.newtab` to `manifest.json` pointing at `src/newtab/newtab.html`. +- Reuses the popup's CSS palette + source-adapter pattern — no new architectural concepts. + +--- + +## [0.1.0] — 2026-06-08 + +### Added — Tier 1 MVP (Buddy is alive — er, Tuner is alive) + +**Buddy's browser cousin lives.** First release of RangerHQ Tuner — a Chrome Manifest V3 extension that plays SomaFM internet radio from your toolbar. Sibling to [`rangerhq-radio`](https://git.davidtkeane.com/ranger/rangerhq-radio) (the WordPress version live on wp.org since 2026-06-04). Same brand idea, different surface: WP version lives in admin pages, Chrome version lives one toolbar-click away no matter what you're doing. + +#### Architecture + +- **Manifest V3** — uses the `chrome.offscreen` API to host the `