Skip to content

Update README.md #385

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
merged 6 commits into from
Apr 1, 2025
Merged

Update README.md #385

merged 6 commits into from
Apr 1, 2025

Conversation

danshalev7
Copy link

@danshalev7 danshalev7 commented Feb 16, 2025

PR Type

Documentation


Description

  • Added a detailed introduction to the README.md file.

  • Enhanced setup instructions for running the project locally.

  • Included a new "Community" section with support links.

  • Improved formatting and structure for better readability.


Changes walkthrough 📝

Relevant files
Documentation
README.md
Revamped README.md with introduction and setup details     

README.md

  • Added a project introduction with a live demo link.
  • Detailed setup instructions for backend, frontend, and database.
  • Included a new "Community" section with support links.
  • Improved formatting, including headers and code blocks.
  • +63/-32 

    Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.
  • Summary by CodeRabbit

    • Documentation
      • Added a new section for visualizing repository data with enhanced project insights.
      • Improved layout by renaming sections and renumbering steps for better clarity.
      • Revised component descriptions, clarified environment variable instructions, and corrected key spellings.
      • Reformatted commands and notes for improved readability.
      • Introduced sections for accessing the web interface and community engagement to boost user interaction.

    Copy link

    vercel bot commented Feb 16, 2025

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

    Name Status Preview Comments Updated (UTC)
    code-graph ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 1, 2025 1:15pm

    Copy link
    Contributor

    coderabbitai bot commented Feb 16, 2025

    Important

    Review skipped

    Auto reviews are disabled on base/target branches other than the default branch.

    Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

    You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

    Walkthrough

    The documentation in the README has been overhauled. A new section titled "CodeGraph - Knowledge Graph Visualization Tool" has been added, along with badges from Dockerhub and Discord. The "Getting Started" section was renamed to "Running Locally" with renumbered steps. Component descriptions were reformatted into a numbered list with bolded names, and instructions for setting up environment variables (including correcting "SECRET_TOKEN") were clarified. Additionally, new sections for accessing the web interface and community engagement have been introduced.

    Changes

    File Change Summary
    README.md • Added "CodeGraph - Knowledge Graph Visualization Tool", "Access the Web Interface", and "Community" sections
    • Renamed "Getting Started" to "Running Locally" with updated step numbering
    • Reformatted component descriptions into a numbered list with bold component names
    • Improved command readability with added line breaks and corrected "SECRET_TOKEN" spelling

    Sequence Diagram(s)

    Possibly related PRs

    Suggested reviewers

    • dudizimber

    Poem

    Hey, I'm a hopping rabbit with code so bright,
    Skipping through docs in the morning light.
    New sections sprout like carrots in a row,
    Badges gleam, and clear steps now flow.
    With a quick hop, our guide stands tall —
    Celebrate the changes, one and all!
    🥕🐇


    🪧 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.
      • Generate unit testing code for this file.
      • 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 generate unit testing code for this file.
      • @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 generate unit testing code.
      • @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.

    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 resolve resolve all the CodeRabbit review comments.
    • @coderabbitai plan to trigger planning for file edits and PR creation.
    • @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.

    Copy link
    Contributor

    Qodo Merge was enabled for this repository. To continue using it, please link your Git account with your Qodo account here.

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

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

    Formatting Issue

    Missing space after ### in the introduction header which breaks markdown formatting

    ###Visualize your repository with our graph for code analysis

    Copy link
    Contributor

    qodo-merge-pro bot commented Feb 16, 2025

    Qodo Merge was enabled for this repository. To continue using it, please link your Git account with your Qodo account here.

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Impact
    General
    Fix inconsistent markdown header formatting
    Suggestion Impact:The commit implemented the exact change suggested, adding a space after the hash symbols in the subtitle to fix the markdown formatting

    code diff:

    -###Visualize your repository with our graph for code analysis
    +### Visualize your repository with our graph for code analysis

    Fix the inconsistent header formatting in the project title section. The project
    title uses a level 1 header (#) while the subtitle uses level 3 (###) without a
    space after the hash. This breaks markdown formatting standards.

    README.md [1-3]

     # CodeGraph - Knowledge Graph Visualization Tool
     
    -###Visualize your repository with our graph for code analysis
    +### Visualize your repository with our graph for code analysis

    [Suggestion has been applied]

    Suggestion importance[1-10]: 7

    __

    Why: The suggestion addresses a markdown formatting issue that affects document readability and consistency. Proper header formatting is important for markdown rendering and document structure.

    Medium
    Remove redundant empty lines
    Suggestion Impact:The commit removed the redundant empty lines between the GIF image and the Live Demo link, exactly as suggested. It also removed additional empty lines after the Live Demo link.

    code diff:

     ![Alt Text](https://res.cloudinary.com/dhd0k02an/image/upload/v1739719361/FalkorDB_-_Github_-_readme_jr6scy.gif)
     
    -
    -
     **👉🏻[Live Demo](https://code-graph.falkordb.com/)**
    -
    -

    Remove the redundant empty lines between the GIF image and the Live Demo link to
    improve document readability and consistency.

    README.md [11-15]

     ![Alt Text](https://res.cloudinary.com/dhd0k02an/image/upload/v1739719361/FalkorDB_-_Github_-_readme_jr6scy.gif)
    -
     
     **👉🏻[Live Demo](https://code-graph.falkordb.com/)**

    [Suggestion has been applied]

    Suggestion importance[1-10]: 3

    __

    Why: While the suggestion is valid for improving document cleanliness, removing extra empty lines has minimal impact on functionality or readability, making it a low-priority enhancement.

    Low

    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: 0

    🧹 Nitpick comments (4)
    README.md (4)

    1-4: Section Heading Introduction
    The main header and introductory subheading clearly introduce the tool. However, note that the subheading on line 3 is missing a space after the hashes. Consider updating it as follows to improve readability:

    -###Visualize your repository with our graph for code analysis
    +### Visualize your repository with our graph for code analysis
    🧰 Tools
    🪛 markdownlint-cli2 (0.17.2)

    3-3: No space after hash on atx style heading
    null

    (MD018, no-missing-space-atx)


    11-12: Improve Image Alt Text
    The image on line 11 uses a generic alt text ("Alt Text"). For better accessibility and SEO, consider providing a more descriptive alternative text that explains the image content.


    29-36: Start FalkorDB Instructions
    The instructions for starting FalkorDB using Docker are clear. You might consider adding a brief note reminding users to ensure that Docker is installed and configured on their system.


    110-119: Community Engagement Section
    The new "Community" section is well organized and provides clear avenues for feedback and support through GitHub Issues and Discord.

    On line 116, the call to action uses an exclamation mark; while this is engaging, you might consider using a more neutral tone for a professional setting. For example, ending with a period could be more suitable.

    🧰 Tools
    🪛 LanguageTool

    [style] ~116-~116: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1756 characters long)
    Context: ...elpful, please consider giving it a star! Knowledge Graph, Code Analysis, Code V...

    (EN_EXCESSIVE_EXCLAMATION)

    📜 Review details

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

    📥 Commits

    Reviewing files that changed from the base of the PR and between a4b6e33 and 750f2fd.

    📒 Files selected for processing (1)
    • README.md (1 hunks)
    🧰 Additional context used
    🪛 LanguageTool
    README.md

    [style] ~116-~116: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1756 characters long)
    Context: ...elpful, please consider giving it a star! Knowledge Graph, Code Analysis, Code V...

    (EN_EXCESSIVE_EXCLAMATION)

    🪛 markdownlint-cli2 (0.17.2)
    README.md

    3-3: No space after hash on atx style heading
    null

    (MD018, no-missing-space-atx)


    5-5: Heading style
    Expected: atx; Actual: setext

    (MD003, heading-style)

    ⏰ Context from checks skipped due to timeout of 90000ms (2)
    • GitHub Check: test
    • GitHub Check: Analyze (javascript-typescript)
    🔇 Additional comments (13)
    README.md (13)

    9-10: Extraneous Marker Removal
    An extraneous dash appears on line 9. Verify that this deletion is intentional and that the overall markdown formatting remains consistent afterward.


    15-16: Clear Call-to-Action for Live Demo
    The "Live Demo" link is prominently placed and inviting. The formatting is clear and helps draw user attention.


    19-20: Section Title: Running Locally
    The new "Running Locally" section is well introduced and clearly indicates the upcoming setup instructions. Ensure header styles are consistent throughout the document.


    21-28: Clear Component Enumeration
    The numbered list detailing the three core components uses bold formatting effectively to highlight names. This change improves clarity and guides the reader through the project’s structure.


    37-44: Backend Startup Instructions
    The steps for cloning the backend repository and navigating into it are straightforward. Verify that the repository link is up to date.


    46-57: Backend Environment Setup
    The instructions for setting environment variables have been improved—particularly the correction of the "SECRET_TOKEN" spelling. This helps prevent potential setup issues.


    60-64: Backend Dependency Installation
    The commands for installing dependencies and launching the backend are concise and clear. No further changes needed here.


    65-72: Frontend Setup Instructions
    The cloning instructions for the frontend repository, including changing directories, are clear. Ensure that these instructions reflect the current repository structure.


    74-80: Frontend Environment Configuration
    The environment variable setup for the frontend is well structured and clearly mirrors the backend’s configuration. This consistency is beneficial for the user.


    81-87: Frontend Dependency Installation
    The installation commands for the frontend dependencies are presented clearly. This section is straightforward and user-friendly.


    88-98: Local Repository Processing Command
    The curl command for analyzing a local repository is now better formatted with line breaks, which improves readability. You may consider adding a brief note on what each parameter represents for users unfamiliar with the command.


    99-101: Note on Supported Languages
    The note clarifying that only C and Python files are currently supported (with plans for additional languages) is helpful. It sets the right expectation for the user.


    102-107: Accessing the Web Interface
    The directions to access the web interface are clear and provide a direct link. This addition improves user navigation after setup.

    Copy link
    Contributor

    Qodo Merge was enabled for this repository. To continue using it, please link your Git account with your Qodo account here.

    CI Feedback 🧐

    A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

    Action: test

    Failed stage: Set up environment variables and run tests [❌]

    Failed test name: canvas.spec.ts:43:7 › Canvas tests › Verify center graph button centers nodes in canvas

    Failure summary:

    Multiple test failures occurred in the Playwright end-to-end tests:

  • Canvas tests failed due to scaling issues - the difference between initial and updated graph scales
    exceeded the expected threshold of 0.1
  • Chat tests failed because responses were not consistent when repeating the same questions
  • Node details panel tests timed out after 30 seconds
  • Several tests failed with "Target page, context or browser has been closed" errors indicating
    browser stability issues

    Key failures:
  • Verify center graph button centers nodes in canvas
  • Validate consistent UI responses for repeated questions in chat
  • Validate node details panel header displays correct node name

  • Relevant error logs:
    1:  ##[group]Operating System
    2:  Ubuntu
    ...
    
    1577:  ·  ✓  33 [chromium] › chat.spec.ts:95:9 › Chat tests › Validate displaying question 1 in chat after selection from options menu (2.7s)
    1578:  ·  ✓  31 [chromium] › chat.spec.ts:29:7 › Chat tests › Validate that multiple consecutive questions receive individual answers (14.4s)
    1579:  ·  ✓  34 [chromium] › chat.spec.ts:95:9 › Chat tests › Validate displaying question 2 in chat after selection from options menu (2.7s)
    1580:  ·  ✓  36 [chromium] › chat.spec.ts:95:9 › Chat tests › Validate displaying question 3 in chat after selection from options menu (9.4s)
    1581:  ·  ✓  37 [chromium] › chat.spec.ts:95:9 › Chat tests › Validate displaying question 4 in chat after selection from options menu (2.6s)
    1582:  ·  ✓  35 [chromium] › chat.spec.ts:45:7 › Chat tests › Verify auto-scroll and manual scroll in chat (17.3s)
    1583:  ×  ✘  38 [chromium] › chat.spec.ts:104:7 › Chat tests › Validate consistent UI responses for repeated questions in chat (10.0s)
    1584:  ·  ✓  39 [chromium] › chat.spec.ts:61:9 › Chat tests › Verify successful node path connection between two nodes in chat for import_data and add_edge (9.0s)
    1585:  Error: An error occurred with your deployment
    ...
    
    1587:  cle1::mn9p8-1739719782180-fba5d7e7fae8
    1588:  at u (.next/server/app/api/chat/[graph]/route.js:1:1160)
    1589:  ×  ✘  40 [chromium] › chat.spec.ts:104:7 › Chat tests › Validate consistent UI responses for repeated questions in chat (retry #1) (10.8s)
    1590:  ·  ✓  41 [chromium] › chat.spec.ts:61:9 › Chat tests › Verify successful node path connection between two nodes in chat for test_kg_delete and list_graphs (15.0s)
    1591:  F  ✘  42 [chromium] › chat.spec.ts:104:7 › Chat tests › Validate consistent UI responses for repeated questions in chat (retry #2) (10.5s)
    1592:  ·  ✓  43 [chromium] › chat.spec.ts:73:9 › Chat tests › Verify unsuccessful node path connection between two nodes in chat for import_data and add_edge (9.2s)
    1593:  ×  ✘  44 [chromium] › chat.spec.ts:118:7 › Chat tests › Validate UI response matches API response for a given question in chat (7.6s)
    1594:  ·  ✓  45 [chromium] › chat.spec.ts:73:9 › Chat tests › Verify unsuccessful node path connection between two nodes in chat for test_kg_delete and list_graphs (9.2s)
    1595:  ·  ✓  47 [chromium] › chat.spec.ts:84:7 › Chat tests › Validate error notification and its closure when sending an empty question in chat (3.3s)
    ...
    
    1696:  ·  ✓  147 [firefox] › chat.spec.ts:95:9 › Chat tests › Validate displaying question 4 in chat after selection from options menu (2.7s)
    1697:  ·  ✓  148 [firefox] › chat.spec.ts:61:9 › Chat tests › Verify successful node path connection between two nodes in chat for import_data and add_edge (9.1s)
    1698:  ×  ✘  149 [firefox] › chat.spec.ts:104:7 › Chat tests › Validate consistent UI responses for repeated questions in chat (10.3s)
    1699:  ·  ✓  150 [firefox] › chat.spec.ts:61:9 › Chat tests › Verify successful node path connection between two nodes in chat for test_kg_delete and list_graphs (9.0s)
    1700:  ×  ✘  151 [firefox] › chat.spec.ts:104:7 › Chat tests › Validate consistent UI responses for repeated questions in chat (retry #1) (10.8s)
    1701:  ·  ✓  152 [firefox] › chat.spec.ts:73:9 › Chat tests › Verify unsuccessful node path connection between two nodes in chat for import_data and add_edge (9.2s)
    1702:  F  ✘  153 [firefox] › chat.spec.ts:104:7 › Chat tests › Validate consistent UI responses for repeated questions in chat (retry #2) (10.4s)
    1703:  ·  ✓  154 [firefox] › chat.spec.ts:73:9 › Chat tests › Verify unsuccessful node path connection between two nodes in chat for test_kg_delete and list_graphs (9.1s)
    1704:  ·  ✓  156 [firefox] › chat.spec.ts:84:7 › Chat tests › Validate error notification and its closure when sending an empty question in chat (3.3s)
    ...
    
    1731:  ·  ✓  183 [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: ^ (3.0s)
    1732:  ·  ✓  182 [firefox] › searchBar.spec.ts:47:9 › search bar tests › Verify auto-scroll scroll in search bar list for: set (3.2s)
    1733:  ·  ✓  184 [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: _ (3.0s)
    1734:  ·  ✓  185 [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: % (3.0s)
    1735:  ·  ✓  186 [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: = (3.0s)
    1736:  ·  ✓  187 [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: * (3.0s)
    1737:  ·  ✓  188 [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: + (3.0s)
    1738:  ·  ✓  189 [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: ( (3.0s)
    1739:  Error: {"status":"Internal server error"}
    ...
    
    1759:  ·  ✓  208 [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: ? (3.0s)
    1760:  ·  ✓  209 [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: \ (2.9s)
    1761:  ·  ✓  210 [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: ` (3.0s)
    1762:  ·  ✓  211 [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: & (3.0s)
    1763:  ·  ✓  212 [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: # (2.9s)
    1764:  ·  ✓  213 [firefox] › searchBar.spec.ts:67:9 › search bar tests › search bar auto complete via ui and validating via api for: test (3.4s)
    1765:  ·  ✓  214 [firefox] › searchBar.spec.ts:67:9 › search bar tests › search bar auto complete via ui and validating via api for: set (3.4s)
    1766:  1) [chromium] › canvas.spec.ts:43:7 › Canvas tests › Verify center graph button centers nodes in canvas 
    1767:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeLessThanOrEqual�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    1771:  51 |     const updatedGraph = await codeGraph.getCanvasScaling();
    1772:  > 52 |     expect(Math.abs(initialGraph.scaleX - updatedGraph.scaleX)).toBeLessThanOrEqual(0.1);
    1773:  |                                                                 ^
    1774:  53 |     expect(Math.abs(initialGraph.scaleY - updatedGraph.scaleY)).toBeLessThanOrEqual(0.1);
    1775:  54 |
    1776:  55 |   })
    1777:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:52:65
    1778:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    1779:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeLessThanOrEqual�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    1788:  55 |   })
    1789:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:52:65
    1790:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    1791:  test-results/canvas-Canvas-tests-Verify-46a2a-ton-centers-nodes-in-canvas-chromium-retry1/trace.zip
    1792:  Usage:
    1793:  npx playwright show-trace test-results/canvas-Canvas-tests-Verify-46a2a-ton-centers-nodes-in-canvas-chromium-retry1/trace.zip
    1794:  ────────────────────────────────────────────────────────────────────────────────────────────────
    1795:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    1796:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeLessThanOrEqual�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    1800:  51 |     const updatedGraph = await codeGraph.getCanvasScaling();
    1801:  > 52 |     expect(Math.abs(initialGraph.scaleX - updatedGraph.scaleX)).toBeLessThanOrEqual(0.1);
    1802:  |                                                                 ^
    1803:  53 |     expect(Math.abs(initialGraph.scaleY - updatedGraph.scaleY)).toBeLessThanOrEqual(0.1);
    1804:  54 |
    1805:  55 |   })
    1806:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:52:65
    1807:  2) [chromium] › canvas.spec.ts:123:9 › Canvas tests › Verify selecting different graphs displays nodes in canvas - Iteration 2 
    1808:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeGreaterThan�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    1812:  126 |       const result = await codeGraph.getGraphDetails();
    1813:  > 127 |       expect(result.elements.nodes.length).toBeGreaterThan(1);
    1814:  |                                            ^
    1815:  128 |       expect(result.elements.links.length).toBeGreaterThan(1);
    1816:  129 |     });
    1817:  130 |   }
    1818:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:127:44
    1819:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    1820:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeGreaterThan�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    1829:  130 |   }
    1830:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:127:44
    1831:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    1832:  test-results/canvas-Canvas-tests-Verify-42e9e-des-in-canvas---Iteration-2-chromium-retry1/trace.zip
    1833:  Usage:
    1834:  npx playwright show-trace test-results/canvas-Canvas-tests-Verify-42e9e-des-in-canvas---Iteration-2-chromium-retry1/trace.zip
    1835:  ────────────────────────────────────────────────────────────────────────────────────────────────
    1836:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    1837:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeGreaterThan�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    1841:  126 |       const result = await codeGraph.getGraphDetails();
    1842:  > 127 |       expect(result.elements.nodes.length).toBeGreaterThan(1);
    1843:  |                                            ^
    1844:  128 |       expect(result.elements.links.length).toBeGreaterThan(1);
    1845:  129 |     });
    1846:  130 |   }
    1847:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:127:44
    1848:  3) [chromium] › chat.spec.ts:104:7 › Chat tests › Validate consistent UI responses for repeated questions in chat 
    1849:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m
    ...
    
    1853:  114 |     const identicalResponses = responses.every((value) => value === responses[0]);
    1854:  > 115 |     expect(identicalResponses).toBe(true);
    1855:  |                                ^
    1856:  116 |   });
    1857:  117 |
    1858:  118 |   test(`Validate UI response matches API response for a given question in chat`, async () => {
    1859:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:115:32
    1860:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    1861:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m
    ...
    
    1870:  118 |   test(`Validate UI response matches API response for a given question in chat`, async () => {
    1871:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:115:32
    1872:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    1873:  test-results/chat-Chat-tests-Validate-c-a5003--repeated-questions-in-chat-chromium-retry1/trace.zip
    1874:  Usage:
    1875:  npx playwright show-trace test-results/chat-Chat-tests-Validate-c-a5003--repeated-questions-in-chat-chromium-retry1/trace.zip
    1876:  ────────────────────────────────────────────────────────────────────────────────────────────────
    1877:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    1878:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m
    ...
    
    1882:  114 |     const identicalResponses = responses.every((value) => value === responses[0]);
    1883:  > 115 |     expect(identicalResponses).toBe(true);
    1884:  |                                ^
    1885:  116 |   });
    1886:  117 |
    1887:  118 |   test(`Validate UI response matches API response for a given question in chat`, async () => {
    1888:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:115:32
    1889:  4) [chromium] › chat.spec.ts:118:7 › Chat tests › Validate UI response matches API response for a given question in chat 
    1890:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoEqual�[2m(�[22m�[32mexpected�[39m�[2m) // deep equality�[22m
    ...
    
    1894:  127 |     const apiResponse = await api.askQuestion(PROJECT_NAME, Node_Question);
    1895:  > 128 |     expect(number).toEqual(apiResponse.result.response.match(/\d+/g)?.[0]);
    1896:  |                    ^
    1897:  129 |   });
    1898:  130 | });
    1899:  131 |
    1900:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:128:20
    1901:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    1902:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoEqual�[2m(�[22m�[32mexpected�[39m�[2m) // deep equality�[22m
    ...
    
    1911:  131 |
    1912:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:128:20
    1913:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    1914:  test-results/chat-Chat-tests-Validate-U-0d538-or-a-given-question-in-chat-chromium-retry1/trace.zip
    1915:  Usage:
    1916:  npx playwright show-trace test-results/chat-Chat-tests-Validate-U-0d538-or-a-given-question-in-chat-chromium-retry1/trace.zip
    1917:  ────────────────────────────────────────────────────────────────────────────────────────────────
    1918:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    1919:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoEqual�[2m(�[22m�[32mexpected�[39m�[2m) // deep equality�[22m
    ...
    
    1923:  127 |     const apiResponse = await api.askQuestion(PROJECT_NAME, Node_Question);
    1924:  > 128 |     expect(number).toEqual(apiResponse.result.response.match(/\d+/g)?.[0]);
    1925:  |                    ^
    1926:  129 |   });
    1927:  130 | });
    1928:  131 |
    1929:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:128:20
    1930:  5) [firefox] › canvas.spec.ts:43:7 › Canvas tests › Verify center graph button centers nodes in canvas 
    1931:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeLessThanOrEqual�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    1935:  51 |     const updatedGraph = await codeGraph.getCanvasScaling();
    1936:  > 52 |     expect(Math.abs(initialGraph.scaleX - updatedGraph.scaleX)).toBeLessThanOrEqual(0.1);
    1937:  |                                                                 ^
    1938:  53 |     expect(Math.abs(initialGraph.scaleY - updatedGraph.scaleY)).toBeLessThanOrEqual(0.1);
    1939:  54 |
    1940:  55 |   })
    1941:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:52:65
    1942:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    1943:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeLessThanOrEqual�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    1952:  55 |   })
    1953:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:52:65
    1954:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    1955:  test-results/canvas-Canvas-tests-Verify-46a2a-ton-centers-nodes-in-canvas-firefox-retry1/trace.zip
    1956:  Usage:
    1957:  npx playwright show-trace test-results/canvas-Canvas-tests-Verify-46a2a-ton-centers-nodes-in-canvas-firefox-retry1/trace.zip
    1958:  ────────────────────────────────────────────────────────────────────────────────────────────────
    1959:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    1960:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeLessThanOrEqual�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    1964:  51 |     const updatedGraph = await codeGraph.getCanvasScaling();
    1965:  > 52 |     expect(Math.abs(initialGraph.scaleX - updatedGraph.scaleX)).toBeLessThanOrEqual(0.1);
    1966:  |                                                                 ^
    1967:  53 |     expect(Math.abs(initialGraph.scaleY - updatedGraph.scaleY)).toBeLessThanOrEqual(0.1);
    1968:  54 |
    1969:  55 |   })
    1970:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:52:65
    1971:  6) [firefox] › canvas.spec.ts:123:9 › Canvas tests › Verify selecting different graphs displays nodes in canvas - Iteration 2 
    1972:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeGreaterThan�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    1976:  126 |       const result = await codeGraph.getGraphDetails();
    1977:  > 127 |       expect(result.elements.nodes.length).toBeGreaterThan(1);
    1978:  |                                            ^
    1979:  128 |       expect(result.elements.links.length).toBeGreaterThan(1);
    1980:  129 |     });
    1981:  130 |   }
    1982:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:127:44
    1983:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    1984:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeGreaterThan�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    1993:  130 |   }
    1994:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:127:44
    1995:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    1996:  test-results/canvas-Canvas-tests-Verify-42e9e-des-in-canvas---Iteration-2-firefox-retry1/trace.zip
    1997:  Usage:
    1998:  npx playwright show-trace test-results/canvas-Canvas-tests-Verify-42e9e-des-in-canvas---Iteration-2-firefox-retry1/trace.zip
    1999:  ────────────────────────────────────────────────────────────────────────────────────────────────
    2000:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    2001:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeGreaterThan�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2005:  126 |       const result = await codeGraph.getGraphDetails();
    2006:  > 127 |       expect(result.elements.nodes.length).toBeGreaterThan(1);
    2007:  |                                            ^
    2008:  128 |       expect(result.elements.links.length).toBeGreaterThan(1);
    2009:  129 |     });
    2010:  130 |   }
    2011:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:127:44
    2012:  7) [firefox] › chat.spec.ts:104:7 › Chat tests › Validate consistent UI responses for repeated questions in chat 
    2013:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m
    ...
    
    2017:  114 |     const identicalResponses = responses.every((value) => value === responses[0]);
    2018:  > 115 |     expect(identicalResponses).toBe(true);
    2019:  |                                ^
    2020:  116 |   });
    2021:  117 |
    2022:  118 |   test(`Validate UI response matches API response for a given question in chat`, async () => {
    2023:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:115:32
    2024:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    2025:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m
    ...
    
    2034:  118 |   test(`Validate UI response matches API response for a given question in chat`, async () => {
    2035:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:115:32
    2036:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    2037:  test-results/chat-Chat-tests-Validate-c-a5003--repeated-questions-in-chat-firefox-retry1/trace.zip
    2038:  Usage:
    2039:  npx playwright show-trace test-results/chat-Chat-tests-Validate-c-a5003--repeated-questions-in-chat-firefox-retry1/trace.zip
    2040:  ────────────────────────────────────────────────────────────────────────────────────────────────
    2041:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    2042:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m
    ...
    
    2047:  > 115 |     expect(identicalResponses).toBe(true);
    2048:  |                                ^
    2049:  116 |   });
    2050:  117 |
    2051:  118 |   test(`Validate UI response matches API response for a given question in chat`, async () => {
    2052:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:115:32
    2053:  8) [chromium] › nodeDetailsPanel.spec.ts:49:9 › Node details panel tests › Validate node details panel header displays correct node name: import_data 
    2054:  �[31mTest timeout of 30000ms exceeded.�[39m
    2055:  Error: locator.click: Target page, context or browser has been closed
    ...
    
    2062:  |                                                   ^
    2063:  459 |         const text = await this.nodedetailsPanelHeader.innerHTML();
    2064:  460 |         return text;
    2065:  461 |     }
    2066:  at CodeGraph.getNodeDetailsHeader (/home/runner/work/code-graph/code-graph/e2e/logic/POM/codeGraph.ts:458:51)
    2067:  at /home/runner/work/code-graph/code-graph/e2e/tests/nodeDetailsPanel.spec.ts:56:30
    2068:  9) [chromium] › nodeDetailsPanel.spec.ts:78:9 › Node details panel tests › Validate view node panel keys via api for import_data 
    2069:  �[31mTest timeout of 30000ms exceeded.�[39m
    2070:  Error: locator.click: Target page, context or browser has been closed
    ...
    
    2077:  |                                                   ^
    2078:  491 |         await delay(500)
    2079:  492 |         const elements = await this.nodedetailsPanelElements.all();
    2080:  493 |         return Promise.all(elements.map(element => element.innerHTML()));
    2081:  at CodeGraph.getNodeDetailsPanelElements (/home/runner/work/code-graph/code-graph/e2e/logic/POM/codeGraph.ts:490:51)
    2082:  at /home/runner/work/code-graph/code-graph/e2e/tests/nodeDetailsPanel.spec.ts:90:38
    2083:  10) [firefox] › canvas.spec.ts:58:9 › Canvas tests › Validate node hide functionality via element menu in canvas for import_data 
    2084:  �[31mTest timeout of 30000ms exceeded.�[39m
    2085:  Error: locator.click: Target page, context or browser has been closed
    ...
    
    2092:  |                                                ^
    2093:  416 |     }
    2094:  417 |
    2095:  418 |     async nodeClick(x: number, y: number): Promise<void> {
    2096:  at CodeGraph.clickOnRemoveNodeViaElementMenu (/home/runner/work/code-graph/code-graph/e2e/logic/POM/codeGraph.ts:415:48)
    2097:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:65:23
    2098:  11) [firefox] › canvas.spec.ts:73:9 › Canvas tests › Validate unhide node functionality after hiding a node in canvas for import_data 
    2099:  �[31mTest timeout of 30000ms exceeded.�[39m
    2100:  Error: locator.click: Target page, context or browser has been closed
    ...
    
    2107:  |                                                ^
    2108:  416 |     }
    2109:  417 |
    2110:  418 |     async nodeClick(x: number, y: number): Promise<void> {
    2111:  at CodeGraph.clickOnRemoveNodeViaElementMenu (/home/runner/work/code-graph/code-graph/e2e/logic/POM/codeGraph.ts:415:48)
    2112:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:80:23
    2113:  12) [firefox] › canvas.spec.ts:170:9 › Canvas tests › Validate copy to clipboard functionality for node and verify with api for import_data 
    2114:  �[31mTest timeout of 30000ms exceeded.�[39m
    2115:  Error: locator.click: Target page, context or browser has been closed
    ...
    
    2122:  |                                                               ^
    2123:  481 |         await delay(1000)
    2124:  482 |         return await this.page.evaluate(() => navigator.clipboard.readText());
    2125:  483 |     }
    2126:  at CodeGraph.clickOnCopyToClipboard (/home/runner/work/code-graph/code-graph/e2e/logic/POM/codeGraph.ts:480:63)
    2127:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:177:38
    2128:  13) [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: ' 
    2129:  �[31mTest timeout of 30000ms exceeded.�[39m
    2130:  Error: locator.fill: Target page, context or browser has been closed
    ...
    
    2135:  366 |     async fillSearchBar(searchValue: string): Promise<void> {
    2136:  > 367 |         await this.searchBarInput.fill(searchValue);
    2137:  |                                   ^
    2138:  368 |     }
    2139:  369 |
    2140:  370 |     async getSearchAutoCompleteCount(): Promise<number> {
    2141:  at CodeGraph.fillSearchBar (/home/runner/work/code-graph/code-graph/e2e/logic/POM/codeGraph.ts:367:35)
    2142:  at /home/runner/work/code-graph/code-graph/e2e/tests/searchBar.spec.ts:60:23
    2143:  7 failed
    ...
    
    2153:  [chromium] › nodeDetailsPanel.spec.ts:78:9 › Node details panel tests › Validate view node panel keys via api for import_data 
    2154:  [firefox] › canvas.spec.ts:58:9 › Canvas tests › Validate node hide functionality via element menu in canvas for import_data 
    2155:  [firefox] › canvas.spec.ts:73:9 › Canvas tests › Validate unhide node functionality after hiding a node in canvas for import_data 
    2156:  [firefox] › canvas.spec.ts:170:9 › Canvas tests › Validate copy to clipboard functionality for node and verify with api for import_data 
    2157:  [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: ' 
    2158:  2 skipped
    2159:  179 passed (10.6m)
    2160:  1) [chromium] › canvas.spec.ts:43:7 › Canvas tests › Verify center graph button centers nodes in canvas 
    2161:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeLessThanOrEqual�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2165:  51 |     const updatedGraph = await codeGraph.getCanvasScaling();
    2166:  > 52 |     expect(Math.abs(initialGraph.scaleX - updatedGraph.scaleX)).toBeLessThanOrEqual(0.1);
    2167:  |                                                                 ^
    2168:  53 |     expect(Math.abs(initialGraph.scaleY - updatedGraph.scaleY)).toBeLessThanOrEqual(0.1);
    2169:  54 |
    2170:  55 |   })
    2171:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:52:65
    2172:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    2173:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeLessThanOrEqual�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2182:  55 |   })
    2183:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:52:65
    2184:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    2185:  test-results/canvas-Canvas-tests-Verify-46a2a-ton-centers-nodes-in-canvas-chromium-retry1/trace.zip
    2186:  Usage:
    2187:  npx playwright show-trace test-results/canvas-Canvas-tests-Verify-46a2a-ton-centers-nodes-in-canvas-chromium-retry1/trace.zip
    2188:  ────────────────────────────────────────────────────────────────────────────────────────────────
    2189:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    2190:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeLessThanOrEqual�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2194:  51 |     const updatedGraph = await codeGraph.getCanvasScaling();
    2195:  > 52 |     expect(Math.abs(initialGraph.scaleX - updatedGraph.scaleX)).toBeLessThanOrEqual(0.1);
    2196:  |                                                                 ^
    2197:  53 |     expect(Math.abs(initialGraph.scaleY - updatedGraph.scaleY)).toBeLessThanOrEqual(0.1);
    2198:  54 |
    2199:  55 |   })
    2200:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:52:65
    2201:  2) [chromium] › canvas.spec.ts:123:9 › Canvas tests › Verify selecting different graphs displays nodes in canvas - Iteration 2 
    2202:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeGreaterThan�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2206:  126 |       const result = await codeGraph.getGraphDetails();
    2207:  > 127 |       expect(result.elements.nodes.length).toBeGreaterThan(1);
    2208:  |                                            ^
    2209:  128 |       expect(result.elements.links.length).toBeGreaterThan(1);
    2210:  129 |     });
    2211:  130 |   }
    2212:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:127:44
    2213:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    2214:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeGreaterThan�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2223:  130 |   }
    2224:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:127:44
    2225:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    2226:  test-results/canvas-Canvas-tests-Verify-42e9e-des-in-canvas---Iteration-2-chromium-retry1/trace.zip
    2227:  Usage:
    2228:  npx playwright show-trace test-results/canvas-Canvas-tests-Verify-42e9e-des-in-canvas---Iteration-2-chromium-retry1/trace.zip
    2229:  ────────────────────────────────────────────────────────────────────────────────────────────────
    2230:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    2231:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeGreaterThan�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2235:  126 |       const result = await codeGraph.getGraphDetails();
    2236:  > 127 |       expect(result.elements.nodes.length).toBeGreaterThan(1);
    2237:  |                                            ^
    2238:  128 |       expect(result.elements.links.length).toBeGreaterThan(1);
    2239:  129 |     });
    2240:  130 |   }
    2241:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:127:44
    2242:  3) [chromium] › chat.spec.ts:104:7 › Chat tests › Validate consistent UI responses for repeated questions in chat 
    2243:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m
    ...
    
    2247:  114 |     const identicalResponses = responses.every((value) => value === responses[0]);
    2248:  > 115 |     expect(identicalResponses).toBe(true);
    2249:  |                                ^
    2250:  116 |   });
    2251:  117 |
    2252:  118 |   test(`Validate UI response matches API response for a given question in chat`, async () => {
    2253:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:115:32
    2254:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    2255:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m
    ...
    
    2264:  118 |   test(`Validate UI response matches API response for a given question in chat`, async () => {
    2265:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:115:32
    2266:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    2267:  test-results/chat-Chat-tests-Validate-c-a5003--repeated-questions-in-chat-chromium-retry1/trace.zip
    2268:  Usage:
    2269:  npx playwright show-trace test-results/chat-Chat-tests-Validate-c-a5003--repeated-questions-in-chat-chromium-retry1/trace.zip
    2270:  ────────────────────────────────────────────────────────────────────────────────────────────────
    2271:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    2272:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m
    ...
    
    2276:  114 |     const identicalResponses = responses.every((value) => value === responses[0]);
    2277:  > 115 |     expect(identicalResponses).toBe(true);
    2278:  |                                ^
    2279:  116 |   });
    2280:  117 |
    2281:  118 |   test(`Validate UI response matches API response for a given question in chat`, async () => {
    2282:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:115:32
    2283:  4) [chromium] › chat.spec.ts:118:7 › Chat tests › Validate UI response matches API response for a given question in chat 
    2284:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoEqual�[2m(�[22m�[32mexpected�[39m�[2m) // deep equality�[22m
    ...
    
    2288:  127 |     const apiResponse = await api.askQuestion(PROJECT_NAME, Node_Question);
    2289:  > 128 |     expect(number).toEqual(apiResponse.result.response.match(/\d+/g)?.[0]);
    2290:  |                    ^
    2291:  129 |   });
    2292:  130 | });
    2293:  131 |
    2294:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:128:20
    2295:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    2296:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoEqual�[2m(�[22m�[32mexpected�[39m�[2m) // deep equality�[22m
    ...
    
    2305:  131 |
    2306:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:128:20
    2307:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    2308:  test-results/chat-Chat-tests-Validate-U-0d538-or-a-given-question-in-chat-chromium-retry1/trace.zip
    2309:  Usage:
    2310:  npx playwright show-trace test-results/chat-Chat-tests-Validate-U-0d538-or-a-given-question-in-chat-chromium-retry1/trace.zip
    2311:  ────────────────────────────────────────────────────────────────────────────────────────────────
    2312:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    2313:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoEqual�[2m(�[22m�[32mexpected�[39m�[2m) // deep equality�[22m
    ...
    
    2317:  127 |     const apiResponse = await api.askQuestion(PROJECT_NAME, Node_Question);
    2318:  > 128 |     expect(number).toEqual(apiResponse.result.response.match(/\d+/g)?.[0]);
    2319:  |                    ^
    2320:  129 |   });
    2321:  130 | });
    2322:  131 |
    2323:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:128:20
    2324:  5) [firefox] › canvas.spec.ts:43:7 › Canvas tests › Verify center graph button centers nodes in canvas 
    2325:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeLessThanOrEqual�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2329:  51 |     const updatedGraph = await codeGraph.getCanvasScaling();
    2330:  > 52 |     expect(Math.abs(initialGraph.scaleX - updatedGraph.scaleX)).toBeLessThanOrEqual(0.1);
    2331:  |                                                                 ^
    2332:  53 |     expect(Math.abs(initialGraph.scaleY - updatedGraph.scaleY)).toBeLessThanOrEqual(0.1);
    2333:  54 |
    2334:  55 |   })
    2335:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:52:65
    2336:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    2337:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeLessThanOrEqual�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2346:  55 |   })
    2347:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:52:65
    2348:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    2349:  test-results/canvas-Canvas-tests-Verify-46a2a-ton-centers-nodes-in-canvas-firefox-retry1/trace.zip
    2350:  Usage:
    2351:  npx playwright show-trace test-results/canvas-Canvas-tests-Verify-46a2a-ton-centers-nodes-in-canvas-firefox-retry1/trace.zip
    2352:  ────────────────────────────────────────────────────────────────────────────────────────────────
    2353:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    2354:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeLessThanOrEqual�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2358:  51 |     const updatedGraph = await codeGraph.getCanvasScaling();
    2359:  > 52 |     expect(Math.abs(initialGraph.scaleX - updatedGraph.scaleX)).toBeLessThanOrEqual(0.1);
    2360:  |                                                                 ^
    2361:  53 |     expect(Math.abs(initialGraph.scaleY - updatedGraph.scaleY)).toBeLessThanOrEqual(0.1);
    2362:  54 |
    2363:  55 |   })
    2364:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:52:65
    2365:  6) [firefox] › canvas.spec.ts:123:9 › Canvas tests › Verify selecting different graphs displays nodes in canvas - Iteration 2 
    2366:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeGreaterThan�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2370:  126 |       const result = await codeGraph.getGraphDetails();
    2371:  > 127 |       expect(result.elements.nodes.length).toBeGreaterThan(1);
    2372:  |                                            ^
    2373:  128 |       expect(result.elements.links.length).toBeGreaterThan(1);
    2374:  129 |     });
    2375:  130 |   }
    2376:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:127:44
    2377:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    2378:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeGreaterThan�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2387:  130 |   }
    2388:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:127:44
    2389:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    2390:  test-results/canvas-Canvas-tests-Verify-42e9e-des-in-canvas---Iteration-2-firefox-retry1/trace.zip
    2391:  Usage:
    2392:  npx playwright show-trace test-results/canvas-Canvas-tests-Verify-42e9e-des-in-canvas---Iteration-2-firefox-retry1/trace.zip
    2393:  ────────────────────────────────────────────────────────────────────────────────────────────────
    2394:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    2395:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBeGreaterThan�[2m(�[22m�[32mexpected�[39m�[2m)�[22m
    ...
    
    2399:  126 |       const result = await codeGraph.getGraphDetails();
    2400:  > 127 |       expect(result.elements.nodes.length).toBeGreaterThan(1);
    2401:  |                                            ^
    2402:  128 |       expect(result.elements.links.length).toBeGreaterThan(1);
    2403:  129 |     });
    2404:  130 |   }
    2405:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:127:44
    2406:  7) [firefox] › chat.spec.ts:104:7 › Chat tests › Validate consistent UI responses for repeated questions in chat 
    2407:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m
    ...
    
    2411:  114 |     const identicalResponses = responses.every((value) => value === responses[0]);
    2412:  > 115 |     expect(identicalResponses).toBe(true);
    2413:  |                                ^
    2414:  116 |   });
    2415:  117 |
    2416:  118 |   test(`Validate UI response matches API response for a given question in chat`, async () => {
    2417:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:115:32
    2418:  Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
    2419:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m
    ...
    
    2428:  118 |   test(`Validate UI response matches API response for a given question in chat`, async () => {
    2429:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:115:32
    2430:  attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
    2431:  test-results/chat-Chat-tests-Validate-c-a5003--repeated-questions-in-chat-firefox-retry1/trace.zip
    2432:  Usage:
    2433:  npx playwright show-trace test-results/chat-Chat-tests-Validate-c-a5003--repeated-questions-in-chat-firefox-retry1/trace.zip
    2434:  ────────────────────────────────────────────────────────────────────────────────────────────────
    2435:  Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
    2436:  Error: �[2mexpect(�[22m�[31mreceived�[39m�[2m).�[22mtoBe�[2m(�[22m�[32mexpected�[39m�[2m) // Object.is equality�[22m
    ...
    
    2441:  > 115 |     expect(identicalResponses).toBe(true);
    2442:  |                                ^
    2443:  116 |   });
    2444:  117 |
    2445:  118 |   test(`Validate UI response matches API response for a given question in chat`, async () => {
    2446:  at /home/runner/work/code-graph/code-graph/e2e/tests/chat.spec.ts:115:32
    2447:  8) [chromium] › nodeDetailsPanel.spec.ts:49:9 › Node details panel tests › Validate node details panel header displays correct node name: import_data 
    2448:  �[31mTest timeout of 30000ms exceeded.�[39m
    2449:  Error: locator.click: Target page, context or browser has been closed
    ...
    
    2456:  |                                                   ^
    2457:  459 |         const text = await this.nodedetailsPanelHeader.innerHTML();
    2458:  460 |         return text;
    2459:  461 |     }
    2460:  at CodeGraph.getNodeDetailsHeader (/home/runner/work/code-graph/code-graph/e2e/logic/POM/codeGraph.ts:458:51)
    2461:  at /home/runner/work/code-graph/code-graph/e2e/tests/nodeDetailsPanel.spec.ts:56:30
    2462:  9) [chromium] › nodeDetailsPanel.spec.ts:78:9 › Node details panel tests › Validate view node panel keys via api for import_data 
    2463:  �[31mTest timeout of 30000ms exceeded.�[39m
    2464:  Error: locator.click: Target page, context or browser has been closed
    ...
    
    2471:  |                                                   ^
    2472:  491 |         await delay(500)
    2473:  492 |         const elements = await this.nodedetailsPanelElements.all();
    2474:  493 |         return Promise.all(elements.map(element => element.innerHTML()));
    2475:  at CodeGraph.getNodeDetailsPanelElements (/home/runner/work/code-graph/code-graph/e2e/logic/POM/codeGraph.ts:490:51)
    2476:  at /home/runner/work/code-graph/code-graph/e2e/tests/nodeDetailsPanel.spec.ts:90:38
    2477:  10) [firefox] › canvas.spec.ts:58:9 › Canvas tests › Validate node hide functionality via element menu in canvas for import_data 
    2478:  �[31mTest timeout of 30000ms exceeded.�[39m
    2479:  Error: locator.click: Target page, context or browser has been closed
    ...
    
    2486:  |                                                ^
    2487:  416 |     }
    2488:  417 |
    2489:  418 |     async nodeClick(x: number, y: number): Promise<void> {
    2490:  at CodeGraph.clickOnRemoveNodeViaElementMenu (/home/runner/work/code-graph/code-graph/e2e/logic/POM/codeGraph.ts:415:48)
    2491:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:65:23
    2492:  11) [firefox] › canvas.spec.ts:73:9 › Canvas tests › Validate unhide node functionality after hiding a node in canvas for import_data 
    2493:  �[31mTest timeout of 30000ms exceeded.�[39m
    2494:  Error: locator.click: Target page, context or browser has been closed
    ...
    
    2501:  |                                                ^
    2502:  416 |     }
    2503:  417 |
    2504:  418 |     async nodeClick(x: number, y: number): Promise<void> {
    2505:  at CodeGraph.clickOnRemoveNodeViaElementMenu (/home/runner/work/code-graph/code-graph/e2e/logic/POM/codeGraph.ts:415:48)
    2506:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:80:23
    2507:  12) [firefox] › canvas.spec.ts:170:9 › Canvas tests › Validate copy to clipboard functionality for node and verify with api for import_data 
    2508:  �[31mTest timeout of 30000ms exceeded.�[39m
    2509:  Error: locator.click: Target page, context or browser has been closed
    ...
    
    2516:  |                                                               ^
    2517:  481 |         await delay(1000)
    2518:  482 |         return await this.page.evaluate(() => navigator.clipboard.readText());
    2519:  483 |     }
    2520:  at CodeGraph.clickOnCopyToClipboard (/home/runner/work/code-graph/code-graph/e2e/logic/POM/codeGraph.ts:480:63)
    2521:  at /home/runner/work/code-graph/code-graph/e2e/tests/canvas.spec.ts:177:38
    2522:  13) [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: ' 
    2523:  �[31mTest timeout of 30000ms exceeded.�[39m
    2524:  Error: locator.fill: Target page, context or browser has been closed
    ...
    
    2529:  366 |     async fillSearchBar(searchValue: string): Promise<void> {
    2530:  > 367 |         await this.searchBarInput.fill(searchValue);
    2531:  |                                   ^
    2532:  368 |     }
    2533:  369 |
    2534:  370 |     async getSearchAutoCompleteCount(): Promise<number> {
    2535:  at CodeGraph.fillSearchBar (/home/runner/work/code-graph/code-graph/e2e/logic/POM/codeGraph.ts:367:35)
    2536:  at /home/runner/work/code-graph/code-graph/e2e/tests/searchBar.spec.ts:60:23
    2537:  7 failed
    ...
    
    2546:  [chromium] › nodeDetailsPanel.spec.ts:49:9 › Node details panel tests › Validate node details panel header displays correct node name: import_data 
    2547:  [chromium] › nodeDetailsPanel.spec.ts:78:9 › Node details panel tests › Validate view node panel keys via api for import_data 
    2548:  [firefox] › canvas.spec.ts:58:9 › Canvas tests › Validate node hide functionality via element menu in canvas for import_data 
    2549:  [firefox] › canvas.spec.ts:73:9 › Canvas tests › Validate unhide node functionality after hiding a node in canvas for import_data 
    2550:  [firefox] › canvas.spec.ts:170:9 › Canvas tests › Validate copy to clipboard functionality for node and verify with api for import_data 
    2551:  [firefox] › searchBar.spec.ts:57:9 › search bar tests › Verify entering special characters behavior in search bar for: ' 
    2552:  2 skipped
    2553:  179 passed (10.6m)
    2554:  ##[error]Process completed with exit code 1.
    ...
    
    2572:  [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
    2573:  [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
    2574:  [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
    2575:  http.https://github.com/.extraheader
    2576:  [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
    2577:  [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
    2578:  Print service container logs: c6386a2e1afa4a9780de81ab80cd6ff5_falkordbfalkordblatest_74f349
    2579:  ##[command]/usr/bin/docker logs --details 2486921cb744f37eab8720eb31b78246ae87461e6cbf516fa8d0c097ef19ac1f
    2580:  11:C 16 Feb 2025 15:25:28.983 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
    

    @gkorland
    Copy link
    Contributor

    @danshalev7 after we'll merge the current staging it will simplify the way we run the project.
    docker compose up should be enough.

    @Naseem77 Naseem77 changed the base branch from main to staging March 19, 2025 12:28
    @danshalev7 danshalev7 merged commit 5829423 into staging Apr 1, 2025
    7 checks passed
    @danshalev7 danshalev7 deleted the danshalev7-patch-1 branch April 1, 2025 13:31
    @coderabbitai coderabbitai bot mentioned this pull request May 30, 2025
    @coderabbitai coderabbitai bot mentioned this pull request Jun 16, 2025
    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