Skip to content

release: v1.3.2 — fix WXT manifest scope validation#78

Merged
hoangsvit merged 109 commits into
mainfrom
dev
Jul 24, 2026
Merged

release: v1.3.2 — fix WXT manifest scope validation#78
hoangsvit merged 109 commits into
mainfrom
dev

Conversation

@hoangsvit

@hoangsvit hoangsvit commented Jul 23, 2026

Copy link
Copy Markdown
Member

Summary

Fix WXT manifest scope handling and validation for the inline helper content script.

Type of Change

  • Bug fix
  • New feature
  • UI / UX update
  • Translation / i18n update
  • Refactor
  • Tests
  • Build / CI / release
  • Documentation

Areas Touched

  • Popup alias generator
  • Settings
  • Account management
  • Alias history / favorites / statistics
  • Gmail tricks
  • Context menu / background logic
  • Browser extension manifest / permissions
  • Other: generated manifest verification

Testing

  • yarn compile
  • yarn test
  • yarn build
  • Production manifest verification
  • Loaded the extension locally and tested the changed flow
  • Tested light and dark mode, if UI changed
  • Checked translations, if user-facing text changed

Unit-test coverage added

The manifest validator now has regression coverage for:

  • exact development allowlist success;
  • Firefox MV2 host patterns stored in permissions;
  • broad development content-script matches such as *://*/*;
  • broad development host permissions;
  • literal <all_urls> rejection in development;
  • missing development allowlist entries;
  • valid Firefox-style production manifests;
  • unrelated content scripts not satisfying inline-helper validation;
  • missing generated inline helper;
  • missing manifest files;
  • missing production host coverage.

Screenshots or Recording

N/A — no UI changes.

Notes for Reviewers

Production validation targets only the generated inline helper entry (content-scripts/content.js) instead of flattening matches from every manifest content script. Development scope remains restricted to the configured allowlist. Tests import the validator constants directly to avoid fixture drift.

Summary by CodeRabbit

  • New Features

    • Added searchable, paginated management for sites with inline features disabled, including one-click re-enabling.
    • Version displays now stay synchronized across the extension and website.
    • Improved support for configuring inline helper coverage during development.
  • Bug Fixes

    • Improved inline helper behavior on framed pages, including blank and embedded documents.
    • Corrected garbled translations across supported languages.
  • Chores

    • Updated the release version to 1.3.2.

@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@eplus-bot

Copy link
Copy Markdown
Contributor

Thank you for creating this pull request and helping make the project better.

We will review / merge it when we are online.

@eplus-bot eplus-bot added needs-review Pull request is ready for maintainer review build-ci Build, CI, release, or project configuration labels Jul 23, 2026
@eplus-bot
eplus-bot self-requested a review July 23, 2026 04:19
@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The PR updates mode-specific content-script scoping and manifest validation, adds release-version resolution and popup site filtering, corrects localized strings, and adjusts CI, workflow, environment, and contributor configuration.

Changes

Manifest scope validation

Layer / File(s) Summary
Mode-specific scope wiring
scripts/inline-dev-matches.*, wxt.config.ts, entrypoints/content/index.ts, .env.example, CONTRIBUTING.md
Development matches are resolved from defaults and environment configuration, production uses <all_urls>, and framed pages use a resolved page URL.
Manifest validator
scripts/verify-manifest-scope.mjs
Generated manifests are discovered and checked for mode-specific content-script matches, granted hosts, inline-helper presence, and invalid URL patterns.
Validator coverage and CI
tests/scripts/verify-manifest-scope.test.mjs, vitest.config.ts, .github/workflows/ci.yml
Development and production fixtures cover validator behavior, MJS tests are discovered, and production Chrome scope is verified in CI for main and dev events.

Release version and popup updates

Layer / File(s) Summary
Release version resolution
web/release-version.ts, web/vite.config.ts, src/version.ts, web/src/App.tsx, entrypoints/popup/components/Settings.tsx, package.json, tests/version.test.ts, tests/webReleaseVersion.test.ts
Website builds resolve and inject a release version with package fallback, while UI displays and tests use the shared version value.
Disabled-site filtering and panel
src/utils/inlineSiteSettings.ts, entrypoints/popup/components/DisabledInlineSitesPanel.tsx, entrypoints/popup/components/Settings.tsx, tests/utils/inlineSiteSettings.test.ts
Disabled inline sites support normalized filtering, pagination, empty states, and enable actions through a dedicated popup component.
Release metadata and build environment
entrypoints/popup/components/Settings.tsx, .env.example
The changelog includes version 1.3.2 and example release configuration variables are documented.

Localization and workflow configuration

Layer / File(s) Summary
Localization encoding corrections
public/_locales/*/messages.json
Localized message values are rewritten with readable UTF-8 text while preserving message keys and placeholders.
Workflow and contributor configuration
.github/workflows/deploy-pages.yml, .github/workflows/pr-preview.yml, .github/ISSUE_TEMPLATE/bug_report.yml, CONTRIBUTING.md
Build jobs receive GITHUB_TOKEN, the issue version placeholder is generalized, and contributor guidance covers inline development matches.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant CIWorkflow
  participant ExtensionBuild
  participant ManifestVerifier
  participant OutputDirectory
  CIWorkflow->>ExtensionBuild: Build production extension
  ExtensionBuild->>OutputDirectory: Write manifest.json
  CIWorkflow->>ManifestVerifier: Verify production Chrome scope
  ManifestVerifier->>OutputDirectory: Read and validate manifests
  ManifestVerifier-->>CIWorkflow: Report success or set failure status
Loading

Possibly related PRs

Suggested reviewers: eplus-bot

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is specific and accurately reflects the main change: fixing WXT manifest scope validation for the release.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

Comment @coderabbitai help to get the list of available commands.

@deepsource-io

deepsource-io Bot commented Jul 23, 2026

Copy link
Copy Markdown

DeepSource Code Review

We reviewed changes in 89ce43f...e134d88 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
JavaScript Jul 23, 2026 4:21a.m. Review ↗

Important

AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.

eplus-bot
eplus-bot previously approved these changes Jul 23, 2026

@eplus-bot eplus-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Approved by @eplus-bot after all pull request checks passed.

CI run: https://github.com/ePlus-DEV/gmail-alias-toolkit/actions/runs/29979273011

@eplus-bot

eplus-bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

CI passed

Approved by @eplus-bot after all pull request checks passed.

Approval refresh: #14
CI updated: 2026-07-24T10:00:55Z
CI attempt: #1
Approval workflow: #400.1

CI run: https://github.com/ePlus-DEV/gmail-alias-toolkit/actions/runs/30084611804

eplus-bot
eplus-bot previously approved these changes Jul 24, 2026

@eplus-bot eplus-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Approved by @eplus-bot after all pull request checks passed.

CI run: https://github.com/ePlus-DEV/gmail-alias-toolkit/actions/runs/30083848952

@eplus-bot eplus-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Approved by @eplus-bot after all pull request checks passed.

CI run: https://github.com/ePlus-DEV/gmail-alias-toolkit/actions/runs/30084611804

@hoangsvit
hoangsvit merged commit d427a1c into main Jul 24, 2026
12 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for helping make Gmail Alias Toolkit better!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app Application or extension source code build-ci Build, CI, release, or project configuration documentation Improvements or additions to documentation i18n Translation or localization changes needs-review Pull request is ready for maintainer review tests Test coverage or test tooling changes ui User interface or visual changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants