From 4bba227af5c7059d68939575b6f524c44bde18ed Mon Sep 17 00:00:00 2001 From: Hare Date: Tue, 1 Sep 2026 16:10:59 +0900 Subject: [PATCH 01/12] fix: remove legacy resume flag --- crates/tui/src/standalone_picker.rs | 2 +- crates/yoi/src/main.rs | 91 +++++------------------------ 2 files changed, 16 insertions(+), 77 deletions(-) diff --git a/crates/tui/src/standalone_picker.rs b/crates/tui/src/standalone_picker.rs index 35ccbb5f..6ff76d76 100644 --- a/crates/tui/src/standalone_picker.rs +++ b/crates/tui/src/standalone_picker.rs @@ -145,7 +145,7 @@ pub(crate) enum StandalonePickerError { #[error("standalone Worker state is unavailable: {0}")] StateStore(#[source] standalone::StandaloneStoreError), #[error( - "no standalone Workers found for this cwd; use `yoi --local --resume --all` to include all cwd identities" + "no standalone Workers found for this cwd; use `yoi --local resume --all` to include all cwd identities" )] NoWorkers { include_all: bool }, #[error("standalone Worker picker I/O failed: {0}")] diff --git a/crates/yoi/src/main.rs b/crates/yoi/src/main.rs index 8700b670..6ae7d313 100644 --- a/crates/yoi/src/main.rs +++ b/crates/yoi/src/main.rs @@ -571,20 +571,10 @@ fn parse_console_options( let mut socket_override = None; let mut runtime_id = None; let mut worker_id = None; - let mut standalone_resume = false; - let mut standalone_all = false; let mut i = 0; while i < args.len() { let arg = &args[i]; match arg.as_str() { - "--resume" => { - standalone_resume = true; - i += 1; - } - "--all" => { - standalone_all = true; - i += 1; - } "--worker" => { let value = args .get(i + 1) @@ -766,29 +756,6 @@ fn parse_console_options( &workspace_root, )?; - if standalone_all && !standalone_resume { - return Err(ParseError("--all requires --resume".to_string())); - } - if standalone_resume { - if target.kind() != TargetKind::Standalone { - return Err(ParseError( - "--resume is a Standalone option and requires --local".to_string(), - )); - } - if worker_name.is_some() - || profile.is_some() - || session.is_some() - || socket_override.is_some() - || runtime_id.is_some() - || worker_id.is_some() - { - return Err(ParseError( - "--local --resume cannot be combined with Worker, profile, session, socket, or Runtime selectors" - .to_string(), - )); - } - } - if target.kind() == TargetKind::Standalone { if runtime_id.is_some() || worker_id.is_some() { return Err(ParseError( @@ -798,7 +765,7 @@ fn parse_console_options( } if session.is_some() { return Err(ParseError( - "--local does not accept legacy --session; use --local --resume for Standalone Worker restore" + "--local does not accept legacy --session; use `yoi --local resume` for Standalone Worker restore" .to_string(), )); } @@ -834,16 +801,12 @@ fn parse_console_options( if target.kind() == TargetKind::Standalone && (session.is_some() || socket_override.is_some()) { return Err(ParseError( - "Standalone does not accept legacy Worker session or socket selectors; use --resume for the standalone Worker store" + "Standalone does not accept legacy Worker session or socket selectors; use `yoi --local resume` for the standalone Worker store" .to_string(), )); } - let mode = if standalone_resume { - LaunchMode::StandaloneResume { - include_all: standalone_all, - } - } else if target.kind() == TargetKind::Standalone { + let mode = if target.kind() == TargetKind::Standalone { LaunchMode::Spawn { worker_name, profile, @@ -951,7 +914,7 @@ fn parse_workers_args( )?; if target.kind() != TargetKind::Backend { return Err(ParseError( - "yoi workers requires a Backend connection target; use yoi --local --resume for Standalone Workers" + "yoi workers requires a Backend connection target; use yoi --local resume for Standalone Workers" .to_string(), )); } @@ -1741,7 +1704,6 @@ const TOP_LEVEL_HELP: &str = r#"yoi Usage: yoi [TARGET] - yoi --local --resume [--all] yoi [TARGET] workers [-r|--stopped] [--runtime-id ] yoi [TARGET] resume [--all] [--runtime-id ] yoi --backend [--workspace-id ] panel @@ -1750,8 +1712,6 @@ Usage: Target selection: --local Use the client-owned one-process Standalone host - --resume With --local, restore from the Standalone Worker store - --all With Standalone restore, include Workers from every cwd identity --backend Use a Workspace Backend explicitly --workspace-id Scope Backend routes to a Workspace id @@ -1801,7 +1761,7 @@ Usage: Authority: Lists Workers from the selected Backend Workspace. Standalone Workers are restored with - `yoi --local --resume` and are not part of the Workspace Worker catalog. + `yoi --local resume` and are not part of the Workspace Worker catalog. Options: --backend Use this Workspace Backend @@ -2212,35 +2172,14 @@ backend = "shared" } #[test] - fn parser_local_resume_uses_standalone_picker_scope() { - let mode = parse_args_from(["--local", "--resume"]).unwrap(); - let Mode::Tui { target, mode, .. } = mode else { - panic!("expected TUI mode") - }; - assert_eq!(target.kind(), TargetKind::Standalone); - assert!(matches!( - mode, - LaunchMode::StandaloneResume { include_all: false } - )); - let intent = target.standalone_worker_list(false).unwrap(); - assert!(intent.state_dir.ends_with("client/standalone/workers")); - assert!(!intent.include_all); - - let mode = parse_args_from(["--local", "--resume", "--all"]).unwrap(); - let Mode::Tui { mode, .. } = mode else { - panic!("expected TUI mode") - }; - assert!(matches!( - mode, - LaunchMode::StandaloneResume { include_all: true } - )); - - assert_eq!( - parse_args_from(["--local", "--all"]) - .unwrap_err() - .to_string(), - "--all requires --resume" - ); + fn parser_rejects_removed_top_level_resume_flags() { + for (args, expected) in [ + (vec!["--resume"], "unknown argument: --resume"), + (vec!["--local", "--resume"], "unknown argument: --resume"), + (vec!["--all"], "unknown argument: --all"), + ] { + assert_eq!(parse_args_from(args).unwrap_err().to_string(), expected); + } } #[test] @@ -2264,7 +2203,7 @@ backend = "shared" let err = parse_args_slice_with_connection_resolver(&session_args, &resolver).unwrap_err(); assert_eq!( err.0, - "--local does not accept legacy --session; use --local --resume for Standalone Worker restore" + "--local does not accept legacy --session; use `yoi --local resume` for Standalone Worker restore" ); let socket_args = [ @@ -2897,7 +2836,7 @@ backend = "shared" other => panic!("expected WorkersHelp mode, got {other:?}"), } assert!(WORKERS_HELP.contains("selected Backend Workspace")); - assert!(WORKERS_HELP.contains("--local --resume")); + assert!(WORKERS_HELP.contains("--local resume")); assert!(!WORKERS_HELP.contains("[--local|--backend")); assert!(!WORKERS_HELP.contains("local Worker records")); } From d1e8a827c20083a2747159d640a73c301aa86553 Mon Sep 17 00:00:00 2001 From: Hare Date: Tue, 1 Sep 2026 18:59:16 +0900 Subject: [PATCH 02/12] fix: preserve configuration completion context --- crates/config-source-wasm/src/lib.rs | 42 ++++++++++++------ crates/config-source/src/lib.rs | 28 ++++++++++++ .../config-source/ConfigSourceEditor.svelte | 6 ++- .../generated/config_source_wasm_bg.wasm | Bin 1263778 -> 1265992 bytes .../test/config-source/wasm-parity.test.ts | 39 ++++++++++++++++ 5 files changed, 99 insertions(+), 16 deletions(-) diff --git a/crates/config-source-wasm/src/lib.rs b/crates/config-source-wasm/src/lib.rs index 6df1e834..5752b64a 100644 --- a/crates/config-source-wasm/src/lib.rs +++ b/crates/config-source-wasm/src/lib.rs @@ -101,20 +101,24 @@ pub fn complete_current( let utf8_byte_offset = utf16_to_utf8_offset(&source, utf16_offset)?; let result = session_environment(snapshot.clone()) .complete_config(&entrypoint, &source, utf8_byte_offset, explicit) - .map_err(|error| JsValue::from_str(&format!("{error:?}")))? - .map(|result| WasmCompletionResult { - from: result.from, - items: result - .items - .into_iter() - .map(|item| WasmCompletionItem { - label: item.label, - kind: format!("{:?}", item.kind).to_lowercase(), - detail: item.detail, - priority: item.priority, - }) - .collect(), - }); + .map_err(|error| JsValue::from_str(&format!("{error:?}")))?; + let result = result + .map(|result| { + Ok::(WasmCompletionResult { + from: utf8_to_utf16_offset(&source, result.from)?, + items: result + .items + .into_iter() + .map(|item| WasmCompletionItem { + label: item.label, + kind: format!("{:?}", item.kind).to_lowercase(), + detail: item.detail, + priority: item.priority, + }) + .collect(), + }) + }) + .transpose()?; encode(result) }) } @@ -177,6 +181,16 @@ fn utf16_to_utf8_offset(source: &str, utf16_offset: usize) -> Result Result { + if utf8_offset > source.len() { + return Err(JsValue::from_str("UTF-8 offset is outside the source")); + } + if !source.is_char_boundary(utf8_offset) { + return Err(JsValue::from_str("UTF-8 offset splits a character")); + } + Ok(source[..utf8_offset].encode_utf16().count()) +} + fn decode(value: JsValue) -> Result { from_value(value).map_err(|error| JsValue::from_str(&error.to_string())) } diff --git a/crates/config-source/src/lib.rs b/crates/config-source/src/lib.rs index 0adc87e4..a5df85dc 100644 --- a/crates/config-source/src/lib.rs +++ b/crates/config-source/src/lib.rs @@ -1203,6 +1203,9 @@ impl SnapshotEnvironment { { let mut member_source = format!("{WORKSPACE_CONFIG_SCHEMA_GLOBAL}."); member_source.push_str(&context.schema_path.join(".")); + if !context.schema_path.is_empty() && context.from == utf8_byte_offset { + member_source.push('.'); + } let mut completion = LanguageService::new(self).complete( entrypoint.as_str(), &member_source, @@ -1961,6 +1964,31 @@ mod tests { .iter() .any(|item| item.label == "default_profile") ); + + let blank_nested_source = "{ profile = { } } as WorkspaceConfigSchema"; + let blank_nested_cursor = blank_nested_source.find("{ }").unwrap() + 2; + let blank_nested = environment + .complete_config( + &path("main.dcdl"), + blank_nested_source, + blank_nested_cursor, + true, + ) + .unwrap() + .unwrap(); + assert_eq!(blank_nested.from, blank_nested_cursor); + assert!( + blank_nested + .items + .iter() + .any(|item| item.label == "default_profile") + ); + assert!( + !blank_nested + .items + .iter() + .any(|item| item.label == "profile") + ); } #[test] diff --git a/web/workspace/src/lib/workspace/config-source/ConfigSourceEditor.svelte b/web/workspace/src/lib/workspace/config-source/ConfigSourceEditor.svelte index b3d6cfa9..433efc62 100644 --- a/web/workspace/src/lib/workspace/config-source/ConfigSourceEditor.svelte +++ b/web/workspace/src/lib/workspace/config-source/ConfigSourceEditor.svelte @@ -328,10 +328,12 @@ source = value} - onComplete={(value, offset, explicit) => toolchain?.complete(selectedPath, value, offset, explicit) ?? Promise.resolve(null)} + onComplete={(value, offset, explicit) => analysisReady && toolchain + ? toolchain.complete(selectedPath, value, offset, explicit) + : Promise.resolve(null)} />

{status}

{#if conflict} diff --git a/web/workspace/src/lib/workspace/config-source/generated/config_source_wasm_bg.wasm b/web/workspace/src/lib/workspace/config-source/generated/config_source_wasm_bg.wasm index e2f0146612d603c1282cf23664a70aed7885a386..4662c4ac37451a58907c03aa11860e19860922fa 100644 GIT binary patch delta 139271 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

FG0_zyPnm}?*n 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 Kqr1dccl{r~;Et^T delta 136554 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

t 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 diff --git a/web/workspace/test/config-source/wasm-parity.test.ts b/web/workspace/test/config-source/wasm-parity.test.ts index 596a8040..23449ea6 100644 --- a/web/workspace/test/config-source/wasm-parity.test.ts +++ b/web/workspace/test/config-source/wasm-parity.test.ts @@ -299,6 +299,45 @@ Deno.test("generated WASM returns completion items for the editor adapter", () = assertEquals(result.items[0].kind, "file"); }); +Deno.test("generated WASM completes blank nested schema positions after Unicode", () => { + const source = + '{ description = "日本語"; profile = { }\n} as WorkspaceConfigSchema'; + const cursor = source.indexOf("{ }") + 2; + set_snapshot({ + ...snapshot, + entries: { + ...snapshot.entries, + "workspace.dcdl": { + ...snapshot.entries["workspace.dcdl"], + content: source, + }, + }, + }); + set_schema_bundle({ + contributions: [], + source: "{ profile = { default_profile = String; }; prompts = {}; }", + fingerprint: "sha256:test-schema", + }); + + const result = complete_current( + "workspace.dcdl", + source, + cursor, + true, + ) as { + from: number; + items: Array<{ label: string; kind: string }>; + }; + + assertEquals(result.from, cursor); + assertEquals( + result.items.some((item) => item.label === "default_profile"), + true, + ); + assertEquals(result.items.some((item) => item.label === "profile"), false); + assertEquals(result.items.some((item) => item.label === "prompts"), false); +}); + Deno.test("generated WASM completes asserted WorkspaceConfigSchema keys", () => { const bareSource = "{ pro }"; const source = "{ pro } as WorkspaceConfigSchema"; From 816fa96e0784e22ee26581a79aa5c227051b0f65 Mon Sep 17 00:00:00 2001 From: Hare Date: Tue, 1 Sep 2026 20:41:37 +0900 Subject: [PATCH 03/12] fix: restore workers with remote workdir attachments --- crates/client/src/backend_api.rs | 71 +++++++++++++++++++++++++++ crates/client/src/backend_runtime.rs | 2 +- crates/workspace-server/src/server.rs | 49 +++++++++++++++--- 3 files changed, 113 insertions(+), 9 deletions(-) diff --git a/crates/client/src/backend_api.rs b/crates/client/src/backend_api.rs index be4c7519..7e96d189 100644 --- a/crates/client/src/backend_api.rs +++ b/crates/client/src/backend_api.rs @@ -192,6 +192,32 @@ impl BackendApiClient { format!("Bearer {}", self.access_token.0) } + pub async fn require_success( + &self, + response: reqwest::Response, + ) -> Result { + let status = response.status(); + match status { + StatusCode::UNAUTHORIZED | StatusCode::FORBIDDEN => { + self.check_status(status)?; + } + status if !status.is_success() => { + let detail = response + .bytes() + .await + .ok() + .and_then(|body| backend_error_detail(&body)); + return Err(BackendApiClientError::BackendResponse { + origin: self.origin.clone(), + status: status.as_u16(), + detail, + }); + } + _ => {} + } + Ok(response) + } + pub fn check_status(&self, status: StatusCode) -> Result<(), BackendApiClientError> { match status { StatusCode::UNAUTHORIZED => Err(BackendApiClientError::Unauthorized { @@ -235,6 +261,18 @@ fn redirect_policy(origin: BackendOrigin) -> redirect::Policy { }) } +#[derive(Deserialize)] +struct BackendErrorBody { + message: String, +} + +fn backend_error_detail(body: &[u8]) -> Option { + serde_json::from_slice::(body) + .ok() + .map(|body| body.message) + .filter(|message| !message.trim().is_empty()) +} + #[derive(Debug)] pub enum BackendApiClientError { InvalidBackendOrigin(String), @@ -266,6 +304,11 @@ pub enum BackendApiClientError { origin: BackendOrigin, status: u16, }, + BackendResponse { + origin: BackendOrigin, + status: u16, + detail: Option, + }, Io { path: PathBuf, source: std::io::Error, @@ -312,6 +355,17 @@ impl fmt::Display for BackendApiClientError { Self::BackendStatus { origin, status } => { write!(f, "Backend {origin} returned HTTP {status}") } + Self::BackendResponse { + origin, + status, + detail, + } => { + write!(f, "Backend {origin} returned HTTP {status}")?; + if let Some(detail) = detail { + write!(f, ": {detail}")?; + } + Ok(()) + } Self::Io { path, source } => { write!(f, "failed to access {}: {source}", path.display()) } @@ -584,6 +638,23 @@ mod tests { ); } + #[test] + fn backend_error_detail_preserves_public_server_message() { + let detail = backend_error_detail( + br#"{"error":"Bad Request","message":"working_directory_runtime_mismatch: Working directory is owned by a different Runtime","diagnostics":[{"code":"working_directory_runtime_mismatch"}]}"#, + ); + let error = BackendApiClientError::BackendResponse { + origin: BackendOrigin::parse("http://127.0.0.1:8787").unwrap(), + status: 400, + detail, + }; + + assert_eq!( + error.to_string(), + "Backend http://127.0.0.1:8787 returned HTTP 400: working_directory_runtime_mismatch: Working directory is owned by a different Runtime" + ); + } + #[test] fn backend_origin_rejects_unsafe_authority_changes() { for invalid in [ diff --git a/crates/client/src/backend_runtime.rs b/crates/client/src/backend_runtime.rs index 01776566..4f118ff4 100644 --- a/crates/client/src/backend_runtime.rs +++ b/crates/client/src/backend_runtime.rs @@ -269,7 +269,7 @@ pub async fn restore_backend_worker( .json(&serde_json::json!({})) .send() .await?; - api.check_status(response.status())?; + let response = api.require_success(response).await?; Ok(response.json::().await?) } diff --git a/crates/workspace-server/src/server.rs b/crates/workspace-server/src/server.rs index e043a97d..12158e15 100644 --- a/crates/workspace-server/src/server.rs +++ b/crates/workspace-server/src/server.rs @@ -1909,16 +1909,18 @@ impl WorkspaceApi { .list_worker_workdir_links(&self.config.workspace_id, worker)? .into_iter() .find(|link| link.unlinked_at.is_none()) - && let Some(access) = repository_access_request_for_workdir( + { + let workdir_runtime_id = registered_workdir_runtime_id(self, &link.workdir_id)?; + if let Some(access) = repository_access_request_for_workdir( self, - &worker.runtime_id, + &workdir_runtime_id, &link.workdir_id, &format!("worker-restore:{}", WorkerId::now_v7()), - )? - { - self.runtime - .authorize_working_directory_repository_access(&worker.runtime_id, access) - .map_err(RuntimeRegistryError::into_error)?; + )? { + self.runtime + .authorize_working_directory_repository_access(&workdir_runtime_id, access) + .map_err(RuntimeRegistryError::into_error)?; + } } let binding = self .runtime @@ -25010,7 +25012,7 @@ mod tests { ) .await .unwrap(); - let app = build_inner_router(api); + let app = build_inner_router(api.clone()); let runtimes = get_json(app.clone(), "/api/runtimes").await; let embedded_summary = runtimes["items"] @@ -25065,6 +25067,37 @@ mod tests { "embedded_worker_runtime" ); + let workdir_id = "external-workdir"; + api.store + .upsert_workdir_registry(&WorkdirRegistryRecord { + workspace_id: TEST_WORKSPACE_ID.to_string(), + workdir_id: workdir_id.to_string(), + runtime_id: "external-workdir-runtime".to_string(), + repository_id: "main".to_string(), + creation_selector: None, + creation_ref: None, + creation_tree: None, + current_selector: None, + current_ref: None, + current_tree: None, + observed_at_epoch_seconds: None, + materialization_status: "present".to_string(), + cleanliness: "clean".to_string(), + created_at: "1".to_string(), + updated_at: "1".to_string(), + }) + .unwrap(); + api.store + .attach_worker_workdir(&WorkerWorkdirLinkRecord { + workspace_id: TEST_WORKSPACE_ID.to_string(), + worker: RuntimeWorkerRef::new("embedded-worker-runtime", &worker_id), + workdir_id: workdir_id.to_string(), + role: "attachment".to_string(), + linked_at: "2".to_string(), + unlinked_at: None, + }) + .unwrap(); + let worker = get_json( app.clone(), &format!("/api/runtimes/embedded-worker-runtime/workers/{worker_id}"), From 21317123a408a72ee634eda5869f9032abbb3166 Mon Sep 17 00:00:00 2001 From: Hare Date: Tue, 1 Sep 2026 22:03:25 +0900 Subject: [PATCH 04/12] fix: deduplicate CodeMirror completion state --- .../lib/workspace/config-source/completion.ts | 31 +------------ .../lib/workspace/config-source/toolchain.ts | 2 +- .../workspace/config-source/vite-dedupe.ts | 7 +++ .../settings/DecodalSourceEditor.svelte | 46 ++++++++++++++++--- .../test/config-source/editor-state.test.ts | 26 +++++++++++ .../test/config-source/toolchain.test.ts | 9 ++-- web/workspace/vite.config.ts | 5 ++ 7 files changed, 84 insertions(+), 42 deletions(-) create mode 100644 web/workspace/src/lib/workspace/config-source/vite-dedupe.ts diff --git a/web/workspace/src/lib/workspace/config-source/completion.ts b/web/workspace/src/lib/workspace/config-source/completion.ts index 8467bdb2..7a4d755c 100644 --- a/web/workspace/src/lib/workspace/config-source/completion.ts +++ b/web/workspace/src/lib/workspace/config-source/completion.ts @@ -13,12 +13,11 @@ type ConfigSourceCompletionItem = { }; export function toCodeMirrorCompletion( - source: string, result: ConfigSourceCompletionResult | null, ): CompletionResult | null { if (!result) return null; return { - from: utf8ByteOffsetToUtf16(source, result.from), + from: result.from, options: result.items.map((item) => ({ label: item.label, type: item.kind, @@ -27,31 +26,3 @@ export function toCodeMirrorCompletion( })), }; } - -function utf8ByteOffsetToUtf16(source: string, byteOffset: number): number { - if (!Number.isSafeInteger(byteOffset) || byteOffset < 0) { - throw new RangeError( - "completion byte offset must be a non-negative integer", - ); - } - - let bytes = 0; - let utf16 = 0; - for (const character of source) { - if (bytes === byteOffset) return utf16; - const codePoint = character.codePointAt(0)!; - bytes += codePoint <= 0x7f - ? 1 - : codePoint <= 0x7ff - ? 2 - : codePoint <= 0xffff - ? 3 - : 4; - utf16 += character.length; - if (bytes > byteOffset) { - throw new RangeError("completion byte offset splits a UTF-8 code point"); - } - } - if (bytes === byteOffset) return utf16; - throw new RangeError("completion byte offset is outside the source"); -} diff --git a/web/workspace/src/lib/workspace/config-source/toolchain.ts b/web/workspace/src/lib/workspace/config-source/toolchain.ts index 510b4a00..53969a0f 100644 --- a/web/workspace/src/lib/workspace/config-source/toolchain.ts +++ b/web/workspace/src/lib/workspace/config-source/toolchain.ts @@ -79,7 +79,7 @@ export class ConfigSourceToolchain { utf16Offset, explicit, }); - return toCodeMirrorCompletion(source, result); + return toCodeMirrorCompletion(result); } format(source: string): Promise { return this.#request({ kind: "format", source }); diff --git a/web/workspace/src/lib/workspace/config-source/vite-dedupe.ts b/web/workspace/src/lib/workspace/config-source/vite-dedupe.ts new file mode 100644 index 00000000..c41ab5ba --- /dev/null +++ b/web/workspace/src/lib/workspace/config-source/vite-dedupe.ts @@ -0,0 +1,7 @@ +export const CODEMIRROR_VITE_DEDUPE = [ + "@codemirror/autocomplete", + "@codemirror/language", + "@codemirror/state", + "@codemirror/view", + "@lezer/common", +]; diff --git a/web/workspace/src/lib/workspace/settings/DecodalSourceEditor.svelte b/web/workspace/src/lib/workspace/settings/DecodalSourceEditor.svelte index 12623b97..821c8a9e 100644 --- a/web/workspace/src/lib/workspace/settings/DecodalSourceEditor.svelte +++ b/web/workspace/src/lib/workspace/settings/DecodalSourceEditor.svelte @@ -1,6 +1,13 @@ + +