BUG: There is still some issue with mutexes that I do not yet understand. On processing background locations the mutex sometimes gets locked and releasing it from a settimeout handler does not seem to be working.
However, at least this time through it recorded what looks like. good track.
Ha! The difference between the walk from the Hoopers Bald to here in the app compared to Strava is only 0.01 miles ... which is a 1.1% difference. I'll have to compare the two tracks in detail. Strava was running on the iPhone and the App on the Pixel 6.
To date this is the smallest variance by an order of magnitude or more.
BUGFIX: now testing a fix for an epic race car edition bug that may be present throughout the code but now I finally know what to look for.
It was a stupid simple common mistake but as so many say, JavaScript race conditions can be very challenging to find.
But still it's no excuse for how gut wrenchingly long this has taken me to find.
But in my defense, they only seem to occur randomly every other day or so on these long trips and previously the MacBook Air was simply too slow to do my serious development with. I resisted because I did not want to spend the thousands it would cost to get something "serious" but once the MacBook Air aged out I pondered another MacBook Air but even the new ones are underpowered. So I picked up a new Mac Mini which could be gotten with larger amounts of RAM which freed me up to get a more useful developers laptop ... The System 76 which has 40 gigs of RAM and a 4tb SSD. Stupid fast running Linux. It's a godsend.
So all told it cost me over $3500 to find this bug. I should just have done it ages ago.