Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for map tabs, unique tabs, and other nested tabs #46

Open
gerwaric opened this issue Nov 28, 2023 · 0 comments
Open

Support for map tabs, unique tabs, and other nested tabs #46

gerwaric opened this issue Nov 28, 2023 · 0 comments

Comments

@gerwaric
Copy link

gerwaric commented Nov 28, 2023

Currently, Acquisition does not fetch items from map stash tabs or unique stash tabs, but as part of implementing OAuth and the new API, I think I've figured out how to handle these cases.

I'm working on this in my fork at https://github.com/gerwaric/acquisition, but I created an issue here because (a) I did not see an existing related issue, and (b) people may still be monitoring this repository for updates.

The issue is that these special stash tabs are implemented as nested tabs under the hood. To fetch maps from a map stash, for example, you first request the list of stash tabs. Then you see that one of them is a map stash tab. Then you have to request the full contents of the map stash tab to see its children. Then you have to make a separate request for each of these child tabs to fetch their contents. The procedure for fetching items from unique tabs is the same.

Because of how GGG has implemented their API, it's not possible to know anything about a stash tab's children until you request the full contents of the parent stash tab. However, the current design of acquisition is built around constructing a complete list of stash tabs at the start of an update. This means acquisition only requests the original parent map stash tab, but ignores its children that contain the actual maps.

The bad news is that this means rewriting significant portions of acquisition's internals to support the new API, including a new database format for the data files, as well as changes to the ItemLocation and ItemsModel classes to aggregate items from child stash tabs into their parents, so the user sees only the original parent stash tab. This means it may be a while before a public beta is ready, and there are likely to be a new set of bugs that will come with it.

TL;DR once I get OAuth and the new API fully working, acquisition should be able to fetch maps from map stash tabs, uniques from unique stash tabs, or items from any other kind of nested stash tab.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant