From 7415a96e656fb3188e238a08c910435d178d4159 Mon Sep 17 00:00:00 2001 From: ValueOn AG Date: Tue, 17 Feb 2026 14:13:47 +0100 Subject: [PATCH] fix: set Azure Container App ingress timeout to 900s, reduce wait times per variant Co-authored-by: Cursor --- .github/workflows/build-deploy.yml | 4 ++++ src/bot/authTestProcedure.ts | 26 ++++++++++++++------------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-deploy.yml b/.github/workflows/build-deploy.yml index ad3924b..7d86a02 100644 --- a/.github/workflows/build-deploy.yml +++ b/.github/workflows/build-deploy.yml @@ -49,6 +49,10 @@ jobs: --name ${{ env.CONTAINER_APP_NAME }} \ --resource-group ${{ env.RESOURCE_GROUP }} \ --image ${{ secrets.ACR_LOGIN_SERVER }}/${{ env.IMAGE_NAME }}:${{ github.sha }} + az containerapp ingress update \ + --name ${{ env.CONTAINER_APP_NAME }} \ + --resource-group ${{ env.RESOURCE_GROUP }} \ + --request-timeout 900 - name: Summary run: | diff --git a/src/bot/authTestProcedure.ts b/src/bot/authTestProcedure.ts index ac95458..3555e99 100644 --- a/src/bot/authTestProcedure.ts +++ b/src/bot/authTestProcedure.ts @@ -237,10 +237,10 @@ async function _runVariant( 'input[name="loginfmt"], input[type="email"], button:has-text("Sign in"), button:has-text("Join a meeting")', { timeout: 15000, state: 'visible' }, ); - await page.waitForTimeout(2000); + await page.waitForTimeout(1000); } catch { _log('warn', 'Login page elements not found, taking screenshot anyway'); - await page.waitForTimeout(5000); + await page.waitForTimeout(2000); } await _screenshotStep('1 - Login-Seite'); @@ -289,11 +289,11 @@ async function _runVariant( 'button:has-text("Sign in"), button:has-text("Join a meeting"), button:has-text("Anmelden"), button:has-text("An Besprechung teilnehmen")', { timeout: 30000, state: 'visible' }, ); - await page.waitForTimeout(3000); + await page.waitForTimeout(1000); _log('info', 'Teams landing page loaded'); } catch { _log('warn', 'Landing page buttons not found after 30s'); - await page.waitForTimeout(5000); + await page.waitForTimeout(2000); } await _screenshotStep('2 - Teams Landingpage'); @@ -342,15 +342,17 @@ async function _runVariant( _log('warn', '"Join a meeting" button not found on landing page'); } - // Wait for the "Join a meeting" form to FULLY load + // Wait for the "Join a meeting" form to load (wait for Meeting ID input) _log('info', 'Waiting for Join a meeting form to load...'); - await page.waitForTimeout(5000); try { - await page.waitForLoadState('networkidle', { timeout: 20000 }); + await page.waitForSelector('input[placeholder*="meeting" i], input[placeholder*="Meeting" i], input[placeholder*="ID" i]', { + timeout: 15000, state: 'visible', + }); + await page.waitForTimeout(1000); } catch { - _log('warn', 'networkidle timeout, continuing'); + _log('warn', 'Meeting form input not found, continuing'); + await page.waitForTimeout(2000); } - await page.waitForTimeout(3000); await _screenshotStep('3 - Join a meeting Formular'); // Parse meeting URL to extract Meeting ID and Passcode @@ -469,13 +471,13 @@ async function _runVariant( // Wait for resulting page after clicking Join if (joinClicked) { _log('info', 'Waiting for page after Join meeting...'); - await page.waitForTimeout(5000); + await page.waitForTimeout(3000); try { - await page.waitForLoadState('networkidle', { timeout: 30000 }); + await page.waitForLoadState('networkidle', { timeout: 20000 }); } catch { _log('warn', 'networkidle timeout after Join, continuing'); } - await page.waitForTimeout(10000); + await page.waitForTimeout(5000); } await _screenshotStep('5 - Nach Join meeting');