Removed a crash caused by a rare race condition during timeline merging, where two concurrent processing cycles could attempt conflicting edge assignments (BIG-158)
Other Changes
App renamed from Arc Editor to Arc Timeline 4
Improved dark mode and tinted app icon contrast (BIG-392)
Debug edge indicators (↑↓ arrows) are now hidden in release builds (BIG-393)
Bogus activity type samples are now included in visit pruning
This is the first release candidate for the proper App Store release! I’ll be submitting it to Apple shortly after posting this thread. And if nothing goes wrong in the review process or in our testing in the next day or two, it’ll be what goes live as the first official v1.0 release of the app!
Oh yeah and the app’s been renamed to Arc Timeline 4 now. Not a particularly inspired name, but it fits the intent better than Arc Editor.
Once the old app is properly retired this one will get renamed to just Arc Timeline, without the 4.
Congrats. Perhaps most of us just post our issues and concerns and we don’t say enough how much we appreciate all your effort and how much we love the app.
It’s been about two years since the Arc Editor / LocoKit2 projects started! Nice to have v1.0 finally almost out the door
Still waiting for Apple to approve the release - it’s in the review queue. Maybe another day or two at most, then we can install it from the App Store properly
FYI, there’s still reference to “Arc Timeline Editor” in the onboarding text. Not sure if you wanted to replace them all with just “Arc Timeline”.
Also, after reinstalling Arc Timeline 4 from fresh, my onboarding went:
Enable location services
Enable motion
Enable photo access
Import data from old version
Enable healthkit
Import data from old version
I didn’t expect a second import, though it was much quicker than the first. Should that have been the case? Why not just do one import after enabling access to everything?
I explicitly deleted Arc Editor then installed it again from TestFlight as I wanted to make sure I reimported everything from Arc Timeline. I then simply followed the first run wizard, which I assume decided to import/ migrate from Arc Timeline.
Edit: I just tried this again by deleting and reinstalling. The first time, things worked properly. The second time, I got a repeat of the double import. There seems to be some sort of non-determinism in the order of steps of the first run wizard. Perhaps a race condition caused? I think it might be triggered by my going through the first run wizard quickly (i.e. not reading anything and pressing continue quickly). Tried a third time, this time slower, and it happened again.
If you provide me a place to upload it, I have a hastily edited video of the flow (I just cut down the import progress bars and the popup of my photo album as it asked for permission). It goes:
Welcome to Arc Timeline Editor [Continue].
Location data [Continue, approve on modal].
Motion data [Continue, approve on modal].
Photos [Continue, approve on modal].
Choose your plan [Refresh/ restore purchases button].
Existing Data Found [Import from Arc Timeline, 4-ish minute import].
Redisplay of step 1 “Welcome to Arc Timeline Editor” [Continue].
Health data [Continue, “Turn on All” + “Allow” in card].
Redisplay of step 6 “Existing Data Found” [Import from Arc Timeline, 30-ish second import].
I have some more on my wishlists but maybe these will have to wait for 4.1? I personally do agree that perfect is the enemy of the good and Arc Timeline 4 crashes way less than Arc Timeline 3.
Wishlists:
Underground train trips. Arc Timeline 4 seems clearly capable of recording them but it just usually groups them under a visit at a station. Once I go into the individual segment view to reconfirm it’s Metro it seems to work well.
When editing the individual segments in the individual segment view, can the app stay in this view without going back to the main timeline? This makes batch edits a bit faster.
Please add a button from a place to the exact listing on Google! The search results show three listings for Canal St because there are three stations called Canal St here. In old Arc Timeline I would choose one, click the Google button to go to the place to see if it’s the right one and then return back to Arc to change. This now seems impossible.
Yeah I’ve noticed this too. Slightly annoying. I keep forgetting to file an issue for it, because it’s always just a brief “ugh” then I move on to testing what I was actually there for, quickly forgetting the grey lines. I’ll get it filed now!
Thanks! It’s been a long process, but I’m really happy with the quality of the end result. Still plenty of rough edges to smooth off yet, but I think the app as a whole is in a pretty good state, and ready for a bunch more years of development!
Thanks for that @shallax! I think I figured it out in the code now. The steps you describe explain it pretty well. Hopefully I’ll have it fixed for v1.0.1.
Yeah this one is a special case. LocoKit2 has all the tools it needs for doing it well, but it doesn’t have the special training / heuristics for it yet. It needs quite different handling from other normal location data.
I’m in Bali at the moment, so no underground trains. But I’ll be back in Bangkok for a couple of weeks next month. I’ll put it in my calendar to some proper testing and tweaking while I’m there. I keep saying I’m going to do this, then I completely forget once I’m in a city with underground trains!
Heh. This one is weirdly much more difficult than it sounds. I think what happens is something like the parent item gets deleted due to the segment change triggering processing and then item merging. Which then resets the navigation stack, because the parent item of the segments doesn’t exist anymore. That’s much more fiddly to work around than you’d think.
But I’m sure there’ll be a way to make it happen, somehow. I’ll file an issue for it and do some investigations.
Weirdly, I keep thinking “but I’ve already put that button in!” then I go to check and it’s not there. I’ve got such a strong memory of putting it in already, but nope, it’s not there
I’ll file this too - it should be simple to get it added in.