Skip to content

Upgrade to local-first Gmail plus alias manager#17

Open
hoangsvit wants to merge 3 commits into
devfrom
codex/upgrade-gmail-alias-toolkit-to-local-first-manager
Open

Upgrade to local-first Gmail plus alias manager#17
hoangsvit wants to merge 3 commits into
devfrom
codex/upgrade-gmail-alias-toolkit-to-local-first-manager

Conversation

@hoangsvit

Copy link
Copy Markdown
Member

Motivation

  • Turn the extension into a local-first, website-aware Gmail plus alias manager that helps users generate, save, manage and autofill Gmail plus aliases per site without any backend, tracking, or account.
  • Provide reliable domain normalization, category detection, and multiple alias formats so suggested aliases are meaningful and reusable per-website.
  • Support robust autofill (including React/Vue/Angular controlled inputs), right-click context menus, a management dashboard, import/export, quality scoring, and a clear privacy notice.

Description

  • Added typed data model and settings: src/types/alias.ts and src/types/settings.ts, and a local storage schema with STORAGE_KEYS and migration helpers in src/utils/storage.ts.
  • Implemented domain utilities, normalization and site detection in src/utils/domain.ts, and auto-category detection in src/utils/categoryDetector.ts.
  • Built alias generation and validation in src/utils/aliasGenerator.ts with splitEmail, sanitizeAliasTag, buildPlusAlias, and generateAliasSuggestions (domain, category-domain, domain-date, domain-random, optional purpose).
  • Implemented autofill helpers that work with framework-controlled inputs in src/utils/autofill.ts and wired content script to use it in entrypoints/content.ts.
  • Added Gmail filter helpers in src/utils/gmailFilter.ts and alias quality scoring in src/utils/qualityScore.ts with the mandatory privacy warning that plus aliases do not hide the real address.
  • Added small helpers src/utils/date.ts and src/utils/random.ts and storage operations in src/utils/storage.ts (save, touch, update status, delete, migrate) that store everything in chrome.storage.local.
  • Reworked popup UI (entrypoints/popup/App.tsx + entrypoints/popup/App.css) into a website-aware popup with current-site detection, manual mode, suggested aliases, previous-alias display, Save/Copy/Autofill actions, dashboard view, settings view, dark mode via CSS variables, import/export JSON and CSV, Gmail filter helper, status flags, and toasts.
  • Reworked background/context-menu flow (entrypoints/background.ts) to support right-click actions: insert suggested alias, copy suggested alias, use previous alias, and generate random alias while preserving legacy history badge behavior.
  • Kept compatibility with existing features: multi-account/legacy base-email fallback, recent history/statistics, favorites, and existing content-script fillEmail message (now handled alongside autofillAlias).
  • Updated manifest/packaging metadata in wxt.config.ts and package.json to reflect the new product positioning and to add minimal necessary permissions (storage, tabs, activeTab, clipboardWrite, contextMenus).

Testing

  • Type check: yarn compile (runs tsc --noEmit) passed in this environment.
  • Build: yarn build could not be executed here because the WXT binary was not available in the environment (command not found: wxt), so a full extension bundle was not produced here (environment limitation).
  • Install: yarn install could not fully restore network dependencies in this environment due to package fetch HTTP 403 responses, so dependency fetch failed and prevented running the full wxt build locally in CI for this run.
  • No automated lint script was run as the repo does not define lint in package.json in this environment; manual code fixes were applied until tsc passed.

Codex Task

@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 →

hoangsvit and others added 2 commits July 2, 2026 18:51
This commit fixes the style issues introduced in 9bf7b55 according to the output
from Prettier.

Details: #17
@deepsource-io

deepsource-io Bot commented Jul 2, 2026

Copy link
Copy Markdown

DeepSource Code Review

We reviewed changes in 1b18dd4...5ec1e90 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 2, 2026 11:53a.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.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant