STEAM GROUP
Client Downgrades Nice Package
Membership by invitation only
STEAM GROUP
Client Downgrades Nice Package
0
IN-GAME
0
ONLINE
Founded
29 August, 2023
Language
English
Showing 31-39 of 39 entries
177
Issue: Chat does not work
Originally posted by lightwo:
Originally posted by TiberiumFusion:
(...) since pretty much all of the vgui code has been nuked from SteamUI.dll.
What do you mean, how did you conclude that? There are certainly some remnants, as the file picker on Linux falls back to VGUI if a certain desktop environment component is not installed on the system.
I should've been more specific. Most of the library-related vgui code is gone.

You can inspect SteamUI.dll with your disassembler of choice and see for yourself. It is a very large library of ~50000 functions so my analysis so far is by no means exhaustive, but between the August 1 2023 client release and the Sept 12 2023 client release, SteamUI.dll shrunk in size by about 10% and all of the vgui entry points I've found so far (library-related) were removed. Same story for friendsui.dll (massive chunk of glue for steam client <-> pwa friends) which has ~20000 functions in the August client release and shrunk by nearly 50% in the September client release - without a doubt, everything gutted was vgui-related. Again, here I am only talking about the primary user-facing (v)gui components in SteamUI.dll (e.g. the outer library window, FriendsUI, bigpicture, etc). There are probably vgui leftovers, both in components from lower tiers (like the file selector dialog as you mentioned) and from other libraries that are not directly responsible for presenting the Steam library (like vgui for the steam overlay), but as of Sept 12 the client is no longer capable of creating the vgui interface that you see when you launch Steam and get the main library window. Significant effort would be required to reintroduce the missing code and modify the existing code to know how to use it again. This is unfortunate, because I was hoping that maybe Valve did not thoroughly prune SteamUI.dll in the Sept release and that the -vgui switch could be reintroduced and work with a quick hack. Sadly this is not the case for the Sept client. (but it's probably possible for the August client, though)

Lastly, I must note that your experience on Linux will differ from my experience on Windows, and my analysis of SteamUI.dll is not 100% transferable to whatever its linux counterpart it.

Lastly lastly, I typed this message using the Community tab in the May 31 2023 client with cef pwa friends restored and running in the background and showing me as online (not using -nofriendsui, not using vgui friends, not using big picture mode). It's just a prototype solution atm but there is promise here. Right now I am trying to find ways to stop the client from suppressing window management coming from the pwa friends so that the chat windows aren't automatically closed when they open.
Originally posted by bidulless:
You were talking about files in memory and why not the steam htlm cache %AppData%\Local\Steam\htmlcache?
Wow how did I completely miss that? Thanks for pointing it out. This really helps a lot! As you noted some of the data in the cache is compressed and/or encrypted, but thankfully good old nirsoft has already done the work of figuring out how to extract things from chromium's cache with their ChromeCacheView tool. It looks like one of my PCs has copies of the pwa friends files from mid July so I will look into that next.

Unfortunately, I was not wrong on everything in my last post: Valve does indeed quickly redact previous versions of the pwa friends files. This was confirmed by using the access keys to previous versions of the pwa files that I recovered from steam's CEF cache on one of my PCs.
For example, regarding javascript/webui/friends.js:
- Version 8360360 (accessed by key: Oy7EJLTwcDt8) is circa Sept 21/22 and causes the friends pwa to break. This is the default version served and the one explicitly served by steam-chat.com/chat/clientui/ as of writing this message. This will change when Valve updates the pwa files.
- Version 8350895 (accessed by key: 8Wm_WhmnqhJU) appears to be the immediate predecessor of version 8360360. It also breaks vgui-cef-wrapper pwa friends. It is still live right now (not redacted yet), but this could change soon.
- Version 8176124 (accessed by key: 9BVtERXJw13X) is circa mid July and has already been redacted. If you request it from Valve, they will give you version 8360360 instead.
- Version 8096870 (accessed by key: xQclm1ne8BYX) is circa early June and has already been redacted. If you request it from Valve, they will give you version 8360360 instead.
These are just a few example of versions that are known to me right now. There are a lot more files than just friends.js, a lot more versions of each, and a lot more keys used to request them from Valve. It seems that Valve issued a blanket redaction on all versions before September, so it is unclear if this is a regular occurrence of them redacting old files or just a one-off event.

What I am calling "version" 8360360 or 8096870 or whatever is the "CLSTAMP" field at the top of friends.js. This number is eerily similar to the file versions of the steam client binaries which is surely no coincidence.
- For example, pwa friends version 8096870 appeared in my other PC's steam cef cache in early June. The May 31 2023 steam client is versioned as 8.9.11.89.
- And pwa friends version 8360360 first appeared for many of us on Sept 21/22, which is very similar to the 8.33.9.23 version tag that the Sept 12 2023 steam client bears.
This information is not particularly ground-breaking in any way, but figuring out parts of Valve's secret versioning schemes is always a good thing.
Originally posted by lightwo:
Here's one from 2 years ago:
https://web.archive.org/web/20210308200319/https://steamhost.cn/community_cloudflare_steamstatic_com/public/javascript/webui/friends.js
I already found that and another also very old version on akamai. Both are way too old to be useful right now, too many differences in key structure and too many changes to Steam API between them and the current version.

Originally posted by lightwo:
As for the entire tree, you'll need to be more specific...:
https://web.archive.org/web/*/https://steamhost.cn/community_cloudflare_steamstatic_com/public/javascript/*
Entire tree means entire tree. Vgui-cef-wrapper pwa friends is not just one file, it is about 10 in a directory tree, not flattened. Refer to: https://steam-chat.com/chat/clientui/?l=english&cc=US (Note that this is not a static resource and steam-chat dot com is not a unique server. You will get differing responses per 1) the url vars you put in the request 2) the point in time when you send your request and 3) the location of the PC making the request.) The web archives I checked do not have a complete copy. Sometimes you might get really lucky working something out with only bits and pieces, but that's all lady luck's decision and it is impossible to make an accurate analysis of something when huge chunks of it are missing. I'd like to find a complete copy if possible.

Afaik right now the only way someone would have a complete copy of the pwa friends files pre Sept 21st is if they launched steam on Sept 20 or earlier and have left Steam and their computer running since then, meaning the files are in memory right now on that hypothetical PC. As soon as steam exits or that PC shuts down, they are gone. Also, because of how pwa steam friends works, after 7 days it will trash itself it in memory anyways and force a full redownload, so the clock is ticking to find someone whose PC is in this state. Sept 27th will be the last day this is viable. But even then, it's dubious if chromium keeps them in memory as plaintext under normal launch conditions or if it only does this when -cef-enable-debugging is specified, which could mean this hypothetical PC would've had to have launched Steam with said switch pre Sept 20 which is now really starting to chain unlikely coincidences together.
EDIT: Thanks to bidulless for correcting me that Steam's cef actually does cache remote resources. It seems to be very short lived and never used by steam for the pwa components(?), but one of my less-used PC has some (maybe all) of the pwa friends files circa mid July on it, so that's my next lead.

Originally posted by bidulless:
hello
the old bigpicture is still actif in april release but none of the frriends.js, even in bigpicture and overlay are working, i always get the steam logo of a waiting connection under bigpicture mode. So no connection was made in this case.
Tenfoot (old Big Picture mode) is in all of the Jan 2023 - May 2023 clients, hidden behind the -oldbigpicture switch. If you want to replicate the success I had with tenfoot that I mentioned in my previous post, you need to strip the illegal request headers from all http requests that the steam client makes through cef.
I spent a lot of time today digging into the steam client today and pulled off a trick with tenfoot (aka original big picture mode before it was replaced with a copypasta of the SteamPal shit). It's nothing useful, but it might be a stepping stone.

The May 31 2023 steam client retains the final revision "tenfoot", aka the original vgui/vgui2/panorama/whatever-tf-Valve-kept-renaming-it-to version of Big Picture mode. This was the last version of the original Big Picture mode before the Jan 2023 steam client update (iirc) that introduced the new* pure CEF version of Big Picture mode (*new = old & copied directly from ShitPal). The Jan 2023 client update also added the -oldbigpicture argument to access tenfoot (original Big Picture mode), which did not last long until the June 2023 client update removed it.

So I tried testing out friends in og tenfoot Big Picture since we have reports about Steam friends working in the ShitPal version of Big Picture mode. It did not work. But it does fail differently compared to how the vgui-cef-wrapper pwa steam friends sidebar window fails. And since steam friends in old Big Picture mode is barely more than a cef instance hosting steam-chat dot com, it was a much easier code path to get myself into compared to the hideous mess that is the vgui-cef-wrapper pwa friends thing.

Another commenter here suggested that v1.58 of Steam API made breaking changes to the network interface and I'm pretty sure that's true. Whenever og tenfoot makes an http request to a Steam API network endpoint, it tries to be useful and include info about its version and capabilities. This data is passed through request headers for some ungodly reason. At some point between Jan 2023 and today (probably on Sept 21), Valve decided these headers were now illegal and the Steam API servers now deny all requests bearing these headers in preflight. Since error handling takes a whole 15 minutes to program and time is money, steam-chat dot com simply shits the bed in this scenario and gives up at everything and just displays the loading spinner forever.

Removing the headers from the requests solves the issue and now you can now chat with your friends in tenfoot big picture mode again.
https://i.imgur.com/ZkQu6bz.mp4
But you can only chat. Sadly presence does not magically start half-working like it does by entering ShitPal big picture mode. So this is a dead end, but for me it's progress in figuring out how steam chat works. The steam client still needs a mountain of nasty JS-side glue to hook itself up to the steam friends service that is living in the cef browser which is pointed at steam-chat dot com. And all that interop has since been stripped from the steam friends javascript that Valve remotely serves; only the interop for pure cef steam client remains. Afaik the cef instance within the steam client never keeps a local copy of the pwa files, because that would be the sane thing to do, so I don't have a local cache, and not a single web archive site I checked has a relevant copy of it. The final nail in the coffin is that access to older versions of this code is restricted to Valve intranet only, so it's basically been redacted by Valve like it never existed in the first place. I need a time machine so I can go back a week and get a copy of https://steamhost.cn/community_cloudflare_steamstatic_com/public/javascript/webui/friends.js and co before Valve fucked it up on the 21st.

That's it for now. If anyone somehow has a copy/cache of the https://steamhost.cn/community_cloudflare_steamstatic_com/public/javascript/* tree from earlier than Sept 21 and you are 100% positive it is earlier than Sept 21 I would be very interested to get my hands on it.
I'd like to add my notes to the situation. After the pure CEF pure shit steam client jumpscare update from June, I immediately reverted back to the May 31st 2023 client from my shadow copies, turned off the auto update, and have been using that since with no further issues. Games download fine, Valve games (like TF2) work fine. But as of today I'm now in the "FRIENDS NETWORK UNREACHABLE" boat, so... great.

I read through what's been posted in this thread thus far, and I'd like to contribute some data that I don't think anyone has shared yet. This is not my first rodeo with holding back Steam updates. I've been keeping some old steam clients on hand for the last 4 years, so I have some info I can add that might be useful.

October 2nd 2019 Steam Client
This was the last steam client that uses pure vgui for the library GUI, before the October 30th update that changed the steam library into the CEF crap it is today and also introduced Steam API v20. I kept the Oct 2 2019 client and continued to use it without any issue; until May 31st 2020, when Valve broke its ability to install/update games when they changed the format of the packageinfo.vdf file coming from their servers. We came together back then to fix that issue. I made some vids outlining the problem and workarounds, but eventually a better tool was released in June/July 2020 that converted the Steam API v20 packageinfo.vdf files to the Steam API v19 format. Since then, I've been using the Oct 2 2019 client semi regularly (in a side-by-side install with the lastest client) for all of 2020-23, and steam Friends has always worked in it. I could and did successfully chat with my friends using the Oct 2 2019 client as late as March 2023 (me using the old client, them using the latest).

The Oct 2 2019 client ofc has the CEF-based friends UI that was first introduced in the August 2018 client. Given the success I had using steam Friends with the Oct 2 2019 client for nearly 4 years, I would confidently conclude that the absolutely nothing critical on the vgui side has changed in any client update between the Oct 2 2019 client and the last July 2023 client before the -vgui switch was nuked. The "vgui" friends system post August 2018 after all is not really vgui and is just a very thin wrapper around a cef window anyways; the core logic is served by Valve remotely and the steam client is only responsible for vgui <-> cef plumbing.

May 18th 2018 Steam Client
I have another, even older Steam client that is alive and mostly well on a different PC. This May 18 2018 steam client is before the August 2018 client that replaced the OG real vgui steam friends UI with the Discord-esque CEF clone. Like the Oct 2 2019 client, this old client also cannot install/update games post May 31 2020 due to Valve killing all content endpoints for Steam API v19 and older. However, also like the Oct 2 2019 client, its OG 100% vgui steam friends (no cef) continued to work perfectly in 2020 and 2021. I last chatted with my friends using this client's OG vgui friends in mid 2021 (me using the old client, them using the latest). I even appeared at online on steamcommunity dot com, and you would never know I was actually logged in to a very old client. Sadly I'm not able to retest friends in this client anymore because it now crashes at launch due to additional unknown changes to packageinfo.vdf from the Valve servers.

Edit: The Dec 2022 steam client actually still has og vgui steam friends in it, accessed with the -no-browser argument, which also removes most of the client's features and enables the very few remaining pure vgui components. And it is the last client to have all of this before the Jan 2023 update removed it. This was noted by another commenter who successfully chatted through pure vgui friends on Sept 22nd using -no-browser with the Dec 2022 client!

So is any of this relevant? Maybe, maybe. Two datapoints are better than one, especially when they correlate. My results from these two old clients suggest that the big steam friends change in the August 2018 update was not the completely new Steam friends we were led to believe, and that Valve actually kept the vast majority of the backend friends infrastructure unchanged. Until today of course (September 21 2023), where now the vgui-cef-wrapper friends in both my Oct 2 2019 client and May 31 2023 client cannot connect anymore.

A hypothesis
On May 31, 2020, Valve killed the endpoint that Steam API v19 clients use to reach the content servers, requiring Steam API v20 despite no critical technical obligation and absolutely zero user-facing changes in content delivery between v19 and v20. Valve has proven that they sometimes rapidly cull parts of their infrastructure for no reason other than to compel users to update the client. And I sadly think there's a considerable chance that today (Sept 21 2023), Valve killed the steam friends endpoint the August 2018 vgui-cef-wrapper friends system, leaving only the endpoint for the pure CEF steam friends still alive. (Edit: And also whatever pure vgui friends uses, since that is confirmed working by another commenter).

If this is true (maybe not) then it's a bitter pill to swallow, because we could be wasting our time trying to find ways to shoehorn a newer version of steam friends into the older clients in ways that will never work.

Either way, the only viable avenue I see is gluing the June 2023 pure CEF steam friends logic to the August 2018 vgui-cef-wrapper friends logic. As noted by others, Big Picture mode in the pre June 2023 clients engages the pure CEF steam friends hidden in the background, which is proof enough that it is 100% possible to achieve this. And indeed, the pure CEF steam friends is actually much older than the Jun 2023 steam client and originates from big picture mode years ago. But, given how fucking nasty the pure CEF June 2023 steam client's code is, I worry this would be a massive slog with very slow progress. Forget the necessary core interop, however bad that might be, we still have to glue it to vgui and contend with the fact that it's a fucked to hell pwa that interferes with things outside its scope, like window management, notifications, the ingame overlay, etc, and we have to fix that all that up ourselves... every time it updates, too...

As noted by another commenter, there is Franz, which does much of the same thing and already exists. It is indeed a sidestep of the issue, but maybe that's the best call for right now.

Dark days.

Lastly, just for the record, today I successfully logged in to Steam (with mobile authenticator Steam Guard enabled) on both the Oct 2 2019 client and the May 18 2018 client, so there is at least 1 Valve endpoint still alive that's now over 5 years old.

Edit:
Someone sent me a steam gift today (Sept 22 2023) while my May 31 2023 steam client was up and running and the gift prompt seemed to work correctly. Steam detected the sent gift and showed the usual popup window with the accept and deny buttons. Note that I had previously toggled in and out of Big Picture mode on this client launch cycle, so I was appearing online. Also, at the exact same time, I had the May 31 2023 steam client up and running on another computer and logged into the same account. This client did *not* get the Big Picture toggle treatment, so it was showing me as offline. And yet that second client instance on PC #2 also got the gift notification and showed the accept/decline popup, just like on PC #1.
I don't know if gifts go through the friends infrastructure or something else, but I saw people talking about not being able to buy things in the Steam store (works for me), and this might be a useful clue later so I'm making a note of it here.
Showing 31-39 of 39 entries