• Adeniji Adekunle James's avatar
    feat: add edit functionality for custom AI providers (#1232) (#1171) (#1250) · 8c3fdb0a
    Adeniji Adekunle James 提交于
    ## Summary
    Adds the ability to edit existing custom AI providers through the
    settings UI.
    
    ## Changes Made
    - **UI Changes:**
      - Added "Edit Provider" button to custom provider dropdown menu
      - Modified `CreateCustomProviderDialog` to support edit mode
    
    
    - **Backend Changes:**
    - Implemented `editCustomLanguageModelProvider` handler in
    `language_model_handlers.ts`
      - Added corresponding IPC client method
    - Database transaction ensures atomicity when updating provider and
    associated models
    
    
    - **Testing:**
      - Added comprehensive e2e test covering edit functionality
      - Tests verify form pre-population, field updates, and UI persistence
      
      
    
    
    https://github.com/user-attachments/assets/e8c8600e-4fb7-4816-be95-993ede1224d4
    
    
    
    ## Closes
    Fixes #1232 and #1171
        
    <!-- This is an auto-generated description by cubic. -->
    ---
    
    ## Summary by cubic
    Adds edit support for custom language model providers in Settings. Users
    can update provider ID, name, API base URL, and API key env var, with
    safe backend updates that also retarget associated models if the ID
    changes.
    
    - New Features
      - Added “Edit Provider” option in the custom provider menu.
    - Dialog supports edit mode with pre-filled fields, unified loading
    state, and update button text.
    - New IPC handler to edit providers with validation and a transaction;
    updates linked models when IDs change.
    - IPC client and preload channel updated; React hook exposes
    editProvider mutation with cache invalidation.
      - Added e2e test covering the full edit flow.
    
    <!-- End of auto-generated description by cubic. -->
    8c3fdb0a
名称
最后提交
最后更新
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing/fake-llm-server 正在载入提交数据...
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 正在载入提交数据...