• Will Chen's avatar
    Pro Trial models (#2387) · bb0f30b0
    Will Chen 提交于
    <!-- devin-review-badge-begin -->
    
    ---
    
    <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2387">
      <picture>
    <source media="(prefers-color-scheme: dark)"
    srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1">
    <img
    src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1"
    alt="Open with Devin">
      </picture>
    </a>
    <!-- devin-review-badge-end -->
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Restricts Dyad Pro trial users to the Auto model and adds an upgrade
    call-to-action. Non-trial users see the full set of cloud and local
    models as before.
    
    - **New Features**
    - Added useTrialModelRestriction hook to detect trial status and
    auto-switch to the Auto model.
    - Updated ModelPicker to show an upgrade banner and only the Auto model
    for trial users; hides cloud and local models.
      - Extended IPC user budget response and schema to include isTrial.
      - Updated TitleBar to show "Pro Trial" when applicable.
    
    <sup>Written for commit 714d2c704f155c004240e563e0e850ace0c9f5f8.
    Summary will update on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Medium Risk**
    > Introduces trial-based gating in the model picker and an effect that
    can automatically change a user’s selected model, which could impact UX
    if trial detection is wrong or delayed.
    > 
    > **Overview**
    > **Trial enforcement for model selection.** Adds
    `useTrialModelRestriction` to derive `isTrial` from `get-user-budget`
    and auto-switch trial users to the `auto` model.
    > 
    > **Model picker gating + upgrade CTA.** Updates `ModelPicker` to show
    an upgrade banner (opening the subscription URL via
    `ipc.system.openExternalUrl`) and to hide all cloud/local model choices
    for trial users, leaving only the `auto` option.
    > 
    > **IPC/schema update.** Extends user budget IPC types and
    `pro_handlers` API parsing to include an `isTrial` flag (defaulting to
    `false` when absent).
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    7928275e3b1a7d32ec792609968d9d5786ee8582. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    bb0f30b0
名称
最后提交
最后更新
.claude 正在载入提交数据...
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
makers 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.oxfmtrc.json 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
AGENTS.md 正在载入提交数据...
CLA.md 正在载入提交数据...
CLAUDE.md 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
lint-staged.config.js 正在载入提交数据...
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 正在载入提交数据...