deepseek-harness/apps/web/tests
ZiyaZhang 8fb6c2bd69 refactor(web): open produced files through the Host, not over HTTP
Scope decision: previews for a browser that is not on the Host machine are
not supported. With that settled, host.openPath answers the supported case
completely — a file:// document in a real browser has full page capabilities
and no reach into /api — and the HTTP serving this branch had built answered
only the unsupported one.

Removed: the /f route and its listener, the workspace-file URL shape,
ApiProxy.workspaceRootOf, ConnectionHandle.fileUrl, and the port published
into the index page.

Kept, and finished:
- the produced-files row a turn ends with, derived from mutation locations;
- the path link now reads as a link at rest, not only on hover — the reported
  "I can't open what it made" was this, sitting on a working capability;
- the Host opener prefers the default BROWSER for .html/.htm/.xhtml/.svg, so
  a developer who binds .html to an editor still gets a rendered page
  (macOS via the LaunchServices https handler, Linux via $BROWSER, every
  failure falling back to the default application).

The retired designs and their measurements stay in the Agent Note, including
why same-origin serving was unsafe and why the sandbox that fixed it broke
the pages invisibly.
2026-08-01 03:15:54 -07:00
..
snapshots test(web): refresh queue-actions golden for the lineage-free header 2026-07-31 22:29:14 +08:00
access-confirmation.e2e.ts Merge remote-tracking branch 'origin/master' into worktree/unify-workspace-add 2026-07-31 17:33:19 +08:00
approval-composer.e2e.ts cleanup(web): give adding a Workspace one route 2026-07-31 15:47:40 +08:00
built-boot.snapshot.ts test(web-cards): update card specs and snapshots for collapsed ToolRow 2026-07-31 16:34:16 +08:00
code-mode-round.e2e.ts cleanup(web): give adding a Workspace one route 2026-07-31 15:47:40 +08:00
composer-draft-scroll.e2e.ts cleanup(web): give adding a Workspace one route 2026-07-31 15:47:40 +08:00
cordis-tool-round.e2e.ts cleanup(web): give adding a Workspace one route 2026-07-31 15:47:40 +08:00
core-web-profile.snapshot.ts test(web): smoke Core Web profile tools 2026-07-31 17:31:41 +08:00
details-session-lifecycle.e2e.ts cleanup(web): give adding a Workspace one route 2026-07-31 15:47:40 +08:00
lifecycle-chrome.e2e.ts fix(web): address the review round on the one-route add flow 2026-07-31 16:23:49 +08:00
live-interactions.e2e.ts fix(web): surface terminal turn failures 2026-07-31 03:10:48 -07:00
message-actions.e2e.ts cleanup(web): drop the unimplemented user-message edit control 2026-07-31 16:23:36 +08:00
models-settings.e2e.ts feat(locale): derive the initial Settings language from the browser 2026-07-31 15:26:46 +08:00
navigation-panes.e2e.ts Merge remote-tracking branch 'github/master' into xtr/trajectory-timeline-polish 2026-07-31 20:01:16 +08:00
onboarding-deepseek-config.e2e.ts Merge remote-tracking branch 'origin/master' into worktree/locale-browser-default 2026-07-31 16:42:37 +08:00
permission-policy-context.e2e.ts fix(web): pass the scaffold root in the new permission-policy scenario 2026-07-31 16:58:42 +08:00
pin-browse-picker.overlay.yml cleanup(web): give adding a Workspace one route 2026-07-31 15:47:40 +08:00
plan-review.e2e.ts cleanup(web): give adding a Workspace one route 2026-07-31 15:47:40 +08:00
produced-files.e2e.ts refactor(web): open produced files through the Host, not over HTTP 2026-08-01 03:15:54 -07:00
question-composer.e2e.ts cleanup(web): give adding a Workspace one route 2026-07-31 15:47:40 +08:00
queue-actions.e2e.ts fix(web): preserve queue on stop 2026-07-31 20:51:05 +08:00
replay-round-trip.e2e.ts cleanup(web): give adding a Workspace one route 2026-07-31 15:47:40 +08:00
scaffold-hermetic.e2e.ts fix(web): isolate replay skill discovery 2026-07-30 19:30:06 +08:00
scaffold.ts fix(web): hide session lineage in header 2026-07-31 21:08:57 +08:00
search-card.snapshot.ts test(web-cards): update card specs and snapshots for collapsed ToolRow 2026-07-31 16:34:16 +08:00
seeded-history.e2e.ts fix(web): let context injection cards fit content 2026-07-31 05:20:54 -07:00
settings-chrome.e2e.ts fix(locale): gate browser detection on window and tolerate a missing languages list 2026-07-31 15:49:59 +08:00
shipped-composition.e2e.ts fix(cli): align shipped composition contracts 2026-07-31 18:25:03 +08:00
sidebar-scrollbar.e2e.ts test(web): pin browser replay locale 2026-07-30 11:39:11 +08:00
skill-invocation-policy.e2e.ts cleanup(web): give adding a Workspace one route 2026-07-31 15:47:40 +08:00
smoke-real.e2e.ts Merge remote-tracking branch 'origin/master' into worktree/unify-workspace-add 2026-07-31 17:25:12 +08:00
startup-auto-selection.e2e.ts test(web): follow connectFreshWorkspace's staged-directory signature 2026-07-31 18:46:22 +08:00
steering.e2e.ts Merge remote-tracking branch 'origin/master' into fix/remove-badge 2026-07-31 19:13:22 +08:00
support.ts Merge remote-tracking branch 'origin/master' into worktree/unify-workspace-add 2026-07-31 17:33:19 +08:00
web-search-round.e2e.ts fix(web): carry the merged master through the add-workspace helper 2026-07-31 16:44:22 +08:00
workspace-management.e2e.ts Merge origin/master into same-basename workspace fix 2026-07-31 18:42:20 +08:00