Closed enchained closed 4 years ago
I don't think I quite get why you wouldn't want your wishlisted games in your waitlist
I don't think I quite get why you wouldn't want your wishlisted games in your waitlist
Maybe because games in your steam wishlist you want exclusively for the steam platform. I know I want that.
Since Steam has added this neat little menu for the "Ignore" option I suggest to create a similar menu for the wishlist.
If you disable the option that will be named something like "Automatically add wishlisted titles to waitlist", you'll be able to see this menu and decide between wishlist and/or wishlist. If this option stays enabled, it will sync all wishlist titles to the waitlist.
I don't think I quite get why you wouldn't want your wishlisted games in your waitlist
I'm not sure how you got to that conclusion. I want my wishlist games in my waitlist, I just don't want all my waitlist games duplicated in my wishlist. I don't want to get Steam emails on 10% off of everything. If I keep the sync up and remove something from the wishlist I would consider buying only on a big discount... it'll be removed from the waitlist on the next sync as well, right?
I came to that conclusion because you wanted a separate waitlist button. If I understand you correctly, you thought that waitlisted games are imported to your wishlist. But that's not planned.
I came to that conclusion because you wanted a separate waitlist button. If I understand you correctly, you thought that waitlisted games are imported to your wishlist. But that's not planned.
No, I do not think that waitlisted games are imported to my wishlist. I'm not sure how else to explain this. I want to add games to ITAD waitlist from Steam pages. Right now Augmented Steam can't do that. But ITAD can do that (sort of) via the Steam wishlist sync. But it's two-way (hence the 'sync'), so if I use the Sync, and I want to keep the game in the waitlist, I can't just delete that game from Steam wishlist. But I don't like keeping hundreds or even thousands of titles in my Steam wishlist, it's getting cluttered and really hard to manage. This is where the separate waitlist button and indication could come to the rescue. Then I could just waitlist games without wishlisting them, and also see what I already waitlisted as tagged or highlighted on Steam. I just really want to make sure I don't miss any remotely good looking game from Steam storefront to quickly add to the waitlist with my default -70% off ITAD notification settings.
Alright, I just merged the feature branch into the development branch, everything you've mentioned should be integrated except for the quick launch links (indications that you own the game elsewhere are there though)
Today was going through the PAX sale page, was waitlisting a lot of games via the dropdown, but then noticed that on the refresh of the game page "In waitlist" is not highlighted anymore, as if it weren't applied. At first, I thought it was because of games which didn't come out yet (although it would be useful to waitlist those too for the future), but then I repeatedly tried on games that are already selling and nothing seems to stick after the refresh. No relevant errors in console, couldn't figure out if the request to add actually happens on quick debug, no requests on network tab though.
TLDR waitlisting doesn't seem to work currently
@MxtOUT does it reproduce for you? If not, how can I debug it better?
@enchained what dropdown option?
I guess you mean on the app store page itself. I too have this issue. Investigating...
The request went through successfully and its response was {".meta":{"games":0,"recognizedGames":1}}
. It also appears in the waitlist on the itad site. So, that does not seem to be the problem.
Yes, I've meant the game pages. Thanks for looking into it! Will continue to debug locally.
I set a breakpoint on store.js:1102
await Background.action("itad.addtowaitlist", this.appid);
It triggers when I'm trying to add something, then there's a lot of async code, wrappers and polyfills - things I'm not good at understanding well.
After that the 1104 line gets called:
waitlisted = !waitlisted;
Before it's called, waitlisted
is null
, so that means something didn't go well, I just don't know where to look yet. Will be able to try on another machine later.
UPD: Forgot that extensions have a background script too. Tried while debugging that on another title and it worked fine. Maybe before was something with the cache or loading times? And sometimes nothing happens for a while when you click Waitlist button, small animation might be helpful to prevent double-clicks.
Will debug a bit more if things repeat again.
You should check what happens after await Background.action("itad.addtowaitlist", this.appid)
Does it sync the local waitlist with itad's remote waitlist? Or just add the game in question to the local waitlist? That's what I'd expect, but that doesn't seem to happen.
Tried again without debugging: game is not added on ITAD site - adding it via dropdown on Steam - game is now added on ITAD site - refreshing Steam - no highlight. So it's surely adding remotely (saw successful requests on debug), but not to the local db? After a few minutes of waiting and refreshes it's highlighted, I suppose it was when the auto sync from ITAD happened. Repeated with two more games with same results.
await Background.action("itad.addtowaitlist", this.appid)
This line always gets me these warnings in chrome, but probably irrelevant:
store.js:1031 A cookie associated with a cross-site resource at http://www.youtube.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
addWaitlistDropdown @ store.js:1031
async function (async)
addWaitlistDropdown @ store.js:972
AppPageClass @ store.js:631
(anonymous) @ store.js:4097
async function (async)
(anonymous) @ store.js:4086
(anonymous) @ store.js:4152
store.js:1031 A cookie associated with a cross-site resource at http://youtube.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
addWaitlistDropdown @ store.js:1031
async function (async)
addWaitlistDropdown @ store.js:972
AppPageClass @ store.js:631
(anonymous) @ store.js:4097
async function (async)
(anonymous) @ store.js:4086
(anonymous) @ store.js:4152
store.js:1031 A cookie associated with a cross-site resource at https://youtube.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
Maybe return IndexedDB.put("waitlist", null, appids, Array.isArray(appids));
in the background.js fails on adding?
I followed it to return IndexedDB.db.put(objectStoreName, null, key);
on line 1062, but not sure how to make sure if it has been added there or not.
Noticed one other thing - games added this way do not use the default settings: I was notified about 0% price cuts a few times.
https://api.isthereanydeal.com/v01/waitlist/import/?access_token= {version: "02", data: [{gameid: ["steam", "app/919640"]}]}
Request does not have a price/cut field, and API docs say "for omitted fields user's default settings will be used", but that's under the Form Import, not Direct Import. I wonder if that's a bug or intended behavior.
Either way, it would be useful to either use ITAD global default, or being able to set another default for the Steam button specifically.
Also, I was thinking about the way to display both ITAD and Steam info on the pages with many games. As far as I remember we have tags to display the additional info while avoiding the highlight override. They work with search results, package and bundle pages, but there's no option to use ITAD-related tags for now, only highlights. And I don't see any tags on the main and sale pages (although it might be tricky to implement due to the lack of space (maybe an icon with one letter and a tooltip will suffice?)).
@enchained I remember fixing this, here's the relevant commit, will ship with the next update 5d65e5cb204798a912f49c74c88b99eda49dde99 For the other concerns, please open separate issues
@enchained I remember fixing this, here's the relevant commit, will ship with the next update 5d65e5c
Linked commit contains only the fix for the removeFromWaitlist function. Maybe the same fix should be applied to the addToWaitlist function too? https://github.com/tfedor/AugmentedSteam/blob/develop/js/background/background.js#L351
I checked the background IndexedDB right after waitlisting this time, and it contained one plain key on index 0 - 730860, while all other keys were like "app/1000030". I guess that may be why it's not detected as waitlisted until it's overriden with sync.
Should be fixed in v1.4.2
@MxtOUT For the other concerns, please open separate issues
I opened related issues about the things I described above: https://github.com/tfedor/AugmentedSteam/issues/819 https://github.com/tfedor/AugmentedSteam/issues/820
@tfedor Could you please look at the ITAD API question in https://github.com/tfedor/AugmentedSteam/issues/820?
For a long time I was thinking about quick adding and indication on Steam about ITAD - mark what's waitlisted, and add with default settings with a single click. I made a userscript that adds a button next to Steam's Add to wishlist, that either says that it's already waitlisted, or adds with default settings on click. I didn't publish it yet, cause it's still WIP and needs bugs fixing, quick removal feature, oauth prettifying etc. I was thinking about adding the indication and stuff to other Steam pages, like storefront or search, but was not sure how to get/store/update user data better, how to comply with continuous loading on scroll, etc. But now that there's Augmented Steam, my question is: Do you have any plans for more close ITAD integration? Cause I think it could fit pretty well and the extension already has very similar functions to adjust.
I see possible features as:
Quick add/remove waitlist from game pages (and community) next to wishlist button, similar design/behavior.
Mark waitlisted games on other store pages, like search etc - wherever they can be colored as wishlisted, they should be able to be also tagged as waitlisted.
Green owned area with link to another store or a quick launch link from another client. Useful when you buy something directly (or get in a giveaway) on origin/uplay/gog/egs, and want to remember that you already own that (in case of impulse purchases, hehe. been there, done that).
Tag with "owned on x" on other steam store pages, similarly to waitlist idea.
I think it would be extremely useful cause while the wishlist sync with ITAD is nice and all, if you remove the game from wishlist, it'll be removed from waitlist on next scheduled sync (correct me of I'm wrong and there is a one-way option). So since Steam just sends you notifications on ANY sale (sometimes with a big delay, sometimes I even get nothing), bi-directional sync doesn't make much sense if you just want to offload your wishlist a bit. To maintain just the priority games, wishlist for friends and events, etc. and leave all the good deals to ITAD. But usually you discover things on Steam itself and impulsively add them to wishlist and it just keeps bloating. My userscript made my life a bit easier in that regards, but I still have to open a specific game page to make sure I have it waitlisted on ITAD.
UPD: owned/collected part also suggested here: https://github.com/tfedor/AugmentedSteam/issues/335