From 134d9a188ffa1a15967c40b6393d5a23d1d2cf94 Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Thu, 6 Aug 2026 18:17:54 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(frontend)=20gate=20blur=20on=20Web?= =?UTF-8?q?GL2=20transformer=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `ProcessorWrapper.isSupported` reports pipeline support but not whether the WebGL2 transformer is available. On browsers where it is not (e.g. Chrome/Edge on Windows with WebGL2 disabled by a GPU blocklist), toggling blur throws at runtime. Update `supportsBackgroundProcessors()` to check both, so the UI only exposes blur when it can actually run. fix 019f8e3b-f035-73e2-9d6a-d0dd2d0a1163 --- .../features/rooms/livekit/components/blur/index.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/frontend/src/features/rooms/livekit/components/blur/index.ts b/src/frontend/src/features/rooms/livekit/components/blur/index.ts index 6d025915..385b1a5c 100644 --- a/src/frontend/src/features/rooms/livekit/components/blur/index.ts +++ b/src/frontend/src/features/rooms/livekit/components/blur/index.ts @@ -1,4 +1,7 @@ -import { ProcessorWrapper } from '@livekit/track-processors' +import { + ProcessorWrapper, + supportsBackgroundProcessors, +} from '@livekit/track-processors' import type { Track, TrackProcessor } from 'livekit-client' import { BackgroundCustomProcessor } from './BackgroundCustomProcessor' import { UnifiedBackgroundTrackProcessor } from './UnifiedBackgroundTrackProcessor' @@ -34,7 +37,9 @@ export class BackgroundProcessorFactory { } static isSupported() { - return ProcessorWrapper.isSupported || BackgroundCustomProcessor.isSupported + return ( + supportsBackgroundProcessors() || BackgroundCustomProcessor.isSupported + ) } static getProcessor( @@ -45,7 +50,7 @@ export class BackgroundProcessorFactory { if (!isBlur && !isVirtual) return undefined - if (ProcessorWrapper.isSupported) { + if (supportsBackgroundProcessors()) { return new UnifiedBackgroundTrackProcessor(config) }