diff --git a/backend/cmd/ender/main.go b/backend/cmd/ender/main.go index 2b7d2ad8f..c8ad1dcaa 100644 --- a/backend/cmd/ender/main.go +++ b/backend/cmd/ender/main.go @@ -169,7 +169,7 @@ func main() { } } } - if sess != nil && sess.Platform == "ios" { + if sess != nil && (sess.Platform == "ios" || sess.Platform == "android") { msg := &messages.IOSSessionEnd{Timestamp: timestamp} if err := producer.Produce(cfg.TopicRawIOS, sessionID, msg.Encode()); err != nil { log.Error(sessCtx, "can't send iOSSessionEnd to mobile topic: %s", err) diff --git a/backend/cmd/imagestorage/main.go b/backend/cmd/imagestorage/main.go index 1c938aeef..f95b00625 100644 --- a/backend/cmd/imagestorage/main.go +++ b/backend/cmd/imagestorage/main.go @@ -58,7 +58,7 @@ func main() { } return msg, nil } - sessCtx := context.WithValue(context.Background(), "sessionID", sessID) + sessCtx := context.WithValue(context.Background(), "sessionID", fmt.Sprintf("%d", sessID)) if _, err := checkSessionEnd(data); err == nil { if err := srv.PackScreenshots(sessCtx, sessID, workDir+"/screenshots/"+strconv.FormatUint(sessID, 10)+"/"); err != nil { diff --git a/backend/internal/http/router/handlers-mobile.go b/backend/internal/http/router/handlers-mobile.go index d6ce48362..7817e520a 100644 --- a/backend/internal/http/router/handlers-mobile.go +++ b/backend/internal/http/router/handlers-mobile.go @@ -105,8 +105,9 @@ func (e *Router) startSessionHandlerIOS(w http.ResponseWriter, r *http.Request) r = r.WithContext(context.WithValue(r.Context(), "sessionID", fmt.Sprintf("%d", sessionID))) geoInfo := e.ExtractGeoData(r) - platform, os, screen := "ios", "IOS", "" + deviceType, platform, os, screen := ios.GetIOSDeviceType(req.UserDevice), "ios", "IOS", "" if req.Platform != "" && req.Platform != "ios" { + deviceType = req.UserDeviceType platform = req.Platform os = "Android" screen = fmt.Sprintf("%d:%d", req.Width, req.Height) @@ -126,7 +127,7 @@ func (e *Router) startSessionHandlerIOS(w http.ResponseWriter, r *http.Request) UserOS: os, UserOSVersion: req.UserOSVersion, UserDevice: ios.MapIOSDevice(req.UserDevice), - UserDeviceType: ios.GetIOSDeviceType(req.UserDevice), + UserDeviceType: deviceType, UserCountry: geoInfo.Country, UserState: geoInfo.State, UserCity: geoInfo.City, @@ -168,6 +169,7 @@ func (e *Router) startSessionHandlerIOS(w http.ResponseWriter, r *http.Request) func (e *Router) pushMessagesHandlerIOS(w http.ResponseWriter, r *http.Request) { startTime := time.Now() + sessionData, err := e.services.Tokenizer.ParseFromHTTPRequest(r) if sessionData != nil { r = r.WithContext(context.WithValue(r.Context(), "sessionID", fmt.Sprintf("%d", sessionData.ID))) diff --git a/backend/internal/http/router/model.go b/backend/internal/http/router/model.go index 9d42778a2..97800426a 100644 --- a/backend/internal/http/router/model.go +++ b/backend/internal/http/router/model.go @@ -54,6 +54,7 @@ type StartMobileSessionRequest struct { UserUUID *string `json:"userUUID"` UserOSVersion string `json:"userOSVersion"` UserDevice string `json:"userDevice"` + UserDeviceType string `json:"userDeviceType"` Timestamp uint64 `json:"timestamp"` Timezone string `json:"timezone"` DeviceMemory uint64 `json:"deviceMemory"`