Skip to content

fix(import): restore Warp new tab command launch#2

Closed
O0000-code wants to merge 3 commits into
mainfrom
agent/fix/GH-1-warp-new-tab-command
Closed

fix(import): restore Warp new tab command launch#2
O0000-code wants to merge 3 commits into
mainfrom
agent/fix/GH-1-warp-new-tab-command

Conversation

@O0000-code

@O0000-code O0000-code commented Apr 29, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes Warp New Tab launch behavior after recent Warp builds started opening Ensemble generated shell scripts as editable text instead of executing them.

Changes

  • Replaces the temporary shell-script launch path for Warp New Tab mode with Warp official new-tab URI for the target folder.
  • Uses macOS automation to paste and run the configured Claude command once the Warp tab opens.
  • Preserves the existing Accessibility permission error flow by returning ACCESSIBILITY_PERMISSION_REQUIRED when System Events automation is blocked.
  • Adds focused backend tests for URI encoding, command execution AppleScript generation, and escaping.

Test Plan

  • PASS: npx tsc --noEmit
  • PASS: npm run test - 9 files, 69 tests
  • PASS: npm run build
  • PASS: cd src-tauri && cargo test - 72 tests
  • PASS: manual installed-app verification with Warp New Tab launching Claude Code
  • BASELINE FAIL: cd src-tauri && cargo fmt --check reports pre-existing formatting diffs across Rust files
  • BASELINE FAIL: cd src-tauri && cargo clippy -- -D warnings reports pre-existing Clippy warnings/errors unrelated to this PR

Closes #1

Summary by CodeRabbit

  • New Features

    • Established comprehensive development tooling, including test infrastructure (Vitest, React Testing Library), linting (ESLint), and code formatting (Prettier).
    • Configured CI/CD pipelines for automated testing and quality checks on pull requests.
    • Added AI-assisted workflow automation for code review and implementation guidance.
  • Documentation

    • Added project contribution guidelines, safety policies, and development procedures.
  • Tests

    • Introduced extensive test coverage for frontend components, state management, utilities, and backend functions.
  • Chores

    • Added Git hooks and pre-commit linting via Husky.
    • Configured code ownership and formatting standards.

Bo and others added 3 commits March 2, 2026 06:40
- Add AGENTS.md for Codex CLI project context
- Add .codex/config.toml with security settings
- Add .codex/rules/safety.md and skills/ensemble-patrol.md
- Add ESLint, Prettier, Husky, lint-staged configurations
- Add Vitest test framework with 69 frontend tests
- Add 65 new Rust unit tests (parser, path, types, usage, trash, plugins)
- Add GitHub Actions CI/CD workflows (ci.yml, pr-check.yml)
- Add Codex Action workflow (deferred, needs OPENAI_API_KEY)
- Add Codex prompt templates and CODEOWNERS
- Add rustfmt.toml for Rust formatting

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… Claude schema

When `args` or `env` is `None`, serde serializes them as `null` in
~/.claude.json, which violates Claude's MCP server configuration schema.
Add `skip_serializing_if = "Option::is_none"` to omit these fields
entirely when absent, consistent with how `url` and `mcp_type` are
already handled.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use Warp's new_tab URI for the target folder, then paste and run the configured Claude command through macOS automation. This avoids Warp opening generated shell scripts as editable text in recent releases.

Fixes #1
@coderabbitai

coderabbitai Bot commented Apr 29, 2026

Copy link
Copy Markdown

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

This PR establishes comprehensive development infrastructure for the Ensemble Tauri 2 project: introduces Codex AI configuration and safety rules, adds GitHub Actions CI/CD and Codex automation workflows, configures ESLint/Prettier formatting standards, implements Vitest test framework with setup helpers, adds extensive test coverage for backend utilities and frontend components, and refactors Warp tab launch from shell scripts to AppleScript for reliability.

Changes

Cohort / File(s) Summary
Codex Configuration
.codex/config.toml, .codex/rules/safety.md, .codex/skills/ensemble-patrol.md
Configures Codex AI with gpt-5.3-codex, workspace-write sandbox, Linear MCP integration, and defines QA patrol procedures including test running, linting, tech-debt scanning, and automated issue creation.
Code Ownership & Documentation
.github/CODEOWNERS, AGENTS.md
Establishes @O0000-code as approver for protected paths (.codex/, .github/) and provides comprehensive developer guide covering architecture, setup, testing, and contribution conventions.
Codex Prompt Templates
.github/codex/prompts/implement.md, .github/codex/prompts/review.md
Defines agent execution workflows for implementing Linear issues and performing PR code reviews with detailed checklists, TDD requirements, and structured output formats.
GitHub Actions Workflows
.github/workflows/ci.yml, .github/workflows/codex.yml, .github/workflows/pr-check.yml
Adds parallel frontend/backend CI jobs with linting, testing, and coverage reporting; Codex automation on PR/issue events; and PR quality gates validating commits, descriptions, and file patterns.
Code Quality Tooling
.husky/pre-commit, .prettierignore, .prettierrc, eslint.config.mjs
Configures Prettier formatting (100-char line width, semicolons, single quotes), ESLint rules for React/TypeScript with hook validation and any warnings, and Husky pre-commit hook for lint-staged.
Test Framework Setup
vitest.config.ts, src/test/setup.ts, src/test/helpers/tauriMock.ts
Establishes Vitest with jsdom environment, global browser API mocks, and Tauri IPC mock registry for test isolation.
Package Configuration
package.json, src-tauri/rustfmt.toml
Adds test/linting scripts, devDependencies (Vitest, ESLint, Prettier, Testing Library), lint-staged config, and Rust formatter settings (100-char width, 4-space indent).
Backend Command Tests
src-tauri/src/commands/plugins.rs, src-tauri/src/commands/trash.rs, src-tauri/src/commands/usage.rs
Adds unit tests for plugin ID parsing, skill description extraction, timestamp parsing, and MCP/skill usage stat tracking.
Backend Utility Tests
src-tauri/src/utils/parser.rs, src-tauri/src/utils/path.rs, src-tauri/src/types.rs
Comprehensive test suites for frontmatter/metadata parsing, path expansion/tilde collapsing, and serde serialization roundtrips.
Frontend Component Tests
src/components/__tests__/Badge.test.tsx, src/components/__tests__/EmptyState.test.tsx, src/components/__tests__/Toggle.test.tsx
Tests Badge variants (status/count/category/tag), EmptyState icon/title/description rendering, and Toggle checked/disabled/onChange behavior.
Frontend Store Tests
src/stores/__tests__/appStore.test.ts, src/stores/__tests__/settingsStore.test.ts
Validates Zustand store mutations for category/tag selection, API key masking, and stats merging without overwriting unrelated fields.
Frontend Utility Tests
src/utils/__tests__/constants.test.ts, src/utils/__tests__/parseDescription.test.ts, src/utils/__tests__/tauri.test.ts, src/utils/__tests__/text.test.ts
Tests color category lookup, description sentence splitting with delimiter handling, Tauri runtime detection, and sentence truncation with ellipsis formatting.
Warp Command Refactoring
src-tauri/src/commands/import.rs
Replaces temporary shell script execution with two-step AppleScript flow: URI scheme opens folder in Warp, then AppleScript pastes command while preserving clipboard; adds stderr-based permission detection and escaping tests.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐰 A grand infrastructure takes shape, so neat—
Codex whispers, workflows dance in beat,
Tests bloom bright in every domain,
Prettier formats, ESLint's refrain,
Warp soars swift through AppleScript's art! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The PR includes significant out-of-scope changes: extensive project scaffolding (Codex config, CI workflows, testing infrastructure, linters, formatter configs) unrelated to the Warp fix objective. Separate project infrastructure setup (config files, workflows, testing framework) into a distinct PR from the targeted Warp #1 fix to maintain focused, reviewable changesets.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Title is specific and directly related to the main fix: restoring Warp new tab command launch functionality after recent Warp version changes broke shell script execution.
Linked Issues check ✅ Passed The PR addresses issue #1 by replacing shell-script launch with Warp URI scheme and macOS automation to execute commands, with added unit tests for URI encoding and AppleScript generation.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/fix/GH-1-warp-new-tab-command

Review rate limit: 2/3 reviews remaining, refill in 20 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@O0000-code

Copy link
Copy Markdown
Owner Author

Closing this PR because it was accidentally based on a local main that is ahead of origin/main. I will reopen a clean PR from origin/main containing only the Warp fix.

@O0000-code O0000-code closed this Apr 29, 2026
@O0000-code
O0000-code deleted the agent/fix/GH-1-warp-new-tab-command branch April 29, 2026 07:48
Sign up for free to 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.

Fix Warp new tab launch command execution

1 participant