• Will Chen's avatar
    Support deep linking MCP (#1550) · 744e413e
    Will Chen 提交于
    <!-- CURSOR_SUMMARY -->
    > [!NOTE]
    > Adds support for `dyad://add-mcp-server` deep links that prefill MCP
    server settings, and updates deep link context/consumers to use
    timestamp-based effects and clearing to avoid repeat handling.
    > 
    > - **Deep Link Infrastructure**:
    > - Introduce `src/ipc/deep_link_data.ts` with zod schema
    (`AddMcpServerConfigSchema`) and typed `DeepLinkData`.
    > - Extend `DeepLinkContext` with `clearLastDeepLink`, timestamped
    events, and auto-navigate to `/settings#tools-mcp` on `add-mcp-server`.
    > - **Main Process**:
    >   - Handle `dyad://add-mcp-server?name=...&config=...`:
    > - Base64-decode and validate `config`; send `deep-link-received` with
    typed payload or show error.
    > - **Settings UI (MCP)**:
    > - In `ToolsMcpSettings`, prefill form from `add-mcp-server` payload
    (supports `stdio` command/args and `http` url) and show info toast;
    clear deep link after handling.
    > - **Connectors/UI**:
    >   - Update `TitleBar`, `NeonConnector`, `SupabaseConnector` to:
    > - Depend on `lastDeepLink?.timestamp` and call `clearLastDeepLink()`
    after handling (`dyad-pro-return`, `neon-oauth-return`,
    `supabase-oauth-return`).
    > - **IPC Renderer**:
    >   - Use centralized `DeepLinkData` types in `ipc_client.ts`.
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    294a9c6f38442241b54e9bcbe19a7a772d338ee0. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    744e413e
名称
最后提交
最后更新
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
merge.config.ts 正在载入提交数据...
package-lock.json 正在载入提交数据...
package.json 正在载入提交数据...
playwright.config.ts 正在载入提交数据...
tsconfig.app.json 正在载入提交数据...
tsconfig.json 正在载入提交数据...
tsconfig.node.json 正在载入提交数据...
vite.main.config.mts 正在载入提交数据...
vite.preload.config.mts 正在载入提交数据...
vite.renderer.config.mts 正在载入提交数据...
vite.worker.config.mts 正在载入提交数据...
vitest.config.ts 正在载入提交数据...