mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 00:57:45 +00:00
* refactor(files): file reads and edits route by the file's owner The runtime file clients took a settings object and turned its Active Server field into a connection, so any caller that passed raw settings silently read or wrote on the focused server. They now take `target: RuntimeClientTarget`, and every caller derives it from the owner: the tab's stamped owner, else its worktree's owner (getRuntimeTargetForFileOwner / getRuntimeTargetForWorktreeOwner), the file-explorer operation owner, or an already captured owner id. Behavior: single-host (local-only) users see no change. An editor tab opened without an owner stamp, a terminal link with no PTY owner, an OS file drop and a notebook link now go to the workspace's owner instead of whichever server is focused when the read happens. Removes getEditorFileDropSettingsForWorktree and the native-chat settings clone cache; settingsForWorktreeOperationRoute loses its editor caller. * fix(files): file owner targets come from the rows, never the focused server getRuntimeTargetForWorktreeOwner/getRuntimeTargetForFileOwner move to lib/file-owner-runtime-target.ts and resolve through the focus-free resolveOwner. A workspace with no row yet stays on this app (tabs and drops stamp a server owner when one exists); rows that disagree return null, and callers with an error path refuse via requireRuntimeTargetForFileOwner. * test: keep the editor content-state fixture within the line limit * fix(files): an unresolved document owner blocks local image reads A null owner target became runtimeContext undefined, which image readers take as a plain local file, so a server-owned document's images were read from this machine. It is now runtimeContext null, the readers' do-not-load sentinel, in the rich editor and the preview, and prewarm skips it. * fix(files): read the image node view's storage through a named type --------- Co-authored-by: m4air <m4air@Mac.localdomain>