Closed Ryu-ga closed 4 months ago
Is this still a draft or ready for review?
Is this still a draft or ready for review?
Still draft, it needs several migration methods for existing plist based elements and itself(it may need some versioning to update itself)
I've already said this on the Discord, but I'll state this here for proper safe-keeping purposes: If you can improve Chain, but that change causes an incompatibility with the current plist based format, ignore backcompat and just nuke the older plists entirely. Keychain is required for some functionality but not mission critical, the best it can break is users getting logged out. That is acceptable given that using a proper database will be objectively better than trying to solve what's very wrong with the current plists (it's not enough to differentiate many kinds of keys)
https://github.com/PlayCover/PlayTools/pull/139
I didn't test much apps for now. It seems to work well to me. This code needs to be cleaner and clearer.
Edit: This change breaks many apps, because this is incompatible to old plist stuffs(not having all attributes and primary keys). if user want to use newer PlayTools, they need to clean PlayChain data or even re-install entire apps(many apps believe their SecItems will not disappear, they do not use optional,,) I added simple
user_version
pragma in db, this will be used when migration code is available.