/* eslint-disable */ // @ts-nocheck // [TSM.ID].[11031972] — All Rights Reserved. Proprietary & Confidential. "use client"; import { useEffect, useState, useRef, useCallback } from "react"; import { XCUQuantumMatrix } from "../lib/xcu-quantum-decoder"; import { JumlahChat } from "./JumlahChat"; import { NeuralAttentionEngine } from "./NeuralAttentionEngine"; import { QuantumAdapter } from "../lib/quantum-adapter"; export function XCURoom({ roomName, token, serverUrl, isVoiceCall = false, initialCameraOn = false, initialMicOn = false, isAudience = false, username: propUsername = '', adapter = QuantumAdapter.getInstance() }: any) { // BUG FIX #1: FPS selector state const [currentFps, setCurrentFps] = useState<15 | 30 | 60>(30); const [logs, setLogs] = useState([]); const [isMatrixActive, setIsMatrixActive] = useState(false); const [isChatOpen, setIsChatOpen] = useState(false); const [isParticipantsOpen, setIsParticipantsOpen] = useState(false); const [isCameraOn, setIsCameraOn] = useState(initialCameraOn); const [cameraFacingMode, setCameraFacingMode] = useState<"user" | "environment">("user"); const [useVirtualBg, setUseVirtualBg] = useState(0); const [useBeautyFilter, setUseBeautyFilter] = useState(false); const [isMicOn, setIsMicOn] = useState(initialMicOn); const [isScreenSharing, setIsScreenSharing] = useState(false); const [isMoreMenuOpen, setIsMoreMenuOpen] = useState(false); const [layoutMode, setLayoutMode] = useState<'speaker' | 'gallery'>('gallery'); const [isPodcast, setIsPodcast] = useState(false); const [participants, setParticipants] = useState([]); const [participantNames, setParticipantNames] = useState>({}); const [localStream, setLocalStream] = useState(null); const [activeSpeakerId, setActiveSpeakerId] = useState(null); const [audioLevel, setAudioLevel] = useState(0); const [participantId, setParticipantId] = useState(0); const [isTransportReady, setIsTransportReady] = useState(false); const [webTransport, setWebTransport] = useState<{ datagrams: { readable: ReadableStream, writable: WritableStream } } | null>(null); const [isShadowNode, setIsShadowNode] = useState(false); const [username, setUsername] = useState(propUsername || ""); const [isRenamingLocal, setIsRenamingLocal] = useState(false); const [renameInput, setRenameInput] = useState(""); const omniChannelRef = useRef(null); // FASE 84 & 86: Zero UI Cinematic Mode & Attention Engine const [isIdle, setIsIdle] = useState(false); const [isAttentive, setIsAttentive] = useState(false); const [meetingTime, setMeetingTime] = useState(0); const idleTimerRef = useRef(null); // FASE 86: Parallax and Audio Refs const audioRef = useRef(0); const [mousePos, setMousePos] = useState({ x: 0, y: 0 }); const [status, setStatus] = useState("Inisialisasi XCom WebTransport..."); const [unlockedModules, setUnlockedModules] = useState([]); const [bgUrl, setBgUrl] = useState(null); const [e2eeKeyStr, setE2eeKeyStr] = useState(null); const [videoEngineMode, setVideoEngineMode] = useState<'auto'|'canvas'|'webcodecs'>('auto'); const [isMatrixCommandOpen, setIsMatrixCommandOpen] = useState(false); const [matrixCommandTab, setMatrixCommandTab] = useState<'network'|'quantum'>('network'); const [wasmCapabilities, setWasmCapabilities] = useState({ postQuantum: false, aegis: false, doppler: false, neuralWhisper: false }); const [globalTimer, setGlobalTimer] = useState(null); const [activeWasmModules, setActiveWasmModules] = useState<{kyber: boolean, aegis: boolean, whisper: boolean, doppler: boolean}>({kyber: false, aegis: false, whisper: false, doppler: false}); // PKEPX Zoom-Killer States const [isBreakoutOpen, setIsBreakoutOpen] = useState(false); const [activeReactions, setActiveReactions] = useState<{id: number, type: string, ts: number}[]>([]); const [isRecording, setIsRecording] = useState(false); const [isHost, setIsHost] = useState(false); // Host is the first one or designated const [isLeaving, setIsLeaving] = useState(false); // Confirmation for leaving // Helper: format bytes/sec to human readable const formatRate = (bps: number) => { if (bps === 0) return '0 B/s'; if (bps < 1024) return bps + ' B/s'; if (bps < 1048576) return (bps / 1024).toFixed(1) + ' KB/s'; return (bps / 1048576).toFixed(2) + ' MB/s'; }; const formatBytes = (b: number) => { if (b < 1024) return b + ' B'; if (b < 1048576) return (b / 1024).toFixed(1) + ' KB'; return (b / 1048576).toFixed(1) + ' MB'; }; const [trafficStats, setTrafficStats] = useState({ tx: { video: 0, audio: 0, control: 0, total: 0 }, rx: { video: 0, audio: 0, control: 0, total: 0 }, rates: { txVideo: 0, txAudio: 0, txTotal: 0, rxVideo: 0, rxAudio: 0, rxTotal: 0 }, wsState: 'CLOSED', }); const [audioEngineMode, setAudioEngineMode] = useState<'auto'|'pcm'|'xcu-neural'>('auto'); const [autoPilotMetrics, setAutoPilotMetrics] = useState({ vCodec: 'STANDBY', aCodec: 'STANDBY', bw: 0 }); const [uiMatrix, setUiMatrix] = useState(null); const matrixRef = useRef(null); const tokenRef = useRef(""); const [quantumUpgradeAlert, setQuantumUpgradeAlert] = useState(null); const localVideoRef = useRef(null); useEffect(() => { const timer = setInterval(() => setMeetingTime(t => t + 1), 1000); return () => clearInterval(timer); }, []); const fetchQuantumTokenLive = useCallback(async () => { try { const res = await fetch(`/api/auth/quantum_token?_cb=${Date.now()}&_live=1`, { credentials: 'include' }); if (res.ok) { const data = await res.json(); setUiMatrix(data.capabilities?.ui || null); // DYNAMIC DB CONFIG FOR WASM SDK (Mocking if missing) setWasmCapabilities(data.capabilities?.wasm || { postQuantum: true, // Supreme Admin gets true by default aegis: true, doppler: true, neuralWhisper: true }); console.log("[Quantum Sovereignty] UI Matrix live updated:", data.capabilities?.ui); } } catch(e) {} }, []); const formatTime = (s: number) => { const min = Math.floor(s / 60); const sec = s % 60; return `${min}:${sec < 10 ? '0' : ''}${sec}`; }; const resetIdleTimer = useCallback((e?: MouseEvent) => { setIsIdle(false); if (e) { setMousePos({ x: (e.clientX / window.innerWidth) * 2 - 1, y: (e.clientY / window.innerHeight) * 2 - 1 }); } if (idleTimerRef.current) clearTimeout(idleTimerRef.current); idleTimerRef.current = setTimeout(() => setIsIdle(isAttentive), 8000); }, [isAttentive]); useEffect(() => { window.addEventListener('mousemove', resetIdleTimer); const handleUserInteraction = async () => { await adapter.warmUpAudio(); if (matrixRef.current) matrixRef.current.resumeAudioContext(); }; window.addEventListener('click', handleUserInteraction); window.addEventListener('touchstart', handleUserInteraction); // Set codec strategy based on browser const strategy = adapter.getCodecStrategy(); console.log(`[QuantumAdapter] Selected Codec Strategy: ${strategy} for ${JSON.stringify(adapter.capabilities)}`); const handleMessage = (e: MessageEvent) => { if (e.data?.type === 'SYNC_SETTINGS_TO_VC') { const payload = e.data.payload || {}; if (payload.videoBg === 'custom' && payload.customBgUrl) setBgUrl(payload.customBgUrl); else setBgUrl(null); } else if (e.data?.type === 'SET_E2EE_KEY') { const key = e.data.payload; setE2eeKeyStr(key); if (matrixRef.current) matrixRef.current.setE2EEKey(key); window.parent.postMessage({ type: 'SUPREME_EYE_TELEMETRY', payload: { e2eeActive: key !== 'NO_KEY' && key !== 'none' } }, '*'); } else if (e.data?.type === 'SET_CUSTOM_BG') setBgUrl(e.data.payload); }; window.addEventListener('message', handleMessage); const bc = new BroadcastChannel('omni_channel'); bc.addEventListener('message', (e) => { if (e.data?.type === 'REFRESH_QUANTUM_TOKEN') { console.log("Omni-Channel LIVE: Resyncing Quantum Token..."); fetchQuantumTokenLive(); } }); omniChannelRef.current = bc; setTimeout(() => resetIdleTimer(), 0); return () => { window.removeEventListener('mousemove', resetIdleTimer); window.removeEventListener('click', handleUserInteraction); window.removeEventListener('touchstart', handleUserInteraction); window.removeEventListener('message', handleMessage); bc.close(); if (idleTimerRef.current) clearTimeout(idleTimerRef.current); }; }, [resetIdleTimer, adapter]); useEffect(() => { audioRef.current = audioLevel / 100; }, [audioLevel]); const addLog = useCallback((msg: string) => { setLogs(prev => [...prev, msg]); }, []); const handleToggleCamera = useCallback(async () => { if (!matrixRef.current) return; if (!isCameraOn) { setIsCameraOn(true); setIsScreenSharing(false); await matrixRef.current.activateUplink('camera', cameraFacingMode); // BUG FIX #2: Ensure mic state stays independent of camera // Camera activateUplink requests audio track too, so enforce current mic state matrixRef.current.toggleMic(isMicOn); } else { await matrixRef.current.deactivateUplink(); setIsCameraOn(false); setLocalStream(null); } }, [isCameraOn, isMicOn, cameraFacingMode]); const handleFlipCamera = async () => { const newMode = cameraFacingMode === 'user' ? 'environment' : 'user'; setCameraFacingMode(newMode); if (isCameraOn && matrixRef.current) { await matrixRef.current.deactivateUplink(); await matrixRef.current.activateUplink('camera', newMode); } }; useEffect(() => { if (globalTimer === null || globalTimer <= 0) return; const t = setInterval(() => setGlobalTimer(prev => prev !== null && prev > 0 ? prev - 1 : prev), 1000); return () => clearInterval(t); }, [globalTimer]); useEffect(() => { let matrix: XCUQuantumMatrix | null = null; const initMatrix = async () => { try { const channel = new BroadcastChannel(`omni_matrix_${roomName}`); omniChannelRef.current = channel; let isMaster = false; const electionPromise = new Promise((resolve) => { const timeout = setTimeout(() => resolve(true), 150); channel.onmessage = (e) => { if (e.data.type === "I_AM_MASTER") { clearTimeout(timeout); resolve(false); } }; channel.postMessage({ type: "WHO_IS_MASTER" }); }); isMaster = await electionPromise; if (!isMaster) { setIsShadowNode(true); setStatus("Shadow Node Active."); channel.onmessage = (e) => { if (e.data.type === "MASTER_UPGRADE_ALERT") { setQuantumUpgradeAlert(e.data.msg); setTimeout(() => setQuantumUpgradeAlert(null), 5000); } if (e.data.type === "MASTER_LOG") addLog(e.data.msg); }; return; } channel.onmessage = (e) => { if (e.data.type === "WHO_IS_MASTER") channel.postMessage({ type: "I_AM_MASTER" }); }; const currentHost = typeof window !== 'undefined' ? window.location.hostname : '127.0.0.1'; const nodes = process.env.NEXT_PUBLIC_XCU_NODES ? process.env.NEXT_PUBLIC_XCU_NODES.split(',') : [`${window.location.protocol}//${currentHost}:8443`]; let winningNode = serverUrl; let quantumHash: string | undefined; try { const pingPromises = nodes.map(url => new Promise<{node: string, hash: string}>((resolve, reject) => { const urlObj = new URL(url); const proto = window.location.protocol; fetch(`${proto}//${urlObj.hostname}/api/v1/system/cert`, { signal: AbortSignal.timeout(1500) }) .then(res => res.json()).then(data => data?.hash ? resolve({ node: url, hash: data.hash }) : reject()).catch(reject); })); const winner = await Promise.any(pingPromises); winningNode = winner.node; quantumHash = winner.hash; } catch (e) {} // DETERMINISTIC Participant ID — same user = same ID, prevents duplicates // Hash email to 16-bit integer (1-65534) so same user in different tabs/browsers = same ID let pId = 1; try { const authForId = await fetch(`/vc/api/auth/me?_cb=${Date.now()}`); const authIdData = await authForId.json(); if (authIdData.email) { let hash = 0; for (let i = 0; i < authIdData.email.length; i++) { hash = ((hash << 5) - hash + authIdData.email.charCodeAt(i)) | 0; } pId = (Math.abs(hash) % 65534) + 1; // 1-65534 range } else { pId = Math.floor(Math.random() * 65534) + 1; // Fallback for guest } } catch(_) { pId = Math.floor(Math.random() * 65534) + 1; } let entitlementToken = ""; let byokKeyFromToken = "none"; let matrixCapabilities: any = null; try { const res = await fetch(`/api/auth/quantum_token?_cb=${Date.now()}`, { credentials: 'include' }); if (res.ok) { const data = await res.json(); entitlementToken = data.token; tokenRef.current = entitlementToken; matrixCapabilities = data.capabilities; if (data.byokActive && data.byok) { byokKeyFromToken = data.byok; } setUiMatrix(matrixCapabilities?.ui || null); // Assign host capability based on UI Matrix if (matrixCapabilities?.ui?.['jvc.ui.host_controls'] !== false) { setIsHost(true); } } else { throw new Error("Quantum Gateway menolak akses (Anti-Jumping Triggered)."); } } catch (e) { console.error("Quantum Auth Failed", e); setStatus("Akses Ditolak. Harap masuk melalui JUMPA.ID IAM."); return; } matrix = new XCUQuantumMatrix(roomName, pId, entitlementToken); setParticipantId(matrix.participantId); matrixRef.current = matrix; // Poll REAL traffic stats from matrix every 1s const trafficPoll = setInterval(() => { if (matrixRef.current?.trafficStats) { const s = matrixRef.current.trafficStats; setTrafficStats({ tx: { ...s.tx }, rx: { ...s.rx }, rates: { ...s.rates }, wsState: s.wsState, }); } }, 1000); // Terapkan Hukum 101-Modul Matrix (Kedaulatan Otak XCU) if (matrixCapabilities && matrixCapabilities.video) { // Jika Autopilot diizinkan oleh lisensi, gunakan 'auto'. Jika tidak, paksa 'webcodecs' atau 'canvas' berdasarkan resolusi const isAutopilot = matrixCapabilities.video.features?.autopilot; const hardCodec = matrixCapabilities.video.maxResolution === '4K' ? 'webcodecs' : 'canvas'; matrix.videoEngineMode = 'canvas'; // FORCED BY SUPREME COMMANDER TO AVOID WEBCODECS CRASH // Log ke console untuk bukti Forensik Auto-Pilot / Hard-Codec console.log(`[101-MATRIX] Video Codec disetel ke: ${matrix.videoEngineMode} (Lisensi: ${matrixCapabilities.video.codec})`); // Audio juga dikontrol oleh Matrix matrix.audioEngineMode = matrixCapabilities.chat?.features?.omniBrainAI ? 'xcu-neural' : 'auto'; } else { matrix.videoEngineMode = videoEngineMode; matrix.audioEngineMode = audioEngineMode; } // Prioritize BYOK Key from Token over Local State (Central Sovereignty) const effectiveKey = byokKeyFromToken !== 'none' ? byokKeyFromToken : (e2eeKeyStr || 'NO_KEY'); if (effectiveKey !== 'NO_KEY') { matrix.setE2EEKey(effectiveKey); if (byokKeyFromToken !== 'none') setE2eeKeyStr(byokKeyFromToken); } matrix.onModuleUnlocked = (id) => setUnlockedModules(prev => prev.includes(id) ? prev : [...prev, id]); matrix.onLocalStream = (s) => setLocalStream(s); matrix.onParticipantJoined = (id) => { setParticipants(prev => prev.includes(id) ? prev : [...prev, id]); // BUG FIX #3: Immediately re-announce our name when a new participant joins // so they see our name instead of a number setTimeout(() => { if (matrixRef.current) matrixRef.current.announceDisplayName(); }, 500); }; matrix.onParticipantLeft = (id) => { setParticipants(prev => prev.filter(p => p !== id)); setParticipantNames(prev => { const n = {...prev}; delete n[id]; return n; }); }; matrix.onParticipantNameReceived = (id, name) => { setParticipantNames(prev => ({...prev, [id]: name})); }; matrix.onActiveSpeakerChanged = (id) => setActiveSpeakerId(id); matrix.onAudioLevel = (l) => setAudioLevel(l); matrix.onQuantumResonance = (id, type) => { if (type.startsWith('TIMER:')) { const secs = parseInt(type.split(':')[1]); setGlobalTimer(secs); return; } setActiveReactions(prev => [...prev, { id, type, ts: Date.now() }]); // Auto cleanup after 4 seconds setTimeout(() => { setActiveReactions(prev => prev.filter(r => Date.now() - r.ts < 4000)); }, 4000); }; matrix.onSovereignSignal = (type, payload) => { if (type === 'MUTED_BY_HOST') setIsMicOn(false); if (type === 'WARP_COMPLETE') window.location.href = `/room/${payload}`; }; // BUG FIX #3: Use display name (not email) — like Zoom shows participant names const authResp = await fetch(`/vc/api/auth/me?_cb=${Date.now()}`); const authData = await authResp.json(); if (authData.name || authData.displayName) { // Prefer human-readable name over email const displayName = authData.name || authData.displayName; matrix.displayName = displayName; setUsername(displayName); } else if (authData.email) { // Fallback: Use email prefix (before @) as display name const emailName = authData.email.split('@')[0]; matrix.displayName = emailName; setUsername(emailName); } else if (propUsername) { matrix.displayName = propUsername; } await matrix.ignite(roomName, winningNode, entitlementToken); setIsMatrixActive(true); setIsTransportReady(true); setWebTransport(matrix.transport); // Announce display name to room after 2s (let connection stabilize) setTimeout(() => { if (matrixRef.current) matrixRef.current.announceDisplayName(); }, 2000); // Re-announce every 10s so new joiners learn existing names const nameAnnounceInterval = setInterval(() => { if (matrixRef.current) matrixRef.current.announceDisplayName(); }, 10000); // Auto-pilot based on Lobby selection if (initialCameraOn) { setTimeout(() => { if (matrixRef.current) matrixRef.current.activateUplink('camera', cameraFacingMode).then(() => setIsCameraOn(true)); }, 1000); } if (initialMicOn) { setTimeout(() => { if (matrixRef.current) matrixRef.current.toggleMic(true); }, 1500); } } catch (e) { setStatus("Connection Failed."); } }; initMatrix(); // Immediate cleanup on tab close to prevent ghost participants const handleBeforeUnload = () => { if (matrixRef.current) matrixRef.current.shutdown(); }; window.addEventListener('beforeunload', handleBeforeUnload); return () => { window.removeEventListener('beforeunload', handleBeforeUnload); if (matrix) matrix.shutdown(); if (omniChannelRef.current) omniChannelRef.current.close(); }; }, []); const onDisconnect = () => { setStatus("Reconnecting..."); setIsMatrixActive(false); setTimeout(() => { if (matrixRef.current) { matrixRef.current.ignite(roomName as string, "wss://mesh.ultramodul.xyz/api/system/engine", tokenRef.current) .then(() => { setStatus("Connected"); setIsMatrixActive(true); }) .catch(() => window.location.href = '/dashboard'); } }, 3000); }; const handleToggleMic = () => { const newState = !isMicOn; setIsMicOn(newState); if (matrixRef.current) { matrixRef.current.toggleMic(newState); matrixRef.current.resumeAudioContext(); } }; // Update effects when toggled useEffect(() => { if (matrixRef.current) { matrixRef.current.setEffects(useVirtualBg, useBeautyFilter); } }, [useVirtualBg, useBeautyFilter]); const handleToggleScreen = async () => { if (!matrixRef.current) return; if (isScreenSharing) { await matrixRef.current.deactivateUplink(); setIsScreenSharing(false); setLocalStream(null); if (isCameraOn) await matrixRef.current.activateUplink('camera', cameraFacingMode); } else { await matrixRef.current.deactivateUplink(); setIsCameraOn(false); setIsScreenSharing(true); await matrixRef.current.activateUplink('screen'); } }; const renderVideoTile = (id: number, isSmall: boolean) => { const isLocal = id === participantId; if (isAudience && isLocal) return null; return (
{isLocal ? ( <> {(isCameraOn || isScreenSharing) ? (
); }; const allParticipants = [participantId, ...participants].filter((id, i, arr) => arr.indexOf(id) === i && id !== 0); const effectiveActiveSpeaker = activeSpeakerId || participantId; const theme = 'dark'; return (
{/* Rename Modal — like Zoom rename */} {isRenamingLocal && (

Rename

setRenameInput(e.target.value)} className="w-full bg-[#0a101d] text-white border border-white/10 rounded-xl px-4 py-3 mb-4 focus:outline-none focus:border-blue-500 font-mono text-sm" autoFocus maxLength={64} placeholder="Display name..." />
)} {/* PKEPX Fractal Matrix Breakout Modal */} {isBreakoutOpen && (

Fractal Matrix Warp

)} {/* CSS-Only Quantum Background (GPU Safe) */}
{globalTimer !== null && (
{Math.floor(globalTimer / 60).toString().padStart(2, '0')}:{(globalTimer % 60).toString().padStart(2, '0')}
)} {/* Top Bar - Zoom Class */}
{roomName}
{formatTime(meetingTime)}
{uiMatrix?.['jvc.ui.layout_toggle'] !== false && ( )}
{/* Main Grid Area */}
{!isMatrixActive ? (
{status}
) : (
{layoutMode === 'gallery' ? (
{allParticipants.map(id => (
{renderVideoTile(id, false)}
))}
) : (
{renderVideoTile(effectiveActiveSpeaker!, false)}
{allParticipants.filter(p => p !== effectiveActiveSpeaker).map(id => (
setActiveSpeakerId(id)} className="w-48 md:w-full aspect-video rounded-xl overflow-hidden border border-white/10 hover:border-white/30 cursor-pointer transition-all"> {renderVideoTile(id, true)}
))}
)}
)}
{/* Right Sidebars (Chat & Participants) */}
{isChatOpen && ( setIsChatOpen(false)} /> )} {isParticipantsOpen && (

Participants ({allParticipants.length})

{isHost && ( )}
{allParticipants.map(id => (
{(id === participantId ? (username || 'U') : (participantNames[id] || 'U')).substring(0,2).toUpperCase()}
{id === participantId ? `${username || 'Me'} (Me)` : (participantNames[id] || `User ${id}`)}
Connected
{id === participantId && ( )} {isHost && id !== participantId && ( )}
))}
)}
{/* Bottom Bar - Zoom Class UI */}
Quantum Engine Auto-Pilot Optimized
{uiMatrix?.['jvc.ui.microphone'] !== false && ( )} {uiMatrix?.['jvc.ui.camera'] !== false && ( )} {uiMatrix?.['jvc.ui.camera'] !== false && ( )}
{uiMatrix?.['jvc.ui.people_panel'] !== false && ( )} {uiMatrix?.['jvc.ui.chat_panel'] !== false && ( )} {uiMatrix?.['jvc.ui.screenshare'] !== false && ( )} {/* PKEPX Zoom-Killer Buttons — ALL controlled by BYOK Matrix */} {uiMatrix?.['jvc.ui.reactions'] !== false && ( )} {uiMatrix?.['jvc.ui.breakout'] !== false && ( )} {uiMatrix?.['jvc.ui.recording'] !== false && ( )}
{/* MORE MENU PANEL — Fixed position popup */} {isMoreMenuOpen && (
setIsMoreMenuOpen(false)}>
e.stopPropagation()}>
Settings
{uiMatrix?.['jvc.ui.beauty_filter'] !== false && ( )} {uiMatrix?.['jvc.ui.virtual_bg'] !== false && ( <> )}
{uiMatrix?.['jvc.ui.timer'] !== false && ( <> )}
{uiMatrix?.['jvc.ui.matrix_command'] !== false && ( )}
)} {/* XCO MATRIX COMMAND PANEL */} {isMatrixCommandOpen && (
XCO Matrix Command
{matrixCommandTab === 'network' ? (
{/* REAL Traffic Monitor */}
Live Network I/O {trafficStats.wsState}
TX ▲
RX ▼
Video
{formatRate(trafficStats.rates.txVideo)}
{formatRate(trafficStats.rates.rxVideo)}
Audio
{formatRate(trafficStats.rates.txAudio)}
{formatRate(trafficStats.rates.rxAudio)}
Total
{formatRate(trafficStats.rates.txTotal)}
{formatRate(trafficStats.rates.rxTotal)}
{/* Codec Selectors */} {uiMatrix?.['jvc.xco.video_engine'] !== false && (
{(['auto', 'canvas', 'webcodecs'] as const).map(mode => ( ))}
{uiMatrix?.['jvc.xco.audio_engine'] !== false && (
{(['auto', 'xcu-neural', 'pcm'] as const).map(mode => ( ))}
)}
)} {/* BUG FIX #1: FPS Selector */} {uiMatrix?.['jvc.xco.fps_selector'] !== false && (
{([15, 30, 60] as const).map(fps => ( ))}

15fps = ringan • 30fps = default • 60fps = berat

)}
) : (

Modul XCO WASM berjalan secara asinkron (Kernel-Bypass). Fungsionalitas berikut membutuhkan lisensi IAM yang sesuai pada Database BYOK.

{wasmCapabilities.postQuantum && (
Post-Quantum Shield

Melindungi aliran data dari dekripsi komputer kuantum masa depan menggunakan protokol CRYSTALS-Kyber.

)} {wasmCapabilities.aegis && (
Aegis Forensic Watermark

Menyuntikkan kedipan morse transparan 1% ke dalam kanvas video untuk mencegah kebocoran rekaman fisik kamera.

)} {wasmCapabilities.neuralWhisper && (
Neural Whisper (NPU AI)

Menerjemahkan suara ke dalam teks secara offline (Edge AI) tanpa menyentuh server cloud eksternal.

)} {wasmCapabilities.doppler && (
Doppler Matrix (Ultrasonic)

Saluran komunikasi darurat menggunakan frekuensi suara ultra-tinggi saat 4G/Internet terputus.

)}
)}
)}
{/* Leave Confirmation Popup */} {isLeaving && (

Akhiri Rapat?

Apakah Anda yakin ingin keluar dari ruangan ini? Koneksi audio dan video Anda akan diputuskan seketika.

)}