react-native-background-geolocation
react-native-background-geolocation copied to clipboard
Two ENTER or two EXIT events in a row
For a while our users have been generating two events in the same direction (two EXIT or two ENTER) but we were never able to reproduce it until now where I can do it consistently, it ALWAYS happens under these conditions. And it happens both with ENTER and EXIT events.
I tried with [geofenceInitialTriggerEntry](https://transistorsoft.github.io/react-native-background-geolocation/interfaces/config.html#geofenceinitialtriggerentry) but still the same thing happens (also this prop only refers to ENTER events, and our problem is for both events). Also tried setting [startOnBoot](https://transistorsoft.github.io/react-native-background-geolocation/interfaces/config.html#startonboot)to false, same thing happens.
Your Environment
- Plugin version: 4.14.3
- Platform: iOS
- OS version: 17.2 (emulator)
- Device manufacturer / model:
- React Native version (
react-native -v): 0.73.9 - Plugin config
{
url: ****,
headers: {
...getGlobalDefaultHeaders(),
},
geofenceTemplate: ****,
autoSync: true,
geofenceModeHighAccuracy: true, // <-- consumes more power; default is false.
debug: false, // NOTE: if true it will request the notification permissions
logLevel:
__DEV__
? BackgroundGeolocation.LOG_LEVEL_VERBOSE
: BackgroundGeolocation.LOG_LEVEL_OFF,
stopOnTerminate: false,
startOnBoot: true,
desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_HIGH,
disableLocationAuthorizationAlert: true,
locationAuthorizationRequest: 'Always',
disableMotionActivityUpdates: true,
disableProviderChangeRecord: true,
backgroundPermissionRationale: strings.screen.geolocationIntro.androidPermissionsDialog,
params: {
user_id: userId,
device_id: device.deviceId || undefined,
device_name: device.deviceName,
device_os: device.platform,
},
}
Expected Behavior
That there is only one event sent in these conditions
Actual Behavior
The app is producing two EXIT or two ENTER events in a row
Steps to Reproduce
- Enter the app and let the plugin initiate
- Change the location in the emulator to trigger an exit event (can be done with app closed or open)
- If the app was open, kill the app, start the app again without changing location
- A new event will be created so now you will have two ENTER or EXIT in a row
Context
Debug logs
2024-10-04 12:40:58.392 βΉοΈ-[TSConfig persist]
2024-10-04 12:40:58.399 π΅-[TSLocationManager ready]
2024-10-04 12:40:58.410 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-04 12:40:58.419 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [initBackgroundGeolocation] ready function - Enabled
2024-10-04 12:41:15.424 βΉοΈ-[TSConfig persist]
2024-10-04 12:41:21.334 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-04 12:41:26.105 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [requestUserPermission] start
2024-10-04 12:41:26.113 βΉοΈ+[LocationAuthorization run:onCancel:] status: 0
2024-10-04 12:41:26.114 π΅+[LocationAuthorization run:onCancel:] Request: requestAlwaysAuthorization
2024-10-04 12:41:28.373 π΅-[PolygonGeofencingService locationManager:didChangeAuthorizationStatus:] 4
2024-10-04 12:41:28.374 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 4
2024-10-04 12:41:28.374 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 4
2024-10-04 12:41:28.375 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 4
2024-10-04 12:41:28.376 π΅-[BackgroundTaskManager locationManager:didChangeAuthorizationStatus:] 4
2024-10-04 12:41:28.377 βΉοΈ-[TSConfig persist]
2024-10-04 12:41:28.379 π΅-[TSLocationManager locationManager:didChangeAuthorizationStatus:] status 4
2024-10-04 12:41:28.391 βΉοΈ+[LocationAuthorization run:onCancel:] status: 4
2024-10-04 12:41:28.391 βΉοΈ-[TSConfig persist]
2024-10-04 12:41:28.393 βΉοΈ+[LocationAuthorization run:onCancel:] Location authorization upgrade: WhenInUse -> Always
2024-10-04 12:41:28.394 π΅+[LocationAuthorization run:onCancel:] Request: requestAlwaysAuthorization
2024-10-04 12:41:28.422 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-04 12:41:29.671 π΅-[PolygonGeofencingService locationManager:didChangeAuthorizationStatus:] 3
2024-10-04 12:41:29.672 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-04 12:41:29.672 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-04 12:41:29.673 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-04 12:41:29.674 π΅-[BackgroundTaskManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-04 12:41:29.674 βΉοΈ-[TSConfig persist]
2024-10-04 12:41:29.677 π΅-[TSLocationManager locationManager:didChangeAuthorizationStatus:] status 3
2024-10-04 12:41:29.701 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [requestUserPermission] finish
2024-10-04 12:41:29.701 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [checkAccuracyAuthorizationStatus] start
2024-10-04 12:41:29.707 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-04 12:41:29.721 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [checkAccuracyAuthorizationStatus] GRANTED:
2024-10-04 12:41:29.724
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSLocationManager startGeofences]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:29.724 βΉοΈ-[TSLocationManager doStart:] trackingMode: 0
2024-10-04 12:41:29.724 βΉοΈ-[TSConfig persist]
2024-10-04 12:41:29.727 βΉοΈ-[TSConfig persist]
2024-10-04 12:41:29.729 βΉοΈ-[TSLocationManager clearLastOdometerLocation]
2024-10-04 12:41:29.729 πΎ-[TSGeofenceManager start]
2024-10-04 12:41:29.729 π΅-[TSLocationManager setPace:] 0
2024-10-04 12:41:29.735 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [onEnabledChange]
2024-10-04 12:41:29.754 πΎ-[TSLocationManager startUpdatingLocation] Location-services: ON
2024-10-04 12:41:29.758
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSHttpService flush:]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:29.759 β
-[LocationDAO unlock]_block_invoke UNLOCKED ALL RECORDS
2024-10-04 12:41:29.759
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSHttpService finish:error:] Success: 1
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:29.771 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-04 12:41:29.771 πΎ-[TSLocationManager startMonitoringBackgroundFetch] BackgroundFetch: ON
2024-10-04 12:41:29.773 βΉοΈ-[PolygonGeofencingService setLocation:] Already updating location <IGNORED>
2024-10-04 12:41:29.776 βΉοΈ-[TSLocationManager startMonitoringBackgroundFetch]_block_invoke Configured BackgroundFetch
2024-10-04 12:41:29.783
π<-38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 04/10/2024, 12:41:29 Central European Summer Time
2024-10-04 12:41:29.783
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 0 | df: -1.0m | age: 239 ms
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:29.784 β
-[TSLocationManager locationManager:didUpdateLocations:] Acquired motionchange position: <-38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 04/10/2024, 12:41:29 Central European Summer Time
2024-10-04 12:41:29.784 π΅-[TSLocationManager startMonitoringStationaryRegion:radius:] Radius: 1000
2024-10-04 12:41:29.785 π΄-[TSLocationManager stopUpdatingLocation]
2024-10-04 12:41:29.786 π΅-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 5.0
2024-10-04 12:41:29.786 βΉοΈ-[PolygonGeofencingService setLocation:] Already updating location <IGNORED>
2024-10-04 12:41:29.865 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [onConnectivityChange]
2024-10-04 12:41:29.898 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] Start tracking geofences
2024-10-04 12:41:30.109 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-04 12:41:30.254 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [fetchDeleteOldAndCreateNewGeofences] [page] [{"id":"cf676d36-be4b-4b67-b90c-dadc3654826b","organization_id":"a94676dd-3a65-405a-92ac-cc80eef5f80c","employer_id":"084d03d1-a7fb-4b0d-9984-17f96f769c52","name":"12345","description":"54321","location":{"latitude":38.584916,"longitude":-9.146074,"radius":150},"full_address":"zerozero","created_at":"2024-02-12T17:40:02.055109Z","updated_at":"2024-02-12T17:40:02.055109Z"},{"id":"5e8401d6-2dce-4e4a-9b4e-1e122876d3e8","organization_id":"a94676dd-3a65-405a-92ac-cc80eef5f80c","employer_id":"084d03d1-a7fb-4b0d-9984-17f96f769c52","name":"12345","description":"54321","location":{"latitude":38.794889,"longitude":-9.21892,"radius":150},"full_address":"zerozero","created_at":"2024-02-12T17:40:09.767405Z","updated_at":"2024-02-12T17:40:09.767405Z"},{"id":"cd00ea4e-702c-45c4-abc8-7ce8438d5b50","organization_id":"a94676dd-3a65-405a-92ac-cc80eef5f80c","employer_id":"084d03d1-a7fb-4b0d-9984-17f96f769c52","name":"nome001","description":"description001","location":{"latitude":38.782,"longitude":-9.0947,"radius":150},"full_address":"full_name001","created_at":"2024-02-13T17:47:01.864658Z","updated_at":"2024-02-13T17:47:01.864658Z"}]
2024-10-04 12:41:30.255 π΅-[TSLocationManager addGeofences:success:failure:]
2024-10-04 12:41:30.255 βΉοΈ-[GeofenceDAO doInsert:geofence:] cf676d36-be4b-4b67-b90c-dadc3654826b
2024-10-04 12:41:30.256 βΉοΈ-[GeofenceDAO doInsert:geofence:] 5e8401d6-2dce-4e4a-9b4e-1e122876d3e8
2024-10-04 12:41:30.256 βΉοΈ-[GeofenceDAO doInsert:geofence:] cd00ea4e-702c-45c4-abc8-7ce8438d5b50
2024-10-04 12:41:30.262 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [addGeofences] added geofences
2024-10-04 12:41:30.262 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [fetchDeleteOldAndCreateNewGeofences] Finish iterating
2024-10-04 12:41:30.460
π<-38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 04/10/2024, 12:41:29 Central European Summer Time
2024-10-04 12:41:30.460
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSGeofenceManager evaluateProximity:] Found 3 / 3 within 2000 m
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:30.462 πΎ-[TSGeofenceManager startMonitoringGeofence:] cf676d36-be4b-4b67-b90c-dadc3654826b
2024-10-04 12:41:30.462 πΎ-[TSGeofenceManager startMonitoringGeofence:] 5e8401d6-2dce-4e4a-9b4e-1e122876d3e8
2024-10-04 12:41:30.463 πΎ-[TSGeofenceManager startMonitoringGeofence:] cd00ea4e-702c-45c4-abc8-7ce8438d5b50
2024-10-04 12:41:39.439 πΎ-[TSGeofenceManager locationManager:didEnterRegion:] cf676d36-be4b-4b67-b90c-dadc3654826b
2024-10-04 12:41:39.439 πΎ-[TSGeofenceManager requestLocation]
2024-10-04 12:41:39.454 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-04 12:41:39.456 π΅-[TSLocationManager locationManager:didExitRegion:] Exit stationary region
2024-10-04 12:41:39.469 π΅-[TSGeofenceManager locationManager:didUpdateLocations:] <+38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 04/10/2024, 12:41:39 Central European Summer Time
2024-10-04 12:41:39.470
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSGeofenceManager fireGeofenceEvent:] π’ENTER Geofence: cf676d36-be4b-4b67-b90c-dadc3654826b
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:39.471 β
-[TSGeofenceManager fireGeofenceEvent:] INSERT: 4A5A2FB3-B81D-420F-A7E6-6599FFD35344
2024-10-04 12:41:39.471
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSHttpService flush:]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:39.473 β
-[BackgroundTaskManager createBackgroundTask] 341
2024-10-04 12:41:39.474 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [Geofence]
2024-10-04 12:41:39.474 β
-[BackgroundTaskManager createBackgroundTask] 342
2024-10-04 12:41:39.474 β
-[TSHttpService schedulePost] LOCKED: 4A5A2FB3-B81D-420F-A7E6-6599FFD35344
2024-10-04 12:41:39.964 π΅-[HttpResponse handleResponse] Response: 201
2024-10-04 12:41:39.967 β
-[TSHttpService post:]_block_invoke DESTROY: 4A5A2FB3-B81D-420F-A7E6-6599FFD35344
2024-10-04 12:41:39.967
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSHttpService finish:error:] Success: 1
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:39.967 β
-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 341 OF (
341,
342
)
2024-10-04 12:41:40.477
π<+38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 04/10/2024, 12:41:39 Central European Summer Time
2024-10-04 12:41:40.477
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSGeofenceManager evaluateProximity:] Found 3 / 3 within 2000 m
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:40.483 π΅-[TSGeofenceManager evaluateProximity:delay:]_block_invoke Re-evaluation timer fired
2024-10-04 12:41:40.483 β
-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 342 OF (
342
)
2024-10-04 12:41:43.712 π΅-[TSLocationManager onSuspend:] enabled? 1)
2024-10-04 12:41:43.723 βΉοΈ-[TSDBLogger db_save] Log committed
2024-10-04 12:41:46.389 βΉοΈ-[TSDBLogger db_delete] maxAge: 259200
2024-10-04 12:41:46.389 βΉοΈ-[TSLocationManager init]
ββββββββββββββββββββββββββββββββββββββββββββββ
β TSLocationManager (build 388)
β ββββββββββββββββββββββββββββββββββββββββββββββ
{
activityRecognitionInterval = 10000;
activityType = 1;
authorization = {
};
autoSync = 1;
autoSyncThreshold = 0;
batchSync = 0;
debug = 0;
desiredAccuracy = "-1";
desiredOdometerAccuracy = 100;
didDeviceReboot = 0;
didLaunchInBackground = 0;
didRequestUpgradeLocationAuthorization = 1;
disableAutoSyncOnCellular = 0;
disableElasticity = 0;
disableLocationAuthorizationAlert = 1;
disableMotionActivityUpdates = 1;
disableStopDetection = 0;
distanceFilter = 10;
elasticityMultiplier = 1;
enableTimestampMeta = 0;
enabled = 1;
extras = {
};
geofenceInitialTriggerEntry = 1;
geofenceProximityRadius = 2000;
geofenceTemplate = "{ "timestamp": "<%= timestamp %>", "uuid": "<%= uuid %>", "age": <%= age %>, "event": "<%= event %>", "odometer": <%= odometer %>, "geofence": { "identifier": "<%= geofence.identifier %>", "action": "<%= geofence.action %>" }, "coords":{ "latitude": <%= latitude %>, "longitude": <%= longitude %>, "accuracy": <%= accuracy %>, "altitude": <%= altitude %>, "altitude_accuracy": <%= altitude_accuracy %> }, "activity": { "type": "<%= activity.type %>", "confidence": <%= activity.confidence %> }, "is_mock": <%= mock %>, "is_moving": <%= is_moving %> }";
headers = {
Accept = "application/json";
"Accept-Language" = "en-US";
"Content-Type" = "application/json";
"Rain-Version" = "2020-04-21";
"source-code" = RAIN;
"x-rain-app-key" = 408776b60d8f4295ae806b2dce0bfae2;
"x-rain-app-name" = "MOBILE_APP";
"x-rain-app-platform" = IOS;
"x-rain-app-version" = "999.999.999";
"x-rain-brand" = RAIN;
"x-rain-client" = RAIN;
};
heartbeatInterval = 60;
httpRootProperty = location;
httpTimeout = 60000;
iOSHasWarnedLocationServicesOff = 0;
isFirstBoot = 0;
isMoving = 0;
lastLocationAuthorizationStatus = 3;
locationAuthorizationAlert = {
cancelButton = Cancel;
instructions = "To use background location, you must enable '{locationAuthorizationRequest}' in the Location Services settings";
settingsButton = Settings;
titleWhenNotEnabled = "Background location is not enabled";
titleWhenOff = "Location services are off";
};
locationAuthorizationRequest = Always;
locationTemplate = "";
locationTimeout = 60;
locationsOrderDirection = ASC;
logLevel = 5;
logMaxDays = 3;
maxBatchSize = "-1";
maxDaysToPersist = 1;
maxRecordsToPersist = "-1";
method = POST;
minimumActivityRecognitionConfidence = 70;
odometer = 0;
params = {
"device_id" = "831292c5-1719-4b14-b162-e554d8e5c7aa";
"device_name" = "iPhone 15 Pro";
"device_os" = ios;
"user_id" = "925be8b8-0329-4ebb-939e-04d8fdc02abf";
};
pausesLocationUpdatesAutomatically = 1;
persistMode = 2;
preventSuspend = 0;
schedule = (
);
schedulerEnabled = 0;
showsBackgroundLocationIndicator = 1;
startOnBoot = 1;
stationaryRadius = 25;
stopAfterElapsedMinutes = "-1";
stopDetectionDelay = 0;
stopOnStationary = 0;
stopOnTerminate = 0;
stopTimeout = 5;
trackingMode = 0;
url = "************";
useSignificantChangesOnly = 0;
}
2024-10-04 12:41:46.397 βΉοΈ-[GeofenceDAO init] CREATE TABLE IF NOT EXISTS geofences (id INTEGER PRIMARY KEY AUTOINCREMENT, identifier TEXT NOT NULL UNIQUE, latitude DOUBLE NOT NULL, sin_latitude DOUBLE NOT NULL, cos_latitude DOUBLE NOT NULL, longitude DOUBLE NOT NULL, sin_longitude DOUBLE NOT NULL, cos_longitude DOUBLE NOT NULL, radius DOUBLE NOT NULL, notifyOnEntry BOOLEAN NOT NULL DEFAULT 0, notifyOnExit BOOLEAN NOT NULL DEFAULT 0, notifyOnDwell BOOLEAN NOT NULL DEFAULT 0, loiteringDelay DOUBLE NOT NULL DEFAULT 0, extras TEXT, vertices TEXT)
2024-10-04 12:41:46.397 βΉοΈ-[GeofenceDAO init] CREATE index IF NOT EXISTS identifier ON geofences (identifier);CREATE index IF NOT EXISTS latitude ON geofences (latitude);CREATE index IF NOT EXISTS longitude ON geofences (longitude);CREATE index IF NOT EXISTS sin_latitude ON geofences (sin_latitude);CREATE index IF NOT EXISTS cos_latitude ON geofences (cos_latitude);CREATE index IF NOT EXISTS sin_longitude ON geofences (sin_longitude);CREATE index IF NOT EXISTS cos_longitude ON geofences (cos_longitude);
2024-10-04 12:41:46.614 πΎ-[TSGeofenceManager locationManager:didEnterRegion:] cf676d36-be4b-4b67-b90c-dadc3654826b
2024-10-04 12:41:46.614 πΎ-[TSGeofenceManager requestLocation]
2024-10-04 12:41:46.615 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-04 12:41:46.616 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-04 12:41:46.617 π΅-[TSLocationManager locationManager:didChangeAuthorizationStatus:] status 3
2024-10-04 12:41:46.626 π΅-[TSLocationManager locationManager:didExitRegion:] Exit stationary region
2024-10-04 12:41:46.626 π΅-[BackgroundTaskManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-04 12:41:46.627 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-04 12:41:46.628 π΅-[PolygonGeofencingService locationManager:didChangeAuthorizationStatus:] 3
2024-10-04 12:41:46.643 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-04 12:41:46.648 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-04 12:41:48.244 βΉοΈ-[TSLocationManager log:message:] [RNBackgroundGeolocation startObserving]
2024-10-04 12:41:48.249 βΉοΈ-[TSConfig persist]
2024-10-04 12:41:48.302 βΉοΈ-[TSConfig persist]
2024-10-04 12:41:48.335 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-04 12:41:48.335 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [createGeolocationBootSettings]
2024-10-04 12:41:48.335 βΉοΈ-[TSLocationManager on:success:failure:] location
2024-10-04 12:41:48.335 βΉοΈ-[TSLocationManager on:success:failure:] motionchange
2024-10-04 12:41:48.335 βΉοΈ-[TSLocationManager on:success:failure:] activitychange
2024-10-04 12:41:48.335 βΉοΈ-[TSLocationManager on:success:failure:] heartbeat
2024-10-04 12:41:48.335 βΉοΈ-[TSGeofenceManager onGeofence:]
2024-10-04 12:41:48.335 βΉοΈ-[TSGeofenceManager onGeofencesChange:]
2024-10-04 12:41:48.335 βΉοΈ-[TSLocationManager on:success:failure:] http
2024-10-04 12:41:48.335 βΉοΈ-[TSLocationManager on:success:failure:] providerchange
2024-10-04 12:41:48.335 βΉοΈ-[TSLocationManager on:success:failure:] schedule
2024-10-04 12:41:48.335 βΉοΈ-[TSLocationManager on:success:failure:] powersavechange
2024-10-04 12:41:48.335 βΉοΈ-[TSHttpService onConnectivityChange:]
2024-10-04 12:41:48.335 βΉοΈ-[TSLocationManager on:success:failure:] enabledchange
2024-10-04 12:41:48.335 βΉοΈ-[TSHttpService onAuthorization:]
2024-10-04 12:41:48.335 π΅-[TSLocationManager ready]
2024-10-04 12:41:48.339 βΉοΈ-[TSLocationManager doStart:] trackingMode: 0
2024-10-04 12:41:48.339 βΉοΈ-[TSLocationManager clearLastOdometerLocation]
2024-10-04 12:41:48.339 πΎ-[TSGeofenceManager start]
2024-10-04 12:41:48.340 π΅-[TSLocationManager setPace:] 0
2024-10-04 12:41:48.353 πΎ-[TSLocationManager startUpdatingLocation] Location-services: ON
2024-10-04 12:41:48.355
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSHttpService flush:]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:48.356 β
-[LocationDAO unlock]_block_invoke UNLOCKED ALL RECORDS
2024-10-04 12:41:48.356
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSHttpService finish:error:] Success: 1
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:48.367 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-04 12:41:48.367 πΎ-[TSLocationManager startMonitoringBackgroundFetch] BackgroundFetch: ON
2024-10-04 12:41:48.374 βΉοΈ-[TSLocationManager startMonitoringBackgroundFetch]_block_invoke Configured BackgroundFetch
2024-10-04 12:41:48.375
π<+38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 04/10/2024, 12:41:47 Central European Summer Time
2024-10-04 12:41:48.375
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 0 | df: -1.0m | age: 910 ms
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:48.375 β
-[TSLocationManager locationManager:didUpdateLocations:] Acquired motionchange position: <+38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 04/10/2024, 12:41:47 Central European Summer Time
2024-10-04 12:41:48.375 π΅-[TSGeofenceManager didBecomeStationary:] TSGeofenceManager became stationary with outstanding loitering timers. Firing all loitering geofences
2024-10-04 12:41:48.375
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSGeofenceManager fireGeofenceEvent:] π’ENTER Geofence: cf676d36-be4b-4b67-b90c-dadc3654826b
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:48.376 β
-[TSGeofenceManager fireGeofenceEvent:] INSERT: 2FE8A936-8C9E-4ACB-A851-CF60B64431DA
2024-10-04 12:41:48.376
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSHttpService flush:]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:48.377 β
-[BackgroundTaskManager createBackgroundTask] 16
2024-10-04 12:41:48.378 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-04 12:41:48.378 β
-[TSHttpService schedulePost] LOCKED: 2FE8A936-8C9E-4ACB-A851-CF60B64431DA
2024-10-04 12:41:48.379 β
-[BackgroundTaskManager createBackgroundTask] 17
2024-10-04 12:41:48.379 π΅-[TSLocationManager startMonitoringStationaryRegion:radius:] Radius: 1000
2024-10-04 12:41:48.381 π΄-[TSLocationManager stopUpdatingLocation]
2024-10-04 12:41:48.382 π΅-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 5.0
2024-10-04 12:41:48.382 βΉοΈ-[PolygonGeofencingService setLocation:] Already updating location <IGNORED>
2024-10-04 12:41:48.386 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [onConnectivityChange]
2024-10-04 12:41:48.389 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [initBackgroundGeolocation] ready function - Enabled
2024-10-04 12:41:48.403 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [Geofence]
2024-10-04 12:41:48.784 π΅-[HttpResponse handleResponse] Response: 201
2024-10-04 12:41:48.785 β
-[TSHttpService post:]_block_invoke DESTROY: 2FE8A936-8C9E-4ACB-A851-CF60B64431DA
2024-10-04 12:41:48.785
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSHttpService finish:error:] Success: 1
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:48.785 β
-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 16 OF (
16,
17
)
2024-10-04 12:41:48.791 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [fetchDeleteOldAndCreateNewGeofences] [page] [{"id":"cf676d36-be4b-4b67-b90c-dadc3654826b","organization_id":"a94676dd-3a65-405a-92ac-cc80eef5f80c","employer_id":"084d03d1-a7fb-4b0d-9984-17f96f769c52","name":"12345","description":"54321","location":{"latitude":38.584916,"longitude":-9.146074,"radius":150},"full_address":"zerozero","created_at":"2024-02-12T17:40:02.055109Z","updated_at":"2024-02-12T17:40:02.055109Z"},{"id":"5e8401d6-2dce-4e4a-9b4e-1e122876d3e8","organization_id":"a94676dd-3a65-405a-92ac-cc80eef5f80c","employer_id":"084d03d1-a7fb-4b0d-9984-17f96f769c52","name":"12345","description":"54321","location":{"latitude":38.794889,"longitude":-9.21892,"radius":150},"full_address":"zerozero","created_at":"2024-02-12T17:40:09.767405Z","updated_at":"2024-02-12T17:40:09.767405Z"},{"id":"cd00ea4e-702c-45c4-abc8-7ce8438d5b50","organization_id":"a94676dd-3a65-405a-92ac-cc80eef5f80c","employer_id":"084d03d1-a7fb-4b0d-9984-17f96f769c52","name":"nome001","description":"description001","location":{"latitude":38.782,"longitude":-9.0947,"radius":150},"full_address":"full_name001","created_at":"2024-02-13T17:47:01.864658Z","updated_at":"2024-02-13T17:47:01.864658Z"}]
2024-10-04 12:41:48.795 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [fetchDeleteOldAndCreateNewGeofences] Finish iterating
2024-10-04 12:41:48.795 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [fetchDeleteOldAndCreateNewGeofences] Employer locations haven't changed
2024-10-04 12:41:49.381
π<+38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 04/10/2024, 12:41:47 Central European Summer Time
2024-10-04 12:41:49.381
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β -[TSGeofenceManager evaluateProximity:] Found 3 / 3 within 2000 m
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-04 12:41:49.386 π΅-[TSGeofenceManager evaluateProximity:delay:]_block_invoke Re-evaluation timer fired
2024-10-04 12:41:49.386 β
-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 17 OF (
17
)
PASTE_YOUR_LOGS_HERE
Are you calling .addGeofence(s) each time your app launches?
Also, I need to see the parameters of the Geofences youβre monitoring.
Thats what i thought, but no we are not calling it each time (i just reconfirmed). Also the events are not triggered if the location doesnt change, which would be the case for addGeofences being called. These are the geofences:
[
{
latitude: 38.584916,
longitude: -9.146074,
radius: 150,
},
{
latitude: 38.794889,
longitude: -9.21892,
radius: 150,
},
{
latitude: 38.782,
longitude: -9.0947,
radius: 150,
},
];
I need all the params (notifyOnEntry, notifyOnDwell, notifyInExit)
notifyOnEntry: true, notifyOnExit: true
I'm unable to reproduce this phenomenon using the demo app in the Simulator.
Plugin version: 4.14.3
I notice you're using a version from a year ago
From your logs, I see two cases where a geofence ENTER fired.
2024-10-04 12:41:46.614 πΎ-[TSGeofenceManager locationManager:didEnterRegion:] cf676d36-be4b-4b67-b90c-dadc3654826b
.
. <terminated, relaunched>
.
2024-10-04 12:41:46.614 πΎ-[TSGeofenceManager locationManager:didEnterRegion:] cf676d36-be4b-4b67-b90c-dadc3654826b
When we see locationManager:didEnterRegion, this is the native location API's delegate method being fired by the OS. It is the operating system itself saying that this geofence was entered..
The method didEnterRegion is like a mailbox. The operating system is the mailman for geofence events. If the mailman delivered the mail, then that geofence must have had a legitimate reason to be fired.
Please double check your reproduction steps and provide more detail.
For example, I'm creating my geofence at the location "Apple" in the simulator.
@christocracy thanks for the detailed explanation! I'll try updating the lib :)
re: reproduction steps:
- Change the location in the emulator to trigger an exit event (can be done with app closed or open)
After the geofence fires at location "Apple", I change my location via: Simulator menu -> Features -> Location -> Custom Location. I accept the default value (somewhere in downtown SF).
I updated the lib, confirmed that init is called only once and that no geofences are added after the app restarts. I made a video that shows the problem (the first time theres two events because one of them is a tracking event)
https://github.com/user-attachments/assets/8a441dd3-abbf-4fa4-84ae-640a4c152e51
And these are the logs for this video:
LOG 2024-10-07 12:17:55.063 βΉοΈ-[TSConfig persist]
2024-10-07 12:17:55.066 π΅-[TSLocationManager ready]
2024-10-07 12:17:55.089 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-07 12:17:55.092 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [initBackgroundGeolocation] ready function - Enabled
2024-10-07 12:18:11.596 βΉοΈ-[TSConfig persist]
2024-10-07 12:18:17.023 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-07 12:18:19.943 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [requestUserPermission] start
2024-10-07 12:18:19.961 βΉοΈ+[LocationAuthorization run:onCancel:] status: 0
2024-10-07 12:18:19.961 π΅+[LocationAuthorization run:onCancel:] Request: requestAlwaysAuthorization
2024-10-07 12:18:21.055 π΅-[BackgroundTaskManager locationManager:didChangeAuthorizationStatus:] 4
2024-10-07 12:18:21.056 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 4
2024-10-07 12:18:21.057 βΉοΈ-[TSConfig persist]
2024-10-07 12:18:21.065 π΅-[TSLocationManager locationManager:didChangeAuthorizationStatus:] status 4
2024-10-07 12:18:21.072 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 4
2024-10-07 12:18:21.073 π΅-[PolygonGeofencingService locationManager:didChangeAuthorizationStatus:] 4
2024-10-07 12:18:21.074 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 4
2024-10-07 12:18:21.076 βΉοΈ+[LocationAuthorization run:onCancel:] status: 4
2024-10-07 12:18:21.077 βΉοΈ-[TSConfig persist]
2024-10-07 12:18:21.079 βΉοΈ+[LocationAuthorization run:onCancel:] Location authorization upgrade: WhenInUse -> Always
2024-10-07 12:18:21.079 π΅+[LocationAuthorization run:onCancel:] Request: requestAlwaysAuthorization
2024-10-07 12:18:21.098 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-07 12:18:22.511 π΅-[BackgroundTaskManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:22.512 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:22.513 βΉοΈ-[TSConfig persist]
2024-10-07 12:18:22.516 π΅-[TSLocationManager locationManager:didChangeAuthorizationStatus:] status 3
2024-10-07 12:18:22.524 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:22.525 π΅-[PolygonGeofencingService locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:22.525 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:22.551 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [requestUserPermission] finish
2024-10-07 12:18:22.551 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [checkAccuracyAuthorizationStatus] start
2024-10-07 12:18:22.557 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-07 12:18:22.572 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [checkAccuracyAuthorizationStatus] GRANTED:
2024-10-07 12:18:22.575 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSLocationManager startGeofences] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:22.575 βΉοΈ-[TSLocationManager doStart:] trackingMode: 0
2024-10-07 12:18:22.575 βΉοΈ-[TSConfig persist]
2024-10-07 12:18:22.578 βΉοΈ-[TSConfig persist]
2024-10-07 12:18:22.581 βΉοΈ-[TSLocationManager clearLastOdometerLocation]
2024-10-07 12:18:22.581 πΎ-[TSGeofenceManager start]
2024-10-07 12:18:22.582 π΅-[TSLocationManager setPace:] 0
2024-10-07 12:18:22.589 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [onEnabledChange]
2024-10-07 12:18:22.601 πΎ-[TSLocationManager startUpdatingLocation] Location-services: ON
2024-10-07 12:18:22.605 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService flush:] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:22.606 β -[LocationDAO unlock]_block_invoke UNLOCKED ALL RECORDS
2024-10-07 12:18:22.606 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService finish:error:] Success: 1 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:22.617 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-07 12:18:22.617 πΎ-[TSLocationManager startMonitoringBackgroundFetch] BackgroundFetch: ON
2024-10-07 12:18:22.620 π<+38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 07/10/2024, 12:18:21 Central European Summer Time
2024-10-07 12:18:22.620 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 0 | df: -1.0m | age: 669 ms ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:22.620 β -[TSLocationManager locationManager:didUpdateLocations:] Acquired motionchange position: <+38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 07/10/2024, 12:18:21 Central European Summer Time
2024-10-07 12:18:22.620 π΅-[TSLocationManager startMonitoringStationaryRegion:radius:] Radius: 1000
2024-10-07 12:18:22.622 π΄-[TSLocationManager stopUpdatingLocation]
2024-10-07 12:18:22.622 π΅-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 5.0
2024-10-07 12:18:22.622 βΉοΈ-[PolygonGeofencingService setLocation:] Already updating location <IGNORED>
2024-10-07 12:18:22.626 βΉοΈ-[TSLocationManager startMonitoringBackgroundFetch]_block_invoke Configured BackgroundFetch
2024-10-07 12:18:22.694 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [onConnectivityChange]
2024-10-07 12:18:22.726 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] Start tracking geofences
2024-10-07 12:18:22.946 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-07 12:18:23.084 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [fetchDeleteOldAndCreateNewGeofences] [page] [{"id":"cf676d36-be4b-4b67-b90c-dadc3654826b","organization_id":"a94676dd-3a65-405a-92ac-cc80eef5f80c","employer_id":"084d03d1-a7fb-4b0d-9984-17f96f769c52","name":"12345","description":"54321","location":{"latitude":38.584916,"longitude":-9.146074,"radius":150},"full_address":"zerozero","created_at":"2024-02-12T17:40:02.055109Z","updated_at":"2024-02-12T17:40:02.055109Z"},{"id":"5e8401d6-2dce-4e4a-9b4e-1e122876d3e8","organization_id":"a94676dd-3a65-405a-92ac-cc80eef5f80c","employer_id":"084d03d1-a7fb-4b0d-9984-17f96f769c52","name":"12345","description":"54321","location":{"latitude":38.794889,"longitude":-9.21892,"radius":150},"full_address":"zerozero","created_at":"2024-02-12T17:40:09.767405Z","updated_at":"2024-02-12T17:40:09.767405Z"},{"id":"cd00ea4e-702c-45c4-abc8-7ce8438d5b50","organization_id":"a94676dd-3a65-405a-92ac-cc80eef5f80c","employer_id":"084d03d1-a7fb-4b0d-9984-17f96f769c52","name":"nome001","description":"description001","location":{"latitude":38.782,"longitude":-9.0947,"radius":150},"full_address":"full_name001","created_at":"2024-02-13T17:47:01.864658Z","updated_at":"2024-02-13T17:47:01.864658Z"}]
2024-10-07 12:18:23.084 π΅-[TSLocationManager addGeofences:success:failure:]
2024-10-07 12:18:23.085 βΉοΈ-[GeofenceDAO doInsert:geofence:] cf676d36-be4b-4b67-b90c-dadc3654826b
2024-10-07 12:18:23.085 βΉοΈ-[GeofenceDAO doInsert:geofence:] 5e8401d6-2dce-4e4a-9b4e-1e122876d3e8
2024-10-07 12:18:23.085 βΉοΈ-[GeofenceDAO doInsert:geofence:] cd00ea4e-702c-45c4-abc8-7ce8438d5b50
2024-10-07 12:18:23.093 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [addGeofences] added geofences
2024-10-07 12:18:23.093 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [fetchDeleteOldAndCreateNewGeofences] Finish iterating
2024-10-07 12:18:23.289 π΄-[TSGeofenceManager stopMonitoringSignificantLocationChanges]
2024-10-07 12:18:23.290 π<+38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 07/10/2024, 12:18:21 Central European Summer Time
2024-10-07 12:18:23.290 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSGeofenceManager evaluateProximity:] Found 3 / 3 within 2000 m ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:23.292 πΎ-[TSGeofenceManager startMonitoringGeofence:] cf676d36-be4b-4b67-b90c-dadc3654826b
2024-10-07 12:18:23.292 πΎ-[TSGeofenceManager startMonitoringGeofence:] 5e8401d6-2dce-4e4a-9b4e-1e122876d3e8
2024-10-07 12:18:23.292 πΎ-[TSGeofenceManager startMonitoringGeofence:] cd00ea4e-702c-45c4-abc8-7ce8438d5b50
2024-10-07 12:18:23.300 πΎ-[TSGeofenceManager requestLocation]
2024-10-07 12:18:23.314 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-07 12:18:23.322 - requestLocation π<+38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 07/10/2024, 12:18:22 Central European Summer Time
2024-10-07 12:18:23.323 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSGeofenceManager fireGeofenceEvent:] π’ENTER Geofence: cf676d36-be4b-4b67-b90c-dadc3654826b ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:23.323 β -[TSGeofenceManager fireGeofenceEvent:] INSERT: D5183F63-9D90-4FC7-88DA-B3C489D85F17
2024-10-07 12:18:23.323 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService flush:] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:23.325 β -[BackgroundTaskManager createBackgroundTask] 444
2024-10-07 12:18:23.326 β -[TSHttpService schedulePost] LOCKED: D5183F63-9D90-4FC7-88DA-B3C489D85F17
2024-10-07 12:18:23.326 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [Geofence]
2024-10-07 12:18:23.326 β -[BackgroundTaskManager createBackgroundTask] 445
2024-10-07 12:18:23.754 π΅-[HttpResponse handleResponse] Response: 201
2024-10-07 12:18:23.757 β -[TSHttpService post:]_block_invoke DESTROY: D5183F63-9D90-4FC7-88DA-B3C489D85F17
2024-10-07 12:18:23.757 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService finish:error:] Success: 1 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:23.757 β -[BackgroundTaskManager stopBackgroundTask:]_block_invoke 444 OF ( 444, 445 )
2024-10-07 12:18:24.328 π΄-[TSGeofenceManager stopMonitoringSignificantLocationChanges]
2024-10-07 12:18:24.328 π<+38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 07/10/2024, 12:18:22 Central European Summer Time
2024-10-07 12:18:24.328 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSGeofenceManager evaluateProximity:] Found 3 / 3 within 2000 m ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:24.335 π΅-[TSGeofenceManager evaluateProximity:delay:]_block_invoke Re-evaluation timer fired
2024-10-07 12:18:24.335 β -[BackgroundTaskManager stopBackgroundTask:]_block_invoke 445 OF ( 445 )
2024-10-07 12:18:29.774 π΅-[TSLocationManager onSuspend:] enabled? 1)
2024-10-07 12:18:29.782 βΉοΈ-[TSDBLogger db_save] Log committed
2024-10-07 12:18:37.012 βΉοΈ-[TSDBLogger db_delete] maxAge: 259200
2024-10-07 12:18:37.012 βΉοΈ-[TSLocationManager init] ββββββββββββββββββββββββββββββββββββββββββββββ β TSLocationManager (build 388) β ββββββββββββββββββββββββββββββββββββββββββββββ { activityRecognitionInterval = 10000; activityType = 1; authorization = { }; autoSync = 1; autoSyncThreshold = 0; batchSync = 0; debug = 0; desiredAccuracy = "-1"; desiredOdometerAccuracy = 100; didDeviceReboot = 0; didLaunchInBackground = 0; didRequestUpgradeLocationAuthorization = 1; disableAutoSyncOnCellular = 0; disableElasticity = 0; disableLocationAuthorizationAlert = 1; disableMotionActivityUpdates = 1; disableStopDetection = 0; distanceFilter = 10; elasticityMultiplier = 1; enableTimestampMeta = 0; enabled = 1; extras = { }; geofenceInitialTriggerEntry = 1; geofenceProximityRadius = 2000; geofenceTemplate = "{ "timestamp": "<%= timestamp %>", "uuid": "<%= uuid %>", "age": <%= age %>, "event": "<%= event %>", "odometer": <%= odometer %>, "geofence": { "identifier": "<%= geofence.identifier %>", "action": "<%= geofence.action %>" }, "coords":{ "latitude": <%= latitude %>, "longitude": <%= longitude %>, "accuracy": <%= accuracy %>, "altitude": <%= altitude %>, "altitude_accuracy": <%= altitude_accuracy %> }, "activity": { "type": "<%= activity.type %>", "confidence": <%= activity.confidence %> }, "is_mock": <%= mock %>, "is_moving": <%= is_moving %> }"; headers = { Accept = "application/json"; "Accept-Language" = "en-US"; "Content-Type" = "application/json"; "Rain-Version" = "2020-04-21"; "source-code" = RAIN; "x-rain-app-key" = 408776b60d8f4295ae806b2dce0bfae2; "x-rain-app-name" = "MOBILE_APP"; "x-rain-app-platform" = IOS; "x-rain-app-version" = "999.999.999"; "x-rain-brand" = RAIN; "x-rain-client" = RAIN; }; heartbeatInterval = 60; httpRootProperty = location; httpTimeout = 60000; iOSHasWarnedLocationServicesOff = 0; isFirstBoot = 0; isMoving = 0; lastLocationAuthorizationStatus = 3; locationAuthorizationAlert = { cancelButton = Cancel; instructions = "To use background location, you must enable '{locationAuthorizationRequest}' in the Location Services settings"; settingsButton = Settings; titleWhenNotEnabled = "Background location is not enabled"; titleWhenOff = "Location services are off"; }; locationAuthorizationRequest = Always; locationTemplate = ""; locationTimeout = 60; locationsOrderDirection = ASC; logLevel = 5; logMaxDays = 3; maxBatchSize = "-1"; maxDaysToPersist = 1; maxRecordsToPersist = "-1"; method = POST; minimumActivityRecognitionConfidence = 70; odometer = 0; params = { "device_id" = "831292c5-1719-4b14-b162-e554d8e5c7aa"; "device_name" = "iPhone 15 Pro"; "device_os" = ios; "user_id" = "925be8b8-0329-4ebb-939e-04d8fdc02abf"; }; pausesLocationUpdatesAutomatically = 1; persistMode = 2; preventSuspend = 0; schedule = ( ); schedulerEnabled = 0; showsBackgroundLocationIndicator = 1; startOnBoot = 1; stationaryRadius = 25; stopAfterElapsedMinutes = "-1"; stopDetectionDelay = 0; stopOnStationary = 0; stopOnTerminate = 0; stopTimeout = 5; trackingMode = 0; url = "*********"; useSignificantChangesOnly = 0; }
2024-10-07 12:18:37.028 βΉοΈ-[GeofenceDAO init] CREATE TABLE IF NOT EXISTS geofences (id INTEGER PRIMARY KEY AUTOINCREMENT, identifier TEXT NOT NULL UNIQUE, latitude DOUBLE NOT NULL, sin_latitude DOUBLE NOT NULL, cos_latitude DOUBLE NOT NULL, longitude DOUBLE NOT NULL, sin_longitude DOUBLE NOT NULL, cos_longitude DOUBLE NOT NULL, radius DOUBLE NOT NULL, notifyOnEntry BOOLEAN NOT NULL DEFAULT 0, notifyOnExit BOOLEAN NOT NULL DEFAULT 0, notifyOnDwell BOOLEAN NOT NULL DEFAULT 0, loiteringDelay DOUBLE NOT NULL DEFAULT 0, extras TEXT, vertices TEXT)
2024-10-07 12:18:37.028 βΉοΈ-[GeofenceDAO init] CREATE index IF NOT EXISTS identifier ON geofences (identifier);CREATE index IF NOT EXISTS latitude ON geofences (latitude);CREATE index IF NOT EXISTS longitude ON geofences (longitude);CREATE index IF NOT EXISTS sin_latitude ON geofences (sin_latitude);CREATE index IF NOT EXISTS cos_latitude ON geofences (cos_latitude);CREATE index IF NOT EXISTS sin_longitude ON geofences (sin_longitude);CREATE index IF NOT EXISTS cos_longitude ON geofences (cos_longitude);
2024-10-07 12:18:37.296 π΅-[TSLocationManager locationManager:didChangeAuthorizationStatus:] status 3
2024-10-07 12:18:37.316 π΅-[TSLocationManager locationManager:didExitRegion:] Exit stationary region
2024-10-07 12:18:37.325 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:37.338 π΄-[TSGeofenceManager locationManager:didExitRegion:] cf676d36-be4b-4b67-b90c-dadc3654826b
2024-10-07 12:18:37.341 πΎ-[TSGeofenceManager requestLocation]
2024-10-07 12:18:37.341 π΅-[PolygonGeofencingService locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:37.352 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:37.354 π΅-[BackgroundTaskManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:37.357 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:37.373 π΄-[TSGeofenceManager stopUpdatingLocation]
2024-10-07 12:18:37.382 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-07 12:18:37.391 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-07 12:18:38.859 βΉοΈ-[TSLocationManager log:message:] [RNBackgroundGeolocation startObserving]
2024-10-07 12:18:38.907 βΉοΈ-[TSConfig persist]
2024-10-07 12:18:38.914 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-07 12:18:38.959 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [createGeolocationBootSettings]
2024-10-07 12:18:38.959 βΉοΈ-[TSLocationManager on:success:failure:] location
2024-10-07 12:18:38.959 βΉοΈ-[TSLocationManager on:success:failure:] motionchange
2024-10-07 12:18:38.959 βΉοΈ-[TSLocationManager on:success:failure:] activitychange
2024-10-07 12:18:38.959 βΉοΈ-[TSLocationManager on:success:failure:] heartbeat
2024-10-07 12:18:38.959 βΉοΈ-[TSGeofenceManager onGeofence:]
2024-10-07 12:18:38.959 βΉοΈ-[TSGeofenceManager onGeofencesChange:]
2024-10-07 12:18:38.959 βΉοΈ-[TSLocationManager on:success:failure:] http
2024-10-07 12:18:38.959 βΉοΈ-[TSLocationManager on:success:failure:] providerchange
2024-10-07 12:18:38.959 βΉοΈ-[TSLocationManager on:success:failure:] schedule
2024-10-07 12:18:38.959 βΉοΈ-[TSLocationManager on:success:failure:] powersavechange
2024-10-07 12:18:38.959 βΉοΈ-[TSHttpService onConnectivityChange:]
2024-10-07 12:18:38.959 βΉοΈ-[TSLocationManager on:success:failure:] enabledchange
2024-10-07 12:18:38.959 βΉοΈ-[TSHttpService onAuthorization:]
2024-10-07 12:18:38.959 π΅-[TSLocationManager ready]
2024-10-07 12:18:38.962 π΅-[TSLocationManager ready] Booted in background
2024-10-07 12:18:38.962 βΉοΈ-[TSLocationManager doStart:] trackingMode: 0
2024-10-07 12:18:38.962 βΉοΈ-[TSLocationManager clearLastOdometerLocation]
2024-10-07 12:18:38.962 πΎ-[TSGeofenceManager start]
2024-10-07 12:18:38.962 π΅-[TSLocationManager setPace:] 0
2024-10-07 12:18:38.968 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-07 12:18:38.972 πΎ-[TSLocationManager startUpdatingLocation] Location-services: ON
2024-10-07 12:18:38.974 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService flush:] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:38.974 β -[LocationDAO unlock]_block_invoke UNLOCKED ALL RECORDS
2024-10-07 12:18:38.974 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService finish:error:] Success: 1 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:38.975 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [onConnectivityChange]
2024-10-07 12:18:38.980 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [initBackgroundGeolocation] ready function - Enabled
2024-10-07 12:18:38.985 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-07 12:18:38.985 πΎ-[TSLocationManager startMonitoringBackgroundFetch] BackgroundFetch: ON
2024-10-07 12:18:38.986 π<-38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 07/10/2024, 12:18:38 Central European Summer Time
2024-10-07 12:18:38.986 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 0 | df: -1.0m | age: 23 ms ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:38.986 β -[TSLocationManager locationManager:didUpdateLocations:] Acquired motionchange position: <-38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 07/10/2024, 12:18:38 Central European Summer Time
2024-10-07 12:18:38.986 π΅-[TSGeofenceManager didBecomeStationary:] TSGeofenceManager became stationary with outstanding loitering timers. Firing all loitering geofences
2024-10-07 12:18:38.986 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSGeofenceManager fireGeofenceEvent:] π’EXIT Geofence: cf676d36-be4b-4b67-b90c-dadc3654826b ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:38.987 β -[TSGeofenceManager fireGeofenceEvent:] INSERT: 11EBB162-094D-4209-A14F-73120B3B57D4
2024-10-07 12:18:38.987 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService flush:] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:38.988 β -[BackgroundTaskManager createBackgroundTask] 18
2024-10-07 12:18:38.989 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [Geofence]
2024-10-07 12:18:38.989 β -[BackgroundTaskManager createBackgroundTask] 19
2024-10-07 12:18:38.990 β -[TSHttpService schedulePost] LOCKED: 11EBB162-094D-4209-A14F-73120B3B57D4
2024-10-07 12:18:38.990 π΅-[TSLocationManager startMonitoringStationaryRegion:radius:] Radius: 1000
2024-10-07 12:18:38.995 π΄-[TSLocationManager stopUpdatingLocation]
2024-10-07 12:18:38.996 π΅-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 5.0
2024-10-07 12:18:38.996 βΉοΈ-[PolygonGeofencingService setLocation:] Already updating location <IGNORED>
2024-10-07 12:18:39.008 βΉοΈ-[TSLocationManager startMonitoringBackgroundFetch]_block_invoke Configured BackgroundFetch
2024-10-07 12:18:39.150 π΅-[HttpResponse handleResponse] Response: 201
2024-10-07 12:18:39.151 β -[TSHttpService post:]_block_invoke DESTROY: 11EBB162-094D-4209-A14F-73120B3B57D4
2024-10-07 12:18:39.152 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService finish:error:] Success: 1 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:39.152 β -[BackgroundTaskManager stopBackgroundTask:]_block_invoke 18 OF ( 18, 19 )
2024-10-07 12:18:39.993 π΄-[TSGeofenceManager stopMonitoringSignificantLocationChanges]
2024-10-07 12:18:39.993 π<-38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 07/10/2024, 12:18:38 Central European Summer Time
2024-10-07 12:18:39.993 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSGeofenceManager evaluateProximity:] Found 3 / 3 within 2000 m ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:39.997 π΅-[TSGeofenceManager evaluateProximity:delay:]_block_invoke Re-evaluation timer fired
2024-10-07 12:18:39.997 β -[BackgroundTaskManager stopBackgroundTask:]_block_invoke 19 OF ( 19 )
2024-10-07 12:18:42.045 π΅-[TSLocationManager onResume:] enabled? 1
2024-10-07 12:18:42.064 βΉοΈ-[LocationDAO purge:] 1
2024-10-07 12:18:42.066 βΉοΈ-[TSDBLogger db_save] Log committed
2024-10-07 12:18:42.066 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService flush:] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:42.067 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService finish:error:] Success: 1 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:42.364 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-07 12:18:45.299 π΅-[TSLocationManager onSuspend:] enabled? 1)
2024-10-07 12:18:45.306 βΉοΈ-[TSDBLogger db_save] Log committed
2024-10-07 12:18:47.299 βΉοΈ-[TSDBLogger db_delete] maxAge: 259200
2024-10-07 12:18:47.300 βΉοΈ-[TSLocationManager init] ββββββββββββββββββββββββββββββββββββββββββββββ β TSLocationManager (build 388) β ββββββββββββββββββββββββββββββββββββββββββββββ { activityRecognitionInterval = 10000; activityType = 1; authorization = { }; autoSync = 1; autoSyncThreshold = 0; batchSync = 0; debug = 0; desiredAccuracy = "-2"; desiredOdometerAccuracy = 100; didDeviceReboot = 0; didLaunchInBackground = 0; didRequestUpgradeLocationAuthorization = 1; disableAutoSyncOnCellular = 0; disableElasticity = 0; disableLocationAuthorizationAlert = 1; disableMotionActivityUpdates = 1; disableStopDetection = 0; distanceFilter = 10; elasticityMultiplier = 1; enableTimestampMeta = 0; enabled = 1; extras = { }; geofenceInitialTriggerEntry = 1; geofenceProximityRadius = 2000; geofenceTemplate = "{ "timestamp": "<%= timestamp %>", "uuid": "<%= uuid %>", "age": <%= age %>, "event": "<%= event %>", "odometer": <%= odometer %>, "geofence": { "identifier": "<%= geofence.identifier %>", "action": "<%= geofence.action %>" }, "coords":{ "latitude": <%= latitude %>, "longitude": <%= longitude %>, "accuracy": <%= accuracy %>, "altitude": <%= altitude %>, "altitude_accuracy": <%= altitude_accuracy %> }, "activity": { "type": "<%= activity.type %>", "confidence": <%= activity.confidence %> }, "is_mock": <%= mock %>, "is_moving": <%= is_moving %> }"; headers = { Accept = "application/json"; "Accept-Language" = "en-US"; "Content-Type" = "application/json"; "Rain-Version" = "2020-04-21"; "source-code" = RAIN; "x-rain-app-key" = 408776b60d8f4295ae806b2dce0bfae2; "x-rain-app-name" = "MOBILE_APP"; "x-rain-app-platform" = IOS; "x-rain-app-version" = "999.999.999"; "x-rain-brand" = RAIN; "x-rain-client" = RAIN; }; heartbeatInterval = 60; httpRootProperty = location; httpTimeout = 60000; iOSHasWarnedLocationServicesOff = 0; isFirstBoot = 0; isMoving = 0; lastLocationAuthorizationStatus = 3; locationAuthorizationAlert = { cancelButton = Cancel; instructions = "To use background location, you must enable '{locationAuthorizationRequest}' in the Location Services settings"; settingsButton = Settings; titleWhenNotEnabled = "Background location is not enabled"; titleWhenOff = "Location services are off"; }; locationAuthorizationRequest = Always; locationTemplate = ""; locationTimeout = 60; locationsOrderDirection = ASC; logLevel = 5; logMaxDays = 3; maxBatchSize = "-1"; maxDaysToPersist = 1; maxRecordsToPersist = "-1"; method = POST; minimumActivityRecognitionConfidence = 70; odometer = 0; params = { "device_id" = "831292c5-1719-4b14-b162-e554d8e5c7aa"; "device_name" = "iPhone 15 Pro"; "device_os" = ios; "user_id" = "925be8b8-0329-4ebb-939e-04d8fdc02abf"; }; pausesLocationUpdatesAutomatically = 1; persistMode = 2; preventSuspend = 0; schedule = ( ); schedulerEnabled = 0; showsBackgroundLocationIndicator = 1; startOnBoot = 1; stationaryRadius = 25; stopAfterElapsedMinutes = "-1"; stopDetectionDelay = 0; stopOnStationary = 0; stopOnTerminate = 0; stopTimeout = 5; trackingMode = 0; url = "*******"; useSignificantChangesOnly = 0; }
2024-10-07 12:18:47.309 βΉοΈ-[GeofenceDAO init] CREATE TABLE IF NOT EXISTS geofences (id INTEGER PRIMARY KEY AUTOINCREMENT, identifier TEXT NOT NULL UNIQUE, latitude DOUBLE NOT NULL, sin_latitude DOUBLE NOT NULL, cos_latitude DOUBLE NOT NULL, longitude DOUBLE NOT NULL, sin_longitude DOUBLE NOT NULL, cos_longitude DOUBLE NOT NULL, radius DOUBLE NOT NULL, notifyOnEntry BOOLEAN NOT NULL DEFAULT 0, notifyOnExit BOOLEAN NOT NULL DEFAULT 0, notifyOnDwell BOOLEAN NOT NULL DEFAULT 0, loiteringDelay DOUBLE NOT NULL DEFAULT 0, extras TEXT, vertices TEXT)
2024-10-07 12:18:47.309 βΉοΈ-[GeofenceDAO init] CREATE index IF NOT EXISTS identifier ON geofences (identifier);CREATE index IF NOT EXISTS latitude ON geofences (latitude);CREATE index IF NOT EXISTS longitude ON geofences (longitude);CREATE index IF NOT EXISTS sin_latitude ON geofences (sin_latitude);CREATE index IF NOT EXISTS cos_latitude ON geofences (cos_latitude);CREATE index IF NOT EXISTS sin_longitude ON geofences (sin_longitude);CREATE index IF NOT EXISTS cos_longitude ON geofences (cos_longitude);
2024-10-07 12:18:47.467 π΅-[TSLocationManager locationManager:didChangeAuthorizationStatus:] status 3
2024-10-07 12:18:47.473 π΅-[TSLocationManager locationManager:didExitRegion:] Exit stationary region
2024-10-07 12:18:47.474 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:47.475 π΅-[BackgroundTaskManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:47.476 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:47.477 π΅-[PolygonGeofencingService locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:47.479 π΄-[TSGeofenceManager locationManager:didExitRegion:] cf676d36-be4b-4b67-b90c-dadc3654826b
2024-10-07 12:18:47.479 πΎ-[TSGeofenceManager requestLocation]
2024-10-07 12:18:47.481 π΅-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
2024-10-07 12:18:47.500 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-07 12:18:47.511 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-07 12:18:47.514 π΄-[TSGeofenceManager stopUpdatingLocation]
2024-10-07 12:18:48.922 βΉοΈ-[TSLocationManager log:message:] [RNBackgroundGeolocation startObserving]
2024-10-07 12:18:48.968 βΉοΈ-[TSConfig persist]
2024-10-07 12:18:48.978 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-07 12:18:49.025 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [createGeolocationBootSettings]
2024-10-07 12:18:49.025 βΉοΈ-[TSLocationManager on:success:failure:] location
2024-10-07 12:18:49.025 βΉοΈ-[TSLocationManager on:success:failure:] motionchange
2024-10-07 12:18:49.025 βΉοΈ-[TSLocationManager on:success:failure:] activitychange
2024-10-07 12:18:49.025 βΉοΈ-[TSLocationManager on:success:failure:] heartbeat
2024-10-07 12:18:49.025 βΉοΈ-[TSGeofenceManager onGeofence:]
2024-10-07 12:18:49.025 βΉοΈ-[TSGeofenceManager onGeofencesChange:]
2024-10-07 12:18:49.025 βΉοΈ-[TSLocationManager on:success:failure:] http
2024-10-07 12:18:49.025 βΉοΈ-[TSLocationManager on:success:failure:] providerchange
2024-10-07 12:18:49.025 βΉοΈ-[TSLocationManager on:success:failure:] schedule
2024-10-07 12:18:49.025 βΉοΈ-[TSLocationManager on:success:failure:] powersavechange
2024-10-07 12:18:49.025 βΉοΈ-[TSHttpService onConnectivityChange:]
2024-10-07 12:18:49.025 βΉοΈ-[TSLocationManager on:success:failure:] enabledchange
2024-10-07 12:18:49.025 βΉοΈ-[TSHttpService onAuthorization:]
2024-10-07 12:18:49.025 π΅-[TSLocationManager ready]
2024-10-07 12:18:49.038 βΉοΈ-[TSLocationManager doStart:] trackingMode: 0
2024-10-07 12:18:49.038 βΉοΈ-[TSLocationManager clearLastOdometerLocation]
2024-10-07 12:18:49.039 πΎ-[TSGeofenceManager start]
2024-10-07 12:18:49.039 π΅-[TSLocationManager setPace:] 0
2024-10-07 12:18:49.044 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [_updateOnProviderState]
2024-10-07 12:18:49.045 πΎ-[TSLocationManager startUpdatingLocation] Location-services: ON
2024-10-07 12:18:49.047 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService flush:] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:49.047 β -[LocationDAO unlock]_block_invoke UNLOCKED ALL RECORDS
2024-10-07 12:18:49.047 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService finish:error:] Success: 1 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:49.048 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [onConnectivityChange]
2024-10-07 12:18:49.050 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [initBackgroundGeolocation] ready function - Enabled
2024-10-07 12:18:49.066 βΉοΈ+[LocationAuthorization run:onCancel:] status: 3
2024-10-07 12:18:49.066 πΎ-[TSLocationManager startMonitoringBackgroundFetch] BackgroundFetch: ON
2024-10-07 12:18:49.067 π<-38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 07/10/2024, 12:18:49 Central European Summer Time
2024-10-07 12:18:49.067 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 0 | df: -1.0m | age: 54 ms ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:49.067 β -[TSLocationManager locationManager:didUpdateLocations:] Acquired motionchange position: <-38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 07/10/2024, 12:18:49 Central European Summer Time
2024-10-07 12:18:49.067 π΅-[TSGeofenceManager didBecomeStationary:] TSGeofenceManager became stationary with outstanding loitering timers. Firing all loitering geofences
2024-10-07 12:18:49.067 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSGeofenceManager fireGeofenceEvent:] π’EXIT Geofence: cf676d36-be4b-4b67-b90c-dadc3654826b ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:49.068 β -[TSGeofenceManager fireGeofenceEvent:] INSERT: 07B78137-693E-4FF4-B4F7-9242D6B328D5
2024-10-07 12:18:49.068 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService flush:] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:49.070 β -[BackgroundTaskManager createBackgroundTask] 20
2024-10-07 12:18:49.071 βΉοΈ-[TSLocationManager log:message:] [useGeolocation] [Geofence]
2024-10-07 12:18:49.072 β -[BackgroundTaskManager createBackgroundTask] 21
2024-10-07 12:18:49.072 π΅-[TSLocationManager startMonitoringStationaryRegion:radius:] Radius: 1000
2024-10-07 12:18:49.073 β -[TSHttpService schedulePost] LOCKED: 07B78137-693E-4FF4-B4F7-9242D6B328D5
2024-10-07 12:18:49.074 π΄-[TSLocationManager stopUpdatingLocation]
2024-10-07 12:18:49.075 π΅-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 5.0
2024-10-07 12:18:49.075 βΉοΈ-[PolygonGeofencingService setLocation:] Already updating location <IGNORED>
2024-10-07 12:18:49.082 βΉοΈ-[TSLocationManager startMonitoringBackgroundFetch]_block_invoke Configured BackgroundFetch
2024-10-07 12:18:49.403 π΅-[HttpResponse handleResponse] Response: 201
2024-10-07 12:18:49.404 β -[TSHttpService post:]_block_invoke DESTROY: 07B78137-693E-4FF4-B4F7-9242D6B328D5
2024-10-07 12:18:49.404 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSHttpService finish:error:] Success: 1 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:49.405 β -[BackgroundTaskManager stopBackgroundTask:]_block_invoke 20 OF ( 20, 21 )
2024-10-07 12:18:50.074 π΄-[TSGeofenceManager stopMonitoringSignificantLocationChanges]
2024-10-07 12:18:50.074 π<-38.58491600,-9.14607400> +/- 5.00m (speed -1.00 mps / course -1.00) @ 07/10/2024, 12:18:49 Central European Summer Time
2024-10-07 12:18:50.074 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β -[TSGeofenceManager evaluateProximity:] Found 3 / 3 within 2000 m ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
2024-10-07 12:18:50.081 π΅-[TSGeofenceManager evaluateProximity:delay:]_block_invoke Re-evaluation timer fired
2024-10-07 12:18:50.081 β -[BackgroundTaskManager stopBackgroundTask:]_block_invoke 21 OF ( 21 )
2024-10-07 12:19:04.149 βΉοΈ-[TSDBLogger db_save] Log committed
@christocracy i was thinking about your analogy and reanalysing the logs and theres something that your analogy doesnt seem to explain. I would understand if the OS would trigger two ENTER events if there was something in my code that would make the geofences being recreated. But how would that explain the OS sending two EXIT events in a row? Even if you recreate the geofences you never trigger an EXIT event on .ready(), the only thing it can happen, AFAIK, is creating a geofence and trigger immediately an ENTER one if you happen to already be in it.
Correct me if im wrong, also, can the demo app be downloaded for iOS?
This issue is stale because it has been open for 30 days with no activity.
This issue was closed because it has been inactive for 14 days since being marked as stale.
@christocracy we're still observing this bug in production. Do you have any update on this?