d3ro-voice/apps/desktop/bypass4.js
Yun Chan 708e20f747
Some checks failed
CI Pipeline / Code Quality & Typecheck (push) Waiting to run
CI Pipeline / Test Suite (macos-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (ubuntu-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (windows-latest) (push) Blocked by required conditions
CI Pipeline / Build Validation (admin) (push) Blocked by required conditions
CI Pipeline / Build Validation (desktop) (push) Blocked by required conditions
Deploy Landing Page / deploy (push) Blocked by required conditions
Deploy Landing Page / build (push) Waiting to run
Release & Packaging Pipeline / Build & Publish Admin Docker Image (push) Failing after 8s
Release & Code Signing CA Pipeline / build-and-sign-windows (push) Failing after 1m51s
Build macOS / Build & Package (macOS) (push) Failing after 4s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
Release & Code Signing CA Pipeline / build-and-sign-macos (push) Failing after 3s
Release & Packaging Pipeline / Package macOS Desktop App (push) Failing after 4s
Release & Packaging Pipeline / Package Windows Desktop App (push) Failing after 2m28s
Release & Packaging Pipeline / Publish Official GitHub Release (push) Has been skipped
feat: complete release preparation, 10+ ad mediation, CI/CD, and docker deployment
2026-08-20 11:12:05 +09:00

43 lines
1.5 KiB
JavaScript

const fs = require('fs');
const path = require('path');
const e2eDir = 'tests/e2e';
const files = fs.readdirSync(e2eDir).filter(f => f.endsWith('.spec.ts'));
files.forEach(file => {
if (file === 'onboarding.spec.ts') return;
const p = path.join(e2eDir, file);
let content = fs.readFileSync(p, 'utf8');
// Add fs and path imports if missing
if (!content.includes(`import * as fs from 'fs';`)) {
content = `import * as fs from 'fs';\nimport * as path from 'path';\n` + content;
}
// Replace the old bypass logic block entirely (if it exists)
content = content.replace(/\/\/ Bypass onboarding by filling it if visible[\s\S]*?\} catch\(e\) \{\n\s*\/\/ Ignore if not found\n\s*\}/g, '');
// Inject the config.json writing before electron.launch
// Find the string `--user-data-dir=` to extract the directory path
const match = content.match(/--user-data-dir=([^']+)'/);
if (match) {
const userDataDir = match[1];
// Inject fs.writeFileSync before electronApp = await electron.launch
const injectStr = `
// Pre-fill d3ro-voice-config.json to bypass onboarding
const userDataDir = '${userDataDir}';
fs.mkdirSync(userDataDir, { recursive: true });
fs.writeFileSync(path.join(userDataDir, 'd3ro-voice-config.json'), JSON.stringify({
onboardingCompleted: true,
appUsageMode: 'online',
llmBackend: 'online'
}));
electronApp = await electron.launch`;
content = content.replace(/electronApp = await electron\.launch/, injectStr);
}
fs.writeFileSync(p, content);
});