Remove unnecessary console logs

This commit removes various console.log statements that were used for debugging purposes. These logs clutter the output and provide no value in production. The changes affect multiple files including components and composables related to media control and rendering.
This commit is contained in:
2026-02-21 15:23:43 +01:00
parent fbe7291b43
commit 86df772354
7 changed files with 1 additions and 83 deletions

View File

@@ -100,14 +100,7 @@ function formatTime(ms: number | null | undefined): string {
} }
const currentTime = computed(() => formatTime(state.value?.position_ms)); const currentTime = computed(() => formatTime(state.value?.position_ms));
const totalTime = computed(() => { const totalTime = computed(() => formatTime(state.value?.duration_ms));
const duration = state.value?.duration_ms;
const transport = state.value?.transport_state;
console.log(
`[CurrentTrack] rendererId=${props.rendererId}, duration_ms=${duration}, transport=${transport}, title=${state.value?.current_track?.title}`,
);
return formatTime(duration);
});
const hasCover = computed( const hasCover = computed(
() => !!metadata.value?.album_art_uri && !imageError.value, () => !!metadata.value?.album_art_uri && !imageError.value,

View File

@@ -65,9 +65,6 @@ export function useCoverImage(
if (retryCount.value < maxRetries) { if (retryCount.value < maxRetries) {
retryCount.value++; retryCount.value++;
console.log(
`[useCoverImage] Retrying image load (${retryCount.value}/${maxRetries}): ${currentUrl.value}`,
);
setTimeout(() => { setTimeout(() => {
if (!currentUrl.value) return; if (!currentUrl.value) return;
@@ -77,7 +74,6 @@ export function useCoverImage(
currentUrl.value, currentUrl.value,
retryCount.value, retryCount.value,
); );
console.log(`[useCoverImage] Retry URL: ${cacheBustedUrl.value}`);
}, retryDelay * retryCount.value); // Exponential backoff }, retryDelay * retryCount.value); // Exponential backoff
} else { } else {
console.error( console.error(
@@ -89,9 +85,6 @@ export function useCoverImage(
// Handle successful image load // Handle successful image load
function handleImageLoad() { function handleImageLoad() {
console.log(
`[useCoverImage] Image loaded successfully: ${currentUrl.value}`,
);
imageLoaded.value = true; imageLoaded.value = true;
imageError.value = false; imageError.value = false;
retryCount.value = 0; retryCount.value = 0;
@@ -119,18 +112,11 @@ export function useCoverImage(
watch( watch(
imageUrl, imageUrl,
(newUri, oldUri) => { (newUri, oldUri) => {
console.log(
`[useCoverImage] URL changed from "${oldUri}" to "${newUri}"`,
);
imageError.value = false; imageError.value = false;
retryCount.value = 0; retryCount.value = 0;
// Si c'est un changement d'URL (pas l'initialisation) // Si c'est un changement d'URL (pas l'initialisation)
if (oldUri && newUri && oldUri !== newUri) { if (oldUri && newUri && oldUri !== newUri) {
console.log(
`[useCoverImage] Changing image, keeping old one visible during load`,
);
isLoadingNewImage.value = true; isLoadingNewImage.value = true;
// On garde imageLoaded à true pour garder l'ancienne image visible // On garde imageLoaded à true pour garder l'ancienne image visible
} else if (!newUri) { } else if (!newUri) {
@@ -148,9 +134,6 @@ export function useCoverImage(
if (newUri) { if (newUri) {
// Generate cache-busted URL // Generate cache-busted URL
cacheBustedUrl.value = getCacheBustedUrl(newUri, 0); cacheBustedUrl.value = getCacheBustedUrl(newUri, 0);
console.log(
`[useCoverImage] New cache-busted URL: ${cacheBustedUrl.value}`,
);
} else { } else {
cacheBustedUrl.value = null; cacheBustedUrl.value = null;
} }

View File

@@ -37,9 +37,6 @@ function ensureSSEConnected() {
switch (event.type) { switch (event.type) {
case 'online': case 'online':
// Nouveau serveur découvert
console.log(`[useMediaServers] Serveur ${serverId} (${event.friendly_name}) est maintenant en ligne`)
// Ajouter au cache avec les infos disponibles // Ajouter au cache avec les infos disponibles
const server: MediaServerSummary = { const server: MediaServerSummary = {
id: serverId, id: serverId,
@@ -55,9 +52,6 @@ function ensureSSEConnected() {
break break
case 'offline': case 'offline':
// Serveur déconnecté
console.log(`[useMediaServers] Serveur ${serverId} est maintenant hors ligne`)
// Marquer comme offline dans le cache // Marquer comme offline dans le cache
const existingServer = serversCache.value.get(serverId) const existingServer = serversCache.value.get(serverId)
if (existingServer) { if (existingServer) {
@@ -77,7 +71,6 @@ function ensureSSEConnected() {
case 'global_updated': case 'global_updated':
// Invalider tout le cache de ce serveur // Invalider tout le cache de ce serveur
console.log(`[useMediaServers] GlobalUpdated pour ${serverId}`)
const globalKeysToDelete: string[] = [] const globalKeysToDelete: string[] = []
browseCache.value.forEach((_, key) => { browseCache.value.forEach((_, key) => {
if (key.startsWith(serverId + '/')) { if (key.startsWith(serverId + '/')) {
@@ -89,7 +82,6 @@ function ensureSSEConnected() {
case 'containers_updated': case 'containers_updated':
// Invalider les containers spécifiques // Invalider les containers spécifiques
console.log(`[useMediaServers] ContainersUpdated pour ${serverId}:`, event.container_ids)
event.container_ids.forEach(containerId => { event.container_ids.forEach(containerId => {
const key = `${serverId}/${containerId}` const key = `${serverId}/${containerId}`
browseCache.value.delete(key) browseCache.value.delete(key)

View File

@@ -48,11 +48,6 @@ function ensureSSEConnected() {
// Gérer les événements Online/Offline différemment // Gérer les événements Online/Offline différemment
if (event.type === "online") { if (event.type === "online") {
// Nouveau renderer découvert
console.log(
`[useRenderers] Renderer ${rendererId} (${event.friendly_name}) est maintenant en ligne`,
);
// Ajouter au cache avec les infos disponibles // Ajouter au cache avec les infos disponibles
// Note: on n'a pas toutes les infos (capabilities, protocol) donc on fetch ensuite // Note: on n'a pas toutes les infos (capabilities, protocol) donc on fetch ensuite
const renderer: RendererSummary = { const renderer: RendererSummary = {
@@ -86,11 +81,6 @@ function ensureSSEConnected() {
} }
if (event.type === "offline") { if (event.type === "offline") {
// Renderer déconnecté
console.log(
`[useRenderers] Renderer ${rendererId} est maintenant hors ligne`,
);
// Marquer comme offline dans le cache // Marquer comme offline dans le cache
const renderer = renderersCache.value.get(rendererId); const renderer = renderersCache.value.get(rendererId);
if (renderer) { if (renderer) {
@@ -109,9 +99,6 @@ function ensureSSEConnected() {
snapshotState.lastEventAt.set(rendererId, timestamp); snapshotState.lastEventAt.set(rendererId, timestamp);
const snapshot = snapshotState.snapshots.get(rendererId); const snapshot = snapshotState.snapshots.get(rendererId);
console.log(
`[SSE Event] type=${event.type}, rendererId=${rendererId}, snapshot exists=${!!snapshot}, transport=${snapshot?.state?.transport_state}`,
);
// Si pas de snapshot, on doit fetch // Si pas de snapshot, on doit fetch
if (!snapshot) { if (!snapshot) {
@@ -126,11 +113,6 @@ function ensureSSEConnected() {
break; break;
case "position_changed": case "position_changed":
// Debug: log pour tracer les oscillations
console.log(
`[position_changed] renderer=${rendererId}, duration=${event.track_duration}`,
);
// Mettre à jour position et durée de manière atomique pour garantir la cohérence // Mettre à jour position et durée de manière atomique pour garantir la cohérence
// Le backend envoie TOUJOURS les deux valeurs (même si null) // Le backend envoie TOUJOURS les deux valeurs (même si null)
@@ -177,9 +159,6 @@ function ensureSSEConnected() {
...snapshot, ...snapshot,
state: newState, state: newState,
}; };
console.log(
`[position_changed] Setting new snapshot for ${rendererId}, state ref=${Object.prototype.toString.call(newState)}, transport=${newState.transport_state}`,
);
snapshotState.snapshots.set(rendererId, newSnapshot); snapshotState.snapshots.set(rendererId, newSnapshot);
break; break;

View File

@@ -106,7 +106,6 @@ class GaplessEngine {
private volume = 1.0; private volume = 1.0;
private muted = false; private muted = false;
private paused = false;
/** Durée de la piste courante (secondes), lue via loadedmetadata */ /** Durée de la piste courante (secondes), lue via loadedmetadata */
private _duration = 0; private _duration = 0;
@@ -144,10 +143,8 @@ class GaplessEngine {
/** Charge la piste courante (sans la jouer). */ /** Charge la piste courante (sans la jouer). */
setCurrent(uri: string): void { setCurrent(uri: string): void {
this.paused = false;
this.nextUri = null; this.nextUri = null;
this.onStateChange("TRANSITIONING"); this.onStateChange("TRANSITIONING");
console.debug(`[GaplessEngine] setCurrent: ${uri}`);
const el = this.slots[this.currentSlot]; const el = this.slots[this.currentSlot];
// Retirer l'écouteur "ended" de l'autre slot si présent // Retirer l'écouteur "ended" de l'autre slot si présent
@@ -163,7 +160,6 @@ class GaplessEngine {
// Récupérer la durée dès que les métadonnées sont disponibles // Récupérer la durée dès que les métadonnées sont disponibles
el.onloadedmetadata = () => { el.onloadedmetadata = () => {
this._duration = el.duration || 0; this._duration = el.duration || 0;
console.debug(`[GaplessEngine] loadedmetadata: duration=${this._duration.toFixed(2)}s`);
}; };
// Ne pas émettre STOPPED ici : l'état reste TRANSITIONING jusqu'au play() // Ne pas émettre STOPPED ici : l'état reste TRANSITIONING jusqu'au play()
} }
@@ -176,12 +172,10 @@ class GaplessEngine {
el.src = uri; el.src = uri;
el.preload = "auto"; el.preload = "auto";
el.load(); el.load();
console.debug(`[GaplessEngine] setNext: préchargement de ${uri} dans slot ${nextSlot}`);
} }
async play(): Promise<void> { async play(): Promise<void> {
const el = this.slots[this.currentSlot]; const el = this.slots[this.currentSlot];
console.debug(`[GaplessEngine] play(), slot=${this.currentSlot}, src=${el.src}, paused=${this.paused}`);
el.onended = () => this.onCurrentEnded(); el.onended = () => this.onCurrentEnded();
@@ -192,7 +186,6 @@ class GaplessEngine {
return; return;
} }
this.paused = false;
this.startPositionTimer(); this.startPositionTimer();
this.onStateChange("PLAYING"); this.onStateChange("PLAYING");
} }
@@ -200,7 +193,6 @@ class GaplessEngine {
pause(): void { pause(): void {
const el = this.slots[this.currentSlot]; const el = this.slots[this.currentSlot];
el.pause(); el.pause();
this.paused = true;
this.stopPositionTimer(); this.stopPositionTimer();
this.onStateChange("PAUSED"); this.onStateChange("PAUSED");
this.sendPosition(); this.sendPosition();
@@ -211,7 +203,6 @@ class GaplessEngine {
el.onended = null; el.onended = null;
el.pause(); el.pause();
el.currentTime = 0; el.currentTime = 0;
this.paused = false;
this.nextUri = null; this.nextUri = null;
this.stopPositionTimer(); this.stopPositionTimer();
this.onStateChange("STOPPED"); this.onStateChange("STOPPED");
@@ -240,7 +231,6 @@ class GaplessEngine {
} }
private onCurrentEnded(): void { private onCurrentEnded(): void {
console.debug("[GaplessEngine] onCurrentEnded");
const nextSlot = (1 - this.currentSlot) as 0 | 1; const nextSlot = (1 - this.currentSlot) as 0 | 1;
if (this.nextUri !== null) { if (this.nextUri !== null) {
@@ -343,7 +333,6 @@ export function useWebRenderer() {
async function execCommand(action: TransportAction, params?: CommandParams) { async function execCommand(action: TransportAction, params?: CommandParams) {
if (!engine) return; if (!engine) return;
console.debug(`[WebRenderer] Commande: ${action}`, params);
switch (action) { switch (action) {
case "set_uri": case "set_uri":
@@ -393,9 +382,6 @@ export function useWebRenderer() {
case "session_created": case "session_created":
rendererInfo.value = msg.renderer_info; rendererInfo.value = msg.renderer_info;
connected.value = true; connected.value = true;
console.info(
`[WebRenderer] Session créée — UDN: ${msg.renderer_info.udn}`,
);
onConnectedCallback?.(); onConnectedCallback?.();
break; break;
@@ -424,12 +410,9 @@ export function useWebRenderer() {
const protocol = location.protocol === "https:" ? "wss:" : "ws:"; const protocol = location.protocol === "https:" ? "wss:" : "ws:";
const url = `${protocol}//${location.host}/api/webrenderer/ws`; const url = `${protocol}//${location.host}/api/webrenderer/ws`;
console.info(`[WebRenderer] Connexion à : ${url}`);
ws = new WebSocket(url); ws = new WebSocket(url);
ws.onopen = () => { ws.onopen = () => {
console.info("[WebRenderer] WebSocket ouvert, envoi Init");
send({ send({
type: "init", type: "init",
capabilities: { capabilities: {
@@ -445,7 +428,6 @@ export function useWebRenderer() {
connected.value = false; connected.value = false;
rendererInfo.value = null; rendererInfo.value = null;
ws = null; ws = null;
console.info("[WebRenderer] Déconnecté");
}; };
ws.onerror = (err) => { ws.onerror = (err) => {

View File

@@ -34,12 +34,7 @@ const uiStore = useUIStore();
sse.onConnectionChange((connected) => { sse.onConnectionChange((connected) => {
uiStore.setSSEConnected(connected); uiStore.setSSEConnected(connected);
if (connected) {
console.log("[App] SSE connecté");
}
}); });
// Démarrer la connexion SSE // Démarrer la connexion SSE
sse.connect(); sse.connect();
console.log("[App] PMOControl initialisé");

View File

@@ -31,13 +31,10 @@ export class PMOControlSSE {
return return
} }
console.log('[SSE] Connexion à /api/control/events...')
try { try {
this.eventSource = new EventSource('/api/control/events') this.eventSource = new EventSource('/api/control/events')
this.eventSource.onopen = () => { this.eventSource.onopen = () => {
console.log('[SSE] Connexion établie')
this.reconnectAttempts = 0 this.reconnectAttempts = 0
this.isConnected = true this.isConnected = true
this.notifyConnectionCallbacks(true) this.notifyConnectionCallbacks(true)
@@ -75,7 +72,6 @@ export class PMOControlSSE {
} }
if (this.eventSource) { if (this.eventSource) {
console.log('[SSE] Déconnexion')
this.eventSource.close() this.eventSource.close()
this.eventSource = null this.eventSource = null
this.isConnected = false this.isConnected = false
@@ -99,8 +95,6 @@ export class PMOControlSSE {
this.maxReconnectDelay this.maxReconnectDelay
) )
console.log(`[SSE] Reconnexion dans ${delay / 1000}s (tentative ${this.reconnectAttempts})`)
this.reconnectTimer = window.setTimeout(() => { this.reconnectTimer = window.setTimeout(() => {
this.reconnectTimer = null this.reconnectTimer = null
this.connect() this.connect()