d2-checklist icon indicating copy to clipboard operation
d2-checklist copied to clipboard

Sync Locks is broken

Open jondthompson opened this issue 2 years ago • 2 comments

I assume this is something to do with the Bungie API, but reloading the page makes things work, so I suspect it's something that can be fixed on the client side.

Anyhow, using the Shard Mode and Upgrade Mode has been difficult as of lately because the locks don't seem to unlock at all until after I reload d2-checklist in the browser. Then it works fine. Prior to reload, I'll click Sync Locks and it will tell me there is nothing to unlock, despite me looking at items that are locked and need to be unlocked. I reload d2-checklist in the browser, and it takes some time to load, but once it does, clicking "sync locks" operates as expected.

Also, and this might be another issue, it doesn't seem to want to unlock items in the vault, just in the inventory of the character. This results in these issues coming up more often, especially at the end of the season when I'm taking items I've tagged as upgrade and marked them for deletion.

jondthompson avatar Feb 21 '23 19:02 jondthompson

So there's a long standing bug in the game where if two copies of the same item share the same bucket and one of them is locked, then both will become locked. I like to think of it as a locked item "infecting" its sibling. DIM has apparently cleverly solved this by anticipating when the bug will happen and proactively fixing it, but I'm not as smart as them =)

This, combined with stale API profile data (which often lags 30 seconds behind real things), can make locks wonky and also make sync locks appear to behave wrong (b/c the item may have become locked during a move to the vault that isn't reflected in the API yet)

dcaslin avatar Feb 22 '23 19:02 dcaslin

I don't think it's that bug. Like I said, it works once I reload the whole page. I've waited several minutes in testing to see what the issue could be, and will get stale data from the API, but when I reload the page I will get accurate data, even if I do it immediately after making a change, so something is changing on the client side when I do a full reload of the page that is affecting how accurate the data is that is coming back from the API.

jondthompson avatar Feb 23 '23 14:02 jondthompson