Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/mobile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ concurrency:

jobs:
verify:
name: Mobile verify
if: github.event_name == 'pull_request'
# Why ARM: 209s of this job is Vitest and nothing here needs x86: no Android SDK, emulator, gradle,
# Hermes or Watchman, no docker, and no artifacts. The Gemfile.lock lists the generic `ruby`
Expand Down
20 changes: 20 additions & 0 deletions config/scripts/required-pr-check-name.test.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { readdirSync, readFileSync } from 'node:fs'
import { join } from 'node:path'
import { expect, it } from 'vitest'
import { parse } from 'yaml'

it('reserves the required verify check for the full PR gate', () => {
const directory = '.github/workflows'
const providers = readdirSync(directory)
.filter((file) => /\.ya?ml$/.test(file))
.flatMap((file) => {
const workflow = parse(readFileSync(join(directory, file), 'utf8'))
if (!Object.hasOwn(workflow.on ?? {}, 'pull_request')) {
return []
}
return Object.entries(workflow.jobs)
.filter(([id, job]) => (job.name ?? id) === 'verify')
.map(() => file)
})
expect(providers).toEqual(['pr.yml'])
})
3 changes: 1 addition & 2 deletions src/main/browser/browser-cookie-import-concurrency.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -241,8 +241,7 @@ describe('two concurrent imports into one partition', () => {
const fileB = writeSource('new-b', '.b.example')

const first = importCookiesFromFile(fileA, 'persist:concurrency-test')
// Let the first import reach its write and block there.
await new Promise((resolve) => setTimeout(resolve, 5))
await vi.waitFor(() => expect(events).toContain('set:new-a'))
const second = importCookiesFromFile(fileB, 'persist:concurrency-test')
await new Promise((resolve) => setTimeout(resolve, 20))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ export async function writeStructuredAgentSessionOption(
const ctx = {
sessionId,
fence,
now: () => context.now(),
adapter: context.deps.adapter,
persistOptions: (options: Readonly<Record<string, string>>) =>
context.deps.store
Expand Down
5 changes: 3 additions & 2 deletions src/main/runtime/runtime-worktree-terminal-provisioning.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,9 @@ export async function provisionWorktreeTerminals(
let setupTerminalHandle: string | null = null
let shellSkippedForSetup = false
try {
const settings = host.getSettings()
const setupLaunchMode = settings.setupScriptLaunchMode ?? 'new-tab'
const setupLaunchMode = args.setup
? (host.getSettings().setupScriptLaunchMode ?? 'new-tab')
: 'new-tab'
// A cleared creation choice leaves Setup as the only surface; splits still need a shell.
const setupOnly =
args.setup !== undefined && setupLaunchMode === 'new-tab' && args.setupOnly === true
Expand Down
7 changes: 2 additions & 5 deletions src/renderer/src/i18n/locales/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -6896,9 +6896,7 @@
"remoteDetectionFailed": "Couldn’t detect installed agents. Check the host connection and try again.",
"retryDetection": "Retry",
"storedDefaultUndetected": "Guardado como predeterminado, pero no detectado en este momento",
"noAgentsDetected": "No se detectaron agentes. Si hay uno instalado, es posible que la sonda haya agotado su tiempo de espera.",
"setupOnly": "Ninguno",
"setupOnlyHint": "Ejecuta la configuración sin un terminal en blanco adicional en el modo de pestaña nueva. El modo dividido mantiene un panel de shell; si se omite la configuración o falta, se abre un terminal en blanco."
"noAgentsDetected": "No se detectaron agentes. Si hay uno instalado, es posible que la sonda haya agotado su tiempo de espera."
},
"AppIconSelector": {
"d5a112dc9b": "Icono siguiente",
Expand Down Expand Up @@ -17024,8 +17022,7 @@
"579c768bde": "Ningún agente coincide con su búsqueda.",
"48c6a5a9b4": "Agentes de búsqueda...",
"9c6b59fe58": "Establecer como predeterminado",
"1b0d6965fa": "Valor predeterminado actual",
"setupOnly": "Ninguno"
"1b0d6965fa": "Valor predeterminado actual"
},
"AgentSettingsDialog": {
"50cdb57c03": "Administre agents de IA, establezca un valor predeterminado y personalice comandos.",
Expand Down
7 changes: 2 additions & 5 deletions src/renderer/src/i18n/locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -7004,9 +7004,7 @@
"codexSessionSourceInfo": "À propos de l'import de l'historique Codex",
"codexSessionSourceTooltip": "Orca exécute Codex dans un home isolé. Pointez ceci vers votre home Codex existant pour en importer l'historique de sessions. Si vide, ~/.codex est utilisé.",
"storedDefaultUndetected": "Enregistré par défaut, mais non détecté actuellement",
"noAgentsDetected": "Aucun agent détecté. Si un agent est installé, la détection a peut-être expiré.",
"setupOnly": "Aucun",
"setupOnlyHint": "Exécute la configuration sans terminal vide supplémentaire en mode nouvel onglet. Le mode fractionné conserve un volet de shell ; une configuration ignorée ou manquante ouvre un terminal vide."
"noAgentsDetected": "Aucun agent détecté. Si un agent est installé, la détection a peut-être expiré."
},
"AppIconSelector": {
"d5a112dc9b": "Icône suivante",
Expand Down Expand Up @@ -17132,8 +17130,7 @@
"579c768bde": "Aucun agent ne correspond à votre recherche.",
"48c6a5a9b4": "Rechercher des agents...",
"9c6b59fe58": "Définir par défaut",
"1b0d6965fa": "Défaut actuel",
"setupOnly": "Aucun"
"1b0d6965fa": "Défaut actuel"
},
"AgentSettingsDialog": {
"50cdb57c03": "Gérez les agents IA, définissez-en un par défaut et personnalisez les commandes.",
Expand Down
7 changes: 2 additions & 5 deletions src/renderer/src/i18n/locales/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -6881,9 +6881,7 @@
"remoteDetectionFailed": "インストールされている Agent を検出できませんでした。ホストへの接続を確認して、もう一度お試しください。",
"retryDetection": "再試行",
"storedDefaultUndetected": "デフォルトとして保存されていますが、現在は検出されません",
"noAgentsDetected": "Agent が検出されませんでした。プローブがインストールされている場合、プローブがタイムアウトした可能性があります。",
"setupOnly": "なし",
"setupOnlyHint": "新規タブモードでは、余分な空白のターミナルを開かずにセットアップを実行します。分割モードではシェルペインを保持します。セットアップをスキップした場合、またはセットアップがない場合は、空白のターミナルが開きます。"
"noAgentsDetected": "Agent が検出されませんでした。プローブがインストールされている場合、プローブがタイムアウトした可能性があります。"
},
"AppIconSelector": {
"d5a112dc9b": "次へのアイコン",
Expand Down Expand Up @@ -17024,8 +17022,7 @@
"579c768bde": "検索に一致する Agent はありません。",
"48c6a5a9b4": "Agent を検索…",
"9c6b59fe58": "デフォルトとして設定",
"1b0d6965fa": "現在のデフォルト",
"setupOnly": "なし"
"1b0d6965fa": "現在のデフォルト"
},
"AgentSettingsDialog": {
"50cdb57c03": "AI Agent を管理し、デフォルトを設定し、コマンドをカスタマイズします。",
Expand Down
7 changes: 2 additions & 5 deletions src/renderer/src/i18n/locales/ko.json
Original file line number Diff line number Diff line change
Expand Up @@ -6881,9 +6881,7 @@
"remoteDetectionFailed": "설치된 에이전트를 감지하지 못했습니다. 호스트 연결을 확인한 뒤 다시 시도하세요.",
"retryDetection": "다시 시도",
"storedDefaultUndetected": "기본값으로 저장되었지만 지금은 감지되지 않습니다.",
"noAgentsDetected": "감지된 에이전트가 없습니다. 에이전트가 설치되어 있다면 감지 시간이 초과되었을 수 있습니다.",
"setupOnly": "없음",
"setupOnlyHint": "새 탭 모드에서는 추가 빈 터미널 없이 설정을 실행합니다. 분할 모드에서는 셸 패널을 유지합니다. 설정을 건너뛰거나 설정이 없으면 빈 터미널이 열립니다."
"noAgentsDetected": "감지된 에이전트가 없습니다. 에이전트가 설치되어 있다면 감지 시간이 초과되었을 수 있습니다."
},
"AppIconSelector": {
"d5a112dc9b": "다음 아이콘",
Expand Down Expand Up @@ -17024,8 +17022,7 @@
"579c768bde": "검색어와 일치하는 agents가 없습니다.",
"48c6a5a9b4": "agents 검색...",
"9c6b59fe58": "기본값으로 설정",
"1b0d6965fa": "현재 기본값",
"setupOnly": "없음"
"1b0d6965fa": "현재 기본값"
},
"AgentSettingsDialog": {
"50cdb57c03": "AI agents를 관리하고, 기본값을 설정하고, 명령을 사용자 정의하세요.",
Expand Down
7 changes: 2 additions & 5 deletions src/renderer/src/i18n/locales/zh.json
Original file line number Diff line number Diff line change
Expand Up @@ -6881,9 +6881,7 @@
"remoteDetectionFailed": "无法检测已安装的智能体。请检查主机连接后重试。",
"retryDetection": "Retry",
"storedDefaultUndetected": "已保存为默认值,但目前未检测到",
"noAgentsDetected": "未检测到智能体。如果安装了探测器,探测器可能会超时。",
"setupOnly": "无",
"setupOnlyHint": "在新标签页模式下运行设置,不额外打开空白终端。分屏模式保留 shell 窗格;跳过设置或缺少设置时会打开空白终端。"
"noAgentsDetected": "未检测到智能体。如果安装了探测器,探测器可能会超时。"
},
"AppIconSelector": {
"d5a112dc9b": "下一个图标",
Expand Down Expand Up @@ -17024,8 +17022,7 @@
"579c768bde": "没有智能体符合您的搜索。",
"48c6a5a9b4": "搜索智能体...",
"9c6b59fe58": "设置为默认值",
"1b0d6965fa": "当前默认值",
"setupOnly": "无"
"1b0d6965fa": "当前默认值"
},
"AgentSettingsDialog": {
"50cdb57c03": "管理 AI 智能体、设置默认值并自定义命令。",
Expand Down
Loading