diff --git a/server/pkg/controller/embedding/controller.go b/server/pkg/controller/embedding/controller.go index aadb938038..190f21d40a 100644 --- a/server/pkg/controller/embedding/controller.go +++ b/server/pkg/controller/embedding/controller.go @@ -110,7 +110,7 @@ func (c *Controller) InsertOrUpdate(ctx *gin.Context, req ente.InsertOrUpdateEmb Version: version, EncryptedEmbedding: req.EncryptedEmbedding, DecryptionHeader: req.DecryptionHeader, - Client: network.GetPrettyUA(ctx.GetHeader("User-Agent")) + "/" + ctx.GetHeader("X-Client-Version"), + Client: network.GetClientInfo(ctx), } size, uploadErr := c.uploadObject(obj, c.getObjectKey(userID, req.FileID, req.Model), c.derivedStorageDataCenter) if uploadErr != nil { diff --git a/server/pkg/utils/network/network.go b/server/pkg/utils/network/network.go index 6ca6de49a2..5b881044b1 100644 --- a/server/pkg/utils/network/network.go +++ b/server/pkg/utils/network/network.go @@ -34,3 +34,13 @@ func GetPrettyUA(ua string) string { } return parsedUA.UserAgent.Family + ", " + parsedUA.Os.ToString() } + +// GetClientInfo returns the client package and version from the request headers +func GetClientInfo(gin *gin.Context) string { + client := gin.GetHeader("X-Client-Package") + version := gin.GetHeader("X-Client-Version") + if version == "" { + return client + } + return client + "/" + version +}