From e90213d1ff3e5cb1247305a360a675301be33536 Mon Sep 17 00:00:00 2001 From: Jamie Brunton Date: Mon, 5 Jan 2026 15:15:16 +0000 Subject: [PATCH] Update --- src/browser/client.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/browser/client.ts b/src/browser/client.ts index 7d645d9..6335bbb 100644 --- a/src/browser/client.ts +++ b/src/browser/client.ts @@ -62,21 +62,34 @@ export class BrowserClient { try { const page = await this.getPage(); await page.goto('https://www.reddit.com', { waitUntil: 'domcontentloaded', timeout: 30000 }); + await page.waitForTimeout(2000); - const loginIndicators = [ + const visibleIndicators = [ '[data-testid="user-drawer-button"]', 'button[aria-label*="User menu"]', 'a[href^="https://www.reddit.com/user/"]', 'a[href^="/user/"]', ]; - for (const selector of loginIndicators) { + for (const selector of visibleIndicators) { const el = page.locator(selector).first(); if (await el.isVisible().catch(() => false)) { return true; } } + const attributeIndicators = [ + 'reddit-header-large[is-logged-in="true"]', + 'shreddit-post-overflow-menu[current-user-id]', + ]; + + for (const selector of attributeIndicators) { + const el = await page.$(selector); + if (el) { + return true; + } + } + // Fallback to a direct auth check; this avoids false negatives from hidden login buttons. return await this.isLoggedInViaApi(page); } catch (error) {