Skip to content

Conversation

@dharapandya85
Copy link

@dharapandya85 dharapandya85 commented Jul 31, 2025

User description

This PR updates the local CI shell script to support killing the port 8080 process on both Linux and macOS, as well as Git Bash (Windows).

  • Didn't change existing fuser support for Linux.
  • Added fallback for lsof for macOs .
  • Added support for Windows Git Bash with netstat and taskkill.
  • Commented Run vitest unit test
  • local-ci-test.sh was not running for the /test directory; local tests were possible with the directories test/e2e and test/unit.
  • Also, there are errors while testing for test/e2e/geoInfo.test.js:
 FAIL  e2e/geoInfo.test.js [ e2e/geoInfo.test.js ]
Error: Playwright Test did not expect test() to be called here.
Most common reasons include:
- You are calling test() in a configuration file.
- You are calling test() in a file that is imported by the configuration file.
- You have two different versions of @playwright/test. This usually happens
  when one of the dependencies in your package.json depends on @playwright/test.
 ❯ TestTypeImpl._currentSuite e2e/node_modules/playwright/lib/common/testType.js:74:13
 ❯ TestTypeImpl._createTest e2e/node_modules/playwright/lib/common/testType.js:87:24
 ❯ e2e/node_modules/playwright/lib/transform/transform.js:275:12
 ❯ e2e/geoInfo.test.js:66:5
     64| };
     65|
     66| test('fingerprint-oss geoInfo test', async ({ page }) => {
       |     ^
     67|   // Go to the test page
     68|   await page.goto('http://localhost:8080/');
  • Same for e2e/systemInfo.test.js.
  • Need help in fixing them. Please give me feedback regarding the above issues and would like to fix them.

PR Type

Bug fix, Enhancement


Description

  • Cross-platform port 8080 process killing support

  • Added macOS and Windows Git Bash compatibility

  • Fixed test execution order and configuration

  • Commented out problematic unit/e2e test setup


Diagram Walkthrough

flowchart LR
  A["Port 8080 Check"] --> B["Linux: fuser"]
  A --> C["macOS: lsof"]
  A --> D["Windows: netstat + taskkill"]
  B --> E["Start HTTP Server"]
  C --> E
  D --> E
  E --> F["Run Vitest Tests"]
  F --> G["Install Playwright"]
  G --> H["Cleanup"]
Loading

File Walkthrough

Relevant files
Bug fix
local-ci-test.sh
Cross-platform port management and test execution fixes   

test/local-ci-test.sh

  • Added cross-platform port killing logic with fuser, lsof, and
    netstat/taskkill
  • Commented out unit and e2e test setup sections
  • Reordered test execution to run vitest before playwright
  • Added proper error handling for different operating systems
+36/-6   

@CLAassistant
Copy link

CLAassistant commented Jul 31, 2025

CLA assistant check
All committers have signed the CLA.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jul 31, 2025

📝 Walkthrough

Summary by CodeRabbit

  • Chores

    • Updated and reorganized testing dependencies and configurations.
    • Improved test script compatibility across operating systems.
    • Added global test setup file for future use.
    • Adjusted TypeScript path aliasing for unit tests.
    • Refined test configuration paths and removed unused alias.
    • Updated test result tracking files and added error context snapshots for test failures.
  • Style

    • Removed unnecessary whitespace in configuration file.

Walkthrough

The test/local-ci-test.sh script was updated to enhance port 8080 cleanup using multi-platform logic, add a Vitest unit test step after server startup, and comment out new setup/testing steps for unit and e2e tests. Previous Playwright test commands were removed, while the overall script flow remains largely unchanged.

Changes

Cohort / File(s) Change Summary
Shell Script Enhancements
test/local-ci-test.sh
Improved port 8080 cleanup with multi-platform support; added Vitest unit test step; commented out additional setup/testing steps; removed Playwright test commands.
Package Dependency Updates
package.json, test/package.json
Added @playwright/test, jsdom, and vitest dependencies; upgraded vite version; moved Playwright packages from devDependencies to dependencies in test/package.json; added ts-node and typescript to devDependencies.
Test Result Status Files
test-results/.last-run.json, test/test-results/.last-run.json
Added new test result JSON file with failed status; updated existing test result file status from passed to failed.
Test Result Failures Expansion
test/e2e/test-results/.last-run.json
Expanded list of failed tests in end-to-end test results JSON file.
Error Context Snapshots for E2E Tests
test/e2e/test-results/**/error-context.md (multiple files)
Added multiple YAML-formatted error context snapshot files capturing directory listings, Node.js version, and server info at test failure points.
TypeScript Configuration Update
test/unit/tsconfig.json
Changed TypeScript path alias "@" to point specifically to the src directory instead of the root.
Vitest Test Setup and Config Adjustments
test-setup.ts, test/unit/vite.config.js
Added new global test setup file for Vitest; updated Vite config to remove '@/test' alias and adjusted setupFiles path for Vitest setup.
Minor JSON Formatting Fix
test/unit/package.json
Removed trailing space after closing brace in JSON file.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~7 minutes

Possibly related PRs

  • Major Fixes #7: Updates testing scripts and dependencies related to Vitest and Playwright; overlaps in package.json devDependencies and test setup but no direct code conflicts.

Poem

A bunny hops through CI night,
Cleaning ports with all its might.
Vitest runs, the tests begin,
Playwright’s gone, new scripts step in.
Multi-platform paws at play,
Ensuring tests will never stray!
🐇✨

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6d48372 and 8143948.

⛔ Files ignored due to path filters (2)
  • package-lock.json is excluded by !**/package-lock.json
  • test/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (6)
  • package.json (1 hunks)
  • test-setup.ts (1 hunks)
  • test/local-ci-test.sh (3 hunks)
  • test/unit/package.json (1 hunks)
  • test/unit/tsconfig.json (1 hunks)
  • test/unit/vite.config.js (2 hunks)
✅ Files skipped from review due to trivial changes (3)
  • test/unit/package.json
  • test-setup.ts
  • test/unit/vite.config.js
🚧 Files skipped from review as they are similar to previous changes (3)
  • test/unit/tsconfig.json
  • package.json
  • test/local-ci-test.sh
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@codiumai-pr-agent-free
Copy link
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Syntax Error

There are syntax errors in the bash script conditions. The space between the bracket and variable is incorrect. It should be "[ -n "$PID" ]" instead of "[-n "$PID "]".

if [-n "$PID "]; then
    echo "Killing process on port 8080 (PID: $PID)..."
    kill "PID"
Windows Command Syntax

The taskkill command uses forward slashes (//) instead of the correct single forward slash (/) for Windows command-line parameters.

    taskkill //PID "$PID" //F
fi
Missing Playwright Tests

The PR removes the "npx playwright test" command but doesn't replace it with anything, which means the e2e tests won't run at all despite setting up Playwright.

npx playwright install chromium firefox webkit

@codiumai-pr-agent-free
Copy link
Contributor

codiumai-pr-agent-free bot commented Jul 31, 2025

PR Code Suggestions ✨

Latest suggestions up to 265c8e4

CategorySuggestion                                                                                                                                    Impact
Possible issue
Fix Windows process detection
Suggestion Impact:The commit partially implemented the suggestion by fixing the taskkill command syntax from '//PID' to '/PID' and '//F' to '/F', but did not fix the if statement syntax error

code diff:

-        taskkill //PID "$PID" //F
+        taskkill /PID "$PID" /F || true

Fix the syntax error in the Windows process detection condition. There should be
a space after the opening bracket in the if statement, and there's an extra
space after the variable name. Also, Windows taskkill uses forward slashes, not
double forward slashes.

test/local-ci-test.sh [46-51]

 elif command -v netstat &>/dev/null && command -v taskkill &>/dev/null; then
     PID=$(netstat -ano | grep :'8080' | awk '{print $5}' | head -n 1)
-    if [-n "$PID "]; then
+    if [ -n "$PID" ]; then
         echo "Killing Windows process on port 8080 (PID: $PID)..."
-        taskkill //PID "$PID" //F
+        taskkill /PID "$PID" /F
     fi

[Suggestion processed]

Suggestion importance[1-10]: 9

__

Why: The suggestion correctly identifies and fixes multiple errors in the Windows-specific code block (if [-n, "$PID ", and taskkill //PID), which would cause the script to fail on that platform.

High
Incremental [*]
Handle multiple processes properly

The script should handle the case where multiple processes might be using port
8080. The current implementation only kills the first process found. Consider
using a loop to kill all processes or use the -9 flag with kill for more
forceful termination.

test/local-ci-test.sh [41-45]

-PID=$(lsof -ti :8080)
-if [ -n "$PID" ]; then
-    echo "Killing process on port 8080 (PID: $PID)..."
-    kill "$PID"
+PIDs=$(lsof -ti :8080)
+if [ -n "$PIDs" ]; then
+    echo "Killing processes on port 8080 (PIDs: $PIDs)..."
+    kill -9 $PIDs
 fi
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: The suggestion correctly identifies that lsof can return multiple PIDs, and the proposed change to handle all of them makes the script more robust.

Medium
  • Update

Previous suggestions

✅ Suggestions up to commit 9d287bd
CategorySuggestion                                                                                                                                    Impact
Possible issue
Fix bash syntax errors
Suggestion Impact:The commit directly implemented both suggested fixes: adding a space after the bracket in the if condition and properly referencing the PID variable with $ in the kill command

code diff:

-    if [-n "$PID "]; then
+    if [ -n "$PID" ]; then
         echo "Killing process on port 8080 (PID: $PID)..."
-        kill "PID"
+        kill "$PID"

Fix the syntax error in the if condition by adding a space after the bracket.
Also, the variable PID should be referenced with $ in the kill command, not as a
string literal.

test/local-ci-test.sh [42-45]

-if [-n "$PID "]; then
+if [ -n "$PID" ]; then
     echo "Killing process on port 8080 (PID: $PID)..."
-    kill "PID"
+    kill "$PID"
 fi

[Suggestion processed]

Suggestion importance[1-10]: 10

__

Why: The suggestion correctly identifies and fixes two critical bugs: a bash syntax error in the if condition and incorrect variable usage in the kill command, which would cause the script to fail.

High
Fix Windows command syntax
Suggestion Impact:The commit partially implemented the suggestion by fixing the if condition syntax error by adding a space after the bracket. However, the commit doesn't show changes to the Windows taskkill command that was also part of the suggestion.

code diff:

-    if [-n "$PID "]; then
+    if [ -n "$PID" ]; then

Fix the Windows taskkill command by using forward slashes instead of double
forward slashes. Also fix the if condition syntax error by adding a space after
the bracket.

test/local-ci-test.sh [46-51]

 elif command -v netstat &>/dev/null && command -v taskkill &>/dev/null; then
     PID=$(netstat -ano | grep :'8080' | awk '{print $5}' | head -n 1)
-    if [-n "$PID "]; then
+    if [ -n "$PID" ]; then
         echo "Killing Windows process on port 8080 (PID: $PID)..."
-        taskkill //PID "$PID" //F
+        taskkill /PID "$PID" /F
     fi

[Suggestion processed]

Suggestion importance[1-10]: 10

__

Why: The suggestion correctly identifies and fixes two critical bugs for Windows compatibility: an incorrect taskkill command syntax and a bash syntax error in the if condition, which would cause the script to fail on Windows.

High

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
test/local-ci-test.sh (1)

11-23: Strip or document the large blocks of commented-out setup code

The commented “Step 2 / Step 3” sections add ~10 noisy lines that are no longer executed. Either delete them or convert to a documented function / flag so the script stays maintainable.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0c6993b and 9d287bd.

📒 Files selected for processing (1)
  • test/local-ci-test.sh (3 hunks)
🧰 Additional context used
🪛 Shellcheck (0.10.0)
test/local-ci-test.sh

[error] 42-42: You need a space after the [ and before the ].

(SC1035)


[error] 42-42: Couldn't parse this test expression. Fix to allow more checks.

(SC1073)


[error] 42-42: Expected this to be an argument to the unary condition.

(SC1019)


[error] 42-42: You need a space before the ].

(SC1020)


[error] 42-42: Missing space before ]. Fix any mentioned problems and try again.

(SC1072)

🔇 Additional comments (1)
test/local-ci-test.sh (1)

63-66: Unit-test step may run from wrong working directory

You cd test earlier (Line 30) and then invoke npx vitest run. Unless the repo’s Vitest config is inside test/, this misses the root config and will silently skip tests. Confirm the desired cwd or --root flag.

@IntegerAlex
Copy link
Owner

@dharapandya85 Please add screenshot of tests and check the AI code review too if any necessary changes required please make it.
Please sign CLA too.

Fix : Bash syntax errors

Co-authored-by: codiumai-pr-agent-free[bot] <138128286+codiumai-pr-agent-free[bot]@users.noreply.github.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (2)
test/local-ci-test.sh (2)

46-51: Windows branch still has the same spacing/flag errors previously reported


40-45: kill should not abort the script when the user lacks permission

If the PID belongs to another user (common in shared CI runners), kill will exit with status 1 and terminate the script because of set -e. Add || true (or better: kill "$PID" 2>/dev/null || true) so the build continues.

-        kill "$PID"
+        kill "$PID" || true
🧹 Nitpick comments (1)
test/local-ci-test.sh (1)

11-23: Commented-out “setup” blocks add noise—delete or guard behind a flag

These large commented sections (# Step 2, # Step 3) bloat the script and make it harder to skim. Either remove them or introduce a --with-e2e / --with-unit CLI flag so the code is executable instead of dead.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9d287bd and 265c8e4.

📒 Files selected for processing (1)
  • test/local-ci-test.sh (3 hunks)
🧰 Additional context used
🪛 Shellcheck (0.10.0)
test/local-ci-test.sh

[error] 48-48: You need a space after the [ and before the ].

(SC1035)


[error] 48-48: Couldn't parse this test expression. Fix to allow more checks.

(SC1073)


[error] 48-48: Expected this to be an argument to the unary condition.

(SC1019)


[error] 48-48: You need a space before the ].

(SC1020)


[error] 48-48: Missing space before ]. Fix any mentioned problems and try again.

(SC1072)

Comment on lines +63 to +66
# Run vitest unit test
echo "Running Vitest unit tests..."
npx vitest run

Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Ensure the HTTP server is killed even on early failure

set -e means any failing Vitest test will abort the script before Line 73, leaking the background server. Add a trap at the top:

SERVER_PID=
cleanup() { [[ -n "$SERVER_PID" ]] && kill "$SERVER_PID"; }
trap cleanup EXIT

Then you can drop the explicit kill $SERVER_PID at the end.

🤖 Prompt for AI Agents
In test/local-ci-test.sh around lines 63 to 66, the script runs Vitest tests but
uses set -e, which causes the script to exit immediately on failure, potentially
leaving the background HTTP server running. To fix this, define a cleanup
function that kills the server if its PID is set, set a trap on EXIT to call
this cleanup, and remove the explicit kill command at the script's end. This
ensures the server is always terminated even if the tests fail early.

@dharapandya85
Copy link
Author

dharapandya85 commented Aug 1, 2025

Since playwright tests can only be run with the test/e2e directory, the local-ci-test.sh file in the test directory, needs steps to separate these tests, vitest test for the test/unit directory only. The tests can't be run through the root directory. The project has two @playwright dependencies: one in the root directory/package.json, which has the 1.54.2 version, and the other in test/package.json, which has the 1.53.2 version.

npm warn exec The following package was not found and will be installed: [email protected]
Error: Playwright Test did not expect test() to be called here.
Most common reasons include:
- You are calling test() in a configuration file.
- You are calling test() in a file that is imported by the configuration file.
- You have two different versions of @playwright/test. This usually happens
  when one of the dependencies in your package.json depends on @playwright/test.

   at test\e2e\geoInfo.test.js:66

  64 | };
  65 |
> 66 | test('fingerprint-oss geoInfo test', async ({ page }) => {
     | ^
  67 |   // Go to the test page
  68 |   await page.goto('http://localhost:8080/');
  69 |
 

I have fixed the errors in the terminating process script in local-ci-test.sh. But these tests need some fixes.

@IntegerAlex
Copy link
Owner

@dharapandya85 Yeah Tests need fixes. I will Merge PR after sometime after clarifying things so that you won't miss any points.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🔭 Outside diff range comments (1)
test/local-ci-test.sh (1)

55-74: Ensure HTTP server is always torn down

set -e + failing Vitest ⇒ script exits before Line 73, leaking the background server.

Add a cleanup trap at the top:

+SERVER_PID=
+cleanup() { [[ -n "$SERVER_PID" ]] && kill "$SERVER_PID"; }
+trap cleanup EXIT

Then you can drop the explicit kill $SERVER_PID at the end.

♻️ Duplicate comments (1)
test/local-ci-test.sh (1)

36-54: ShellCheck-reported bugs still present – PID test & quoting

The Windows branch still has the spacing error and the grep pattern is quoted incorrectly. Add || true to all kill/taskkill calls to keep set -e from aborting.

-elif command -v netstat &>/dev/null && command -v taskkill &>/dev/null; then
-    PID=$(netstat -ano | grep :'8080' | awk '{print $5}' | head -n 1)
-    if [-n "$PID "]; then
-        echo "Killing Windows process on port 8080 (PID: $PID)..."
-        taskkill /PID "$PID" /F || true
+elif command -v netstat &>/dev/null && command -v taskkill &>/dev/null; then
+    PID=$(netstat -ano | grep ':8080' | awk '{print $5}' | head -n 1)
+    if [ -n "$PID" ]; then
+        echo "Killing Windows process on port 8080 (PID: $PID)…"
+        taskkill /PID "$PID" /F || true
     fi
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 265c8e4 and 6d48372.

⛔ Files ignored due to path filters (39)
  • package-lock.json is excluded by !**/package-lock.json
  • test/e2e/package-lock.json is excluded by !**/package-lock.json
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Chromium-retry1/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Chromium-retry1/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Chromium-retry2/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Chromium-retry2/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Chromium/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Chromium/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Firefox-retry1/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Firefox-retry1/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Firefox-retry2/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Firefox-retry2/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Firefox/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Firefox/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-WebKit-retry1/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-WebKit-retry1/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-WebKit-retry2/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-WebKit-retry2/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-WebKit/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-WebKit/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Chromium-retry1/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Chromium-retry1/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Chromium-retry2/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Chromium-retry2/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Chromium/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Chromium/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Firefox-retry1/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Firefox-retry1/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Firefox-retry2/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Firefox-retry2/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Firefox/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Firefox/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-WebKit-retry1/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-WebKit-retry1/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-WebKit-retry2/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-WebKit-retry2/video.webm is excluded by !**/*.webm
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-WebKit/test-failed-1.png is excluded by !**/*.png
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-WebKit/video.webm is excluded by !**/*.webm
  • test/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (25)
  • package.json (2 hunks)
  • test-results/.last-run.json (1 hunks)
  • test/e2e/test-results/.last-run.json (1 hunks)
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Chromium-retry1/error-context.md (1 hunks)
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Chromium-retry2/error-context.md (1 hunks)
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Chromium/error-context.md (1 hunks)
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Firefox-retry1/error-context.md (1 hunks)
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Firefox-retry2/error-context.md (1 hunks)
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Firefox/error-context.md (1 hunks)
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-WebKit-retry1/error-context.md (1 hunks)
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-WebKit-retry2/error-context.md (1 hunks)
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-WebKit/error-context.md (1 hunks)
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Chromium-retry1/error-context.md (1 hunks)
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Chromium-retry2/error-context.md (1 hunks)
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Chromium/error-context.md (1 hunks)
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Firefox-retry1/error-context.md (1 hunks)
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Firefox-retry2/error-context.md (1 hunks)
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Firefox/error-context.md (1 hunks)
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-WebKit-retry1/error-context.md (1 hunks)
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-WebKit-retry2/error-context.md (1 hunks)
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-WebKit/error-context.md (1 hunks)
  • test/local-ci-test.sh (3 hunks)
  • test/package.json (1 hunks)
  • test/test-results/.last-run.json (1 hunks)
  • test/unit/tsconfig.json (1 hunks)
✅ Files skipped from review due to trivial changes (22)
  • test/test-results/.last-run.json
  • test/e2e/test-results/.last-run.json
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-WebKit/error-context.md
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-WebKit-retry1/error-context.md
  • test-results/.last-run.json
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Firefox-retry1/error-context.md
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Firefox/error-context.md
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Chromium-retry1/error-context.md
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-WebKit/error-context.md
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Chromium-retry2/error-context.md
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Chromium/error-context.md
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Chromium-retry2/error-context.md
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-WebKit-retry1/error-context.md
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Firefox-retry1/error-context.md
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Firefox/error-context.md
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Firefox-retry2/error-context.md
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-WebKit-retry2/error-context.md
  • test/package.json
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Firefox-retry2/error-context.md
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-Chromium-retry1/error-context.md
  • test/e2e/test-results/geoInfo-fingerprint-oss-geoInfo-test-Chromium/error-context.md
  • test/e2e/test-results/systemInfo-fingerprint-oss-systemInfo-Test-WebKit-retry2/error-context.md
🧰 Additional context used
🪛 Shellcheck (0.10.0)
test/local-ci-test.sh

[error] 48-48: You need a space after the [ and before the ].

(SC1035)


[error] 48-48: Couldn't parse this test expression. Fix to allow more checks.

(SC1073)


[error] 48-48: Expected this to be an argument to the unary condition.

(SC1019)


[error] 48-48: You need a space before the ].

(SC1020)


[error] 48-48: Missing space before ]. Fix any mentioned problems and try again.

(SC1072)

🔇 Additional comments (1)
package.json (1)

72-72: Major Vite upgrade – check Node engine & breaking changes

Jumping from Vite 4 → 7 is three major versions. Vite 5+ require Node 18+ by default. Your "engines" field is still "node": ">=16.0.0" – this combination will install but crash at runtime.

Bump the engines entry or pin Vite to a version compatible with Node 16.

@dharapandya85
Copy link
Author

dharapandya85 commented Aug 1, 2025

There are 13 failed tests while running .local-ci-test.sh. Please review them.

Screenshot (301) Screenshot (302)

@dharapandya85
Copy link
Author

  • Attempted to fix symlink creation and module linking errors.
  • Resolved alias import issues like @/src/... by modifying tsconfig and vite config files
  • Playwright and vitest test failures are under investigation due to an unexpected suite definition
  • Fixed port 8080 termination issues by adding cross-platform cleanup logic.

@netlify
Copy link

netlify bot commented Aug 13, 2025

Deploy Preview for fingerprint-oss canceled.

Name Link
🔨 Latest commit a31ad8a
🔍 Latest deploy log https://app.netlify.com/projects/fingerprint-oss/deploys/689ce4e16e905f0008ef0b70

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants