Changeset 0beafed in Klonkt


Ignore:
Timestamp:
06/19/2026 07:09:11 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
6b8afb1
Parents:
84325b8
Message:

fix: site-wide audio player never received tracks (loadAudioTracks selected m.url, which doesn't exist)

The media table has no url column (verified on demo + sound-fabrics with 91 tracks),
so the query "SELECT m.url AS media_url" always failed silently -> res.locals.audioTracks=[]
-> PCMS_SITE_TRACKS empty -> the persistent site player was blank everywhere. Now
selecting m.filename and building the stream URL via audioUrl(filename), as admin-audio
does. Also fixes the source for the embeddable player (#7).

Co-Authored-By: Claude <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/middleware/site.js

    r84325b8 r0beafed  
    1111import db from '../config/database.js';
    1212import { getTenancy } from '../services/SettingsService.js';
     13import { audioUrl } from '../services/AudioStreamService.js';
    1314
    1415/**
     
    7677
    7778  try {
    78     res.locals.audioTracks = db.prepare(`
    79       SELECT t.id, t.title, t.artist, t.duration, t.position,
    80              m.url AS media_url
     79    // m.filename = de kale bestandsnaam; de speelbare URL is de gated stream-route
     80    // (audioUrl). De media-tabel heeft GEEN url-kolom — de oude query selecteerde
     81    // m.url en faalde dus altijd stil (lege speler). Nu bouwen we de URL uit filename.
     82    const rows = db.prepare(`
     83      SELECT t.id, t.title, t.artist, t.duration, t.position, m.filename
    8184      FROM audio_tracks t
    8285      LEFT JOIN media m ON m.id = t.media_id
     
    8487      ORDER BY t.position ASC, t.created_at ASC
    8588    `).all(site.id);
     89    res.locals.audioTracks = rows.map((r) => ({
     90      id: r.id, title: r.title, artist: r.artist, duration: r.duration, position: r.position,
     91      media_url: r.filename ? audioUrl(r.filename) : null,
     92    }));
    8693  } catch (e) {
    8794    // media table might not be queryable in some test setups — fall back gracefully
Note: See TracChangeset for help on using the changeset viewer.