7bbda0a1e87fe075b0de1e167e4db4b6a8d630a4
- Core config: cfg_mark_secret(group, key). GET /api/config returns ""
for secret keys; a POST with "" keeps the stored value, null clears it;
cfg_get() returns the real value. Documented in aes67-core-base.md.
- source.spotify_client_id / spotify_client_secret (secret write-only):
each user's own Spotify developer app, needed by the maintained cspot
fork (philippe44/cspot) since Spotify's 2025 API restrictions.
- UI: client ID field, password field for the secret ("leave empty to
keep"), link to developer.spotify.com; enabled for spotify/auto modes.
- status.spotify_state: "no client credentials" while either is missing.
- Verified: secret never appears in GET; UI-style re-save keeps it;
survives reboot; null clears it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aes67-ESP32-P4
AES67 sender for the Waveshare ESP32-P4-ETH (PoE): Spotify Connect and HLS/m3u8 streams out as an AES67 multicast stream, PTP-locked, with a simple web UI for settings and SDP export.
docs/aes67-core-base.md— reusable AES67 core design (PTP, RTP, SDP/SAP, VLAN, syslog, web UI contract)docs/hardware-and-design-notes.md— board details and project-specific designweb/index.html— web UI (served by the device)CLAUDE.md— working rules and build order
Status: design complete, firmware not started. See the build order in CLAUDE.md.
Languages
C
74.9%
HTML
11.9%
C++
7.7%
Python
3.3%
CMake
2.2%