Skip to content

fix: ci/cd bug vercel non link#421

Merged
Dargon789 merged 0 commit intoDargon789:patch-1from
reown-com:main
Apr 14, 2026
Merged

fix: ci/cd bug vercel non link#421
Dargon789 merged 0 commit intoDargon789:patch-1from
reown-com:main

Conversation

@Dargon789
Copy link
Copy Markdown
Owner

@Dargon789 Dargon789 commented Jul 14, 2025

Description

Please include a brief summary of the change.

Type of change

  • Chore (non-breaking change that addresses non-functional tasks, maintenance, or code quality improvements)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Associated Issues

For Linear issues: Closes APKT-xxx
For GH issues: closes #...

Showcase (Optional)

If there is a UI change include the screenshots with before and after state.
If new feature is being introduced, include the link to demo recording.

Checklist

  • Code in this PR is covered by automated tests (Unit tests, E2E tests)
  • My changes generate no new warnings
  • I have reviewed my own code
  • I have filled out all required sections
  • I have tested my changes on the preview link
  • Approver of this PR confirms that the changes are tested on the preview link

@codesandbox
Copy link
Copy Markdown

codesandbox bot commented Jul 14, 2025

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

@bolt-new-by-stackblitz
Copy link
Copy Markdown

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@vercel
Copy link
Copy Markdown

vercel bot commented Jul 14, 2025

@github-actions[bot] is attempting to deploy a commit to the dargon789's projects Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Copy Markdown

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

The pull request #421 has too many files changed.

We can only review pull requests with up to 300 changed files, and this pull request has 971.

@snyk-io
Copy link
Copy Markdown

snyk-io bot commented Jul 14, 2025

Snyk checks have failed. 83 issues have been found so far.

Status Scan Engine Critical High Medium Low Total (83)
Open Source Security 1 22 60 0 83 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@Dargon789 Dargon789 enabled auto-merge (squash) July 14, 2025 18:00
Repository owner deleted a comment from vercel bot Jul 14, 2025
@Dargon789 Dargon789 closed this Jul 14, 2025
auto-merge was automatically disabled July 14, 2025 18:54

Pull request was closed

@Dargon789 Dargon789 reopened this Jul 14, 2025
@Dargon789 Dargon789 enabled auto-merge (rebase) July 14, 2025 21:07
@vercel
Copy link
Copy Markdown

vercel bot commented Jul 14, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
appkit-demo ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 15, 2025 7:54am

auto-merge was automatically disabled July 16, 2025 15:47

Head branch was pushed to by a user without write access

@Dargon789 Dargon789 enabled auto-merge (squash) July 18, 2025 05:15
Copy link
Copy Markdown
Owner Author

@Dargon789 Dargon789 left a comment

Choose a reason for hiding this comment

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

fix: ci/cd bug vercel non link #421

Copy link
Copy Markdown

@vercel vercel bot left a comment

Choose a reason for hiding this comment

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

Additional Comments:

packages/ui/src/composites/wui-certified-switch/styles.ts (line 24):

The CSS selector references wui-switch but the component actually uses wui-toggle, causing the styles to not be applied to the correct element.

View Details
📝 Patch Details
diff --git a/packages/ui/src/composites/wui-certified-switch/styles.ts b/packages/ui/src/composites/wui-certified-switch/styles.ts
index 84eccde7c..d45ad2bc9 100644
--- a/packages/ui/src/composites/wui-certified-switch/styles.ts
+++ b/packages/ui/src/composites/wui-certified-switch/styles.ts
@@ -21,7 +21,7 @@ export default css`
     cursor: pointer;
   }
 
-  wui-switch {
+  wui-toggle {
     pointer-events: none;
   }
 `

Analysis

CSS selector mismatch in wui-certified-switch prevents pointer-events styling

What fails: CSS selector wui-switch in packages/ui/src/composites/wui-certified-switch/styles.ts targets non-existent element, while component renders <wui-toggle>

How to reproduce:

  1. Examine packages/ui/src/composites/wui-certified-switch/index.ts - uses <wui-toggle> element
  2. Check packages/ui/src/composites/wui-certified-switch/styles.ts line 24 - targets wui-switch
  3. In Shadow DOM, CSS selector won't match actual rendered element

Result: pointer-events: none style not applied to toggle element, potentially allowing unintended pointer interactions

Expected: CSS selector should match the actual rendered element per Lit Shadow DOM styling docs - selectors target elements within shadow root

Comment on lines 278 to +386
working-directory: ./apps/laboratory/
run: pnpm playwright:test:canary

- name: List blob reports directory before upload
if: always() # Run even if previous steps failed, to see state
working-directory: ${{ github.workspace }}/apps/laboratory/
run: |
echo "Listing contents of playwright-blob-reports in ${{ github.workspace }}/apps/laboratory/playwright-blob-reports/"
ls -la playwright-blob-reports/
continue-on-error: true # Don't fail the job if ls fails or dir doesn't exist

- uses: actions/upload-artifact@v4
if: failure()
with:
name: playwright-report-${{ matrix.shard }}
path: ./apps/laboratory/playwright-report/
path: ${{ github.workspace }}/apps/laboratory/playwright-report/
retention-days: 7

- name: Upload Playwright Blob Report for Shard ${{ matrix.shard }}
uses: actions/upload-artifact@v4
# When we run this workflow from AppKit, PW does separate reports by shard. We should upload the shard-specific report.zip.
if: always() && contains(github.workspace, 'appkit')
with:
# Upload every blob in the directory so the step succeeds regardless of the exact filename
name: playwright-blob-artifact-shard-${{ env.BRANCH_NAME }}-${{ matrix.shard }}
path: ${{ github.workspace }}/apps/laboratory/playwright-blob-reports/*.zip
retention-days: 7

- name: Verify Cache Dir Exists Before Post Job
run: |
echo "Checking cache directory just before post-job phase:"
ls -la /tmp/playwright_cache # Use workspace path
continue-on-error: true # Don't fail the job if ls fails

merge_reports:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {{contents: read}}
Comment on lines +387 to +512
needs: ui_tests # Ensures this job runs only after all 'test' (sharded) jobs complete
if: always() && inputs.build-and-cache-only == false # Run this job if ui_tests ran (even if it failed), but not if ui_tests was skipped.
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
repository: reown-com/appkit
ref: ${{ inputs.branch }}

- name: Set Branch Name with Underscores
run: |
BRANCH_NAME=${BRANCH_NAME//\//_} # replace all slashes with underscores
echo "BRANCH_NAME=${BRANCH_NAME}" >> $GITHUB_ENV
echo "BRANCH_NAME is $BRANCH_NAME"

- uses: pnpm/action-setup@v4
name: Install pnpm

- name: setup-node
uses: actions/setup-node@v4
with:
node-version: 22.x
cache: 'pnpm'

# Download actual artifact in GitHub Actions
- name: Download node_modules (GitHub Actions)
uses: actions/download-artifact@v4
with:
name: ${{ 'ui-node-modules-' }}${{ env.BRANCH_NAME }}
path: node_modules # Specify path to download into

- name: Install dependencies # Install again to link binaries, etc.
run: pnpm install --frozen-lockfile

- name: Install Playwright system dependencies
if: steps.playwright-cache.outputs.cache-hit == 'true' # <-- Re-enable condition
working-directory: ./apps/laboratory/
run: pnpm playwright:install-deps

- name: Download all shard blob reports
uses: actions/download-artifact@v4
with:
path: all-blob-reports # Directory to download all artifacts into (becomes ${{ github.workspace }}/all-blob-reports)
pattern: playwright-blob-artifact-shard-${{ env.BRANCH_NAME }}* # Matches all NEW shard blob artifacts
merge-multiple: true # Merges contents of all matching artifacts into the 'path' directory

- name: Verify downloaded blobs (optional debugging)
run: ls -R ${{ github.workspace }}/all-blob-reports

- name: Ensure merged report directory exists
run: mkdir -p ${{ github.workspace }}/apps/laboratory/playwright-report/

- name: Merge Playwright blob reports
# This command merges blobs from '${{ github.workspace }}/all-blob-reports' and creates new reports.
# It uses playwright-merge.config.ts to reconcile differing testDir paths from shards
# and to define the output reporters (HTML and JSON).
# Output will be in './apps/laboratory/playwright-report/' (relative to working-directory)
run: pnpm exec playwright merge-reports -c playwright-merge.config.ts ${{ github.workspace }}/all-blob-reports
working-directory: ./apps/laboratory # Playwright outputs to playwright-report here

- name: Rename merged JSON report for clarity
run: mv ${{ github.workspace }}/apps/laboratory/report.json ${{ github.workspace }}/apps/laboratory/merged-test-results.json
# This step makes the final JSON artifact name more explicit.

- name: Determine Build Context for S3 Path
id: build_context
if: inputs.build_trigger_type != ''
run: |
TRIGGER="${{ inputs.build_trigger_type }}"
CONTEXT="unknown-trigger"
if [ "$TRIGGER" == "merge_group" ]; then
CONTEXT="merge-queue"
elif [ "$TRIGGER" == "pull_request" ]; then
CONTEXT="pull-request"
elif [ "$TRIGGER" == "push" ]; then # Could be push to main or other branches
if [ "${{ github.ref_name }}" == "main" ]; then
CONTEXT="push-main"
else
CONTEXT="push-branch-${{ github.ref_name }}"
fi
fi
echo "BUILD_CONTEXT=$CONTEXT" >> $GITHUB_ENV
echo "Derived context: $CONTEXT"

# TODO: Migrate to OIDC
- name: Configure AWS Credentials
if: inputs.build_trigger_type != '' # Also skip if not uploading
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.PLAYWRIGHT_REPORT_AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.PLAYWRIGHT_REPORT_AWS_SECRET_ACCESS_KEY }}
aws-region: eu-central-1

- name: Upload Merged JSON Report to S3
if: inputs.build_trigger_type != '' && always()
run: |
S3_BUCKET="reown.appkit.e2e.reports"
S3_PREFIX="appkit/playwright-results"
FILE_NAME="merged-test-results.json"
year=$(date +%Y)
month=$(date +%m)
day=$(date +%d)
S3_KEY="${S3_PREFIX}/year=${year}/month=${month}/day=${day}/${{ env.BUILD_CONTEXT }}/${{ github.run_id }}-$(date +%s)-${FILE_NAME}"

echo "Uploading ${{ github.workspace }}/apps/laboratory/merged-test-results.json to s3://${S3_BUCKET}/${S3_KEY}"
aws s3 cp ${{ github.workspace }}/apps/laboratory/merged-test-results.json s3://${S3_BUCKET}/${S3_KEY}

- name: List Contents of Playwright Report Directory
run: |
echo "Listing contents of the playwright-report directory for debugging:"
ls -l ${{ github.workspace }}/apps/laboratory/playwright-report/

- name: Upload Merged HTML Report
uses: actions/upload-artifact@v4
with:
name: playwright-merged-html-report-${{ env.BRANCH_NAME }}
path: ${{ github.workspace }}/apps/laboratory/playwright-report/ # Contains the merged HTML report
retention-days: 7

- name: Upload Merged JSON Report (for custom processing)
uses: actions/upload-artifact@v4
with:
name: playwright-merged-json-report-${{ env.BRANCH_NAME }}
path: ${{ github.workspace }}/apps/laboratory/merged-test-results.json # The consolidated JSON report
retention-days: 7

Check warning

Code scanning / CodeQL

Workflow does not contain permissions

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {{contents: read}}
Copy link
Copy Markdown

@vercel vercel bot left a comment

Choose a reason for hiding this comment

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

Additional Comments:

apps/gallery/CHANGELOG.md (line 1):

The changelog header still references the old package name "@apps/gallery-new" instead of the current "@apps/gallery".

View Details
📝 Patch Details
diff --git a/apps/gallery/CHANGELOG.md b/apps/gallery/CHANGELOG.md
index 226a9cd6f..8997ad763 100644
--- a/apps/gallery/CHANGELOG.md
+++ b/apps/gallery/CHANGELOG.md
@@ -1,4 +1,4 @@
-# @apps/gallery-new
+# @apps/gallery
 
 ## 1.4.1
 

Analysis

Stale package name reference in gallery/CHANGELOG.md header

What fails: CHANGELOG.md header shows # @apps/gallery-new but package.json defines the current package name as @apps/gallery

How to reproduce:

# Compare changelog header with package name
head -1 apps/gallery/CHANGELOG.md  # Shows: # @apps/gallery-new
grep '"name"' apps/gallery/package.json  # Shows: "name": "@apps/gallery"

Result: Changelog header references outdated package name @apps/gallery-new instead of current name @apps/gallery

Expected: Changelog header should match the actual package name defined in package.json for consistency and to avoid confusion about which package the changelog belongs to

Copy link
Copy Markdown

@vercel vercel bot left a comment

Choose a reason for hiding this comment

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

Additional Comments:

packages/controllers/src/controllers/ExchangeController.ts (lines 279-282):

The handlePayWithExchange method sets isPaymentInProgress = true but doesn't reset it to false in the error handler, leaving the UI stuck in a loading state when payment initialization fails.

View Details
📝 Patch Details
diff --git a/packages/controllers/src/controllers/ExchangeController.ts b/packages/controllers/src/controllers/ExchangeController.ts
index 9ecba038d..3d844d518 100644
--- a/packages/controllers/src/controllers/ExchangeController.ts
+++ b/packages/controllers/src/controllers/ExchangeController.ts
@@ -278,6 +278,7 @@ export const ExchangeController = {
       popupWindow.location.href = payUrl.url
     } catch (error) {
       state.error = 'Unable to initiate payment'
+      state.isPaymentInProgress = false
       SnackController.showError(state.error)
     }
   },

Analysis

handlePayWithExchange leaves isPaymentInProgress=true when payment initialization fails

What fails: ExchangeController.handlePayWithExchange() sets state.isPaymentInProgress = true but doesn't reset it to false in the catch block, leaving UI in loading state when payment fails to initialize

How to reproduce:

// Block popups in browser or simulate network error
// Call handlePayWithExchange when popup is blocked:
ExchangeController.handlePayWithExchange('test-exchange')
// Error occurs, catch block executes, but isPaymentInProgress remains true

Result: UI remains in loading/processing state indefinitely after error - state.isPaymentInProgress stays true

Expected: Should reset state.isPaymentInProgress = false in catch block (line 280), consistent with patterns in getBuyStatus() (line 329) and reset() (line 364) methods

Copy link
Copy Markdown
Owner Author

@Dargon789 Dargon789 left a comment

Choose a reason for hiding this comment

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

fix: ci/cd bug vercel non link #421

@vercel
Copy link
Copy Markdown

vercel bot commented Nov 3, 2025

Deployment failed with the following error:

Resource is limited - try again in 1 hour (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/dargon789-forge?upgradeToPro=build-rate-limit

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