@rasputin Try using something like this:

The action with the fingerprint icon is "apply fingerprint". Yes, it is repeated 2 times.
The Node.js script contains the viewport fixing code:
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());
console.log("PUPPETEER CONNECTION");
console.log("WEBSOCKET_DEBUGGER_URL: " + [[WEBSOCKET_DEBUGGERURL]]);
const browser = await puppeteer.connect({
browserWSEndpoint: [[WEBSOCKET_DEBUGGERURL]],
defaultViewport: null,
headless: false
});
const page = await getActivePage(browser, 30000);
await page.bringToFront();
await fixViewPort(page);
async function getActivePage(browser, timeout) {
var start = new Date().getTime();
while(new Date().getTime() - start < timeout) {
var pages = await browser.pages();
var arr = [];
for (const p of pages) {
if(await p.evaluate(() => { return document.visibilityState == 'visible' })) {
arr.push(p);
}
}
if(arr.length == 1) return arr[0];
}
throw "Unable to get active page";
}
async function fixViewPort(page) {
// Set the current viewport size
const viewportWidth = await page.evaluate(() => window.outerWidth);
const viewportHeight = await page.evaluate(() => window.outerHeight);
const deviceScaleFactor = await page.evaluate(() => window.devicePixelRatio);
await page.setViewport({
width: viewportWidth,
height: viewportHeight,
deviceScaleFactor: deviceScaleFactor,
});
};
Don't forget to add the required packages from NPM