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:
@@ -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,
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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) => {
|
||||||
|
|||||||
@@ -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é");
|
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user