feat(config): yapılandırma bayrakları ve cpu profili ekle

DEBUG_CPU, DISABLE_MEDIA_PROCESSING ve AUTO_PAUSE_ON_COMPLETE
seçenekleriyle CPU profili, medya işlem kontrolü ve otomatik
duraklatma özellikleri ekle. WebSocket temizleme işlemini
Sidebar bileşeninde refactor et.
This commit is contained in:
2026-01-10 13:30:07 +03:00
parent 3bda1ed287
commit cb9856cf8c
2 changed files with 117 additions and 59 deletions

View File

@@ -22,6 +22,7 @@ let hasMusic = false;
// Store subscription'ı temizlemek için
let unsubscribeDiskSpace;
let diskSpaceWs;
// Store'u değişkene bağla
unsubscribeDiskSpace = diskSpaceStore.subscribe(value => {
@@ -59,6 +60,9 @@ const unsubscribeMusic = musicCount.subscribe((count) => {
if (unsubscribeDiskSpace) {
unsubscribeDiskSpace();
}
if (diskSpaceWs && (diskSpaceWs.readyState === WebSocket.OPEN || diskSpaceWs.readyState === WebSocket.CONNECTING)) {
diskSpaceWs.close();
}
});
// Menü öğesine tıklanınca sidebar'ı kapat
@@ -96,10 +100,9 @@ const unsubscribeMusic = musicCount.subscribe((count) => {
const wsUrl = `${wsProtocol}//${wsHost}`;
console.log('🔌 Connecting to WebSocket at:', wsUrl);
// WebSocket bağlantısını global olarak saklayalım
window.diskSpaceWs = new WebSocket(wsUrl);
diskSpaceWs = new WebSocket(wsUrl);
window.diskSpaceWs.onmessage = (event) => {
diskSpaceWs.onmessage = (event) => {
try {
const data = JSON.parse(event.data);
console.log('WebSocket message received:', data);
@@ -112,23 +115,17 @@ const unsubscribeMusic = musicCount.subscribe((count) => {
}
};
window.diskSpaceWs.onopen = () => {
diskSpaceWs.onopen = () => {
console.log('WebSocket connected for disk space updates');
};
window.diskSpaceWs.onerror = (error) => {
diskSpaceWs.onerror = (error) => {
console.error('WebSocket error:', error);
};
window.diskSpaceWs.onclose = () => {
diskSpaceWs.onclose = () => {
console.log('WebSocket disconnected');
};
onDestroy(() => {
if (window.diskSpaceWs && (window.diskSpaceWs.readyState === WebSocket.OPEN || window.diskSpaceWs.readyState === WebSocket.CONNECTING)) {
window.diskSpaceWs.close();
}
});
});
</script>