Files
opportunities-extension/docs/browser-smoke.md

4.5 KiB

Native Browser Validation

This checklist complements the synthetic tests; it is not evidence of a native pass until executed and recorded separately for each browser.

Preconditions

  • Use an authorized test profile/account. Do not delete cookies, sign out, change account security settings or inspect credential values to force failure cases.
  • Connect Chrome/Edge through Settings > Computer use for assisted browser tests. Firefox needs a separate supported/manual test session.
  • Run node scripts/build.mjs --check and node scripts/test.cjs first.
  • Load dist/chromium using Load unpacked in Chrome/Edge, or load dist/firefox/manifest.json as a temporary Firefox add-on. Verify the source directory and version 1.0.7; avoid testing a previously installed stale copy.
  • Keep debug secrets hidden. Record only status codes, request names, durations and sanitized errors. Do not export real tokens, response bodies or account data.
  • AI generation and tests requiring a deliberately expired session must use an explicitly authorized test environment. Do not trigger live writes solely to complete this checklist.

Checklist

Check Expected result
Package load No manifest/background/content syntax errors; no additional permissions
Both Fusion welcome routes Exactly one tile before the add-icon item; no tile on unrelated pages
Modal open/close/reopen Same search value and matching results; Esc closes the correct dialog
Filters and sorting Correct customer/owner/stage/status/text combinations; WON includes WON_PENDING
Reference change Customer and owner reset to all; stale responses do not overwrite new results
Preferences Save/reopen retains selected record sets and cache duration; restore original settings afterward
Products Progress completes; badges/counts and expanded rows agree; warm cache avoids redundant product fetches
AI in authorized test environment Summary appears without replacing products; concurrent expansions share scoped-token acquisition; reopen uses valid token
Consumption Dialog opens promptly, weekly chart by default; plan/period changes and series filters work
Themes and layout Light/dark controls work; check long names, WON_PENDING and full update timestamps
Debug Expected operation names/statuses; sensitive values remain hidden
Organization charts Icon after customer SR action; add/report/reparent/edit/notes/collapse; Save chart then reopen from another opportunity for the same customer; reload page and restart browser retains chart; theme and small viewport remain usable
Organization chart conflicts Two tabs open the same chart; save one, then save stale second tab; second save reports a conflict and retains local edits rather than overwriting the first
Background restart Close its inspector, allow suspension, then trigger a message; listener responds and stored product cache is reloaded
Multiple tabs Progress remains scoped to requesting frame/job; no duplicate UI/listeners from normal navigation
Firefox containers Test only in authorized containers; record current cookie/cache isolation limitations without silently changing behavior
Natural session expiry When encountered, record recovery outcome and temporary-tab cleanup without revealing cookies or forcing sign-out

Background interruption does not currently resume in-flight jobs. Do not mistake that known limitation for a new regression or claim a mocked restart proves native worker suspension. Any differences must be compared with the pre-refactor behavior.

Execution Record

2026-09-17 preflight:

Target Discovery Native test result
Chrome Executable version 153.0.8010.37; automation not connected Blocked pending connection
Edge Executable version 153.0.4234.32; automation not connected Blocked pending connection
Firefox No executable found at the checked standard Program Files path; installation not confirmed Not run

The running-process diagnostic was denied by the environment, so browser running state was not established. Connected targets were Brave and the in-app browser; neither was substituted for this native matrix. The user chose to connect Chrome/Edge. All five local suites and the output consistency check passed again. No real Fusion/SPA calls, runtime changes, release or commit were made in preflight.

For each completed run, append date, browser/version, package path, checklist outcomes, sanitized errors and remaining gaps. Never mark unexecuted checks passed.