mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix(coderd): invalidate chatd provider cache on AI provider changes (#26987)
chatd subscribes to `ChatConfigEventChannel` and invalidates its provider cache on a `providers` event kind, but nothing ever published that kind. AI provider CRUD only publishes on `AIProvidersChangedChannel` (consumed by aibridged and aibridgeproxyd), so chatd's provider cache only converged via its 10 second TTL. Subscribe chatd to the same `AIProvidersChangedChannel` publish instead of adding a second publish, per the review feedback on #26207: one publish, multiple subscribers. The now-unused `ChatConfigEventProviders` kind is removed so `ChatConfigEvent` stays scoped to model configs, user prompts, and advisor config, and can't regrow a dead subscriber. Follow-up to CRF-5 from the review of #25673. Supersedes #26207. Closes CODAGT-499
This commit is contained in:
@@ -492,8 +492,8 @@ func (api *API) aiProvidersDelete(rw http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
// publishAIProvidersChanged notifies subscribers (aibridged,
|
||||
// aibridgeproxyd) that the live provider set changed and they should
|
||||
// refetch from the database. Pubsub failures are logged but not
|
||||
// aibridgeproxyd, chatd) that the live provider set changed and they
|
||||
// should refetch from the database. Pubsub failures are logged but not
|
||||
// propagated: subscribers refresh authoritatively from the DB, so a
|
||||
// dropped notification only delays convergence.
|
||||
func (api *API) publishAIProvidersChanged(ctx context.Context) {
|
||||
|
||||
Reference in New Issue
Block a user