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
/
api
/
src
/
lib
/
at
main
3 files
Tsiry Sandratraina
test: cover playlist unwrapping and stream resolution
1d ago
184aa3b0
playlist.test.ts
test: cover playlist unwrapping and stream resolution - api: extract playlist helpers (isUnwrappablePlaylist / isPlaylistUrl / parseFirstStreamUrl) from the proxy into a testable lib and add vitest + unit tests, incl. the reported avbhost .pls case and the HLS exclusion - web: add resolve.ts tests (proxiedStreamUrl proxies playlists/mixed content, resolveStream doesn't fetch plain .pls, unwraps TuneIn, detects HLS, falls back on error) - web: fix search.test.ts mocks to handle the /json/servers mirror discovery introduced by the failover change
1 day ago
playlist.ts
test: cover playlist unwrapping and stream resolution - api: extract playlist helpers (isUnwrappablePlaylist / isPlaylistUrl / parseFirstStreamUrl) from the proxy into a testable lib and add vitest + unit tests, incl. the reported avbhost .pls case and the HLS exclusion - web: add resolve.ts tests (proxiedStreamUrl proxies playlists/mixed content, resolveStream doesn't fetch plain .pls, unwraps TuneIn, detects HLS, falls back on error) - web: fix search.test.ts mocks to handle the /json/servers mirror discovery introduced by the failover change
1 day ago
profile.ts
fix(api): stop blanking indexed actor handles to null ensureUser overwrote cached handle/displayName/avatar with null whenever a bsky getProfile lookup failed. Since enrichedDids resets on restart, a restart during a rate-limit window re-resolved every actor at once, and the null results clobbered good handles — every recently-played actor collapsed to "someone" linking to a raw DID. - never overwrite a good handle with null: on a failed lookup just ensure a bare row exists (onConflictDoNothing) and leave the DID un-enriched so it retries later - treat the users table as a read-through cache: skip the bsky call when a handle refreshed within a 24h TTL is already cached, avoiding the rate-limit bursts that caused the clobbering - add getProfiles() batch lookup + a startup backfillMissingHandles() that re-resolves and heals rows already blanked to null
1 day ago