mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-03 04:50:52 +08:00
fix(registry): Avoid provider update when new provider is empty
When a client re-registered and changed its provider from a non-empty value to an empty string, the logic would still trigger a provider update for the client's models. An empty provider string should not cause an update. This commit fixes this behavior by adding a check to ensure the new provider is a non-empty string before updating the model's provider information. Additionally, the logic for detecting a provider change has been simplified by removing an unnecessary variable.
This commit is contained in:
@@ -129,8 +129,8 @@ func (r *ModelRegistry) RegisterClient(clientID, clientProvider string, models [
|
|||||||
now := time.Now()
|
now := time.Now()
|
||||||
|
|
||||||
oldModels, hadExisting := r.clientModels[clientID]
|
oldModels, hadExisting := r.clientModels[clientID]
|
||||||
oldProvider, hadProvider := r.clientProviders[clientID]
|
oldProvider, _ := r.clientProviders[clientID]
|
||||||
providerChanged := hadProvider && oldProvider != provider
|
providerChanged := oldProvider != provider
|
||||||
if !hadExisting {
|
if !hadExisting {
|
||||||
// Pure addition path.
|
// Pure addition path.
|
||||||
for _, modelID := range modelIDs {
|
for _, modelID := range modelIDs {
|
||||||
@@ -205,7 +205,7 @@ func (r *ModelRegistry) RegisterClient(clientID, clientProvider string, models [
|
|||||||
if reg, ok := r.models[id]; ok {
|
if reg, ok := r.models[id]; ok {
|
||||||
reg.Info = cloneModelInfo(model)
|
reg.Info = cloneModelInfo(model)
|
||||||
reg.LastUpdated = now
|
reg.LastUpdated = now
|
||||||
if providerChanged {
|
if providerChanged && provider != "" {
|
||||||
if _, newlyAdded := addedSet[id]; newlyAdded {
|
if _, newlyAdded := addedSet[id]; newlyAdded {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user