sync: update from private repo (3385c80)
CI / build-and-test (push) Has been cancelled

This commit is contained in:
oss-sync
2026-06-08 05:00:15 +00:00
parent 38bd874366
commit ee062050e0
13 changed files with 295 additions and 44 deletions
+23 -4
View File
@@ -6,7 +6,7 @@ import { SaveRecordingButton } from '../../browser/SaveRecordingButton.js';
interface TaskSessionInfo {
available: boolean;
reason?: 'novnc_not_installed';
reason?: 'novnc_not_installed' | 'headless_mode' | 'display_unavailable' | 'no_session';
sessionId?: string;
novncPath?: string;
display?: string;
@@ -93,12 +93,31 @@ export function BrowserTab({ taskId }: { taskId: number }) {
</div>
);
}
if (data?.reason === 'headless_mode') {
return (
<div className="bg-canvas border border-amber-300 rounded-md p-6 text-sm text-slate-700">
<p className="font-medium text-amber-800 dark:text-amber-300 mb-2">headless Browser 使</p>
<p className="text-xs leading-relaxed">
Settings Tools Browser Runtime Browser Session Mode novnc Xvfb/x11vnc/websockify
</p>
</div>
);
}
if (data?.reason === 'display_unavailable') {
return (
<div className="bg-canvas border border-amber-300 rounded-md p-6 text-sm text-slate-700">
<p className="font-medium text-amber-800 dark:text-amber-300 mb-2"></p>
<p className="text-xs leading-relaxed">
Xvfb/x11vnc/websockify
</p>
</div>
);
}
return (
<div className="bg-canvas border border-hairline rounded-md p-6 text-center text-sm text-slate-600">
<p className="font-medium text-slate-800 mb-1"></p>
<p className="font-medium text-slate-800 mb-1"></p>
<p className="text-xs leading-relaxed">
BrowseWeb / InteractiveBrowse
noVNC (5 )
BrowseWeb (5 )
</p>
</div>
);
@@ -49,17 +49,18 @@ export function BrowserSettingsForm({ config, onChange }: SectionFormProps) {
<h3 className="text-sm font-medium text-slate-600 mt-4 pt-3 border-t border-slate-200">Sessions (CDP)</h3>
<div>
<FieldLabel>CAPTCHA Solve Mode</FieldLabel>
<select value={browser.captchaSolve ?? 'skip'}
onChange={e => onChange('browser.captchaSolve', e.target.value)}
<FieldLabel>Browser Session Mode</FieldLabel>
<select value={browser.displayMode ?? 'headless'}
onChange={e => onChange('browser.displayMode', e.target.value)}
className="w-full h-9 px-2 text-[13px] border border-hairline rounded-md">
<option value="skip">skip (headless fallback, default)</option>
<option value="novnc">novnc (shared CAPTCHA Pool, solve in CAPTCHA tab)</option>
<option value="headless">Headless</option>
<option value="novnc">noVNCBrowser/CAPTCHA </option>
</select>
<HelpText>
<code>novnc</code> WebSearch CAPTCHA noVNC CAPTCHA Pool
<strong>CAPTCHA </strong> <code>Xvfb</code> / <code>x11vnc</code> / <code>websockify</code>
headless <code>skip</code> CAPTCHA
<code>novnc</code>
<strong>Browser InteractiveBrowseCAPTCHA </strong>
<code>Xvfb</code> / <code>x11vnc</code> / <code>websockify</code> headless
<code>headless</code><strong>使</strong>
</HelpText>
</div>
+16 -4
View File
@@ -5,6 +5,7 @@ import { PipButton } from '../components/browser/PipButton.js';
interface CaptchaPoolInfo {
available: boolean;
reason?: 'headless_mode' | 'display_unavailable' | 'no_session';
sessionId?: string;
novncPath?: string;
display?: string;
@@ -144,10 +145,21 @@ export function AdminCaptchaPage({ isAdmin }: { isAdmin: boolean }) {
<div className="h-full bg-canvas border border-hairline rounded-md flex items-center justify-center p-8">
<div className="max-w-md text-center text-sm text-slate-600">
<p className="font-medium text-slate-800 mb-1">Pool </p>
<p>
WebSearch CAPTCHA admin
noVNC (5 )
</p>
{data?.reason === 'headless_mode' ? (
<p>
headless CAPTCHA Pool 使Settings Tools Browser Runtime
<strong> Browser Session Mode novnc</strong> Xvfb/x11vnc/websockify
</p>
) : data?.reason === 'display_unavailable' ? (
<p>
Xvfb/x11vnc/websockify
</p>
) : (
<p>
WebSearch CAPTCHA admin
noVNC (5 )
</p>
)}
</div>
</div>
)}