feat: app updates#200
Conversation
|
Is there a reason why almost the entire project has been reformatted? There's around 10k lines changed edit: swift format, which I'll just let that slide |
|
Oh yeah I have an automation that runs swiftformat and commits it in every Xcode project, I can revert that though if you're not a fan of swiftformat, I'm more concerned with how bad my implementation is, first time I've encountered CoreData rather than a UserDefaults lib, I've only done swift for a couple years so this is probably not A grade quality 🥲 |
|
So after reviewing some of, I'm gonna point out things that I've noticed
|
|
ah fuck me, I'll see to restoring all of that to how it was and fix the threading |
14e4568 to
c45323b
Compare
|
I believe I've addressed everything and provided a way cleaner approach this time, by nuking the branch back to main and then cherry picking the update functionality back into the signed apps cells instead and adjusting it to not just randomly break everything App.Updates.from.Castdrian.mov |
|
I haven't gotten able to get app updates working outside of the mock sources, is there a reason for that? |
did you run in release configuration or in debug configuration? if your scheme is set to debug it will always choose the mock source |
e4843e5 to
f19c6f8
Compare
|
It's not choosing the mock source when it's using release mode so that's good, but it doesn't seem any different from what it was. When choosing debug the mock source works fine, and actually shows that it works to an extent but doesn't show the same in release. I tried to actually test this by downloading an older version of feather and seeing if it updates. |
|
very funny thing there, apparently I was checking against the top level |
|
People have two versions keys mainly for compatibility with older altstore versions and other apps that use the scheme |
|
The version array should be first priority as altstore uses that in their 2.0 release |
f19c6f8 to
f4fc330
Compare
|
this worked in both release and debug config, tested the same way you did with just feather itself, downloaded 1.1.2 relaunched, update prompt
|
|
i pinky promise, I tested every step on both scheme configurations now it actually does fully accomplish the update flow |
|
"merging is blocked" nuh uh |

this aims to close #166 by implementing update checking, prompting, notifying and performing the install flow
this is probably extremely messy, I apologise, frankly the codebase was way bigger than I expected and I've just kinda been waddling through an ocean blindfolded