mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
refactor: deprecate AIGatewayRoutingEnabled, remove direct chat routing (#26862)
This PR removes the now-dead direct-routing code: - Deletes the direct routing implementation. - Collapses the resolvedModelRoute discriminated union into aiGatewayModelRoute. - Removes the dead providerKeys cascade. - Deletes the preferredShortTextCandidates quickgen function. - Simplifies the advisor override error handling. - Deprecates the AIGatewayRoutingEnabled deployment option. It is now a no-op so as to not break existing deployments on upgrade. Once direct routing was gone, the AI Gateway became mandatory for chat, which surfaced gaps in how the product behaves with the gateway disabled: - Exposes ai-gateway-enabled to the frontend via embedded page metadata. - Disables the chat composer via the existing AgentSetupNotice when the gateway is disabled, for both new and existing chats. - Fixes nil/typed-nil chatDaemon panics on startup and shutdown when gateway is disabled. - Fixes chat WebSocket from retrying the still-gated stream endpoint forever when the gateway is disabled.
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestStripSlashesMW(t *testing.T) {
|
||||
@@ -65,3 +66,15 @@ func TestStripSlashesMW(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// TestChatDaemonPublishDiffStatusChangeFunc verifies that
|
||||
// chatDaemonPublishDiffStatusChangeFunc returns a true nil, not a method
|
||||
// value bound to a nil receiver, when chatDaemon is nil. See that function
|
||||
// for why the distinction matters. The non-nil path is covered by
|
||||
// coderd/exp_chats_test.go.
|
||||
func TestChatDaemonPublishDiffStatusChangeFunc(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
fn := chatDaemonPublishDiffStatusChangeFunc(nil)
|
||||
require.Nil(t, fn, "func value must be a true nil, not a bound method on a nil receiver")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user