Summary
The /satellite/:name route normalises the slug to UPPERCASE before
the API lookup, but the backend stores satellite names case-sensitively
(e.g. Norbi, Norby-2, TriSat-1). For any sat whose name is not
already all-uppercase, the page renders blank.
Reproduction
- Open https://tinygs.com/satellite/Norbi in Chrome (Webapp v20260327).
- URL is rewritten to https://tinygs.com/satellite/NORBI.
- DevTools → Network shows
GET https://api.tinygs.com/v3/satellite/NORBI → 404.
- Page stays blank (only the SPA shell renders).
Counter-example that works:
Impact
Out of 108 sats currently returned by /v1/satellitesWorldmap:
- 31 are ALL_UPPER (e.g.
CSTP-2.1, RS52SD, KOSAR 1.5 433, FEES) — work
- 76 are Mixed_Case (e.g.
Norbi, Norby-2, Polytech_Universe-3,
TriSat-1, Grifon-1, Mule 4T, FossaSat-FM1) — broken
- 1 is lowercase (
unknown) — broken
So roughly 71% of supported sats are unreachable via direct URL.
Code pointer
In the lazy-loaded Satellite chunk (currently
/assets/Satellite-D_NN1p8y.js), the route param is taken verbatim
and concatenated into the API path:
const F = h().params.name;
const t = `/v3/satellite/${a}`;
await se.get(t, { headers: { sessionToken, userId } });
The uppercase rewrite happens elsewhere in the routing/redirect layer
(haven't pinpointed it from the minified bundle). Either the rewrite
should be removed, or the backend lookup should be case-insensitive.
Workaround for users
Use the search box on https://tinygs.com/ and click the satellite from
the dropdown — that handler passes the exact name from the list and
bypasses the URL rewrite.
Summary
The
/satellite/:nameroute normalises the slug to UPPERCASE beforethe API lookup, but the backend stores satellite names case-sensitively
(e.g.
Norbi,Norby-2,TriSat-1). For any sat whose name is notalready all-uppercase, the page renders blank.
Reproduction
GET https://api.tinygs.com/v3/satellite/NORBI→ 404.Counter-example that works:
Impact
Out of 108 sats currently returned by
/v1/satellitesWorldmap:CSTP-2.1,RS52SD,KOSAR 1.5 433,FEES) — workNorbi,Norby-2,Polytech_Universe-3,TriSat-1,Grifon-1,Mule 4T,FossaSat-FM1) — brokenunknown) — brokenSo roughly 71% of supported sats are unreachable via direct URL.
Code pointer
In the lazy-loaded Satellite chunk (currently
/assets/Satellite-D_NN1p8y.js), the route param is taken verbatimand concatenated into the API path:
The uppercase rewrite happens elsewhere in the routing/redirect layer
(haven't pinpointed it from the minified bundle). Either the rewrite
should be removed, or the backend lookup should be case-insensitive.
Workaround for users
Use the search box on https://tinygs.com/ and click the satellite from
the dropdown — that handler passes the exact name from the list and
bypasses the URL rewrite.