fix: eliminate voice ducking caused by rogue LiveKit audio elements

Add MutationObserver to neutralize LiveKit's re-attached <audio> elements,
mark our keep-alive elements with data-opencord, detach tracks on unsubscribe,
remove dangerous blanket .play(), and soften compressor to transparent limiter.
This commit is contained in:
Jannis Braun
2026-02-20 07:03:41 +01:00
parent 6f777f97ce
commit 5c38f076d3
22 changed files with 511 additions and 254 deletions
+6 -6
View File
@@ -43,7 +43,7 @@ interface UIState {
setPipCollapsed: (collapsed: boolean) => void;
}
export const useUIStore = create<UIState>((set) => ({
export const useUIStore = create<UIState>((set, get) => ({
sidebarOpen: true,
memberListOpen: true,
activeModal: null,
@@ -62,11 +62,11 @@ export const useUIStore = create<UIState>((set) => ({
openModal: (modal, data = {}) => set({ activeModal: modal, modalData: data }),
closeModal: () => set({ activeModal: null, modalData: {} }),
setIsMobile: (isMobile) => set({
isMobile,
sidebarOpen: !isMobile,
memberListOpen: !isMobile,
}),
setIsMobile: (isMobile) => {
const prev = get().isMobile;
if (prev === isMobile) return;
set({ isMobile, sidebarOpen: !isMobile, memberListOpen: !isMobile });
},
setShowDms: (show) => set({ showDms: show }),