mirror of
https://github.com/nexu-io/open-design.git
synced 2026-05-31 19:04:39 +07:00
* refactor(web): rename Execution mode and tighten settings dialog UI - Rename "Settings → Execution & model" to "Settings → Execution mode" across the web UI, i18n keys, docs, and e2e selectors. - Redesign SettingsDialog: kicker + title row in the modal head, a flatMap-driven agent grid that renders the inline test-result row beside the selected card, compact unavailable cards with right-aligned install/docs links, and an install guide that only shows when the user has no working agent picked. - Trim verbose subtitle / hint copy across chat model, CLI proxy, media providers, custom instructions, and memory sections. - Add an `info` Icon variant for the redesigned settings hints. - Update e2e selectors and docs that referenced the old menu label. Co-authored-by: Cursor <cursoragent@cursor.com> * refactor(web): polish Settings dialog — media providers, skills, MCP Media providers - Hide internal Stub fixture provider (settingsVisible: false) - Split provider list into Available (integrated, editable) and Coming Soon (collapsed <details> drawer with name/hint/Docs link only) - Drop right-side Integrated/Configured badges from every row; all rows in the main list are integrated by definition; inline grey "Saved" chip next to the provider name is the only status indicator now - "Saved" badge moves inline to the right of the provider name and uses a neutral grey treatment (was a standalone green pill below the name) - "Reload from daemon" button shows a 2s green "✓ Reloaded" flash on success instead of leaving a permanent paragraph under the header; errors remain sticky Skills - Replace three pill-row filter banks (Source, Type, Category) with a compact single-row toolbar: search + three inline <select> dropdowns side by side; active filter highlighted with a stronger border MCP server - Shorten section hint to one line - Move WHAT YOUR AGENT CAN DO capabilities above the client dropdown (motivate before asking to act) - Move "Build the daemon first" warning below the code block where it contextually explains why the command might fail, not as a top-level error before the user has done anything - Downgrade "Restart your client" left-border from accent orange to border-strong grey — it is a next step, not a warning External MCP - Shorten section hint to one line Misc CSS - Add .sr-only utility for accessible off-screen live regions - Add button.ghost.is-success-flash for transient success feedback - Add .library-filter-selects / .library-filter-select for dropdown filter rows - Add .media-provider-coming-soon-* for the roadmap drawer Co-authored-by: Cursor <cursoragent@cursor.com> * [codex] Add Cursor Agent auth diagnostics (#1538) * Add Cursor Agent auth diagnostics * Handle Cursor not logged in auth status * Address Cursor auth review feedback * Classify Cursor stdout auth failures * test: expand Memory and Routines coverage (#1521) * test: expand settings and packaged coverage * test: extend memory settings coverage * test: cover routine settings failure states * test: cover routine operation failures * test: fix daemon test typing on CI * test: decouple packaged smoke from orbit bug * test: avoid live memory LLM calls in route tests * test: fix daemon fetch typing in CI * fix: restore preview comment and inspect toggles * test: align manual edit flow with current inspector UX * test: align comment attachment flow with current preview comments UI * fix: probe resolved Codex launch path during detection * fix: remove duplicate board activation helper after rebase * test: update ghost cli detection mock * test: align FileViewer toolbar expectation * ci: move full app tests to extended lane * ci: run app tests by changed scope * ci: cover shared app inputs in test scopes * ci: avoid setup-node cache in windows packaged smoke * test: align extended settings and manual edit flows * refactor(web): rename Execution mode and tighten settings dialog UI - Rename "Settings → Execution & model" to "Settings → Execution mode" across the web UI, i18n keys, docs, and e2e selectors. - Redesign SettingsDialog: kicker + title row in the modal head, a flatMap-driven agent grid that renders the inline test-result row beside the selected card, compact unavailable cards with right-aligned install/docs links, and an install guide that only shows when the user has no working agent picked. - Trim verbose subtitle / hint copy across chat model, CLI proxy, media providers, custom instructions, and memory sections. - Add an `info` Icon variant for the redesigned settings hints. - Update e2e selectors and docs that referenced the old menu label. Co-authored-by: Cursor <cursoragent@cursor.com> * refactor(web): settings dialog UX polish — layout, dedup, and interactions - Remove duplicate section headers from all settings sections (Notifications, Appearance, Privacy, About, Design Systems, Skills, MCP server, Connectors, Media providers, Routines) - Restructure Notifications cards: title + toggle on same row, hint below - Restructure Skills toolbar: search + New skill button in row 1, filter dropdowns in row 2 with left-aligned labels - Restructure Pet section: tabs and Wake button on same row - MCP server: group capabilities and setup into separate cards, remove nested double border on client picker - Connectors: show connect errors as toast instead of inline card text, position toast inside panel, hide single-provider tab - Media providers: move Reload button to left-aligned small ghost button - Memory: info icon shows path on hover, Path copied badge inline; Extraction history and MEMORY.md as standalone collapsible cards; group header hidden when only one type visible - Pet grid cards: Adopt button hidden until hover, icon-only when adopted, description truncated to 2 lines, text fills full width via abs positioning - Agent cards: selected state uses accent border only, no background change - Add sun/moon icons to Appearance theme buttons (Light/Dark) - Shorten several hint strings for clarity Co-authored-by: Cursor <cursoragent@cursor.com> * fix(web): resolve i18n review comments from PR #1568 - Update settings.title and settings.envConfigure to localized "Execution mode" in all 17 non-English locale files - Add settings.memoryFlashPathCopied to all locales and use t() in MemorySection instead of hardcoded English "Path copied" - Add settings.agentModelHead to all locales and use t() in SettingsDialog for "Model for:" agent model row header Co-authored-by: Cursor <cursoragent@cursor.com> * fix(web): update tests to match settings dialog redesign - Add role prop to Toast (alert/status) so error toasts from ConnectorsBrowser are announced immediately by screen readers - Clear connectErrorToast on successful connector retry - Update SettingsDialog.execution tests: - Remove heading assertions for About and MCP server (headers were intentionally removed as duplicate nav labels) - Rewrite CLI env test to use codex-only fields (per-agent filtering means only selected agent's fields are shown) - Update Composio key hint text assertion to match shortened copy - Replace filter button click with select change for Type filter - Replace Configured/Unsupported/Integrated badge checks with updated assertions matching the new media provider UI - Replace disabled BFL row test with coming-soon section check - Update SettingsDialog.media test: remove Fal.ai input assertions (non-integrated providers no longer have editable fields) Co-authored-by: Cursor <cursoragent@cursor.com> * fix(web): unblock CI for #1568 Three small fixes to get Playwright back to green on the settings dialog redesign: 1. `en.ts`: revert `settings.envConfigure` to "Configure execution mode". This PR collapsed both `settings.title` (header gear) and `settings.envConfigure` (entry-side foot pill) to the same string "Execution mode", so `getByRole('button', { name: 'Execution mode' })` resolved to two elements and tripped Playwright strict mode in the three Composio-flow tests (entry-configuration-flows.test.ts:174, 228, 285). Restoring the distinct label also gives screen readers a clearer hint for the pill, which doubles as a status display. Non-English locales still alias the two keys; happy to follow up on those, but they don't gate the (English-only) Playwright suite. 2. entry-configuration-flows.test.ts:167 — `Connectors` heading is now rendered at `<h2>` in the modal-head (SettingsDialog.tsx:1545), with the inner `<h3>` removed by design (see comment around line 1448). Updated the assertion from `level: 3` to `level: 2`. 3. project-management-flows.test.ts:360 — same change for the `Pets` heading. Verified locally with `pnpm --filter @open-design/web typecheck` and `pnpm --filter @open-design/e2e typecheck`. The actual Playwright specs need the dev server up; I didn't rerun them here, but the locator changes are mechanical and match the new DOM. * fix(web): use exact match for Execution mode button locator Playwright's `getByRole({ name })` defaults to substring matching, so `{ name: 'Execution mode' }` still resolved to both the header gear (aria-label "Execution mode") and the entry-side foot pill (aria-label "Configure execution mode" — substring contains "Execution mode"). Strict mode tripped in the three composio-flow tests at lines 202, 257, and 319. Adding `exact: true` makes each call resolve to just the header gear, which opens the same dialog the foot pill does — the test outcomes are unchanged. --------- Co-authored-by: chaoxiaoche <chaoxiaoche@chaoxiaochedeMacBook-Pro.local> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Caprika <56862773+alchemistklk@users.noreply.github.com> Co-authored-by: shangxinyu1 <shangxinyu@refly.ai> Co-authored-by: lefarcen <935902669@qq.com>
230 lines
5.4 KiB
Markdown
230 lines
5.4 KiB
Markdown
# Windows Troubleshooting Guide
|
|
|
|
Open Design runs on Windows natively, but the path is less travelled than macOS, Linux, or WSL2. This guide covers the most common errors you will hit on a fresh Windows machine and the exact fix for each.
|
|
|
|
> **Tip:** If you already have WSL2 set up, that is the smoothest path on Windows. This guide is for native Windows (PowerShell).
|
|
|
|
---
|
|
|
|
## Prerequisites
|
|
|
|
| Tool | Version | How to verify |
|
|
|---|---|---|
|
|
| Node.js | `~24` | `node -v` |
|
|
| pnpm | `10.33.x` | `pnpm -v` |
|
|
| Git | any recent | `git --version` |
|
|
|
|
---
|
|
|
|
## 1. Node 24 installation
|
|
|
|
### Symptom
|
|
`node -v` returns something older than `v24.x.x`, or you do not have Node installed at all.
|
|
|
|
### Fix
|
|
|
|
**Option A — nvm-windows (recommended)**
|
|
|
|
1. Install [nvm-windows](https://github.com/coreybutler/nvm-windows/releases).
|
|
2. In a fresh PowerShell window:
|
|
|
|
```powershell
|
|
nvm install 24
|
|
nvm use 24
|
|
node -v # should print v24.x.x
|
|
```
|
|
|
|
**Option B — Official installer**
|
|
|
|
Download and run the Node 24 `.msi` from [nodejs.org](https://nodejs.org/).
|
|
|
|
### Common nvm-windows gotcha
|
|
|
|
If running `nvm version` or `node -v` pops up a Windows dialog that asks *"How do you want to open this file?"*, a fake `nvm` file (no extension) has been created in `C:\Windows\System32`.
|
|
|
|
**Fix:** Delete that file, then restart PowerShell.
|
|
|
|
---
|
|
|
|
## 2. pnpm not found
|
|
|
|
### Symptom
|
|
|
|
```text
|
|
pnpm : The term 'pnpm' is not recognized as the name of a cmdlet...
|
|
```
|
|
|
|
### Fix (Corepack — recommended)
|
|
|
|
The repo pins `pnpm@10.33.2` in `packageManager`. Corepack selects that exact version automatically:
|
|
|
|
```powershell
|
|
corepack enable
|
|
corepack pnpm --version # should print 10.33.2
|
|
```
|
|
|
|
> **Note:** If `corepack enable` fails with `EPERM` or `EACCES` (common when Node is installed under `C:\Program Files\nodejs`), use the npm-global fallback in the next section instead.
|
|
|
|
|
|
|
|
### Fix (npm global — alternative)
|
|
|
|
If Corepack is not available:
|
|
|
|
```powershell
|
|
npm install -g pnpm@10.33.2
|
|
pnpm -v # should print 10.33.2
|
|
```
|
|
|
|
---
|
|
|
|
## 3. Build scripts blocked
|
|
|
|
### Symptom
|
|
|
|
During `pnpm install` you see:
|
|
|
|
```text
|
|
Ignored build scripts: better-sqlite3, ...
|
|
```
|
|
|
|
Later, `pnpm tools-dev run web` fails with native-module errors.
|
|
|
|
### Fix
|
|
|
|
pnpm 10 blocks lifecycle scripts by default. Allow the packages that need native compilation:
|
|
|
|
```powershell
|
|
pnpm approve-builds
|
|
```
|
|
|
|
Approve any packages that appear in the list (commonly `better-sqlite3`, `electron`, and `esbuild`). Then re-run:
|
|
|
|
```powershell
|
|
pnpm install
|
|
```
|
|
|
|
> **Note:** `better-sqlite3` may fall back to compiling from source on Windows. If `pnpm install` hangs or fails on this package, make sure the Visual Studio Build Tools (step 4) are installed *before* running `pnpm install`.
|
|
|
|
---
|
|
|
|
## 4. Visual Studio / `gyp` build errors
|
|
|
|
### Symptom
|
|
|
|
```text
|
|
gyp ERR! find VS could not find Visual Studio
|
|
```
|
|
|
|
or
|
|
|
|
```text
|
|
error MSB8036: The Windows SDK version was not found
|
|
```
|
|
|
|
### Fix
|
|
|
|
Install **Build Tools for Visual Studio 2022** with the following workloads:
|
|
|
|
- **Desktop development with C++**
|
|
- **MSVC v143 - VS 2022 C++ x64/x86 build tools**
|
|
- **Windows 11 SDK** (or Windows 10 SDK if you are on Windows 10)
|
|
|
|
Download: [https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022)
|
|
|
|
If you see `gyp ERR! find Python`, verify Python is installed:
|
|
|
|
```powershell
|
|
python --version # or py --version
|
|
```
|
|
|
|
If missing, install Python 3.x from [python.org](https://www.python.org/downloads/) and ensure it's on PATH.
|
|
|
|
After installing all build tools, open a **fresh** PowerShell window and re-run `pnpm install`.
|
|
|
|
---
|
|
|
|
## 5. PowerShell execution policy
|
|
|
|
### Symptom
|
|
|
|
```text
|
|
cannot be loaded because running scripts is disabled on this system.
|
|
```
|
|
|
|
### Fix
|
|
|
|
On fresh Windows installs, PowerShell blocks script execution by default:
|
|
|
|
```powershell
|
|
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
|
```
|
|
|
|
Restart PowerShell after changing the policy.
|
|
|
|
---
|
|
|
|
## 6. Start the dev server
|
|
|
|
### Symptom
|
|
You have completed the steps above but are not sure how to launch the app.
|
|
|
|
### Fix
|
|
|
|
From the repository root:
|
|
|
|
```powershell
|
|
pnpm tools-dev run web
|
|
```
|
|
|
|
Expected output ends with something like:
|
|
|
|
```text
|
|
Open Design dev server ready
|
|
- Local: http://localhost:17573
|
|
```
|
|
|
|
The exact port may change; always read the terminal output.
|
|
|
|
---
|
|
|
|
## Quick diagnostic checklist
|
|
|
|
Run these commands in PowerShell before opening an issue. Include the output in your report.
|
|
|
|
```powershell
|
|
node -v
|
|
pnpm -v
|
|
where.exe pnpm
|
|
where.exe node
|
|
where.exe opencode
|
|
corepack --version
|
|
python --version # or py --version
|
|
Get-ExecutionPolicy -List
|
|
```
|
|
|
|
## 7. Optional: quick launcher
|
|
|
|
If you want a double-click entry point on Windows, create a `launch.bat` file in the repo root with:
|
|
|
|
```bat
|
|
@echo off
|
|
cd /d %~dp0
|
|
corepack pnpm tools-dev run web
|
|
```
|
|
|
|
That keeps the launcher on the supported `pnpm tools-dev run web` path while still giving you a one-click start.
|
|
|
|
---
|
|
|
|
## Optional: OpenCode agent CLI on Windows
|
|
|
|
OpenCode is one of the local agent CLIs Open Design can drive. If you want to use it:
|
|
|
|
```powershell
|
|
npm install -g opencode-ai
|
|
where.exe opencode # should show C:\Users\YOUR_USERNAME\AppData\Roaming\npm\opencode.cmd
|
|
opencode --version
|
|
```
|
|
|
|
If Open Design still shows OpenCode as *not installed* in **Settings → Execution mode**, click **Rescan** after confirming the `opencode.cmd` directory is on your user `PATH`.
|