The resume manifest is too a first approximation just a list of games that need updating and who haven't had the full details of their update put into the manifest *and* saved, because you clear the new/updated flag on GOG whenever you "touch" the game rather than the shelf and the manifest only saves after a game's entry is fully updated. So games that don't indicate being new/updated will not end up in the resume manifest on a default run (apart from if it's the first run because that always builds a full manifest). It's maybe also possible that GOG changed the game slug or id but didn't mark the game as updated, that would cause things to desynch a bit until the next full update (I kind of assume that a full manifest update is done every 1-2 months.)
I have an elegant solution inspired by the principle of isolating pure processing from impactful actions in functional programming.
Basically, I generate an update file that reflects what GOG indicated has changed in the library. From there, you can update your manifest from this file any number of times you wish in an idempotent way.
Also, separately from that, the manifest update/generate commands create a state file indicating their progress (with the list of games remaining to be updated in the manifest) and when the resume command is invoqued, this file is read to figure out what is left to update.
And it seems this has been happening to a lot of people. The only solution is cookie surgery, as I read here and there, or has this been solved at some point ?
I'm no not uptodate, on so many levels. :-/
As far as I can tell, the only solution that we have so far is:
- Process the login page as a text file and circumvent the recaptcha (which works most of the time, but not always)
- Process the login page as a user interface in a full blown browser engine
The second option seems like it should work reliably, but is harder to achieve it in a multi-platform way.
So, this tool went the text processing path (works most of the time, sometimes doesn't, it didn't for me), I believe LGOGDownloader is going with the full blown browser engine (but only works on Linux) and my tool goes with cookie surgery (works reliably, works multi-platform, a bit of a pain to setup for your regular user though).
Choose your poison :P.