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 21-30 of 39 entries
177
Issue: Chat does not work
Originally posted by lightwo:
It's easy to assume malice, but that's not what's happening. No, the issue seems to happen very often for some but very rarely for others. The content check system gets stuck in the unverified state, and doesn't let you make edits until verification is over.
You are confused; there is no malice in this scenario. Valve survives as the multi-billion dollar entity they are because of the 132 million users they have. The loss of any portion of those 132 million users is like you or I losing a portion our blood. If you care to survive, you want to keep your blood, and this is tricky when your blood cells emotionally-driven humans that can and do leave your platform when stimulated by certain information. Just as most people understand they need their skin to stop their blood from leaving their body, Valve and all other user-based multi-billion dollar entities understand they need censorship to keep their users from leaving their body. And this is not inherently wrong, survival is a law of nature. But there is beneficial censorship - obscuring lies from idiots who easily believe them - and there is hostile censorship - obscuring truths from people who will benefit from them. When Valve interdicts Steam users' ability to publish accurate & helpful information on modifying the Steam client to better suit their needs, they are engaging in hostile censorship. Malice and hostility are very different things. One is the emotional desire to do evil. The other, in this case, is the consequence of Valve's desire to survive. And it doesn't matter if their temporal censoring of my Steam guide is intentional (and it undeniably is intentional) or just the result of pure stupidity/chance/luck/whatever. It's a course of action that directly interferes with my ability to share my patch with everyone in the most convenient way possible. I do not care to play Valve's rigged game by bending over backwards for the censor and walking on a hot coals just to publish a guide. I hate when 10000000+ manhour companies devise ways to waste my one-man time.

Originally posted by lightwo:
The content check system is an unreliable piece of crap you simply have to deal with
Laziness. This is the worst possible attitude you can have. Rolling over like a servile dog and taking Valve's punishment with open arms. You are giving them positive reinforcement for their hostile actions and telling them to keep cracking their whip across your back. The situation will never improve.

Segue...

Originally posted by re11ding:
I'd recommend making a guide on a place like github honestly. Fill out the instructions and needed info there. Github links are perfectly acceptable to link in the forums, so there shouldn't be any problems doing so.
Yes, this is my current plan that I mentioned in my previous comment. A stub steam guide that directs users to the github repo, where either the readme or wiki will be set up to give all the information that would have otherwise been in the steam guide.
But are you certain Steam does not censor github links? In my experience, Steam censors every single link that goes outside their walled garden of websites. Wikipedia is censored. Google is censored. Even official product documentation is censored, when I tried to post a link to the gmod developer wiki on a gmod workshop item and that got censored.
At any rate, unless I have some other epiphany in the next 24 hours, I will be going with the stub steam guide -> github repo wiki page solution. I'll test creating steam guides with github links, alternative solutions if that fails, and re-plan the github repo to include all the how-to stuff that was censored from the Steam guide.

This does mean even more work now since the github repo was never planned to be the front page of the patch, so for everyone who is still waiting on the release I'm afraid it's going to be another day or so longer.
Ok, looks like this going to take even longer still. Valve is conducting some kind of hostile censorship campaign against Steam user content which explains how to modify parts of the Steam client, even at high level or in brief. This affects Steam guides, which is what I have been trying to do for the last many hours. If you add certain terms, phrases, or concepts to your Steam guide that discuss modifying the Steam client, Valve will silently ban the guide and lock you out from it somewhere between 10 seconds and 180 seconds after you saved it. The guide doesn't even have to be published yet. You can continue to access and use the guide editor and attempt to edit your guide, but all attempts to save your edits result in one of the "your access to this item is denied" messages. You cannot even delete the guide, that silently fails too.

Update: After about 2 hours of nothing but wasted time, the ban on deleting the guide seems to lift and I was at least able to at least delete the various test guides I made. But unfortunately Valve still had me banned from from editing them. I suppose I could write and publish the entire guide in one go with only one edit & save, but that's a real piece of shit to have to do every time I want to make a change or add new important info or god forbid fix one typo. Not to mention the guide will constantly be deleted and replaced by a new one, so there's no point favoriting or bookmarking it. Clearly Valve intends to keep its customers in the dark about fixing problems with the Steam client and I am not going to be the fool who plays their game and has his time wasted in troves.

So Steam guides are more or less a non-starter for explaining how to install my patch.

My idea for now is to create a stub steam guide that just directs readers to the github repo where I am hosting my patcher and all its code. The repo's readme will be amended to include all of the instructions that would otherwise have been in the censored Steam guide. The stub steam guide will try its best to direct users to the github repo's home page without a link because links are censored too. I don't know if I have the time to make a video anymore but if I do I would probably keep that off the stub steam guide just out of fear of retribution from Valve.

If anyone has any better ideas, that would be great too.
Originally posted by lightwo:
Originally posted by TiberiumFusion:
-snip-
Wow, cool! You only had to edit friends.js after all. Thank you for everything.

Please link the guide when you're done, I will add it to my guide. You may add a video embed within the guide itself, which some privacy-minded folks might not like, but I assume that anyone bothered by embeds already blocks them.
Ahhh if only it were that simple. The required patch is a lot more than just editing friends.js. friends.js is the only existing file that needs to be modified. But the patch also needs 106 additional files in order to work correctly. They just don't overwrite/modify any other existing Steam program files. I left gratuitous comments in the patch files, so you can take a look at the files if you're curious how the patch works.

My patch will maybe be available sometime later today or tomorrow (gmt-5), after I finish creating a text steam guide and a tutorial video that both show how to install the patch. Please do include either or both of them in your guide so everyone can find it. Thanks!

Originally posted by DSDDukeNukem:
confusion about "pwa" friends
The replies you've received so far are correct, but I will add a bit more info.
From the late 2000s up to July 2018, the Steam client's chat feature was implemented using vgui. The August 2018 client update introduced a replacement that was implemented as a pwa. This pwa is pointed at steam-chat.com, which is the same website that provides the chat feature without needing the Steam client if you just log in to steamhost.cn/steamcommunity_com with a web browser. It was an attempt to lessen the damage Discord caused by poaching users away from Valve's chat service, by copying Discord's most used features. The steam client includes a massive chunk of glue code that hooks the pwa up to the Steam client, but all of the chat-related logic is served remotely from Valve's servers. Every time you launch Steam, it goes to steam-chat.com to get the code for running chat. The code does not exist in the Steam program files. Very inefficient, but cheap and easy to implement. Valve's gotta save money, after all, they barely get by with their 10000% profit margins. Gaben needs another ikea-sized knife forge and money doesn't grow on trees.
Both versions of big picture mode (tenfoot and steampal) also use pwa friends, but they have different glue code for hooking up to it. This is why friends works in shitpal big picture mode in the Steam client even though it doesn't work in the normal friends window (FriendsUI). FriendsUI was Valve's first and oldest attempt at replacing huge chunks of the Steam client with cef garbage. They neglect it and do not test updates against FriendsUI, hence why they royally fucked up and broke friends for all of us on Sept 21. If the Steam client had its own local code for friends and did not use a pwa, friends would still be working, this thread wouldn't exist, and none of us would be here right now.
Originally posted by bidulless:
hello
https://steamhost.cn/community_cloudflare_steamstatic_com/public/javascript/webui/friends.js?v=Oy7EJLTwcDt8 is not the same as the one we are using locally and so no clue which one has been passed trought the websocket loopback (https://steamloopback.host/friends.js ).
as exemple, the friends.js used.
You are very confused about how pwa friends works. Read the code in Steam\clientui\friends.js carefully and you will gradually learn how it works.

Simplified summary: Steam\clientui\index_friends.html and Steam\clientui\friends.js constitute the pwa harness. There is zero friends/chat functionality implemented in Steam\clientui\friends.js. It is just one piece of glue in the chain of: steam.exe -> FriendsUI component -> steamwebhelper instance -> cef frame -> index_friends -> friends.js -> iframe src="steam-chat.com/chat/clientui". The iframe hosts the friends pwa. Steam\clientui\friends.js is only the glue between the pwa and the Steam client. You are confusing the pwa harness with the pwa itself.

Originally posted by bidulless:
Noted also that bigpicture mode does not use local friends.js
This is correct. Big picture mode never uses Steam\clientui\friends.js. Both tenfoot and steampal have their own different harnesses for the friends pwa and do not need to use the FriendsUI harness. FriendsUI is only used by the main library window (in vgui mode) and the ingame overlay.

Originally posted by bidulless:
Nontheless i think most js files on hdd are more for some offiline purpose more or less
I shared a comment with a similar line of thought yesterday. It is not entirely correct. The steam client always uses all of the files in clientui and steamui, both when online and in offline mode. Some may retrieve remote resources from Valve's servers, and some of those resources may be additional code, which would make Steam a juicy target for a remote code execution attack. But it is wrong to say that "most" of the local .js files are only used in offline mode.

Originally posted by bidulless:
Let's hope you will be able to give a viable solution for all steam release and all case ( bigpicture mode , large and mini
I don't know what you mean by "large" and "mini", but segue in to my next post...
Research progress update

I spent the last 2 days going down the Valve rabbit hole, desperately trying to reconcile the differences in the pwa friends js before/after Sept 21 and its interface with the Steam client. And now I can confidently conclude that Valve genuinely honestly no-doubts-about-it fucked up on Sept 21. They pushed a worldwide update to the production pwa friends code that clearly was never unit tested or even manually tested. The current version of steam-chat dot com is broken, and the only reason why it still works in the pure cef Steam clients is by pure coincidence of: 1) javascript being a weakly typed and pathetic language and 2) the consolidation of FriendsUI into the client's SharedJSContext, which has become Valve's finest base class from hell, a trick they have been perfecting for the last 20 years.

And here I was thinking that the pieces of the puzzle would fit together in a sane way. Nope. Not at all.

The narrative is backwards. The old steam clients aren't broken. The *new* ones are! The older clients correctly fail to initialize FriendsUI when they encounter the fuck up Valve put in the pwa code on Sept 21st. The new clients by pure coincidence silently gloss over the fuck up in the pwa code due to their own pre-existing fuck ups!

What a red herring this has been.

The immediate follow up question to this is: can we replicate the new clients' broken behavior in the old clients? So that they will also silently gloss over the fatal error in the live pwa code. That is what I am currently looking in to. If possible, it is one avenue of restoring pwa friends in those clients. The other avenue is the PoC I shared last night, which is making the steam client run an older copy of the pwa friends code from before Valve introduced the fatal error (before Sept 21). The third and final approach I am researching is a combination of the two, where the client fixes Valve's fuck up on the fly when the pwa is loaded. Each one of these has definite pro and cons. User convenience, future proofing, not upsetting VAC, etc. I will probably share whichever is the first I can get working for general distribution, then maybe implement the other two if possible so that we have multiple options available to us for the future.
11
Countdown banner
177
Issue: Chat does not work
Originally posted by bidulless:
Sorry english is not my main language but what do you mean by pwa ?
https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps that ?
Yes, that is what PWA stands for.
Originally posted by bidulless:
There is still some data i wasn't able to decrypt (hashed name file) from the history may be nothing but i will continue to check.
We might be able to get the older versions of some files *without* needing to dig them out of steamwebhelper's cef cache. The Steam\steamui folder contains a variety of javascript files, some of which are copies of their then-contemporary equivalent at steamstatic.com/public/javascript/webui/*. This is how the client is able to do things like an "offline" versions of the friends window when it offline mode or without internet access. However, these files in Steam\steamui are only offline fallbacks and the client will never even attempt to use them if it is able to connect to Valve servers.

Originally posted by DSDDukeNukem:
Hoi lads. So, I've found another "bad side" effect of using -nofriendsui with package removed. I can't join my friends when playing Vermintide2 , and maybe others games (haven't try tho). I think at this point, I'm maybe resign, and give up my good ol' vgui, and update to latest steam version with crap memory leak. It was a great interface with no bugs, but those fk twat at valve have decided to kill the fun and good thing, to force us to update :/
Keep an eye out for my fix for pwa friends when it is ready to release. It should fix all/most of the problems that vgui friends currently have. I tested out the PoC I showed in my post yesterday by playing TF2 for a while last night. It worked just fine. I did not test invites, though.

Originally posted by bidulless:
hello
I also noticed a difference between both mode, with and without -nofriendsui in term of network :
-nofriendsui does not make a call to steam chat
when without
https://steam-chat.com/chat/clientui/?l=french&cc=FR&build=1694466342&origin=https%3A%2F%2Fsteamloopback.host
the version number is passed to the loopback ....
This is because -nofriendsui makes the steam client not use FriendsUI. FriendsUI is the oldest cef shoehorn in the Steam client (circa August 2018 client) and serves friends as a pwa pointing at steam-chat dot com instead of using vgui and doing things like a normal program would. There is no reason for Steam to to contact steam-chat dot com when vgui friends is active, since all friends/chat related stuff goes through the Steam API network interface. FriendsUI offloads 100% of the friends/chat related logic from the Steam client to the javascript it serves. https://steam-chat.com/chat/clientui/ is a complete reimplementation of steam friends in valve's modified build of chromium.

Originally posted by Lees_nomad:
A few words about Big Picture, about what does not work, I also attached in the screenshots,
1) Do you want to say that everyone has this problem now and on all versions?
It's just that I have at the moment Jun 21.
2) Until the evening of Sep 22, I personally have old Big Picture it worked normally, but the list of friends did not load for obvious reasons, the version was May.
In the current version I have a new design Big Picuture, and having written about it above, I still can't roll back to the old version manually, although the entire package set is available
And what happened to him? Do we have any thoughts?
Friends/chat in old big picture mode (tenfoot) is broken for everyone. Friends in tenfoot is just another pwa wrapper pointed at steam-chat.dom, just like FriendsUI in the normal library. I made a post a couple days ago explaining why Valve broke Friends in old big picture mode (tenfoot) on Sept 21 and demonstrated a PoC that gets it working again. You can read that if you're curious. Note that friends is broken in tenfoot in a *different* way compared to how it is broken in the main library window.

As for new big picture mode (steampal copy & paste), friends/chat works post Sept 21 because big picture mode receives the same javascript injections that the shared context gets (library, popups, etc), some of which are now explicitly (incorrectly) referenced by the dogshit new friends.js that Valve began serving on Sept 21, which includes a fatal error that occurs only in the absence of the additional injections.
Progress update on getting pwa friends (not vgui friends) working again

We do currently have a workaround shared by bidulless which uses the hidden vgui-based friends, but it doesn't work in steampal Big Picture mode and it maybe(?) has problems updating game presence and in the overlay. I am working on a more permanent solution that restores the pwa-based friends without any negative side-effects hopefully.

Live functioning proof of concept demo video here:
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3040940050
What you see in the video above is version 8200419 of PWA Steam Friends running and working in my May 31 2023 release Steam client. It also works in steampal Big Picture mode (not shown in the video). This would be pleasant reality of everyone's Steam client right now today if Valve hadn't fucked up the pwa code and broke compatibility with the slightly older clients (and in the most idiotic way possible, too). All they had to do was NOT serve a broken new pwa written by the intern to us... but nope, Valve is only able to serve bleeding edge because they redact anything more than 4 weeks old to cinch up those digital chains they keep us enslaved in. I recovered version 8200419 from the cef cache on one of my less-used PCs, which acquired those files sometime in late July. Based on that timeframe and the CLSTAMP of 8200419, I'm concluding that version 8200419 is approx 2 months old as of today. The longer term goal is to reconcile the shitty breaking changes in the current version of the pwa with how our pre Sept 12 steam clients expect pwa friends to work, this way they can keep updating friends like they've done for the last 5 years. But a shorter term solution that is much faster to implement right now is to use version 8200419 (or similar). My gut feeling tells me two months old is far on the young side of "how much time is left until this pwa version no longer can communicate with Valve's servers" so that's something good at least.

I am now exploring ways to adapt the functioning prototype shown in the video to work without the behind-the-scenes dependencies it currently has so that I can eventually distribute a patch/patcher for everyone to use on their clients.
Showing 21-30 of 39 entries