Skip to content

Add Firefox support, UI tests, and responsive tab search#6

Merged
alexdresko merged 6 commits into
mainfrom
codex/review-issue-5
Jul 3, 2026
Merged

Add Firefox support, UI tests, and responsive tab search#6
alexdresko merged 6 commits into
mainfrom
codex/review-issue-5

Conversation

@alexdresko

@alexdresko alexdresko commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • add Firefox support to browser tab discovery and user-facing docs
  • add local-first browser UI integration tests for Chrome, Edge, and Firefox
  • add fast unit tests for browser tab discovery shaping, activation guard behavior, and page search behavior
  • avoid dynamic Command Palette refreshes while typing by letting the host filter cached tab items
  • collect Cobertura coverage for unit and UI test workflows
  • add a manual ui-tests workflow while keeping headed browser tests out of mandatory CI
  • add local build/install helper scripts and VS Code workspace recommendations

Validation

  • git diff --check
  • dotnet build src/extension/WcpBrowserTabs/WcpBrowserTabs.sln --configuration Debug --no-restore /p:Platform=x64
  • $env:DOTNET_ROLL_FORWARD='Major'; dotnet test src/extension/WcpBrowserTabs/WcpBrowserTabs.Tests/WcpBrowserTabs.Tests.csproj --configuration Debug --no-restore /p:Platform=x64
  • DOTNET_ROLL_FORWARD=Major dotnet test src\extension\WcpBrowserTabs\WcpBrowserTabs.UiTests\WcpBrowserTabs.UiTests.csproj --configuration Debug --filter Category=Ui /p:Platform=x64

Notes

The UI tests launch real browser processes with isolated temporary profiles and known local HTML pages. Firefox requires profile preferences that keep accessibility enabled and suppress first-run UI so its tab surface is available through Windows UI Automation.

The search responsiveness fix changes the tab page from a dynamic list to a standard list. Browser tab discovery refreshes the cached item set in the background, while Command Palette handles filtering during typing.

@alexdresko
alexdresko marked this pull request as ready for review July 3, 2026 18:00
Copilot AI review requested due to automatic review settings July 3, 2026 18:00

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Firefox support to the Browser Tabs Command Palette extension, and introduces both unit tests and local-first UI integration tests (Chrome/Edge/Firefox) plus coverage collection and CI wiring.

Changes:

  • Extend browser detection and user-facing strings/docs to include Firefox.
  • Refactor tab discovery to enable unit testing of tab shaping/dedup/sorting; add new unit test project.
  • Add UI integration test project and a manual ui-tests GitHub Actions workflow (with Cobertura coverage collection).

Reviewed changes

Copilot reviewed 26 out of 26 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/Poc/Program.cs Add Firefox recognition in the PoC browser-name detection helper.
src/extension/WcpBrowserTabs/WcpBrowserTabs/Properties/AssemblyInfo.cs Expose internals to new test assemblies.
src/extension/WcpBrowserTabs/WcpBrowserTabs/Pages/WcpBrowserTabsPage.cs Update UI strings to mention Firefox support.
src/extension/WcpBrowserTabs/WcpBrowserTabs/BrowserTabDiscoveryService.cs Add Firefox support and refactor discovery into a testable CreateTabs pipeline.
src/extension/WcpBrowserTabs/WcpBrowserTabs.UiTests/xunit.runner.json Disable parallel execution for UI tests.
src/extension/WcpBrowserTabs/WcpBrowserTabs.UiTests/WcpBrowserTabs.UiTests.csproj New UI test project targeting Windows, with coverage collector and xUnit.
src/extension/WcpBrowserTabs/WcpBrowserTabs.UiTests/coverage.runsettings Cobertura coverage configuration for UI test runs.
src/extension/WcpBrowserTabs/WcpBrowserTabs.UiTests/BrowserTestSession.cs Test harness that launches browsers with temp profiles and polls for UIA-exposed tabs.
src/extension/WcpBrowserTabs/WcpBrowserTabs.UiTests/BrowserDiscoveryUiTests.cs UI discovery tests validating known tab titles are surfaced.
src/extension/WcpBrowserTabs/WcpBrowserTabs.UiTests/BrowserDefinitions.cs Definitions/paths for Chrome, Edge, and Firefox.
src/extension/WcpBrowserTabs/WcpBrowserTabs.UiTests/BrowserDefinition.cs Executable discovery + per-browser launch arguments.
src/extension/WcpBrowserTabs/WcpBrowserTabs.UiTests/BrowserActivationUiTests.cs UI activation test validating selecting an inactive tab activates it.
src/extension/WcpBrowserTabs/WcpBrowserTabs.UiTests/AssemblyInfo.cs Disable xUnit parallelization at assembly level for UI tests.
src/extension/WcpBrowserTabs/WcpBrowserTabs.Tests/WcpBrowserTabs.Tests.csproj New unit test project for discovery shaping and activation guards.
src/extension/WcpBrowserTabs/WcpBrowserTabs.Tests/coverage.runsettings Cobertura coverage configuration for unit test runs.
src/extension/WcpBrowserTabs/WcpBrowserTabs.Tests/BrowserWindowActivatorTests.cs Unit test for zero-handle guard behavior.
src/extension/WcpBrowserTabs/WcpBrowserTabs.Tests/BrowserTabDiscoveryServiceTests.cs Unit tests for browser-name mapping, tab shaping, dedup, sorting, STA helper, and activation result factories.
src/extension/WcpBrowserTabs/WcpBrowserTabs.sln Add new test projects to the solution.
src/extension/WcpBrowserTabs/Directory.Packages.props Centralize versions for test/coverage packages (xUnit, test SDK, coverlet).
scripts/build-and-install-local.ps1 New helper script to package, trust cert, and install a local build.
README.md Update docs for Firefox support and add test/coverage run instructions.
PUBLISHING.md Update Store listing copy/keywords/testing instructions to include Firefox.
PRIVACY.md Update privacy statement to include Firefox in local UIA discovery.
AGENTS.md Update repository overview to include Firefox as a supported browser.
.github/workflows/ui-tests.yml New manual workflow to run unit + UI tests with coverage and upload artifacts.
.github/workflows/ci.yml Run unit tests as part of CI.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@alexdresko alexdresko changed the title [codex] add Firefox support and browser UI tests Add Firefox support, UI tests, and responsive tab search Jul 3, 2026
@alexdresko
alexdresko merged commit a3f9f0b into main Jul 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants