All checks were successful
Docker / build-and-push (push) Successful in 1m18s
Based on bingo-bango by f8al (MIT) — same core card-generation idea
("both facets": a square is either an exact song title or an artist,
and an artist square lights up on any of their tracks), reworked with
a real host/guest split, live multiplayer sessions, and cover-art
squares. f8al credited in the footer, README, and PROPOSAL.md.
Three ways to play: host a live session (server-side Spotify
connection, join code + QR, caller screen, auto-call from real
playback), join someone else's session (no login needed), or solo
(guest PKCE login or a pasted public playlist URL, one-off card).
Genuinely verified against a real Spotify account throughout, not
just built and assumed working — including two real bugs found and
fixed along the way (Spotify's playlist-tracks endpoint quietly
renamed to /items with a reshaped response; reading playlist tracks
needs real user auth even for public playlists, so the "no guest
login" public-playlist path routes through the host's connection
instead of a dead-end app-only token). Both Docker images built and
run together on a real network with the nginx proxy verified working
end-to-end, and auto-call confirmed detecting an actual track playing
live through Spotify Connect within one poll tick.
16 lines
532 B
TypeScript
16 lines
532 B
TypeScript
import { defineConfig } from 'vite';
|
|
|
|
export default defineConfig({
|
|
server: {
|
|
// Explicit 127.0.0.1, not the default 'localhost' — Vite's default
|
|
// can resolve to IPv6 loopback only ([::1]) depending on the host's
|
|
// resolver order, which won't match Spotify's registered redirect
|
|
// URI (127.0.0.1 specifically — Spotify's HTTPS-required-for-
|
|
// non-loopback policy only exempts the literal IP, not 'localhost').
|
|
host: '127.0.0.1',
|
|
proxy: {
|
|
'/api': 'http://127.0.0.1:3010',
|
|
},
|
|
},
|
|
});
|