Author Topic: Steam protocol  (Read 114880 times)

0 Members and 1 Guest are viewing this topic.

Offline Vulpix

  • Beta Tester
  • *****
  • Posts: 625
  • Country: 00
  • Karma: 15
Re: Steam protocol
« Reply #540 on: 24 04 2019, 14:50:34 »
I use the steam proto on a daily basis and it works for me as well (though it is perhaps a bit less stable than the others; disconnects often... but that is a steam problem rather than miranda one I feel)
 

Offline Smiling Spectre

  • Jr. Member
  • **
  • Posts: 64
  • Country: 00
  • Karma: 0
Re: Steam protocol
« Reply #541 on: 25 04 2019, 05:43:39 »
try to login via the browser, maybe it will say smth

I tried before. Nothing unusual. Tried right now - it have my last chats, in Friday and Sunday, and last one was with non-worked Miranda already, but still nothing unusual. Tried to logout/login, tried to change saved password, nothing changed... I have no idea what it wants. :(

How can I see what happens actually? I seen in this thread that people can check full connection logs - what am I need for that?
 

Offline Vulpix

  • Beta Tester
  • *****
  • Posts: 625
  • Country: 00
  • Karma: 15
Re: Steam protocol
« Reply #542 on: 25 04 2019, 06:06:07 »
https://wiki.miranda-ng.org/Network_log this describes how to enable and configure netlog.

Make sure to give your netlog a look before you post it here, it can contain your login tokens and such.
 

Offline Ratha

  • Full Member
  • ***
  • Posts: 103
  • Karma: 2
Re: Steam protocol
« Reply #543 on: 25 04 2019, 08:09:36 »
After some Miranda updates (in last week) Steam plugin stopped to work.

It simply not connects. I see attempt to connect, then logout with pop-up window "Status error".

(I don't have log, and I forgot how to enable it, sorry :(

Its rare for Steam to have issues that persist multiple days, and im not running the same version you are most likely, but one thing that often works for me when steam refuses to connect or pop up a new authentication window for the mobile auth code is to clear the value under the following category if you have the Database Editor++ installed:
Right Click Menu > Database > Database Editor++ > Settings > Steam_[Profilename] > TokenSecret

Occasionally i also clear the values for SessionID and UMQID as well if clearing just the TokenSecret didnt work. Then close Miranda, wait a minute or two, open it again, and it'll usually allow me to reconnect / ask me for my auth token. For reference my version  is 0.95.11 alpha build #21135. Ive never seen a "Status error" popup of any kind for Steam in all the time i've used the plugin. Am guessing thats something new or has something to do with other plugins you're using.

Providing full version info text as well as network logs from the Options > Network > Logging > menu may allow someone to help diagnose your trouble. (You will want to scrub any sensitive information thats in these logs first though. Best way is to start Miranda clean, dont log into any services, log only Steam and Miranda, try to login. It should fail quickly so then you can turn off logging and it wont be so massive you cant clean it up.)

Additionally, something to try: Backup your client, create a new user profile, and or try to sign into Steam using a completely new (portable) install and profile. If you can login, close the new program and fire up your old version and see if it you still have the same problem. If so its something related to either your version, plugins, or profile.
 

Offline Smiling Spectre

  • Jr. Member
  • **
  • Posts: 64
  • Country: 00
  • Karma: 0
Re: Steam protocol
« Reply #544 on: 26 04 2019, 09:10:02 »
one thing that often works for me when steam refuses to connect or pop up a new authentication window for the mobile auth code is to clear the value under the following category if you have the Database Editor++ installed:
Right Click Menu > Database > Database Editor++ > Settings > Steam_[Profilename] > TokenSecret

Occasionally i also clear the values for SessionID and UMQID as well if clearing just the TokenSecret didnt work.
I cleared all three, then plugin asked authentication, and after that worked. Great. :) Thank you for the tip!
 

Offline Ratha

  • Full Member
  • ***
  • Posts: 103
  • Karma: 2
Re: Steam protocol
« Reply #545 on: 26 04 2019, 09:41:42 »
I cleared all three, then plugin asked authentication, and after that worked. Great. :) Thank you for the tip!

Glad to hear it, not entirely sure what causes this problem, sometimes it seems like i can go months without having it, and other times it'll happen a few times a month. Its almost like either the token expires and Miranda cant figure out how to refresh it or isnt programmed to recognize when it has expired via Steam's response to trying to use it, or perhaps Steam just stops responding to login requests from a certain token or ID after awhile or after too many connection attempts.
 

Offline Der Jude

  • Newbie
  • *
  • Posts: 28
  • Karma: 0
Re: Steam protocol
« Reply #546 on: 10 07 2019, 05:25:24 »
Seriously someone should fix the issues with this plugin:
1) When Steam chat servers go for down for maintenance, more often than not all your contacts will get removed and readded to your list, the plugin needs a code to automatically detect such mass-removal and mass-readdition of the contacts and ignore it instead of queueing dozens/hundreds of dialog windows "X has been removed from your contact list" "X has been added back to your contact list", SERIOUSLY!
2) Very similar issue, MULTIPLE TIMES A DAY the displayed status of all Steam contacts will change to Offline, despite that they are online, and remain like that until they update their own status to Away/DND, or you change your own status to offline -> online, basically relogging into Steam chat. Plugin should detect and ignore the status change for contacts if suddenly a lot of them change to offline simulatenously.
3) Steam Guard! Sometimes plugin fails to clean inputted Steam Guard Token key from previous one [if the one that you did input goes invalid], and the plugin seems to be not clearing SessionID automatically upon reinputting the Steam Guard Token key.
4) Steam Guard -> Keep Status inter-issue, both Steam protocol plugin and Keep Status should have a special case in code to STOP trying to RECONNECT to the Steam account IF Steam Guard window has been prompted in Miranda. This can lead to waking up in the morning with 50-100 Steam Guard windows in Miranda when Steam decides to invalidate your session overnight! Argh!

There are also more issues, like the Steam plugin getting stuck in, what I assume is, a disconnected state, but thinking it's still connected, when it doesn't update anymore statuses of the people [online/away/offline etc] and you cannot send messages to anyone/receive messages until you manually go offline and online [basically relog] yourself.
At the current state the support for Steam protocol is quite broken. :( >:(
 

Offline Ratha

  • Full Member
  • ***
  • Posts: 103
  • Karma: 2
Re: Steam protocol
« Reply #547 on: 10 07 2019, 08:37:28 »
With over 3 years of experience using the plugin, I can personally confirm all of those issues and that the Steam protocol struggles with error handling. The issue of being disconnected and then not being able to reconnect due to expired tokens often requires manual intervention through editing the database. The plugin is also semi unreliable in that it may say you are online when you are not, meaning you cannot receive or send messages, and you wont know until you try to do so. Conversely there are times where it says that most of your contact list offline when they are actually online leading you to think that your friends are not around to chat with. Notably there are also many times when Miranda will fail to login (without any kind of feedback) despite being able to successfully login to chat from both the web browser, and from the Steam client itself. Would be great if the plugin had some error handling verbosity and would tell you the reason why it stopped trying to connect for example.

I do not remember if those bugs are being tracked on Github, but I've experienced pretty much every one of them myself and despite a lot of effort trying to troubleshoot them, still do not know how to duplicate them on command to be able to submit useful debugging data. Some of these issues may belong to problems with the Steam API itself, maintenance on Steam's side, the user's local connection, and even to how Miranda handles errors (or does not handle them in some cases.) Its unclear if any of the current developers actually use the plugin themselves as I talked to someone awhile back who was working on issues and he had said he didnt, and someone else who had been working on the plugin I believe retired from the Miranda project all together.

While i wouldnt call the plugin 'broken' it does need quite a bit of work to become reliable. The truth is that i feel like a lot of protocol plugins are under developed, and or have seen major issues crop up over the years due to lack of maintenance and large changes in the underlying services. Theres only so much you can do with pretty limited numbers of active developers working on Miranda though, especially if none of them actually use the services that they're expected to try and update / fix.
 

Offline Vulpix

  • Beta Tester
  • *****
  • Posts: 625
  • Country: 00
  • Karma: 15
Re: Steam protocol
« Reply #548 on: 10 07 2019, 09:53:03 »
Pretty much everything Ratha said is correct.

I understand your frustration and I actually use the Steam plugin myself and thus I have of course been subject to all of the bugs. But as noted the resources are limited. I actually use the plugin to chat to a friend of mine on a daily basis, and I wouldn't say the plugin is completely broken. Yes, it has frustrating issues (especially the "removed from contact list" and "back in your contact list"), but in general this doesn't happen as often.

It might be a good idea if we could at least log tracking issues on github for all of the errors so the devs (ghazan really) are aware.

As noted previously, most of the people who ever worked on miranda have done so in their free time, free of charge. I have "sponsored" various tickets or implementations (i.e. tox protocol, or discord protocol).

I suppose the main reason for these protocols being not fixed (other than the lack of active devs and thus lack of manpower) is - as noted - the fact that steam protocol is not actively used by any of them I believe.

So, tl;dr... use latest nightly build, enable logging for all the modules and when an issue occurs, create an issue report on github. It does not guarantee the issue being fixed, but at least there will be something to go on rather than "old wives' tales" as we have right now :D.

The reason I've not logged a ticket for those problems myself is that they're rare enough that the pain of submitting a report is lower than the pain of just "dealing with it".

I've also not had the "X has been removed, X is back in your contact list" issue for a very long time now.

It was related to https://github.com/miranda-ng/miranda-ng/issues/816 in a way....

I suppose there might be an easy workaround for it - instead of showing a billion windows which you have to manually confirm, it could be done via log or popup that times out on its own. (Well obviously fixing it is the best course but that could take a while).

I will speak with the dev and see what kinda time he has or not.

If you post issues, I might put up a bounty for him to improve motivation :p
« Last Edit: 10 07 2019, 09:57:30 by Vulpix »
 

Offline Ratha

  • Full Member
  • ***
  • Posts: 103
  • Karma: 2
Re: Steam protocol
« Reply #549 on: 10 07 2019, 10:51:41 »
I would support the idea of a copyable dialogue / report that contained a full list users who had been added/removed instead of individual boxes, would be more of a bandaid to an uncommon problem than a fix, but a full list would make much more sense than hundreds of little boxes, if of course the plugin could somehow process the data in such a manner. I had that bug happen about a month or two ago at last occurrence, had been quite some time since the last. I also tend to just give up and wait 45 minutes when i know Steam is having a problem with Miranda anymore rather than trying to force it to connect and risk running into issues like that.

It would be nice to get logs of all of these events along with detailed descriptions of what is going on so they can be submitted, traced, and eventually processed by someone who has the ability to do so. There are currently a few caveats however: I do not believe that Miranda can trim log files to a certain size, meaning that before long you'd end up with unreasonably large log files if you didnt purge them manually every day. Possibly in the hundreds of megs after a few days. Many text editors struggle to open or edit text files even in the 5-10 meg range in my experience.

Additionally, the last time I did any major logging of anything, the logs contained sensitive unencrypted information like usernames, logins, passwords, token data and so on. Possibly even full conversational texts, so parsing those logs and stripping out private info to provide safe and useful data with the right timestamps may be both tedious, and difficult. This issue was opened over a year ago for example: https://github.com/miranda-ng/miranda-ng/issues/1313

Making good bug reports that will last over the many months needed to fix them is sadly pretty time consuming too. I find that in the past I have tended to spend between 6 and 8 hours per issue most of the time between taking screenshots, writing reports, providing sanitized logs and other such info, not to include testing it on multiple versions and in different environments just to be sure they could be duplicated reliably later on.