-
released this
2026-06-10 00:16:55 +00:00 | 1 commits to main since this releasePer David: "this app is kinda done" — the product surface is feature-complete.
What v0.5.3 adds
User-customizable Quick Stations. New Options page card with a checkbox per SomaFM channel (all 46), each row showing name + genre pill + the SomaFM description. Default 8 (same curated tidy 2-row layout as v0.4.0). User picks any subset; NewTab chip row updates live via cross-surface storage sync. Robust fallback: if Options is opened before the NewTab cache is populated, it fetches SomaFM channels.json directly + caches it back. Empty-pick state shows "No Quick Stations picked — set some in Settings" instead of a silent gap.
History export. Two new buttons in the Local Data card: Export history (JSON) and Export history (CSV). JSON is pretty-printed for re-import; CSV is RFC 4180 quoted with header artist,title,station,station_id,when_iso — opens cleanly in Excel/Numbers/Google Sheets. Filename: rangerhq-tuner-history-YYYY-MM-DD.{ext}. Entire export runs client-side; nothing sent off-device.
Workflow
This release is tagged on Gitea but waiting on Chrome Web Store. The v0.5.0 ZIP is currently in re-review; when it clears, well build a fresh v0.5.3 ZIP directly from main and upload THAT as the next user-visible update. Users at v0.4.0 jump straight to v0.5.3, getting all the polish (light/dark/auto theme + back-link + Quick Stations picker + history export) in one update notification.
Full detail in CHANGELOG.md.
Downloads
-
released this
2026-06-09 23:51:01 +00:00 | 6 commits to main since this releaseHotfix for v0.5.1 — the BAGeL Radio slug doesn no longer exists in SomaFMs current channels.json (BAGeL has been retired by SomaFM). The render loops drop-missing-slug behaviour silently hid the chip, so v0.5.1 was effectively rendering only 13 chips instead of the intended 14.
Replaced with PopTron (alternative / alt-rock) — fills the same genre slot BAGeL covered and is currently a live SomaFM channel.
One-line change in
src/newtab/newtab.jsQUICK_IDSarray. No CSS, no permissions, no dependencies, no behaviour change.Still held from Chrome Web Store upload until v0.5.0 clears re-review.
Downloads
-
released this
2026-06-09 23:32:42 +00:00 | 9 commits to main since this releaseThird update of 2026-06-10. Tagged on Gitea but held from the Chrome Web Store until v0.5.0 clears re-review.
Expands the NewTab Quick Stations chip row from 8 to 14 channels for broader genre coverage and two on-brand picks:
- DEF CON Radio (
defcon) — electronic / hacker culture, the test station from v0.3.0 dev - Beat Blender (
beatblender) — electronic / breakbeat - Boot Liquor (
bootliquor) — americana / outlaw country - Underground 80s (
u80s) — 80s indie / synthwave - BAGeL Radio (
bagel) — indie / alt-rock - ThistleRadio (
thistle) — Celtic / folk — Dublin-built nod 🇮🇪
Only one file changed:
src/newtab/newtab.jsQUICK_IDSarray, +19/-8 lines. The render loop drops missing slugs silently so retired upstream channels just disappear from the chip row without errors.Shipping order: v0.5.0 (light mode + theme toggle + back-link + first-run hint) lands first, then this v0.5.1 stations expansion on top.
Downloads
- DEF CON Radio (
-
released this
2026-06-09 23:22:16 +00:00 | 12 commits to main since this releaseThree bundled UX improvements, ~36 hours after v0.4.0 cleared the Chrome Web Store.
Light mode support across all three surfaces — popup, NewTab, Options. Auto-follows OS via
@media (prefers-color-scheme: light). Brand identity preserved (forest green stays as the accent in both modes).Manual theme toggle — new Auto / Dark / Light radio group in a new Appearance card on the Options page. Stored in
chrome.storage.localundertuner.theme. Exists because there are three independent theme layers (OS, browser-chrome, page CSS) that can disagree —@media (prefers-color-scheme: ...)reads the OS layer only. Users with mismatched layers (e.g. macOS light + Chrome dark theme) can override the auto-follow.Options → Tuner back-link — the Options page header brand becomes a clickable anchor pointing at the player UI. Subtle ← glyph + same-tab navigation so users dont accumulate Tuner tabs.
Zero new permissions. Zero new dependencies. ~340 lines added across 8 files (1 new file
src/lib/theme.js).Downloads
-
v0.4.0 — First-run UX hint Stable
released this
2026-06-09 21:15:17 +00:00 | 18 commits to main since this releaseSame-day update after v0.3.0 went LIVE on the Chrome Web Store.
First post-launch polish. Pure UX hint — discoverable first-run affordance pointing new users at the station list. Zero new permissions, zero new dependencies, zero behaviour change for existing users.
What changes
- Subtle accent-green glow pulses around the station list (popup) and Quick Stations chip row (NewTab)
- Bouncing ↓ arrow appended to the "Pick a station to begin" text in both surfaces
- Both cues controlled by a
body.is-first-runclass — toggled whencurrentStationis null, removed the moment a user picks anywhere - Cross-surface sync: picking a station in popup clears the hint on NewTab and vice versa
Files touched: 4 (popup css/js + newtab css/js). Total: +92 lines, 0 deletions.
Existing users with a stored
tuner.currentStationIdnever see either cue.Will be uploaded to the Chrome Web Store same evening; same-account update review window is ~24-48h.
Downloads
-
released this
2026-06-08 23:23:44 +00:00 | 30 commits to main since this release🎉 LIVE on the Chrome Web Store since 2026-06-09 — install at https://chromewebstore.google.com/detail/bmdmepddehnpbdffkblbjofgkllmpkgp
Web Store submission target. Mirrors rangerhq-radio v1.0.0 track-history pattern (
inc/history.php) byte-for-byte. Headline features:- New Tab Page override with player + clock + quick stations
- Track history (FIFO 500, dedup, skip
(unknown)) - 4-button per-track search (Spotify / YouTube / Apple Music / Bandcamp — public search URLs, no auth, no API keys)
- Options page with live stats, history-cap slider, clear-everything wipe
- Popup nav row (Open in tab / History / Settings)
- Cross-surface sync via
chrome.storage.onChanged - Storage gateway routing offscreen writes through the service worker
- Parallelised metadata polling for ~1-2s first-track display
Narrow permissions (
offscreen+storage+somafm.comonly) — notabs, no<all_urls>, nowebRequest, no third-party SDKs.Approved by Chrome Web Store ~15.5 hours after submission. Same day as RangerHQ Radio v1.0.0 stability milestone on wp.org.
Downloads