From 88e0a0bbfae1ea20595f9ea4cc44ae1e4b8eb1e6 Mon Sep 17 00:00:00 2001 From: pavel Date: Fri, 27 Feb 2026 01:01:53 +0100 Subject: [PATCH] fix --- desktop/app.js | 11 +++++++++-- package.json | 4 ++-- static/app.js | 9 +++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/desktop/app.js b/desktop/app.js index 8f5a122..bff5420 100644 --- a/desktop/app.js +++ b/desktop/app.js @@ -455,16 +455,23 @@ function renderChannels() { slider.addEventListener('click', (e) => e.stopPropagation()); } - // Show slider on right click - pRow.addEventListener('contextmenu', (e) => { + const toggleVolumeSlider = (e) => { if (p.user_id === state.me.id) return; e.preventDefault(); + e.stopPropagation(); if (state.voice.visibleVolumeSliders.has(p.user_id)) { state.voice.visibleVolumeSliders.delete(p.user_id); } else { state.voice.visibleVolumeSliders.add(p.user_id); } renderChannels(); + }; + + // Electron can swallow contextmenu events on some platforms; use + // right-button mousedown as a reliable fallback for slider toggle. + pRow.addEventListener('contextmenu', toggleVolumeSlider); + pRow.addEventListener('mousedown', (e) => { + if (e.button === 2) toggleVolumeSlider(e); }); pList.appendChild(pRow); diff --git a/package.json b/package.json index cbc3726..4f274d3 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "productName": "Chattz", "linux": { "target": [ - "rpm" + "AppImage" ], "category": "Chat", "icon": "build/icon.png" @@ -56,4 +56,4 @@ "dependencies": { "electron-updater": "^6.8.3" } -} +} \ No newline at end of file diff --git a/static/app.js b/static/app.js index 89614a0..d6b264f 100644 --- a/static/app.js +++ b/static/app.js @@ -407,16 +407,21 @@ function renderChannels() { slider.addEventListener('click', (e) => e.stopPropagation()); } - // Show slider on right click - pRow.addEventListener('contextmenu', (e) => { + const toggleVolumeSlider = (e) => { if (p.user_id === state.me.id) return; e.preventDefault(); + e.stopPropagation(); if (state.voice.visibleVolumeSliders.has(p.user_id)) { state.voice.visibleVolumeSliders.delete(p.user_id); } else { state.voice.visibleVolumeSliders.add(p.user_id); } renderChannels(); + }; + + pRow.addEventListener('contextmenu', toggleVolumeSlider); + pRow.addEventListener('mousedown', (e) => { + if (e.button === 2) toggleVolumeSlider(e); }); pList.appendChild(pRow);