50 lines
2.0 KiB
TypeScript
50 lines
2.0 KiB
TypeScript
import fs from 'fs';
|
|
|
|
const roomPath = 'C:/X/workspace/jumpa.id/vc/components/xcuRoom.tsx';
|
|
let roomContent = fs.readFileSync(roomPath, 'utf-8');
|
|
|
|
// 1. Fix the TypeError (Crash)
|
|
roomContent = roomContent.replace(
|
|
/\$\{autoPilotMetrics\.bw\.toFixed\(1\)\}/g,
|
|
`\${Number(autoPilotMetrics.bw || 0).toFixed(1)}`
|
|
);
|
|
|
|
// 2. Fix the Handlers to support cycling to 'auto'
|
|
const oldHandlers = ` const handleToggleAudioEngine = () => {
|
|
const newMode = audioEngineMode === 'xcu-neural' ? 'pcm' : 'xcu-neural';
|
|
setAudioEngineMode(newMode);
|
|
if (matrixRef.current) {
|
|
matrixRef.current.hotSwapAudioEngine(newMode);
|
|
alert(newMode === 'xcu-neural' ? '🔊 XCU Neural Audio AKTIF! (VAD & Zero Bandwidth).' : '⚠️ Raw PCM Audio Aktif. Peringatan: Konsumsi Bandwidth Tinggi.');
|
|
}
|
|
};
|
|
const handleToggleEngine = () => {
|
|
const newMode = videoEngineMode === 'webcodecs' ? 'canvas' : 'webcodecs';
|
|
setVideoEngineMode(newMode);
|
|
if (matrixRef.current) {
|
|
matrixRef.current.hotSwapVideoEngine(newMode);
|
|
alert(newMode === 'webcodecs' ? '🚀 XCU Quantum WebCodecs (Hardware GPU Acceleration) AKTIF! Latensi dinolkan.' : '⚠️ Mode Kompatibilitas Canvas Aktif. Peringatan: Latensi 1-2 detik.');
|
|
}
|
|
};`;
|
|
|
|
const newHandlers = ` const handleToggleAudioEngine = () => {
|
|
const newMode = audioEngineMode === 'auto' ? 'xcu-neural' : (audioEngineMode === 'xcu-neural' ? 'pcm' : 'auto');
|
|
setAudioEngineMode(newMode);
|
|
if (matrixRef.current) {
|
|
matrixRef.current.hotSwapAudioEngine(newMode);
|
|
}
|
|
};
|
|
const handleToggleEngine = () => {
|
|
const newMode = videoEngineMode === 'auto' ? 'webcodecs' : (videoEngineMode === 'webcodecs' ? 'canvas' : 'auto');
|
|
setVideoEngineMode(newMode);
|
|
if (matrixRef.current) {
|
|
matrixRef.current.hotSwapVideoEngine(newMode);
|
|
}
|
|
};`;
|
|
|
|
// Safe replace
|
|
roomContent = roomContent.replace(oldHandlers, newHandlers);
|
|
|
|
fs.writeFileSync(roomPath, roomContent, 'utf-8');
|
|
console.log("Crash resolved and handlers fixed.");
|