Author Topic: Steam protocol  (Read 145939 times)

0 Members and 2 Guests are viewing this topic.

Offline Vulpix

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: 66
  • 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

Re: Steam protocol
« Reply #542 on: 25 04 2019, 06:06:07 » 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

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: 66
  • 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

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

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

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 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

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:

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.

Offline Ratha

Re: Steam protocol
« Reply #550 on: 30 03 2020, 02:00:50 »
Imgur gallery links have always been problematic in the Steam protocol while using Miranda, but have noticed a new behavior after updating recently. In the past when receiving a link to an Imgur GALLERY, Miranda would show a single image preview link instead of the actual link to the gallery. For example, depending on how the following link / message is formatted you may get 3 different results when sending:

Case #1 - Miranda displays: (This will happen if the link is sent by itself.) (Old behavior where link to a gallery is shown as the first image preview)
Case #2 - The link fails to show up at all, but any additional text is received. (This will happen if the link is sent with additional text on the same line.) (New behavior?)
Case #3 - The link shows as normal. (This only happens if the link formatted in a specific way by the sender using the Steam client.)

Case #1 - Input in Steam client: - Link sent by itself.
Code: [Select]
Output on Miranda: - Miranda displays preview image for gallery, but not link to gallery.


Case #2 - Input in Steam client: - Link sent including text on the same line.
Code: [Select] - Text
Output on Miranda: - Miranda ignores link, outputs only the text component.
- Text


The following method seems to force the gallery link to display in Miranda: The person sending the link from the Steam client must include 2 hard returns after the link (Link + ShiftEnter + ShiftEnter + Text.) (A copy paste will not work.)

Case #3 - Input in Steam client: - (Required for Miranda to display Imgur gallery link properly.)
Code: [Select] + [ShiftEnter]

Output on Miranda:



I was fairly sure that I had posted about this somewhere before, but couldnt find the ticket on GIT. After doing more behavior testing today I figured this might be useful to someone either as a workaround or as something that can help with protocol development.

CPU: Intel(R) Core(TM) i5-4670K CPU @ 3.40GHz [Intel64 Family 6 Model 60 Stepping 3] [DEP Enabled] [4 CPUs]
Installed RAM: 24521 MBytes
Microsoft Windows 7 Ultimate Edition, 64-bit Service Pack 1 (build 7601)
Internet Explorer: 9.11.9600.18665 (build 99600)
Administrator privileges: Yes
OS Languages: (UI | Locale (User/System)) : English/English | English/English
Free disk space on Miranda partition: 43163 MBytes

Miranda NG Version: 0.95.12 alpha build #22710 (c3284222ed) [running inside WOW64]
Build time: 27 Mar 2020 2:00:42
Profile: C:\Program Files (x86)\Miranda NG\Profiles\Ratha\Ratha.dat
Profile size: 169869312 Bytes
Profile creation date: 24 Nov 2019 11:46:36
Language pack: No language pack installed
Service Mode: No

Active Plugins (20):
¤ AVS.dll v. [27 Mar 2020 2:00:48] - Avatar service
¤ CrashDumper.dll v. [27 Mar 2020 2:01:16] - Crash dumper
¤ Db_autobackups.dll v. [27 Mar 2020 2:00:54] - Db autobackuper
¤ DbEditorPP.dll v. [27 Mar 2020 2:01:16] - Database editor++
¤ Dbx_mdbx.dll v. [27 Mar 2020 2:02:14] - Miranda NG MDBX database driver
¤ Dbx_mmap.dll v. [27 Mar 2020 2:00:46] - Miranda NG mmap database driver
¤ Discord.dll v. [27 Mar 2020 2:01:54] - Discord protocol
¤ Dummy.dll v. [27 Mar 2020 2:01:46] - Dummy protocol
¤ historypp.dll v. [27 Mar 2020 2:02:30] - History++
¤ ICQ.dll v. [27 Mar 2020 2:02:02] - ICQ-WIM protocol
¤ Import.dll v. [27 Mar 2020 2:01:10] - Import contacts and messages
¤ PluginUpdater.dll v. [27 Mar 2020 2:01:18] - Plugin updater
¤ SeenPlugin.dll v. [27 Mar 2020 2:01:00] - Last seen
¤ SkypeWeb.dll v. [27 Mar 2020 2:02:00] - Skype protocol (Web)
¤ SpellChecker.dll v. [27 Mar 2020 2:01:46] - Spell checker
¤ StatusManager.dll v. [27 Mar 2020 2:01:54] - Status manager
¤ Steam.dll v. [27 Mar 2020 2:01:54] - Steam protocol
¤ TabSRMM.dll v. [27 Mar 2020 2:00:56] - TabSRMM
¤ Tipper.dll v. [27 Mar 2020 2:01:06] - Tipper
¤ YAMN.dll v. [27 Mar 2020 2:01:26] - Mail Notifier

Protocols and Accounts:
Discord                  2 - Enabled 0 - Disabled  Loaded
ICQ                      1 - Enabled 1 - Disabled  Loaded
SKYPE                    1 - Enabled 0 - Disabled  Loaded
STEAM                    1 - Enabled 0 - Disabled  Loaded

Icon Packs:
 Flags_icons.dll [27 Mar 2020 2:02:24]
 HistoryPP_icons.dll [27 Mar 2020 2:02:24]
 Proto_Discord.dll [27 Mar 2020 2:02:24]
 Proto_Dummy.dll [27 Mar 2020 2:02:24]
 Proto_ICQ.dll [2 Jan 2019 14:26:42]
 Proto_MetaContacts.dll [27 Mar 2020 2:02:24]
 Proto_MRA.dll [27 Mar 2020 2:02:24]
 Proto_Skype.dll [27 Mar 2020 2:02:24]
 Proto_Steam.dll [27 Mar 2020 2:02:24]
 Proto_Yahoo.dll [13 Feb 2016 22:01:38]
 Proto_YAMN.dll [27 Mar 2020 2:02:24]
 TabSRMM_icons.dll [27 Mar 2020 2:02:24]
 xStatus_ICQ.dll [28 Dec 2018 3:02:08]
« Last Edit: 30 03 2020, 02:03:36 by Ratha »

Offline ghazan

Re: Steam protocol
« Reply #551 on: 31 03 2020, 16:21:52 »
that stuff might depend on IEView behaviour, on your antivirus or IE plugins installed
Miranda doesn't display previews for urls itself

Offline Ratha

Re: Steam protocol
« Reply #552 on: 01 04 2020, 05:00:51 »
that stuff might depend on IEView behaviour, on your antivirus or IE plugins installed
Miranda doesn't display previews for urls itself

I dont use IEView, antiviruses, or IE/plugins or anything like that. Im glad Miranda does not display previews. I hate previews, embedded data, and extra unnecessary text clogging up the chat (like with what the Discord protocol does to links.) The only thing i want to see is EXACTLY what was typed into the message window as it was sent.

The problem here is that Miranda isnt displaying the link thats being sent at all, or if it does, its displaying the incorrect link (a single image preview instead of the link to the gallery) in the case where it does display a link. This only seems to happen with Imgur "GALLERY" links and is probably related to how Steam embeds them.


While doing additional testing to take screenshots i noticed different behavior today than when previously testing. I was not able to get the link to transmit at all, where as a couple of days ago using Case 3 method in the previous post, i was able to get it to transmit every time. Today Case 3 was behaving like Case 1 did a few days ago. (Today it was translating the link to the gallery into an image preview instead of displaying the full link and the text.)

Also found something that i had not noticed before:
In Case 1, instead of displaying the imgur gallery link in Miranda's message window, Miranda instead deletes the last character of the previous message from the message window. This coincides with a blank line appearing in history++ where the link should be. This was caused by sending a line of text in the Steam client. And then sending the imgur gallery link with no text from the Steam client. (Was able to reliably duplicate this behavior.)

See attached image for additional details.
Note: The time discrepancy between Case 1 and the empty line following it was probably my fault. I typed "Case 1" and then had to go find the link again, and pasted it a few minutes later.
« Last Edit: 01 04 2020, 06:20:57 by Ratha »