-
-
Notifications
You must be signed in to change notification settings - Fork 0
v1.3.1 #67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
v1.3.1 #67
Changes from all commits
Commits
Show all changes
72 commits
Select commit
Hold shift + click to select a range
ad536f4
fix: silence error logging for various operations
hoangsvit 168a08b
feat: implement getActiveEmail function for improved email account ha…
hoangsvit 6b70cbd
perf: optimize performance, fix bugs, add base email to inline popup
hoangsvit 56cbed5
fix: remove unused error variable in catch block
hoangsvit 74bde55
style: format code with Prettier
deepsource-autofix[bot] b6e4498
fix: prevent placeholder email usage when storage fails
hoangsvit c8b3c86
fix: surface disable inline helper errors to user
hoangsvit 0bb5816
fix: surface alias-save failures with user feedback
hoangsvit 94dcefa
fix: clean up partial icon initialization on error
hoangsvit c91fb33
style: format code with Prettier
deepsource-autofix[bot] 9a187ee
fix: apply CodeRabbit auto-fixes
coderabbitai[bot] c9e136d
style: format code with Prettier
deepsource-autofix[bot] b6a3cb6
Merge pull request #68 from ePlus-DEV/coderabbitai/autofix/c91fb33
hoangsvit ba0e8ab
dev: limit extension to dev sites to reduce reload spam
hoangsvit 235f04c
fix: correct WXT env detection for dev/build modes
hoangsvit d6e0e19
style: format code with Prettier
deepsource-autofix[bot] 6434c8b
fix: remove unused originalTitle variable
hoangsvit 60ace93
fix: include activeEmail in context menu cache key
hoangsvit e8fd212
fix: show distinct error state for history load failures
hoangsvit 0535079
fix: update DEV_SITES to correct URLs and remove unused entries
hoangsvit ef912fe
style: format code with Prettier
deepsource-autofix[bot] 4530981
fix: remove unused DEV_SITES entries for cleaner configuration
hoangsvit 98e5959
fix: ensure iconContainer is not null and update state references in …
hoangsvit 3958604
Refactor code structure for improved readability and maintainability
hoangsvit 77574d8
chore: add one-time DeepSource fix workflow
hoangsvit 0e259c1
fix: make one-time refactor workflow deterministic
hoangsvit afa5471
fix: remove unsafe non-null assertions
github-actions[bot] e41e019
chore: remove one-time DeepSource fix workflow
hoangsvit 0f2f226
ci: prepare one-time changelog update
hoangsvit f31a1dc
ci: trigger one-time changelog update
hoangsvit 6593627
ci: add one-time 1.3.1 changelog step
hoangsvit 4c8fee3
ci: run one-time changelog step before validation
hoangsvit 026ed39
docs: add changelog for 1.3.1
github-actions[bot] 6aa3a11
ci: restore standard workflow after changelog update
hoangsvit 4d3cdff
ci: remove temporary changelog workflow
hoangsvit dd9d3ef
ci: temporarily restore release-managed changelog
hoangsvit 5c50896
revert: keep changelog release-managed
github-actions[bot] 2e4d6f9
ci: restore standard workflow
hoangsvit 198e720
feat(web): add browser and mobile landing enhancements
hoangsvit 5424853
style: format code with Prettier
deepsource-autofix[bot] a2cd354
style(web): add responsive landing and dark mode styles
hoangsvit 4d63d84
feat(web): wire landing enhancements and social metadata
hoangsvit 4060d6e
style: format code with Prettier
deepsource-autofix[bot] 7654278
perf(web): avoid duplicate Tailwind output
hoangsvit 9e64077
style: format code with Prettier
deepsource-autofix[bot] 5537b3f
ci: prepare one-time web documentation fix
hoangsvit 01fae37
ci: trigger web documentation fix
hoangsvit 8b92fe4
docs(web): document landing enhancement functions
github-actions[bot] 90edfff
seo(web): improve crawler and social metadata
hoangsvit b884365
feat(web): add interactive product tour
hoangsvit 7e97d8e
chore: prepare phase two integration
hoangsvit c71b885
chore: trigger phase two integration
hoangsvit e9d937b
style: format code with Prettier
deepsource-autofix[bot] 6a6cd03
ci: integrate phase two once
hoangsvit e85d879
ci: retry phase two integration
hoangsvit 2c41d4e
feat(web): integrate phase two product tour
github-actions[bot] 3f4cf85
docs(web): describe interactive product tour
hoangsvit 5a33c1a
ci: apply phase two quality fixes once
hoangsvit 97fbe58
ci: retry phase two quality fixes
hoangsvit 8b1f528
docs(web): expand product tour keywords
hoangsvit ed85f8a
ci: restore standard workflow
hoangsvit e30a040
refactor(web): extract phase two content
hoangsvit a18e73e
style: format code with Prettier
deepsource-autofix[bot] b7811a0
refactor(web): extract product tour
hoangsvit 86e20d8
refactor(web): extract manual install guide
hoangsvit a67ce08
refactor(web): split phase two sections
hoangsvit 495fb7f
style: format code with Prettier
deepsource-autofix[bot] 5a4f5c7
chore(web): scope analysis for interactive demo
hoangsvit 2bf1e95
chore(web): exclude phase two demo modules
hoangsvit aea2772
feat(web): support configurable preview base path
hoangsvit d2fa609
ci(web): add live pull request previews
hoangsvit ea11faf
fix(ci): use dedicated PR preview environment
hoangsvit File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,154 @@ | ||
| name: Deploy PR Preview | ||
|
|
||
| on: | ||
| pull_request: | ||
| branches: [main] | ||
| types: [opened, reopened, synchronize, closed] | ||
| paths: | ||
| - "web/**" | ||
| - "package.json" | ||
| - "yarn.lock" | ||
| - ".yarnrc.yml" | ||
| - ".github/workflows/pr-preview.yml" | ||
|
|
||
| concurrency: | ||
| group: pages | ||
| cancel-in-progress: false | ||
|
|
||
| permissions: | ||
| contents: read | ||
| pages: write | ||
| id-token: write | ||
| pull-requests: write | ||
|
|
||
| jobs: | ||
| build: | ||
| name: Build preview site | ||
| if: github.event.pull_request.head.repo.full_name == github.repository | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout production site | ||
| uses: actions/checkout@v7 | ||
| with: | ||
| ref: main | ||
| path: main-site | ||
|
|
||
| - name: Checkout pull request | ||
| if: github.event.action != 'closed' | ||
| uses: actions/checkout@v7 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| path: preview-site | ||
|
|
||
| - name: Enable Corepack | ||
| run: corepack enable | ||
|
|
||
| - name: Setup Node.js | ||
| uses: actions/setup-node@v7 | ||
| with: | ||
| node-version: 24.x | ||
| cache: yarn | ||
| cache-dependency-path: main-site/yarn.lock | ||
|
|
||
| - name: Build production site | ||
| working-directory: main-site | ||
| run: | | ||
| yarn install --immutable --mode=skip-build | ||
| yarn exec wxt prepare | ||
| yarn workspace gmail-alias-toolkit-web build | ||
|
|
||
| - name: Build pull request preview | ||
| if: github.event.action != 'closed' | ||
| working-directory: preview-site | ||
| env: | ||
| VITE_BASE_PATH: /gmail-alias-toolkit/pr-preview/pr-${{ github.event.number }}/ | ||
| run: | | ||
| yarn install --immutable --mode=skip-build | ||
| yarn exec wxt prepare | ||
| yarn workspace gmail-alias-toolkit-web build | ||
|
|
||
| - name: Assemble Pages artifact | ||
| shell: bash | ||
| run: | | ||
| set -euo pipefail | ||
| rm -rf site | ||
| mkdir -p site | ||
| cp -R main-site/web/dist/. site/ | ||
|
|
||
| if [[ "${{ github.event.action }}" != "closed" ]]; then | ||
| preview_dir="site/pr-preview/pr-${{ github.event.number }}" | ||
| mkdir -p "$preview_dir" | ||
| cp -R preview-site/web/dist/. "$preview_dir/" | ||
| fi | ||
|
|
||
| touch site/.nojekyll | ||
|
|
||
| - name: Configure GitHub Pages | ||
| uses: actions/configure-pages@v6 | ||
|
|
||
| - name: Upload Pages artifact | ||
| uses: actions/upload-pages-artifact@v5 | ||
| with: | ||
| path: site | ||
|
|
||
| deploy: | ||
| name: Deploy PR preview | ||
| runs-on: ubuntu-latest | ||
| needs: build | ||
| environment: | ||
| name: pr-preview | ||
| url: https://eplus-dev.github.io/gmail-alias-toolkit/pr-preview/pr-${{ github.event.number }}/ | ||
| outputs: | ||
| page_url: ${{ steps.deployment.outputs.page_url }} | ||
|
|
||
| steps: | ||
| - name: Deploy to GitHub Pages | ||
| id: deployment | ||
| uses: actions/deploy-pages@v5 | ||
|
|
||
| comment: | ||
| name: Update preview link | ||
| runs-on: ubuntu-latest | ||
| needs: deploy | ||
|
|
||
| steps: | ||
| - name: Comment preview URL | ||
| uses: actions/github-script@v8 | ||
| env: | ||
| PAGE_URL: ${{ needs.deploy.outputs.page_url }} | ||
| with: | ||
| script: | | ||
| const marker = "<!-- gmail-alias-toolkit-pr-preview -->"; | ||
| const rootUrl = process.env.PAGE_URL.replace(/\/?$/, "/"); | ||
| const previewUrl = `${rootUrl}pr-preview/pr-${context.issue.number}/`; | ||
| const isClosed = context.payload.action === "closed"; | ||
| const body = isClosed | ||
| ? `${marker}\n## Preview removed\n\nThe temporary website preview for this pull request has been removed.` | ||
| : `${marker}\n## Website preview ready\n\n[Open PR preview ↗](${previewUrl})\n\nThis preview is rebuilt automatically whenever the pull request changes.`; | ||
|
|
||
| const { data: comments } = await github.rest.issues.listComments({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| issue_number: context.issue.number, | ||
| per_page: 100, | ||
| }); | ||
| const existing = comments.find((comment) => | ||
| comment.body?.includes(marker), | ||
| ); | ||
|
|
||
| if (existing) { | ||
| await github.rest.issues.updateComment({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| comment_id: existing.id, | ||
| body, | ||
| }); | ||
| } else { | ||
| await github.rest.issues.createComment({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| issue_number: context.issue.number, | ||
| body, | ||
| }); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.