Latest update: Request data missing

Meteopool8 days ago

Hi,

I'm the project leader of meteopool.org. We are tracking storm chasers in Europe using Traccar which worked perfectly fine for years now (except high battery usage issues). To make this possible, we use device id's generated in our backend and a custom server url with a passkey. So one request would look like this:

https://www.example.com/our-api.php?pass=passkey
Device id and GPS data will be attached in request data for the same http request

Since the last update, users bombard us it's not working anymore. I updated my own app without changing settings, turned on debug mode on our side and I can confirm that the request goes through but no request data at all is sent anymore, only parameters we add after the ?. To make sure there is no conflict with our parameters I removed everything behind the ? including the ?, no change, still no GPS data. So this can't be the issue. Something on the Traccar side must have changed in a way that it's broken now.

We would appreciate any help and we need it fast. Severe weather is coming and our storm chasers can't record tracks anymore and they can't be displayed on the live map.

Antony7 days ago

Traccar used to include the location info as url string parameters before the latest update (including the device id). But ever since the latest update they changed that behavior to sending a json with the location info to the provided server url.

There is no blog post explaining the changes that has been published by traccar (which I hope they do soon) however I figured this out upon inspecting the request sent with the new update
This is most probably why you are no longer getting the location updates. Just update how your server handles location updates

Kalabint7 days ago

Hi,

the Protocol changed, it's now sending a JSON body,
see here for reference: https://github.com/traccar/traccar-client/issues/5#issuecomment-2960814926

The App behaviour changed too, it's now working with a "moving" / "not moving" model, and based on this decides on when to enable power hungry services like GPS, see this https://github.com/transistorsoft/flutter_background_geolocation/wiki/Philosophy-of-Operation for more info.

The app is being rapidly updated at the moment, to work out all the issues, there where multiple options added recently to reimplement old features on the new app, so things change fast at the moment.

Hoffe dies hilft ein bisschen

Meteopool7 days ago

Thank you, I was able to adjust our API. The sudden switch is far from ideal (as app updates can be blocked by users, so we have both methods now). But we detect the old version and the new version now for the same API url and it works again.

However, I miss documentation and I don't know how users activate tracking. In the older versions, there was a toggle button to start tracking. Has it been replaced with "Continous tracking"? When the user is not moving, will we still receive API calls so we can detect the user is still active but standing still or will there be no transmission at all?

Antony7 days ago

I agree, publishing documentation and a blog to give everyone a heads-up would have been considerate and nice. But as a free app we can't complain much.

Yes, it should be the "continuous tracking" button that users should turn on (equivalent to service toggle in the old app). However as per my testing the app doesn't reliably update the location anymore or more precisely, it updates the location about 5% of the times it should have updated the location in. Hopefully that is going to be fixed soon

Meteopool7 days ago

Follow up question: Is this supposed to work with iOS or only Android? I integrated the JSON parser for iOS as well but we don't receive any data from iOS devices using the same scripts.

Antony7 days ago

I honestly don't have any ios device to test it with. So I don't know. It would make sense that the ios app will post the same json.

Anton Tananaev7 days ago

It should work the same way on iOS and Android.

Meteopool7 days ago

I double checked with an iOS user. I receive his API request, but there is no data. Any idea what causes it? Or is there any new or changed, undocumented setting which could cause this?

Anton Tananaev7 days ago

Try configuring it to Traccar and see what you get. I am pretty sure there is data.

Meteopool7 days ago

"Try configuring it to Traccar" What do you mean by that? I tested it in debug mode, which will show all data the server received in a request and it was empty.

Anton Tananaev7 days ago

I mean configure it to send data to Traccar server and provide logs.

Meteopool6 days ago

The iOS user re-installed the app, started it with the same exact settings, now it works. Very strange.

We also receive a lot of complaints the app is not sending often enough to keep them online when standing still. They run into our internal timeout (10 minutes). In the old version, standing still did not cause that no GPS is sent. Continuous tracking is turned on. Any other idea how we can force this "heart beat" for online but not driving storm chasers?

I can confirm that our live map is kinda empty now, storm chasers watching storms but not driving are offline too often. We lost about 50% activity compared to the old app. This is game changing, we will have to use another app but we still hope this can be fixed.

Anton Tananaev6 days ago

Are you on version 9.2.0+? Then the heartbeat should work.

Meteopool6 days ago

Feedback from the iOS user: He is using version 9.1.0, there is no update available in the play store.