Files
kuddev 0e6acf89e3 wip: prepare cross-platform previews and workspace improvements
Capture cross-platform startup, SSH credentials, preview packaging gates, and current SSH, answer-reader, math, and icon work. Remove unrelated product comparisons from public source comments.

Preview helper and shell tests pass locally. Native macOS/Linux build, test, and package validation remain pending in CI. Local Windows-only hooks cannot execute under WSL; content and workflow checks were run separately.
2026-09-05 14:51:55 +08:00

91 lines
3.1 KiB
Python

from __future__ import annotations
import json
from conformance.harness import ConformanceContext, ConformanceError, require
RESTORED_LABEL = "conformance-restored"
def run(ctx: ConformanceContext) -> dict[str, object]:
ctx.ensure_single_tab()
ctx.api(
"tab.rename",
{"window_id": ctx.window_id, "tab_index": 0, "name": RESTORED_LABEL},
)
ctx.api("tab.new", {"window_id": ctx.window_id})
saved = ctx.wait_for_session(
lambda value: len(value.get("tabs") or []) == 2
and value["tabs"][0].get("custom_name") == RESTORED_LABEL
)
require(not saved.get("clean_exit", False), "autosave incorrectly marked a live session clean")
restart_ms = ctx.restart()
snapshot = ctx.poll(
ctx.snapshot,
lambda value: len((value.get("windows") or [{}])[0].get("tabs") or []) == 2,
"cold restart did not restore two tabs",
timeout=10.0,
)
ctx.refresh_targets(snapshot)
labels = [tab.get("label") for tab in snapshot["windows"][0]["tabs"]]
require(RESTORED_LABEL in labels, f"restored tab label is missing: {labels}")
ctx.detect_shell()
pane_ids = [
int(pane["id"])
for tab in snapshot["windows"][0]["tabs"]
if tab.get("kind") == "shell"
for pane in tab.get("panes") or []
]
markers = {pane_id: f"NEBULA_RESTORED_PANE_{pane_id}_OK" for pane_id in pane_ids}
observations: dict[int, dict[str, object]] = {}
for pane_id, marker in markers.items():
processes = ctx.api(
"pane.procs",
{"window_id": ctx.window_id, "pane_id": pane_id},
allow_error=True,
)
observations[pane_id] = {"processes": processes}
try:
# Keep the complete marker out of PowerShell's command echo. Only
# executed output may satisfy the observation below.
ctx.prompt(ctx.marker_command(marker.removesuffix("OK"), "OK"), pane_id)
except Exception as error:
observations[pane_id]["prompt_error"] = str(error)
def read_restored_panes() -> dict[int, dict[str, object]]:
for pane_id in pane_ids:
try:
observations[pane_id]["read"] = ctx.read(pane_id, lines=40)
except Exception as error:
observations[pane_id]["read_error"] = str(error)
return observations
try:
ctx.poll(
read_restored_panes,
lambda value: all(
markers[pane_id] in str(value[pane_id].get("read", {}).get("text", ""))
for pane_id in pane_ids
),
"restored panes did not answer runtime input",
timeout=10.0,
)
except Exception as error:
raise ConformanceError(
f"{error}; restored pane diagnostics: "
f"{json.dumps(observations, ensure_ascii=False, sort_keys=True)}"
) from error
return {
"autosave_converged": True,
"unclean_exit_restored": True,
"restored_tab_count": 2,
"restored_custom_label": True,
"restored_panes_live": True,
"restart_ms": restart_ms,
}