From 724287dc13d64da53091335f59711f82c7195c4e Mon Sep 17 00:00:00 2001 From: Louis Mazin Date: Thu, 16 Apr 2026 17:56:15 +0200 Subject: [PATCH] test --- src/pterodactyl/displayer.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/pterodactyl/displayer.js b/src/pterodactyl/displayer.js index 8b91eb8..8fd9b99 100644 --- a/src/pterodactyl/displayer.js +++ b/src/pterodactyl/displayer.js @@ -10,8 +10,8 @@ const PINBOARD_SPACER_LEFT_CUSTOM_ID = 'pinboard-image-spacer-left'; const PINBOARD_SPACER_RIGHT_CUSTOM_ID = 'pinboard-image-spacer-right'; const selectedImageIndexByMessage = new Map(); const preloadedImagesByUrl = new Map(); -const warmedMessageIds = new Set(); const warmingMessageIds = new Set(); +const warmupRefreshKeyByMessage = new Map(); let lastKnownStatus = null; let imageRefreshKey = Date.now(); @@ -179,7 +179,7 @@ const waitMs = async (delayMs) => new Promise(resolve => { setTimeout(resolve, delayMs); }); -const visualWarmupEnabled = () => process.env.PINBOARD_VISUAL_WARMUP_ENABLED === 'true'; +const visualWarmupEnabled = () => process.env.PINBOARD_VISUAL_WARMUP_ENABLED !== 'false'; const getVisualWarmupDelayMs = () => { const raw = Number.parseInt(process.env.PINBOARD_VISUAL_WARMUP_DELAY_MS || '350', 10); @@ -189,11 +189,12 @@ const getVisualWarmupDelayMs = () => { return raw; }; -const runVisualWarmup = async (message, status, pinboardItems, initialIndex) => { +const runVisualWarmup = async (message, status, pinboardItems, initialIndex, refreshKey) => { if (!visualWarmupEnabled()) return; if (!message || !message.id) return; if (pinboardItems.length <= 1) return; - if (warmedMessageIds.has(message.id) || warmingMessageIds.has(message.id)) return; + if (warmingMessageIds.has(message.id)) return; + if (warmupRefreshKeyByMessage.get(message.id) === refreshKey) return; warmingMessageIds.add(message.id); @@ -206,7 +207,7 @@ const runVisualWarmup = async (message, status, pinboardItems, initialIndex) => useAttachmentForSelected: false, disableCacheBustForSelected: true, includeFiles: false, - refreshKey: imageRefreshKey + refreshKey }); await message.edit(payload); await waitMs(delayMs); @@ -217,11 +218,11 @@ const runVisualWarmup = async (message, status, pinboardItems, initialIndex) => useAttachmentForSelected: false, disableCacheBustForSelected: true, includeFiles: false, - refreshKey: imageRefreshKey + refreshKey }); await message.edit(restoredPayload); - warmedMessageIds.add(message.id); + warmupRefreshKeyByMessage.set(message.id, refreshKey); console.log(`🔥 Warm-up visuel termine pour message ${message.id}`); } catch (error) { console.log(`⚠️ Warm-up visuel annule (${message.id}): ${error.message}`); @@ -415,7 +416,7 @@ const update = async (client) => { await message.edit(payload); const initialIndex = clampIndex(selectedImageIndexByMessage.get(message.id) ?? 0, pinboardItems.length); - runVisualWarmup(message, status, pinboardItems, initialIndex) + runVisualWarmup(message, status, pinboardItems, initialIndex, imageRefreshKey) .catch(error => console.log(`⚠️ Warm-up visuel en erreur: ${error.message}`)); console.log(`📊 Panneau Minecraft mis a jour (${status.playersOnline}/${status.playersMax})`);