Fix for back button resetting library scrolling position to the top
Unfortunately Valve doesn't seem to be interested in fixing this 6-month old and very annoying bug, so I tried to fix it myself.

1. Open "<steam_location>\steamui\library.js".
2. Paste the following code after the last line.
function setupScrollRestore(doc) { doc.gridScrollTop = 0; doc.restoreGridScroll = () => { let tries = 500; const interval = setInterval(() => { if (doc.querySelector('._3vHkmRShhzwd67_MtEq8-n') || tries === 0) { clearInterval(interval); const grid = doc.querySelector('._3lDczhulqraStjCitLYJ1K'); grid && (grid.scrollTop = doc.gridScrollTop); } tries--; }, 10); } doc.addEventListener('scroll', (e) => { if (e.target.className.indexOf('_3lDczhulqraStjCitLYJ1K') !== -1 && e.target.querySelector('._3vHkmRShhzwd67_MtEq8-n')) { doc.gridScrollTop = e.target.scrollTop; } }, true); doc.addEventListener('mousedown', (e) => { if (e.button === 3) { doc.restoreGridScroll(); } }); doc.addEventListener('click', (e) => { if (e.target.tagName !== 'svg' && e.target.tagName !== 'path') { return; } const className = e.target.tagName === 'svg' ? e.target?.className?.baseVal : e.target?.parentElement?.className?.baseVal; if (className && (className.indexOf('_25lBLzuVeYAUG279up4xP8') !== -1)) { doc.restoreGridScroll(); } }); } let navCtrlTries = 100; const navCtrlInterval = setInterval(() => { const doc = window?.FocusNavController?.m_rgAllContexts[0]?.m_activeWindow?.document; if (doc || navCtrlTries === 0) { clearInterval(navCtrlInterval); if (doc) { setupScrollRestore(doc); } } navCtrlTries--; }, 100);
3. Launch Steam with -noverifyfiles command line parameter. Otherwise it will override these changes.
Last edited by Unjolliness; 31 Jul @ 11:23am