* fix(user-dropdown): make SSR-safe and fix ESLint warning for Beacon * fix: added ssr guard in second useEffect and added type for beacon instead of ts-ignoring * fix: add dependency array to Beacon useEffect Address review feedback by adding [user?.username] dependency array to the Beacon session-data useEffect, improving performance by preventing unnecessary re-runs on every render. Co-authored-by: albin-baby-2002 <albinbaby2002@gmail.com> Co-Authored-By: unknown <> * test: add automated tests for UserDropdown Beacon functionality Add comprehensive tests for: - Beacon session-data calls with correct payload - Handling of undefined Beacon (no errors) - Username change triggering useEffect re-run - SSR safety (window undefined check) - Component rendering states (loading, user available, no user) Co-authored-by: albin-baby-2002 <albinbaby2002@gmail.com> Co-Authored-By: unknown <> * refactor: remove useless comments and misleading SSR test - Remove redundant comments above vi.mock calls (per keithwillcode feedback) - Remove SSR safety test that provided false coverage since jsdom always has window defined (per Cubic feedback) - The 'should not throw error when Beacon is undefined' test already covers graceful handling Co-Authored-By: unknown <> * fix: remove unused @ts-expect-error directives The Window interface is augmented with optional Beacon and Support properties, so TypeScript allows deleting them without errors. Co-Authored-By: unknown <> * fix: handle lazy-loaded Beacon with polling When Beacon loads lazily after component mount, the useEffect now polls every second until Beacon becomes available, then sends session data and clears the interval. This ensures session info is always sent even when HelpScout loads asynchronously. Added test to verify lazy loading behavior works correctly. Co-Authored-By: unknown <> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: albin-baby-2002 <albinbaby2002@gmail.com>