Skip to content

Let a token-only provider save a base URL change - #2136

Merged
fengzai6 merged 1 commit into
mainfrom
fix/token-only-provider-base-url-save
Oct 20, 2026
Merged

fengzai6 merged 1 commit into
mainfrom
fix/token-only-provider-base-url-save

Conversation

@fengzai6

Copy link
Copy Markdown
Collaborator

Summary

管理 providers 时,编辑一个没有配置 OAuth app 的 token-only provider(oauthEnabled=false),只改 base URL 无法保存,Save 按钮是禁用状态,必须顺手填一对 OAuth client ID/secret 才能存。

原因是编辑表单把「这一行没有 OAuth app」当成了「这次编辑是去配 OAuth」:对 !oauthEnabled 的行强制要求 client ID 和 secret 两栏都非空,于是任何只改 baseUrl(或只改显示名)的编辑都被挡下。后端 ApplyEdits 是纯 PATCH,baseUrl 单独修改完全合法,这个限制只存在于前端。

现在 OAuth client pair 是一条统一规则:要么都填,要么都空。token-only 的行只改 baseUrl / 显示名即可保存;真正开始填 client ID 时仍然要求两栏都填。新配 OAuth 时才会顺带发送默认 scopes,此前没有 OAuth 的行保持没有。

Related

Closes #2135

Changes

  • 编辑表单不再把 token-only provider 的编辑当作「配置 OAuth」,只改 baseUrl 或显示名可以保存
  • OAuth client ID / secret 保持 all-or-nothing 校验(两栏都空或都填),与 provider 是否已有 OAuth app 无关
  • 默认 OAuth scopes 只在这一行本次新配了 OAuth app 时随 PATCH 发送

Test plan

  • token-only provider 只改 base URL 能保存,且 PATCH 只含 baseUrl
  • host 迁移仍要求重新输入新 host 的 OAuth secret
  • 同 host 仅改路径仍无需 secret 即可保存
  • masked baseUrl 只改显示名时不回传该 URL
  • pnpm vitest run 全量(281 文件 / 2807 测试)通过;lint 0 error

@fengzai6 fengzai6 self-assigned this Oct 20, 2026

@ppXD ppXD left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@fengzai6
fengzai6 merged commit eb5ca2e into main Oct 20, 2026
2 checks passed
@fengzai6
fengzai6 deleted the fix/token-only-provider-base-url-save branch October 20, 2026 05:20
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.

Let a token-only provider save a base URL change

2 participants