alpha
Login
or
Join now
atradio.fm
/
atradio
Star
7
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
A social internet radio platform built on AT Protocol.
atradio.fm
atproto
radio
Star
7
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
atradio
/
apps
/
web
/
src
/
lib
/
audio
/
at
main
6 files
Tsiry Sandratraina
fix(web): stop honoring the legacy VITE_TUNEIN_PROXY / VITE_ICY_PROXY
6d ago
443cd8fb
icyMetadata.ts
fix(web): stop honoring the legacy VITE_TUNEIN_PROXY / VITE_ICY_PROXY These overrides took precedence over VITE_MEDIA_PROXY, so a deployed build still carrying VITE_TUNEIN_PROXY=https://api.atradio.fm/api/tunein baked that (now deleted) endpoint into every TuneIn station's streamUrl — playback then hit "Cannot GET /api/tunein/Tune.ashx". Route /api/tunein + /api/icy through mediaProxyPath() unconditionally so VITE_MEDIA_PROXY is the single source of truth. Requires a web rebuild to take effect (Vite bakes env at build time).
6 days ago
probeStream.ts
Initial Commit
1 week ago
resolve.test.ts
feat(web): route media-proxy calls through VITE_MEDIA_PROXY Introduce a MEDIA_PROXY seam (VITE_MEDIA_PROXY, defaults to APPVIEW_URL) plus a mediaProxyPath() helper. /api/stream + /api/image now use MEDIA_PROXY; /api/tunein + /api/icy stay same-origin (dev Vite middleware) until VITE_MEDIA_PROXY is set, then all four flip to the dedicated apps/media-proxy service with no code change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6 days ago
resolve.ts
feat(web): route media-proxy calls through VITE_MEDIA_PROXY Introduce a MEDIA_PROXY seam (VITE_MEDIA_PROXY, defaults to APPVIEW_URL) plus a mediaProxyPath() helper. /api/stream + /api/image now use MEDIA_PROXY; /api/tunein + /api/icy stay same-origin (dev Vite middleware) until VITE_MEDIA_PROXY is set, then all four flip to the dedicated apps/media-proxy service with no code change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6 days ago
rockbox.ts
feat(web): Rockbox wasm player with EQ + DSP audio settings Replace the <audio>-only player with the rockbox-wasm engine for direct streams (HLS stays on hls.js, with automatic native fallback when a stream host blocks CORS). Adds an equalizer button in the miniplayer opening an advanced audio settings modal: 10-band EQ, tone, crossfeed, PBE, Haas surround, compressor, and stereo controls — all persisted via jotai atomWithStorage and re-applied on engine boot. rockbox-wasm is excluded from Vite dep optimization: prebundling rewrites its dynamic asset URLs into a glob over .vite/deps, importing every dep's sourcemap as a module and blanking the app in dev. The runtime (core/worker/worklet) is mirrored into public/rockbox (gitignored) and served at /rockbox/*.
1 week ago
silence.ts
feat(player): wire up browser Media Session Expose OS/lock-screen media controls and metadata mirroring the miniplayer: - MediaMetadata with the current track (falling back to station name), station as artist, and the station favicon as artwork; updates on station/track change - playbackState kept in sync with play/pause - transport action handlers (play/pause/stop) routed through the existing isPlaying/stop flow; seek/track actions disabled for live radio - the Rockbox engine plays through a raw AudioContext, which browsers won't surface Media Session for, so anchor it with a hidden silent looping <audio> element while the engine owns playback (the native path already exposes a media element)
1 week ago