Stéphane Lizeray

@slizeray
27 Followers
124 Following
1.1K Posts
@bigzaphod I desperately filed a Feedback under FB22380360: CKSyncEngine lacks a snapshot mode for initial sync without replaying full zone history.

Those replays are a total waste of time but it's just how it works. It could take *hours* to restore the relatively small number of actually current records as CloudKit replays dead records the new install never had in the first place. Thousands and thousands of them.

I had to rearchitect *everything* to redesign it around this one unchangeable behavior.

Mamdani’s wife celebrated this.

RE: https://mastodon.social/@marcoarment/116308706419748361

Yes it broke the handshaking of my app for inviting friends (CKShare participants)… You need to force close the app on both side during the handshaking….

Can’t wait the WWDC session about testing….

A user reached out to me writing:
This is in no way a complaint; instead I wanted you to be aware of something I ran into today that does not offend me but could offend other users and since you've built something great, I wanted you to be able to avoid such a situation.

A new update is ready on the App Store. The Yearly Progression Charts have been improved…
I enjoy going for walks...

#AppleWatch #Fitness #DoWhatYouLike #LikeWhatYouDo #iOS

@amyworrall @alpennec @stroughtonsmith to go back to “catastrophic data lose, well we are speaking mostly about syncing devices from the same user…

It was probably the most complex thing I've ever built.

I removed CKSyncEngine and did it all myself solving the problems we needed solved. Maintaining a synced database of items with unique IDs supporting cascade deletes and automatically handling conflicts without much participation from the server which knows nothing of our needs.

Do you know how hard that is? No, most people don't and never will.

Do you know how many ways it can go wrong? So many ways. Have I found them all? I don't know.

It's not just a replacement for CKSyncEngine - it's much more. One of the key problems we had was how CloudKit replays deletion tombstones going way back. Tapestry would download feed items, make a CKRecord, and put it in iCloud to sync to other devices. Then later when the item gets old, we delete them. Over time, with busy feeds, you're looking at hundreds of expiring items per day for some people.

If you reinstall the app, it'd replay those deletions as CloudKit "catches you up" on new sync.

Hey “Apple Friends”, speaking of CloudKit, I desperately filed a Feedback under FB22338675, a feature request.

I don’t know who I am for daring to file such a Feedback.