frdel commited on
Commit
15728b4
·
1 Parent(s): 78f7378

autoscroll servers

Browse files
python/api/mcp_servers_apply.py CHANGED
@@ -15,10 +15,11 @@ class McpServersApply(ApiHandler):
15
  # MCPConfig.update(mcp_servers) # done in settings automatically
16
  set_settings_delta({"mcp_servers": "[]"}) # to force reinitialization
17
  set_settings_delta({"mcp_servers": mcp_servers})
18
-
19
  time.sleep(1) # wait at least a second
20
- MCPConfig.wait_for_lock() # wait until config lock is released
 
 
21
 
22
  except Exception as e:
23
  return {"success": False, "error": str(e)}
24
- return {"success": True}
 
15
  # MCPConfig.update(mcp_servers) # done in settings automatically
16
  set_settings_delta({"mcp_servers": "[]"}) # to force reinitialization
17
  set_settings_delta({"mcp_servers": mcp_servers})
18
+
19
  time.sleep(1) # wait at least a second
20
+ # MCPConfig.wait_for_lock() # wait until config lock is released
21
+ status = MCPConfig.get_instance().get_servers_status()
22
+ return {"success": True, "status": status}
23
 
24
  except Exception as e:
25
  return {"success": False, "error": str(e)}
 
webui/components/settings/mcp/client/mcp-servers-store.js CHANGED
@@ -72,7 +72,7 @@ const model = {
72
 
73
  async startStatusCheck() {
74
  this.statusCheck = true;
75
- const firstLoad = true;
76
 
77
  while (this.statusCheck) {
78
  await this._statusCheck();
@@ -101,11 +101,15 @@ const model = {
101
  this.loading = true;
102
  try {
103
  scrollModal("mcp-servers-status");
104
- await API.callJsonApi("mcp_servers_apply", {
105
  mcp_servers: this.getEditorValue(),
106
  });
107
- // await sleep(5000); // just to prevent user from clicking apply multiple times
108
- // api now waits for config locks automatically
 
 
 
 
109
  scrollModal("mcp-servers-status");
110
  } catch (error) {
111
  console.error("Failed to apply MCP servers:", error);
 
72
 
73
  async startStatusCheck() {
74
  this.statusCheck = true;
75
+ let firstLoad = true;
76
 
77
  while (this.statusCheck) {
78
  await this._statusCheck();
 
101
  this.loading = true;
102
  try {
103
  scrollModal("mcp-servers-status");
104
+ const resp = await API.callJsonApi("mcp_servers_apply", {
105
  mcp_servers: this.getEditorValue(),
106
  });
107
+ if (resp.success) {
108
+ this.servers = resp.status;
109
+ this.servers.sort((a, b) => a.name.localeCompare(b.name));
110
+ }
111
+ this.loading = false;
112
+ await sleep(100); // wait for ui and scroll
113
  scrollModal("mcp-servers-status");
114
  } catch (error) {
115
  console.error("Failed to apply MCP servers:", error);