ScuttleBot

perf: async setAgentModes in register handler Don't block the HTTP response waiting for ChanServ AMODE/SAMODE commands. Agent gets credentials immediately, modes are applied in the background. Reduces register latency from ~3.7s to ~700ms.

lmata 2026-04-05 22:35 trunk
Commit e0d99ffb703a67bd175488b01bd60b7cb76ba689aabb6cd5aff0a58c6870bff7
1 file changed +1 -1
--- internal/api/agents.go
+++ internal/api/agents.go
@@ -66,11 +66,11 @@
6666
agent.Skills = req.Skills
6767
_ = s.registry.Update(agent)
6868
}
6969
}
7070
s.registry.Touch(req.Nick)
71
- s.setAgentModes(req.Nick, req.Type, cfg)
71
+ go s.setAgentModes(req.Nick, req.Type, cfg) // async — don't block response
7272
writeJSON(w, http.StatusCreated, registerResponse{
7373
Credentials: creds,
7474
Payload: payload,
7575
})
7676
}
7777
--- internal/api/agents.go
+++ internal/api/agents.go
@@ -66,11 +66,11 @@
66 agent.Skills = req.Skills
67 _ = s.registry.Update(agent)
68 }
69 }
70 s.registry.Touch(req.Nick)
71 s.setAgentModes(req.Nick, req.Type, cfg)
72 writeJSON(w, http.StatusCreated, registerResponse{
73 Credentials: creds,
74 Payload: payload,
75 })
76 }
77
--- internal/api/agents.go
+++ internal/api/agents.go
@@ -66,11 +66,11 @@
66 agent.Skills = req.Skills
67 _ = s.registry.Update(agent)
68 }
69 }
70 s.registry.Touch(req.Nick)
71 go s.setAgentModes(req.Nick, req.Type, cfg) // async — don't block response
72 writeJSON(w, http.StatusCreated, registerResponse{
73 Credentials: creds,
74 Payload: payload,
75 })
76 }
77

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button