Skip to content

delete all e2e tests - #22501

Merged
Hona merged 5 commits into
anomalyco:devfrom
Hona:i-defeated-the-tests
Apr 14, 2026
Merged

delete all e2e tests#22501
Hona merged 5 commits into
anomalyco:devfrom
Hona:i-defeated-the-tests

Conversation

@Hona

@HonaHona commented Apr 14, 2026

Copy link
Copy Markdown
Member

No description provided.

CopilotAI review requested due to automatic review settings April 14, 2026 22:58
@Hona
Hona requested a review from adamdotdevin as a code ownerApril 14, 2026 22:58

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Removes the existing Playwright-based E2E harness and its supporting “test probe” instrumentation from both the app and opencode backend, leaving only a minimal placeholder E2E spec while updating Playwright.

Changes:

  • Remove E2E-only backend hooks (e.g., OPENCODE_E2E_LLM_URL) and the opencode E2E seeding script.
  • Delete the app’s E2E test suite + harness utilities, and remove app-side E2E probe instrumentation (__opencode_e2e, data-pty-id, etc.).
  • Update Playwright dependency and adjust the test:e2e:local script.

Reviewed changes

Copilot reviewed 77 out of 78 changed files in this pull request and generated 2 comments.

Show a summary per file
FileDescription
packages/opencode/src/tool/registry.tsRemoves E2E-based tool gating for patch/edit/write selection.
packages/opencode/src/provider/provider.tsRemoves E2E-only LLM baseURL override via OPENCODE_E2E_LLM_URL.
packages/opencode/script/seed-e2e.tsRemoves opencode-side E2E session/project seeding script.
packages/app/src/testing/terminal.tsRemoves terminal E2E probe/driver utilities.
packages/app/src/testing/session-composer.tsRemoves composer dock E2E driver/probe utilities.
packages/app/src/testing/prompt.tsRemoves prompt E2E probe utilities.
packages/app/src/testing/model-selection.tsRemoves model-selection E2E probe/controls.
packages/app/src/pages/session/terminal-panel.tsxRemoves terminal focus E2E probe stepping.
packages/app/src/pages/session/composer/session-todo-dock.tsxRemoves composer dock E2E probe updates/cleanup.
packages/app/src/pages/session/composer/session-composer-state.tsRemoves E2E driver override path for todos/live state.
packages/app/src/pages/error.tsxRemoves E2E error-boundary console logging hook.
packages/app/src/context/local.tsxRemoves model-selection E2E probe binding and cleanup.
packages/app/src/components/terminal.tsxRemoves terminal E2E probe wiring and data-pty-id attribute.
packages/app/src/components/prompt-input/submit.tsRemoves prompt-send E2E probe events.
packages/app/src/components/prompt-input.tsxRemoves prompt popover E2E probe updates/cleanup.
packages/app/script/e2e-local.tsRemoves local E2E runner that bootstrapped backend + seed + Playwright.
packages/app/package.jsonUpdates Playwright version; changes test:e2e:local to run Playwright directly.
packages/app/e2e/utils.tsRemoves E2E SDK/helpers and constants used by the old harness.
packages/app/e2e/tsconfig.jsonStops including removed app testing files in E2E TS config.
packages/app/e2e/todo.spec.tsAdds a placeholder/disabled E2E test.
packages/app/e2e/thinking-level.spec.tsDeletes E2E spec (model variant cycle).
packages/app/e2e/terminal/terminal.spec.tsDeletes E2E spec (terminal toggle).
packages/app/e2e/terminal/terminal-tabs.spec.tsDeletes E2E spec (terminal tabs persistence/rename/close).
packages/app/e2e/terminal/terminal-reconnect.spec.tsDeletes E2E spec (terminal reconnect behavior).
packages/app/e2e/terminal/terminal-init.spec.tsDeletes E2E spec (terminal init / new tab).
packages/app/e2e/status/status-popover.spec.tsDeletes E2E spec (status popover navigation/close).
packages/app/e2e/sidebar/sidebar.spec.tsDeletes E2E spec (sidebar collapse/persistence).
packages/app/e2e/sidebar/sidebar-session-links.spec.tsDeletes E2E spec (sidebar session navigation).
packages/app/e2e/sidebar/sidebar-popover-actions.spec.tsDeletes E2E spec (sidebar popover behaviors).
packages/app/e2e/settings/settings.spec.tsDeletes E2E specs (settings dialog + persistence scenarios).
packages/app/e2e/settings/settings-providers.spec.tsDeletes E2E specs (custom provider form).
packages/app/e2e/settings/settings-models.spec.tsDeletes E2E specs (model visibility/picker).
packages/app/e2e/settings/settings-keybinds.spec.tsDeletes E2E specs (keybind editing/reset/conflicts).
packages/app/e2e/session/session.spec.tsDeletes E2E spec (session CRUD/share flows).
packages/app/e2e/session/session-undo-redo.spec.tsDeletes E2E spec (undo/redo flows).
packages/app/e2e/session/session-review.spec.tsDeletes E2E specs (review panel/comment overflow/scroll).
packages/app/e2e/session/session-model-persistence.spec.tsDeletes E2E spec (model persistence across sessions/workspaces).
packages/app/e2e/session/session-composer-dock.spec.tsDeletes E2E specs (composer dock question/permission/todos).
packages/app/e2e/session/session-child-navigation.spec.tsDeletes E2E spec (child session navigation regression).
packages/app/e2e/selectors.tsDeletes shared E2E selector helpers.
packages/app/e2e/prompt/prompt.spec.tsDeletes E2E spec (prompt send + assistant reply).
packages/app/e2e/prompt/prompt-slash-terminal.spec.tsDeletes E2E spec (slash terminal toggle).
packages/app/e2e/prompt/prompt-slash-share.spec.tsDeletes E2E spec (slash share/unshare).
packages/app/e2e/prompt/prompt-slash-open.spec.tsDeletes E2E spec (slash open file picker).
packages/app/e2e/prompt/prompt-shell.spec.tsDeletes E2E spec (shell mode execution + UI state).
packages/app/e2e/prompt/prompt-multiline.spec.tsDeletes E2E spec (shift+enter multiline).
packages/app/e2e/prompt/prompt-mention.spec.tsDeletes E2E spec (file @mention).
packages/app/e2e/prompt/prompt-history.spec.tsDeletes E2E spec (prompt history navigation).
packages/app/e2e/prompt/prompt-footer-focus.spec.tsDeletes E2E spec (footer controls restore focus).
packages/app/e2e/prompt/prompt-drop-file.spec.tsDeletes E2E spec (drop image attachment).
packages/app/e2e/prompt/prompt-drop-file-uri.spec.tsDeletes E2E spec (drop file URI).
packages/app/e2e/prompt/prompt-async.spec.tsDeletes E2E specs (async prompt endpoint regression + restore input).
packages/app/e2e/prompt/mock.tsDeletes E2E request-body match helpers for mock LLM flows.
packages/app/e2e/prompt/context.spec.tsDeletes E2E specs (context panel open/close/actions).
packages/app/e2e/projects/workspaces.spec.tsDeletes E2E specs (workspace CRUD/reorder/reset).
packages/app/e2e/projects/workspace-new-session.spec.tsDeletes E2E spec (new sessions from workspace actions).
packages/app/e2e/projects/projects-switch.spec.tsDeletes E2E specs (project switching behavior).
packages/app/e2e/projects/projects-close.spec.tsDeletes E2E spec (closing active project navigates correctly).
packages/app/e2e/projects/project-edit.spec.tsDeletes E2E spec (edit project dialog persistence).
packages/app/e2e/models/models-visibility.spec.tsDeletes E2E spec (hide model removes from picker).
packages/app/e2e/models/model-picker.spec.tsDeletes E2E spec (model picker selection).
packages/app/e2e/fixtures.tsDeletes the full E2E fixture harness (backend + llm + project helpers).
packages/app/e2e/files/file-viewer.spec.tsDeletes E2E specs (file viewer + cmd+f search).
packages/app/e2e/files/file-tree.spec.tsDeletes E2E spec (file tree expand/open).
packages/app/e2e/files/file-open.spec.tsDeletes E2E spec (open file via palette).
packages/app/e2e/commands/tab-close.spec.tsDeletes E2E spec (mod+w closes tab).
packages/app/e2e/commands/panels.spec.tsDeletes E2E spec (review panel keybind).
packages/app/e2e/commands/input-focus.spec.tsDeletes E2E spec (ctrl+l focuses prompt).
packages/app/e2e/backend.tsDeletes isolated E2E backend startup helper.
packages/app/e2e/app/titlebar-history.spec.tsDeletes E2E specs (titlebar history navigation).
packages/app/e2e/app/session.spec.tsDeletes E2E spec (open existing session + type).
packages/app/e2e/app/server-default.spec.tsDeletes E2E spec (default server selection).
packages/app/e2e/app/palette.spec.tsDeletes E2E specs (palette open/close).
packages/app/e2e/app/navigation.spec.tsDeletes E2E spec (project route redirects).
packages/app/e2e/app/home.spec.tsDeletes E2E specs (home rendering + server picker).
packages/app/e2e/AGENTS.mdRemoves E2E testing guide content (file becomes empty).
bun.lockUpdates lockfile for Playwright dependency bump.
Comments suppressed due to low confidence (1)

packages/app/e2e/AGENTS.md:1

  • This file is now effectively empty. If the intent is to remove the E2E testing guide, it should be deleted; otherwise please leave a short note explaining where the guidance moved to (or why it was removed) to avoid a confusing empty doc file.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1 to +11
import { test } from "@playwright/test"

test(
"test something cool",
{
annotation: { type: "todo" },
},
async () => {
test.fixme()
},
)

CopilotAIApr 14, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR title says "delete all e2e tests", but this PR still adds/keeps an e2e test file (even though it immediately calls test.fixme()). Either remove the remaining test file(s) or adjust the PR title/description to reflect that e2e is being stubbed rather than fully deleted.

Copilot uses AI. Check for mistakes.
Comment on lines 276 to 284
const tools: Interface["tools"] = Effect.fn("ToolRegistry.tools")(function* (input) {
const e2e = !!(yield* env.get("OPENCODE_E2E_LLM_URL"))
const filtered = (yield* all()).filter((tool) => {
if (tool.id === CodeSearchTool.id || tool.id === WebSearchTool.id) {
return input.providerID === ProviderID.opencode || Flag.OPENCODE_ENABLE_EXA
}

const usePatch =
e2e ||
(input.modelID.includes("gpt-") && !input.modelID.includes("oss") && !input.modelID.includes("gpt-4"))
input.modelID.includes("gpt-") && !input.modelID.includes("oss") && !input.modelID.includes("gpt-4")
if (tool.id === ApplyPatchTool.id) return usePatch

CopilotAIApr 14, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change removes the only consumer of Env.Service in this layer (the OPENCODE_E2E_LLM_URL check), so the earlier const env = yield* Env.Service binding is now unused and may trigger noUnusedLocals/lint failures. Consider removing the Env.Service dependency/binding entirely (or reintroduce a use if still needed).

Copilot uses AI. Check for mistakes.
@Brendonovich

Copy link
Copy Markdown
Member

lgtm

@Hona
Hona merged commit ea463e6 into anomalyco:devApr 14, 2026
9 checks passed
thdxr added a commit that referenced this pull request Apr 15, 2026
cmaloney111 pushed a commit to psi-oss/gpd-app that referenced this pull request Apr 20, 2026
xywsxp pushed a commit to xywsxp/opencode that referenced this pull request Apr 24, 2026
Cherry-picked from b6a6da06d86ed8f436bbc52f463df71a16a71dd6
nicko-ai added a commit to VRSEN/agentswarm-cli that referenced this pull request Apr 26, 2026
Follow upstream app e2e removal from anomalyco/opencode#22501 while keeping intentional Agent Swarm fork behavior.
AIALRA-0 pushed a commit to AIALRA-0/opencode-turn-engine that referenced this pull request Jun 10, 2026
AIALRA-0 pushed a commit to AIALRA-0/opencode-turn-engine that referenced this pull request Jun 10, 2026
avion23 pushed a commit to avion23/opencode that referenced this pull request Jun 10, 2026
Cherry-picked from 0e9f105577c379c068d46a75836d11d04079b047
isaacfinnegan pushed a commit to isaacfinnegan/whispercode that referenced this pull request Jun 15, 2026
MarsQiu007 referenced this pull request in MarsQiu007/openNovel Jul 31, 2026
Cherry-picked from ea463e604cdd2a3e83e1c286e39b789455f0d413
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Hona@Brendonovich