Commit Graph
9 Commits
Author SHA1 Message Date
OrcaWinandOrcaWin 3c7d1e1675 test: remove 263 low-value cases across 20 suites (#41144)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-11 04:05:46 -08:00
Neil ec95c931f0 test(ephemeral-vm): make VM runtime store suites pass on Windows (#40093)
* test(ephemeral-vm): make VM runtime store suites pass on Windows

Drop the process.platform=linux stubs (they made secure writes fsync a
read-only handle, EPERM on Windows, and spawned recipes POSIX-style) and
remove temp dirs through one allSettled removeTree helper so Windows ACL
work cannot fail teardown with EBUSY.

* test: restore the rmSync import dropped by the merge from main
2026-11-10 17:58:12 -08:00
Neil a75d408aa6 fix(remote-runtime): keep a resumed VM's device pairing while its host key is unchanged (#39225)
* fix(remote-runtime): keep a resumed VM's device pairing while its host key is unchanged

* fix(remote-runtime): probe before dropping the transport, keep saved key spelling, leave SSH wakes as they were
2026-11-08 16:12:06 -08:00
Neil 83f8e6340d refactor(shared): organize file operations and storage owners (#39746) 2026-11-07 22:58:35 -08:00
OrcaWinandOrcaWin cecfa9865d test: remove 158 low-value tests (#39483)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-07 04:18:13 -08:00
OrcaWinandOrcaWin 67c9d04ee4 test: remove 131 low-value terminal, session and transport tests (#39460)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-07 02:55:40 -08:00
Neil aed52aaa9b perf: stop host-status pings rebuilding title catalog and rereading server config (#39340)
* perf: stop host-status pings rebuilding the title catalog and rereading server config

Host-status updates walked every saved tab for title-refresh support before checking whether any host's support changed, and remote RPC/tunnel/worker checks reread, rehardened and reparsed the saved-server registry files on every call. Gate the title walk on an actual per-host capability flip, and reuse the merged registry read while a stat signature of its three files is unchanged.

* perf: invalidate registry read cache on in-process writes

Coarse-timestamp filesystems can reuse an inode within one tick, so a same-size rewrite could slip past the stat signature; writers in this process now bump a generation that is part of the signature.

* perf: key the registry read cache on file bytes, not stat metadata

A stat signature can miss a same-size rewrite on coarse-timestamp filesystems or a reused inode. Comparing the files' exact bytes (plus mode/ctime and the directory mode, which the uncached read re-hardens) means a hit can never serve data that differs from disk, from any writer.

* perf: only reuse a registry read once hardening holds and the path is unchanged

Reuse now requires the files' permissions to already be restricted (POSIX), so a transient chmod failure is retried on the next read as before; Windows hits keep the ACL verify-and-retry. Snapshots also record each path entry's identity, so a symlink re-pointed and restored mid-read cannot pin the value read through the other target.

* perf: build the cached registry value from the exact bytes it is keyed on

The value was computed by a second, independent read, so a directory or symlink swapped and restored around it could pin data the key's bytes never held. Each reader is split into read + parse-text, and on a miss the cache hardens, snapshots once, and parses that snapshot. Reuse also now requires the exact 0600/0700 modes the readers set, so an incomplete owner mode is repaired as before.

* perf: require the full hardened mode, including special bits, before reusing a registry read

* perf: keep Windows on the plain registry reader

Measured on a Windows host: a cache hit still has to re-verify ACLs, so it cost as much as the read it skipped (0.37 ms vs 0.33 ms). Windows now always uses the original reader, keeping its behavior byte-for-byte unchanged.
2026-11-07 09:56:47 +00:00
Neil 55697aec91 fix(cli): keep remote read-only commands working when environment usage can't be recorded (#39052)
* fix(cli): keep read-only commands working when environment usage can't be recorded

The CLI recorded each environment's last-used time with a strict store write,
so a profile whose directory refuses chmod (EPERM) failed commands whose reply
had already arrived. The desktop already skipped such failures in one path.
Move that best-effort recorder to shared code and route every desktop and CLI
usage write through it.

Fixes #38673

* test: assert the usage write failure, not call counts

Refs #38673

* test: skip the chmod EPERM case on Windows and drop a cast

Refs #38673
2026-11-06 05:53:10 -08:00
Neil d09519f0f1 refactor: group workspace and runtime contracts by defining owner (#38018) 2026-11-03 20:19:21 -08:00