Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

v25 client feedback and questions

A topic by Gaboris created Sep 12, 2018 Views: 1,144 Replies: 7
Viewing posts 1 to 3

So I updated my client manually, it worked like a charm no real problems so far, but I do have some thoughts/questions about the implementation of things.


First of all I'm really happy that we can install the client wherever we want now and the new "pick which login you'd like to use" at startup approach is pretty nice and it might actually alleviate my first problem, but I did notice that you've went back to "version naming" the install folder.
Is this meant to make updates more stable so they don't cause problems like failed overrides or leftover old files or just some way of keeping track of the versioning outside of the .EXE's version meta data or is this just some temporary way of keeping these "Beta tested" versions separated to see if they work properly?

I'm asking since this is going to cause problems for me(and maybe some others as well) where my firewall will always block the first attempt of a login for each version and even though there's a retry button now I'm not sure if it's gonna get annoying or not. Also I have custom icons for my apps and if the file's path changes all the time I'll have to edit them with each update.


Second, the new store setup is cool, but is there a reason why allowing tabs removes the "shortcuts" at the top? Is it just about not having enough space to keep them all there or does it actually make the code that much simpler?

I'm really just curious as a web developer since the extra shortcuts within the new tabs are actually pretty useful.


My first problem might be something that can't be fixes since it's probably tied to the browser code base that's used(probably Chromium since that's what does this), but I generally scroll pages by holding down my scroll button and just drag it around, but that starts highlighting everything that I'm passing by.

Is there a way to disable this behavior or do we need to just get used to it?


My final problem is again just a personal preference, but when I close the client the only options I have is to shut it down so that I have to start it up again to use or to just keep it minimized on the taskbar. The old client kept running in the background as well, but it "hid itself" in the right side menu like a background process just like Steam.

Is this a limitation of the new system or was it just decided that that's what it should do?


Anyways, again this is a great update, really like the changes and I can't wait to see what's next, but I'd still like to know what I can expect with my current problems.

Moderator moved this topic to itch app Development
(+1)
but I did notice that you've went back to "version naming" the install folder.
Is this meant to make updates more stable so they don't cause problems like failed overrides or leftover old files or just some way of keeping track of the versioning outside of the .EXE's version meta data or is this just some temporary way of keeping these "Beta tested" versions separated to see if they work properly?

I'm assuming you're talking about this folder:

The goal is indeed to keep versioning info outside of the .exe files. (you can see the source code here)

Another goal is to only switch to a higher version if it runs properly - so we don't accidentally break your app if we release a bad build of butler for example. Or, we don't break your app if your Antivirus decides it doesn't like the new butler release, for example.

You mention that your Antivirus keeps getting in the way after every upgrade (of butler, I'm assuming?) - that's precisely what this system is designed to prevent, so, please open a detailed issue at https://github.com/itchio/itch/issues with exactly what happens. You mention the login failing - what's the error message? Which Antivirus are you using? Does your antivirus pop up a "Scanning.." notification? etc.

Note that v23 was strictly worse in that sense - it always replaced its dependencies' executables without checking that they worked first. So the Antivirus behavior should be equivalent at worst - AV software don't care about paths, they care about file signatures.

(Actually, I'm noticing now you mentioned your "firewall", not your antivirus. The same applies though. I personally think that a firewall blocking all outbound connection attempts is a bit overzealous, but hey, your computer your rules - I think it should be possible in this case to add an exception for the "broth" folder wholesale though. All the same, please open an issue *just for that* with details so we can figure out an action plan)

is there a reason why allowing tabs removes the "shortcuts" at the top? Is it just about not having enough space to keep them all there or does it actually make the code that much simpler?

It's about space, not code:


Also: what would the shortcuts do: always open in a new tab? Then you'd end up with N copies of the Library open. Or should they try to switch to an existing tab if it has the same base url? (itch://library, itch://collections, etc.). Or would they just open in the current tab? Actually, that could work.

I'd be more inclined to short shortcuts while tabs are enabled if tabs were moved to the top of the screen (a-la chrome, firefox etc.). We might want to make the user menu narrower and move the "New version available" to some sort of notification system. tl;dr it's about design, I'll bring it up internally.

My first problem might be something that can't be fixes since it's probably tied to the browser code base that's used(probably Chromium since that's what does this), but I generally scroll pages by holding down my scroll button and just drag it around, but that starts highlighting everything that I'm passing by.

Is there a way to disable this behavior or do we need to just get used to it?

I'm confused, because I'm not seeing the same behavior here! (Win10, Logitech MX Master 2S)


My final problem is again just a personal preference, but when I close the client the only options I have is to shut it down so that I have to start it up again to use or to just keep it minimized on the taskbar. The old client kept running in the background as well, but it "hid itself" in the right side menu like a background process just like Steam.

Is this a limitation of the new system or was it just decided that that's what it should do?

Again, I'm not sure why you're seeing this. The app definitely closes to tray and opens back up immediately for me:

The firewall problem:
Yeah my AV is fine, no prob there and my Firewall manager(GlassWire) is the one that has a problem since it uses a static file path system(we've already requested a better solution for these things) for traffic handling and it has already helped me keep snoops offline(for example Unity games have built in analytics that can't be turned off and I'm not okay with that).
If I turn "Ask To Connect" off I might as well not use the payed version of it. :/

Also as I mentioned I use custom icons on my desktop and I'd have to replace or edit those at each update. Not a big deal, but if say development revs up one day and we get a new version every few days it might get annoying pretty fast. but we'll see.

Okay so I just started it up to check some stuff and noticed that both "Butler" and "Itch-setup" popped up as "trying to connect" so I allowed them.
Question is what do those do if they can't connect? Will they try to reconnect on their own or will I need to restart Itch for them to do their thing? Also will it cause problems if they can't run till the next restart?
If this won't cause a problem like me needing to start the whole client twice for each update and it won't forget my login the moment it detects a failed connection(like an older version did when that happened and that's why I was glad this folder naming was left behind later on) then I'll just take it and get used to it.
I'm really just looking for info to know what to expect and not "demanding" anything to change just for me.


The tabs question:
So it's for the more compact design, that's cool.
I just thought it would follow the same system up till v23 since that seemed to have worked fine. But yeah, I'd say the "open in current tab" idea would work pretty well with icons since the real problem is that a lot of useful links are now hidden under menus and extra clicks which is not optimal UX.

If ideas are accepted maybe a set of minimized icons for Library, Collections, Sales and the likes could go above the tabs without their text.
Heck maybe Downloads and Settings could go there as well and they'd either use their own popups or just convert them to use tabs like the rest. That way the whole sidebar could be used freely to scroll through installed games and tabs if they happen to pile up.
Just my thoughts.


The scroll selection and tray icon problems:
Now that IS weird.
I just checked and the tray icon does work now so no idea what that was all about yesterday, but the scroll highlighting is still there.
Maybe it's because I'm using Win7 and not 10?

(+1)

> both butler and itch-setup try to connect

Here's what they both do:

  • butler starts an http server that's only available locally (on the loopback interface) - the itch app then connects it to it to make RPC (remote procedure calls)
  • butler handles all itch.io API calls, so it does need to connect to the itch.io server. It also handles all downloads, so it'll connect to our CDN, or to wherever the game is hosted
  • itch-setup also contacts a server of ours, https://broth.itch.ovh/ , to make sure you have the latest itch app version, and to download any updates.

About saved logins: when a log-in fails, the app shows the username/password form, assuming that the API key was revoked (if it was a saved login), or that the username/password was wrong (if it was a username/password login). It copies the username so it gives you a chance to enter the correct password again. However, the saved logins are not lost.  You can still click "Saved logins" and see the list:


Re shortcuts in the sidebar: icon versions could work! I've opened an issue to track that: https://github.com/itchio/itch/issues/2126

I'm hesitant to change Downloads/Preferences to open in tabs instead, because I'm not sure what would happen if you disabled tabs then? Technically both of these are implemented as "tab contents", they just don't show an address bar, but that also means you wouldn't be able to navigate away from them without clicking on a shortcut. I'll keep thinking about it.

I'm glad the tray icon works for you now! And it's possible that Windows 7 has different scroll/select behavior. Are you seeing the same in other applications?

Connection:
Yeah that's clear. So itch-setup just checks for client updates which is fine, but what if Butler can't connect on launch? Will it try again when it's needed or will it give an error? Gonna wait a see what it does at the next update so no need to worry about this one for now I guess.

Saved login:
Yes, sorry I forgot to mention that that was only a problem in an earlier version where it seemed to have forgotten my saved logins if I tried to use them and they still failed(GlassWire was buggy at the time and did things like that if the path had special characters like Á in my case.).
Later on they worked I just mentioned that that was the reason why I had problems.

Sidebar:
Cool! Thanks, hope they'll find it a useful idea. :)

Also yeah I just mentioned changing to tabs IF the dev team thinks it makes it cleaner or something and only meant the tabs IF tabs are actually enabled.

Scroll selecting:
Well anything that's based on Chromium seems to do that so that's why I thought it was in the base engine if that's what you are using for it, but maybe it's about Firefox being the one that allows "slide scrolling" without selecting things unlike others.
Still don't have a Win10 system at hand to test it, but maybe later we'll see.


Thanks for all the info!

(+1)
So itch-setup just checks for client updates which is fine, but what if Butler can't connect on launch? Will it try again when it's needed or will it give an error? Gonna wait a see what it does at the next update so no need to worry about this one for now I guess.

I would expect an "ask questions first, shoot later" Firewall to make the connection attempt "hang" until you've decided what to do with it. If that's what it does, then it should work fine.

If it doesn't, then.. you'll probably see the same thing you would if the API key was revoked or if you used a wrong password, so you'd have to switch back to saved logins and use again. I could maybe implement some retry logic if I knew what error we got when the firewall blocks the connection attempt!

(+1)

Well the firewall is just the one built into Windows and GlassWire is just a monitoring and handling system for it so there's no "hang time". If Windows blocks something I think it's simply like there's no internet connecttion for those processes and it's all up to them if they try to reconnect from time to time or when they are meant to use the network.

Well if Butler tries to connect again when I try to log in then sure, but my first thought was that it retries if it needs to do something AND detencts that there's no connection instead of a periodical rety while there's no connection, but I'd say go with whichever is the easiest and most stable approach for the dev team. :)

Might actually try and block all the Itch connections to see what the client does. Not sure why I didn't think of that yet since it's just a flip of a button in GW.
Gonna get back to you if I tried it after work(I'm in Hungary so that'll take a few hours).

Okay I did some tests.


The client caught me off guard a bit, but it makes sense. If it's blocked from the network it can still log in just fine with the saved logins(Why re-authenticate offline when it can't mess with user data, right?) and it even has my Library and Collections lists cached so I can use those at least and obviously only the browser part seems to be not working.
Tries to reconnect every time anything is requested.

Basically the auto-installer is self explanatory. It just won't fetch updates, acts like there are no updates and the client works fine.
Tries to reconnect when updates are checked.

The Butler only seems to give an error when a product page is opened and it tries to fetch data for the "installation bar" at the bottom, but doesn't seem to hinder anything else.
Tries to reconnect each time a product page is open.


So the client seems to work well enough in "offline mode" even if the network goes out completely and if it's just a "first attempt blocked" case it tries again each time anything is needed so there won't be any real problems it seems.

The only problems left for me are the icons that I have to change at an update and the fact that each version of each .exe will have a separate firewall rule that I'll need to remove manually(GW still doesn't have a "scan for unused rules" feature), but I'll manage those.


So thanks for all the info and hope I wasn't a burden. At least now this behavior is properly documented for anyone who has the same questions. :)

Keep up the great work!