Compare commits
6 Commits
c3e3cc16fd
...
v0.5.2
| Author | SHA1 | Date | |
|---|---|---|---|
| 88f80a27c1 | |||
| 89c26a1ad5 | |||
| 2ed4bcffa9 | |||
| 04dc3b70ec | |||
| 6cddfccc3d | |||
| 609e0edf60 |
@@ -16,6 +16,74 @@ Format: [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/) — versi
|
||||
|
||||
---
|
||||
|
||||
## [0.5.2] — 2026-06-10 — Quick Stations fix: replace retired BAGeL with PopTron
|
||||
|
||||
Hotfix for v0.5.1's Quick Stations row. David flagged: *"the stations still look a bit off"* — turned out only 13 chips were rendering instead of the intended 14. Investigation showed **BAGeL Radio has been retired from SomaFM's current `channels.json` catalogue** — the render loop's "drop missing slugs silently" behaviour (working as designed) made the chip just disappear.
|
||||
|
||||
### Changed
|
||||
|
||||
- `src/newtab/newtab.js` `QUICK_IDS` array: `'bagel'` → `'poptron'`. PopTron (alternative / alt-rock) fills the same indie/alt-rock genre slot BAGeL covered, and is currently a live SomaFM channel.
|
||||
|
||||
### Result
|
||||
|
||||
14 chips visible again. Layout reads cleaner — 6+6+2 instead of 6+6+1 (ThistleRadio no longer alone on its own row).
|
||||
|
||||
### No other change
|
||||
|
||||
- No CSS, no permissions, no dependencies, no behaviour change
|
||||
- Single one-line edit in `QUICK_IDS`
|
||||
- Still held from Chrome Web Store upload until v0.5.0 clears re-review
|
||||
|
||||
### Lesson — SomaFM channel catalogue is mutable
|
||||
|
||||
Channels can be retired at any time. The render loop's "drop missing slugs silently" pattern protects against this, but the developer-side responsibility is to verify slugs against the live `channels.json` before adding to QUICK_IDS:
|
||||
|
||||
```bash
|
||||
curl -s https://somafm.com/channels.json | python3 -c "import json,sys; print([c['id'] for c in json.load(sys.stdin)['channels']])"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## [0.5.1] — 2026-06-10 — Quick Stations expansion (8 → 14)
|
||||
|
||||
Third update of the day. **Tagged on Gitea but held from Chrome Web Store upload until v0.5.0 clears re-review** — we want the v0.5.0 features (light mode + theme toggle + back-link + first-run UX hint) landing in users' browsers before this stations expansion piles on top.
|
||||
|
||||
### Added — 6 more channels in the NewTab Quick Stations chip row
|
||||
|
||||
Was reading sparse with only 8 chips. The row had space for more. Added six channels for broader genre coverage + two on-brand picks:
|
||||
|
||||
| Slug | Channel | Why |
|
||||
|---|---|---|
|
||||
| `defcon` | DEF CON Radio | Electronic / hacker culture — David's personal favourite, on-brand for a cybersecurity-adjacent extension |
|
||||
| `beatblender` | Beat Blender | Electronic / breakbeat — popular channel |
|
||||
| `bootliquor` | Boot Liquor | Americana / outlaw country — adds country/twang coverage |
|
||||
| `u80s` | Underground 80s | 80s indie / synthwave — adds decade coverage |
|
||||
| `bagel` | BAGeL Radio | Indie / alt-rock — guitar-driven indie |
|
||||
| `thistle` | ThistleRadio | Celtic / folk — 🇮🇪 Dublin-built nod |
|
||||
|
||||
Total chip count: 8 → 14. No new files, no new permissions, no new dependencies, no code change other than the `QUICK_IDS` array in `src/newtab/newtab.js`.
|
||||
|
||||
The render loop already drops any slug missing from SomaFM's `channels.json` catalogue, so if a channel is retired upstream the chip just disappears silently — no error, no broken state.
|
||||
|
||||
### Files touched
|
||||
|
||||
- `src/newtab/newtab.js` — `QUICK_IDS` array updated from 8 to 14 entries, with per-slug genre comments. +19 / -8 lines.
|
||||
|
||||
Total: 1 file, +19/-8 lines.
|
||||
|
||||
### Not changed
|
||||
|
||||
- No new permissions
|
||||
- No new dependencies
|
||||
- No CSS / HTML changes
|
||||
- No data migration
|
||||
|
||||
### Shipping note
|
||||
|
||||
`v0.5.1` is tagged on Gitea on 2026-06-10 but **deliberately held from the Chrome Web Store** until `v0.5.0` clears re-review (currently pending). David's reasoning: *"we will ship to web store after the last one gets accepted, that one is important so a user knows what to do"* — the v0.5.0 first-run hint + light mode features are higher-value for new users; this stations expansion is a smaller polish that should land after.
|
||||
|
||||
---
|
||||
|
||||
## [0.5.0] — 2026-06-10 — Light mode + theme toggle + Options back-link
|
||||
|
||||
Second post-launch update, ~36 hours after v0.4.0 cleared the Chrome Web Store. Three bundled improvements, all UX polish:
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"manifest_version": 3,
|
||||
"name": "RangerHQ Tuner",
|
||||
"version": "0.5.0",
|
||||
"version": "0.5.2",
|
||||
"description": "Lightweight SomaFM radio player. Logs what plays. One-click search to Spotify, YouTube, Apple Music, Bandcamp. No telemetry.",
|
||||
"author": "David Keane",
|
||||
"homepage_url": "https://davidtkeane.com/rangerhq-tuner",
|
||||
|
||||
+19
-8
@@ -57,15 +57,26 @@ const CATALOGUE_TTL_MS = 6 * 60 * 60 * 1000;
|
||||
|
||||
// Quick-pick stations. These are the SomaFM ids most people start with.
|
||||
// If the catalogue is missing any (rare), they're just dropped silently.
|
||||
//
|
||||
// Layout: 14 stations across roughly chill / ambient / indie / lounge /
|
||||
// space / electronic / americana / 80s / alt-rock / celtic — broader
|
||||
// genre coverage than the v0.4.0 list, plus DEF CON Radio (the on-brand
|
||||
// cybersecurity pick) and ThistleRadio (the Dublin-built Irish nod).
|
||||
const QUICK_IDS = [
|
||||
'groovesalad',
|
||||
'dronezone',
|
||||
'indiepop',
|
||||
'secretagent',
|
||||
'spacestation',
|
||||
'lush',
|
||||
'deepspaceone',
|
||||
'fluid',
|
||||
'groovesalad', // chill / electronic
|
||||
'dronezone', // ambient
|
||||
'indiepop', // indie pop rocks
|
||||
'secretagent', // lounge / spy
|
||||
'spacestation', // ambient / space
|
||||
'lush', // vocal / chill
|
||||
'deepspaceone', // ambient
|
||||
'fluid', // electronic
|
||||
'defcon', // electronic / hacker culture (DEF CON Radio)
|
||||
'beatblender', // electronic / breakbeat
|
||||
'bootliquor', // americana / outlaw country
|
||||
'u80s', // 80s indie / synthwave (Underground 80s)
|
||||
'poptron', // alternative / alt-rock (PopTron) — replaces BAGeL Radio (retired by SomaFM)
|
||||
'thistle', // celtic / folk (ThistleRadio)
|
||||
];
|
||||
|
||||
let stations = [];
|
||||
|
||||
Reference in New Issue
Block a user