fix(web): don't copy a cloned server's other settings (#1915)
Review follow-ups on #2038. `configModalTarget` is the *source* server in clone mode, so spreading its settings copied that server's OAuth client secret, metadata, roots and behavior flags onto a new entry the user had only given a URL and headers. Only an edit carries the other fields forward now — it has to, since `settings` replaces the node wholesale — while add and clone build from the empty settings shape. Also drops an unnecessary `as unknown as` in the new useServers test (`mcpServers` already holds `StoredMCPServer`, which types `headers`), and removes a `settings: null` instruction the parameter's type does not allow. Signed-off-by: cliffhall <cliff@futurescale.com>
This commit is contained in:
parent
9aab945964
commit
82ce02b516
1 changed files with 21 additions and 10 deletions
|
|
@ -265,8 +265,8 @@ export function useServers(opts: UseServersOptions): UseServersResult {
|
|||
// settings node on disk" — so a config-only save cannot silently wipe
|
||||
// persisted headers / metadata / OAuth credentials. A caller editing a
|
||||
// field that lives on settings (e.g. ServerConfigModal's custom headers)
|
||||
// passes the full settings object it wants written. To explicitly clear
|
||||
// settings, send `settings: null`.
|
||||
// passes the full settings object it wants written, which replaces the
|
||||
// node wholesale — so it must carry forward the fields it isn't editing.
|
||||
const res = await doFetch(
|
||||
`${base}/api/servers/${encodeURIComponent(originalId)}`,
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue