Skip to content

Fix: Typos Across Backend and Frontend Codebase#6972

Closed
ENUMERA8OR wants to merge 14 commits into
langflow-ai:mainfrom
ENUMERA8OR:main
Closed

Fix: Typos Across Backend and Frontend Codebase#6972
ENUMERA8OR wants to merge 14 commits into
langflow-ai:mainfrom
ENUMERA8OR:main

Conversation

@ENUMERA8OR
Copy link
Copy Markdown

@ENUMERA8OR ENUMERA8OR commented Mar 9, 2025

This pull request fixes multiple typographical errors across the codebase, improving code readability and documentation accuracy.

Changes:
Corrected spelling errors in variable names, comments, and documentation (e.g., "sucessors" → "successors", "retrive" → "retrieve", "ouptut" → "output").
Fixed minor inconsistencies in class and function descriptions.
Updated UI-related text constants for better clarity.
These changes do not alter functionality but enhance maintainability.

Adding More details for Better Logging:
This pull request includes various typo corrections and minor improvements across multiple files in the project. The changes aim to improve the readability and accuracy of comments, documentation, and variable names.

Typo Corrections:

Summary by CodeRabbit

  • New Features

    • Added a detailed URL data loader component with support for multiple output formats and enhanced input/output definitions in the Blog Writer starter project.
    • Introduced a script to clean up and sanitize sensitive fields in the Vector Store RAG starter project.
    • Added a new dependency: @smakss/react-scroll-direction.
  • Refactor

    • Simplified and unified modal components and prompt editing workflows for a cleaner and more consistent user experience.
    • Enhanced session management, sidebar resizing, and layout in the IOModal component.
    • Improved type safety and property access in chat content display components.
    • Streamlined modal rendering and unified form handling in BaseModal.
    • Reorganized node rendering structure for clearer separation and simplified conditional logic.
  • Bug Fixes

    • Corrected various typographical errors in UI text, tooltips, constants, and comments throughout the application.
    • Fixed input field IDs and enum naming inconsistencies for better accessibility and code clarity.
    • Updated test inputs to ensure accurate test coverage.
    • Fixed filename typo affecting document list saving.
    • Corrected language code and description typos in components.
  • Style

    • Improved and unified CSS class usage for buttons, overlays, and component layouts.
    • Reordered and updated class names for better styling consistency.
    • Enhanced tooltip icon styling and button cursor behavior based on disabled state.
    • Added new overlay styling for interaction restrictions and visual effects.
  • Documentation

    • Updated and clarified component descriptions and info strings for improved user understanding.
    • Provided more detailed descriptions for URL data loader component.
  • Chores

    • Minor updates to comments and test cases for clarity and maintainability.
    • Corrected spelling in comments and error messages for improved clarity.

@dosubot dosubot Bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Mar 9, 2025
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Mar 9, 2025

CodSpeed Performance Report

Merging #6972 will improve performances by 19.09%

Comparing ENUMERA8OR:main (b291b4d) with main (fdaee4c)

Summary

⚡ 2 improvements
✅ 17 untouched benchmarks

Benchmarks breakdown

Benchmark BASE HEAD Change
test_cancel_build_with_cancelled_error 253.6 ms 220.6 ms +14.98%
test_cancel_nonexistent_build 9.5 ms 7.9 ms +19.09%

@edwinjosechittilappilly edwinjosechittilappilly changed the title Fix Typos Across Backend and Frontend Codebase Fix: Typos Across Backend and Frontend Codebase Mar 10, 2025
@edwinjosechittilappilly
Copy link
Copy Markdown
Collaborator

Good One!

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

PR Overview

This pull request fixes typographical errors across both backend and frontend code, improving overall readability and documentation accuracy.

  • Corrects several spelling mistakes in code and comments.
  • Updates language and UI text constants for clarity.
  • Refines comments and descriptions to better reflect intended meanings.

Reviewed Changes

File Description
src/backend/base/langflow/components/vectorstores/vectara_rag.py Replaced "vie" with "via" in language list
src/frontend/src/constants/constants.ts Fixed typos in UI text constants and error messages
src/backend/base/langflow/components/data/url.py Corrected "retrive" to "retrieve" in a description string
scripts/ci/pypi_nightly_tag.py Updated comment text regarding version tagging
src/backend/base/langflow/components/vectorstores/astradb.py Fixed "correspoding" to "corresponding" in a description string
src/backend/base/langflow/components/vectorstores/redis.py Fixed misspelling of "documents.txt"
src/backend/tests/conftest.py Corrected misspelled keyword "retun" to "return"
src/backend/base/langflow/base/data/base_file.py Corrected comment typo to "Supersedes"
src/backend/base/langflow/components/processing/filter_data_values.py Corrected typo "comparision" to "comparison"
src/backend/base/langflow/components/vectorstores/vectara_self_query.py Fixed spelling error in info string ("Vectore" to "Vector")
src/backend/base/langflow/graph/graph/base.py Corrected typo "sucessors" to "successors"
src/backend/tests/unit/graph/graph/test_utils.py Fixed comment typo "shoud" to "should"
src/backend/base/langflow/components/tools/astradb.py Fixed typo "correspoding" to "corresponding"
src/backend/base/langflow/services/tracing/langfuse.py Corrected misspelling "actualy" to "actually"
src/backend/base/langflow/graph/graph/ascii.py Renamed variables from "vertexes" to "vertices" for consistency
src/backend/base/langflow/schema/data.py Corrected comment typo "atributes" to "attributes"
src/backend/tests/unit/base/tools/test_toolmodemixin.py Fixed comment contraction "Shouldnt" to "Shouldn't"
src/frontend/src/controllers/API/queries/files/use-download-files.ts Fixed typo "convertion" to "conversion"

Copilot reviewed 33 out of 33 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

scripts/ci/pypi_nightly_tag.py:53

  • [nitpick] The updated comment 'if DONE' is unclear and might be misleading. Consider revising this comment to accurately reflect the condition under which 'v' is prepended to the version string.
+    # Prepend "v" to the version, if DONE.

"tur",
"fas",
"vie",
"via",
Copy link

Copilot AI Mar 10, 2025

Choose a reason for hiding this comment

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

The language code was changed from 'vie' to 'via'. Please double-check if 'via' is the intended code (ISO 639-3 for Vietnamese is 'vie').

Suggested change
"via",
"vie",

Copilot uses AI. Check for mistakes.
@edwinjosechittilappilly
Copy link
Copy Markdown
Collaborator

cc. @carlosrcoelho @ogabrielluiz

@edwinjosechittilappilly
Copy link
Copy Markdown
Collaborator

@lucaseduoli Can you also take a look into the .ts files, I believe some of the changes in TS files have breaking changes.
can you confirm it?

@edwinjosechittilappilly
Copy link
Copy Markdown
Collaborator

@ENUMERA8OR, please run the make format and make lint commands to fix and track formatting and linting issues. can fix/track the format and lint issues.

@ENUMERA8OR
Copy link
Copy Markdown
Author

@ENUMERA8OR, please run the make format and make lint commands to fix and track formatting and linting issues. can fix/track the format and lint issues.

Sure, please give me some time.

@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:M This PR changes 30-99 lines, ignoring generated files. labels Mar 14, 2025
@ENUMERA8OR
Copy link
Copy Markdown
Author

@edwinjosechittilappilly Please review.

@ENUMERA8OR
Copy link
Copy Markdown
Author

@edwinjosechittilappilly Conflicts resolved, please check.

@dosubot dosubot Bot added size:M This PR changes 30-99 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Mar 16, 2025
@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:M This PR changes 30-99 lines, ignoring generated files. labels Apr 16, 2025
Copy link
Copy Markdown
Contributor

@ogabrielluiz ogabrielluiz left a comment

Choose a reason for hiding this comment

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

Hey @ENUMERA8OR

Thanks for the PR.

Currently there a lot of merge conflicts in the code and some weird additions. We'll take a look again once the PR is in a more stable condition.

pytest.CODE_WITH_SYNTAX_ERROR = """
def get_text():
retun "Hello World"
return "Hello World"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is supposed to be wrong

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

ok

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 1, 2025

Walkthrough

This update primarily addresses typographical corrections, comment clarifications, and string literal fixes throughout backend and frontend codebases. It also introduces minor refactors for naming consistency, updates component descriptions, and enhances TypeScript type safety. Additionally, it adds a new script for JSON node/edge cleanup, introduces a new NPM dependency, and refactors modal and UI logic for improved maintainability and user experience.

Changes

File(s) Change Summary
scripts/ci/pypi_nightly_tag.py, src/backend/base/langflow/base/data/base_file.py, src/backend/base/langflow/components/data/url.py, src/backend/base/langflow/components/processing/filter_data_values.py, src/backend/base/langflow/components/vectorstores/astradb.py, src/backend/base/langflow/components/vectorstores/redis.py, src/backend/base/langflow/components/vectorstores/vectara_rag.py, src/backend/base/langflow/components/vectorstores/vectara_self_query.py, src/backend/base/langflow/graph/graph/ascii.py, src/backend/base/langflow/graph/graph/base.py, src/backend/base/langflow/schema/data.py, src/backend/base/langflow/services/tracing/langfuse.py, src/backend/tests/conftest.py, src/backend/tests/unit/base/tools/test_toolmodemixin.py, src/backend/tests/unit/graph/graph/test_utils.py, src/frontend/src/CustomNodes/GenericNode/components/NodeInputField/index.tsx, src/frontend/src/CustomNodes/GenericNode/index.tsx, src/frontend/src/CustomNodes/NoteNode/NoteToolbarComponent/index.tsx, src/frontend/src/alerts/alertDropDown/components/singleAlertComponent/index.tsx, src/frontend/src/components/core/parameterRenderComponent/components/inputComponent/index.tsx, src/frontend/src/components/core/parameterRenderComponent/components/inputFileComponent/index.tsx, src/frontend/src/components/core/parameterRenderComponent/components/keypairListComponent/index.tsx, src/frontend/src/components/ui/dialog-with-no-close.tsx, src/frontend/src/constants/constants.ts, src/frontend/src/constants/enums.ts, src/frontend/src/controllers/API/queries/files/use-download-files.ts, src/frontend/src/modals/IOModal/components/IOFieldView/components/csv-selected.tsx, src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx, src/frontend/src/pages/ProfileSettingsPage/index.tsx, src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/PasswordForm/index.tsx, src/frontend/src/types/components/index.ts, src/frontend/src/utils/reactflowUtils.ts, src/frontend/src/utils/utils.ts, src/frontend/tests/core/integrations/Document QA.spec.ts, src/backend/base/langflow/components/datastax/astradb_tool.py Fixed typos in comments, string literals, variable names, and descriptions; improved naming consistency (e.g., vertexes→vertices); updated enum member names; minor refactors for clarity.
src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json Replaces a node with a fully defined URL loader component, including detailed input/output specs, code, and metadata.
src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json Reformats the code string for the URLComponent in JSON; no logic changes.
src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json, src/backend/base/langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json Corrects typos in info strings for input fields.
src/frontend/src/components/core/chatComponents/ContentDisplay.tsx Adds explicit TypeScript type assertions for content subtypes, reorganizes imports, and fixes minor className issues.
src/frontend/src/modals/IOModal/components/IOFieldView/io-field-view.tsx Refactors input/output type handling: renames input types, swaps PDF/IMAGE output logic, adds JSON output case, and simplifies output rendering.
src/frontend/src/modals/IOModal/components/chatView/components/chat-view.tsx Streamlines empty chat/loading state rendering, adjusts chat input logic, and adds sidebarOpen prop to messages.
src/frontend/src/modals/IOModal/new-modal.tsx Refactors session management, sidebar resizing, header/footer UI, and main content rendering for the IOModal component.
src/frontend/src/modals/IOModal/types/chat-view-wrapper.ts Adds optional chatInput and chatOutput properties to the ChatViewWrapperProps type.
src/frontend/src/modals/baseModal/index.tsx Refactors modal rendering logic for simplicity and consistency, unifies modal types, and updates close button handling.
src/frontend/src/modals/promptModal/index.tsx Simplifies prompt modal: unified textarea usage, removes variable badges, updates header/footer, and improves preview logic.
fix_vector_store_rag.py Adds a script to clean up nodes/edges and sensitive fields in a specific JSON file.
package.json Introduces a new NPM dependency: @smakss/react-scroll-direction v4.2.0.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant IOModal
    participant Sidebar
    participant ChatView
    participant SessionManager

    User->>IOModal: Open modal
    IOModal->>SessionManager: Check session state
    alt No sessions
        SessionManager->>IOModal: Set session to current flow ID
    else No visible session
        SessionManager->>IOModal: Set session to last session
    else Visible session exists
        SessionManager->>IOModal: Set session accordingly
    end
    IOModal->>Sidebar: Render with resizable handler
    User->>Sidebar: Drag resize handle
    Sidebar->>IOModal: Update sidebar width
    IOModal->>ChatView: Render chat or selected view
    User->>IOModal: Interact with header/footer buttons
    IOModal->>IOModal: Handle actions (publish, refresh, exit, etc.)
Loading

Possibly related PRs

Suggested labels

bug, javascript, refactor, size:M

✨ Finishing Touches
  • 📝 Generate Docstrings

🪧 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 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.

Copy link
Copy Markdown
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: 8

🔭 Outside diff range comments (2)
src/frontend/src/modals/IOModal/components/chatView/components/chat-view.tsx (1)

22-30: 🛠️ Refactor suggestion

sidebarOpen not included in memo comparison – stale render risk

MemoizedChatMessage now receives the new sidebarOpen prop (line 198) but the custom comparator does not consider this field. If sidebarOpen toggles, the comparator will still return true, preventing a re-render and leaving each message in an out-of-sync visual state (e.g. missing blur / pointer-events update).

 return (
   prevProps.chat.message === nextProps.chat.message &&
   prevProps.chat.id === nextProps.chat.id &&
   prevProps.chat.session === nextProps.chat.session &&
   prevProps.chat.content_blocks === nextProps.chat.content_blocks &&
   prevProps.chat.properties === nextProps.chat.properties &&
-  prevProps.lastMessage === nextProps.lastMessage
+  prevProps.lastMessage === nextProps.lastMessage &&
+  prevProps.sidebarOpen === nextProps.sidebarOpen
 );
src/frontend/src/modals/baseModal/index.tsx (1)

75-98: 🛠️ Refactor suggestion

Header component ignores className prop – breaks type-checking for call-sites

BaseModal.Header is currently typed to accept only children, description and clampDescription, yet several call-sites (e.g. IOModal at l. 274) now pass a className.
This produces a TS error and the style is silently dropped.

-const Header: React.FC<{
-  children: ReactNode;
-  description?: string | JSX.Element | null;
-  clampDescription?: number;
-}> = ({
-  children,
-  description,
-  clampDescription,
-}: modalHeaderType): JSX.Element => {
+type HeaderExtraProps = { className?: string } & modalHeaderType;
+
+const Header: React.FC<HeaderExtraProps> = ({
+  children,
+  description,
+  clampDescription,
+  className,
+}): JSX.Element => {
   return (
-    <DialogHeader>
+    <DialogHeader className={cn(className)}>

Extending the interface (or spreading the remaining props) will restore compatibility.

♻️ Duplicate comments (3)
src/backend/tests/conftest.py (1)

117-117: ⚠️ Potential issue

Critical: This change contradicts previous review feedback and likely breaks intended functionality.

A previous reviewer (ogabrielluiz) explicitly stated "This is supposed to be wrong" regarding this line. The variable pytest.CODE_WITH_SYNTAX_ERROR clearly indicates this should contain syntactically incorrect code for testing purposes. Changing retun to return makes the code syntactically correct, which contradicts the intended purpose and may break tests that rely on this code having syntax errors.

Revert this change to maintain the intentional syntax error:

-    return "Hello World"
+    retun "Hello World"
src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json (2)

1079-1079: Formatting-only update validated.

Same reformat applied to the duplicated URLComponent code string—no behavioral changes introduced.


1279-1279: Formatting-only update validated.

Same reformat applied to the third instance of the URLComponent code string—functionality remains unchanged.

🧹 Nitpick comments (9)
src/backend/tests/unit/base/tools/test_toolmodemixin.py (1)

139-139: Resolve or remove the TODO comment.

The lingering TODO about title generation should either be addressed—by adding an explicit assertion that the schema title matches the component’s display_name—or removed to prevent stale comments in the test suite.

🧰 Tools
🪛 Pylint (3.3.7)

[warning] 139-139: TODO: to check how the title is generated, Shouldn't it be the display name?

(W0511)

scripts/ci/pypi_nightly_tag.py (1)

53-56: Clarify comment to accurately reflect logic
The current comment "if DONE" is ambiguous and doesn’t match the intended behavior. The code prepends "v" only when it’s not already present. Consider making the comment explicit for readability.

Apply this diff:

-    # Prepend "v" to the version, if DONE.
+    # Prepend "v" to the version if it’s not already present.
src/backend/base/langflow/graph/graph/ascii.py (1)

128-136: Rename parameter and references for clarity

The function signature and internal references were updated from vertexes to vertices, improving naming consistency.

Nit: The comprehension shadows the vertices parameter by reassigning it to a new dict. You might rename the local dict (e.g., vertex_map) to avoid confusion. Also, consider adding a docstring to build_sugiyama_layout to describe its purpose and parameters.

🧰 Tools
🪛 Pylint (3.3.7)

[convention] 128-128: Missing function or method docstring

(C0116)

src/backend/base/langflow/components/processing/filter_data_values.py (1)

12-12: Suggest clarifying the description text. The phrase "select match comparison" is a bit awkward. Consider rephrasing for clarity:

- " and comparison operator. Check advanced options to select match comparison."
+ " and comparison operator. Check advanced options to select the desired comparison operator."
src/frontend/src/components/core/parameterRenderComponent/components/inputComponent/index.tsx (2)

183-184: Consider cursor style consistency for disabled state.

The conditional styling looks good, but using cursor-grab for disabled elements might be confusing to users. Typically, disabled elements use cursor-not-allowed to clearly indicate they're not interactive.

Note that the parent span already applies cursor-not-allowed when disabled (line 171). Consider using consistent cursor styling:

-                disabled ? "cursor-grab text-placeholder" : "cursor-pointer",
+                disabled ? "cursor-not-allowed text-placeholder" : "cursor-pointer",

202-203: Apply consistent cursor styling for the icon as well.

Similar to the button element above, consider using cursor-not-allowed instead of cursor-grab for disabled state to maintain consistency.

-                  disabled ? "cursor-grab text-placeholder" : "cursor-pointer",
+                  disabled ? "cursor-not-allowed text-placeholder" : "cursor-pointer",
src/frontend/src/modals/IOModal/components/chatView/components/chat-view.tsx (1)

210-223: noInput flag is redundant & misleading inside guarded block

The chat-input section is already wrapped in {chatInput && (…)} – therefore chatInput is always truthy within the block. Passing noInput={!chatInput} sets the prop permanently to false, which is confusing for future readers and opens the door to accidental refactors that break the assumption.

-  <ChatInput
-
-    noInput={!chatInput}
-
-  />
+  <ChatInput
+
+    // chatInput is guaranteed to exist – noInput is always false
+    noInput={false}
+
+  />

Alternatively remove the prop entirely if the ChatInput component treats undefined as “false”.

src/frontend/src/modals/IOModal/components/IOFieldView/io-field-view.tsx (1)

106-123: Enum rename is good but validation of duplicate keys still fires on every stroke

The refactor to KEY_PAIR fixes the typo – 👍.
However, setErrorDuplicateKey(hasDuplicateKeys(valueToNumbers)); is executed on every keystroke, which may cause noticeable lag on large inputs. Consider debouncing or computing duplicates only after blur/submit if performance becomes an issue.

src/frontend/src/components/core/chatComponents/ContentDisplay.tsx (1)

114-116: Type-cast is fine but stringification defeats Markdown features

(content as TextContent).text is wrapped in Markdown, yet it is first coerced to String(…), stripping any undefined/null safety but also preventing early return when text is empty.

-            {String((content as TextContent).text)}
+            {(content as TextContent).text}

If text can be undefined, add a short-circuit:

const text = (content as TextContent).text;
if (!text) return null;
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between dc35b4e and a9f8080.

⛔ Files ignored due to path filters (2)
  • src/frontend/package-lock.json is excluded by !**/package-lock.json
  • src/frontend/src/icons/VectaraIcon/vectara.svg is excluded by !**/*.svg
📒 Files selected for processing (50)
  • scripts/ci/pypi_nightly_tag.py (1 hunks)
  • src/backend/base/langflow/base/data/base_file.py (1 hunks)
  • src/backend/base/langflow/components/data/url.py (1 hunks)
  • src/backend/base/langflow/components/processing/filter_data_values.py (1 hunks)
  • src/backend/base/langflow/components/tools/astradb.py (1 hunks)
  • src/backend/base/langflow/components/vectorstores/astradb.py (1 hunks)
  • src/backend/base/langflow/components/vectorstores/redis.py (1 hunks)
  • src/backend/base/langflow/components/vectorstores/vectara_rag.py (1 hunks)
  • src/backend/base/langflow/components/vectorstores/vectara_self_query.py (1 hunks)
  • src/backend/base/langflow/graph/graph/ascii.py (2 hunks)
  • src/backend/base/langflow/graph/graph/base.py (1 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json (1 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json (3 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json (1 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json (1 hunks)
  • src/backend/base/langflow/schema/data.py (1 hunks)
  • src/backend/base/langflow/services/tracing/langfuse.py (1 hunks)
  • src/backend/tests/conftest.py (1 hunks)
  • src/backend/tests/unit/base/tools/test_toolmodemixin.py (1 hunks)
  • src/backend/tests/unit/graph/graph/test_utils.py (1 hunks)
  • src/frontend/src/CustomNodes/GenericNode/components/NodeDescription/index.tsx (1 hunks)
  • src/frontend/src/CustomNodes/GenericNode/components/NodeInputField/index.tsx (1 hunks)
  • src/frontend/src/CustomNodes/GenericNode/index.tsx (1 hunks)
  • src/frontend/src/CustomNodes/NoteNode/NoteToolbarComponent/index.tsx (1 hunks)
  • src/frontend/src/alerts/alertDropDown/components/singleAlertComponent/index.tsx (2 hunks)
  • src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx (1 hunks)
  • src/frontend/src/components/core/chatComponents/ContentDisplay.tsx (7 hunks)
  • src/frontend/src/components/core/parameterRenderComponent/components/inputComponent/index.tsx (1 hunks)
  • src/frontend/src/components/core/parameterRenderComponent/components/inputFileComponent/index.tsx (1 hunks)
  • src/frontend/src/components/core/parameterRenderComponent/components/keypairListComponent/index.tsx (1 hunks)
  • src/frontend/src/components/ui/dialog-with-no-close.tsx (2 hunks)
  • src/frontend/src/constants/constants.ts (2 hunks)
  • src/frontend/src/constants/enums.ts (1 hunks)
  • src/frontend/src/controllers/API/queries/files/use-download-files.ts (1 hunks)
  • src/frontend/src/modals/IOModal/components/IOFieldView/components/csv-selected.tsx (1 hunks)
  • src/frontend/src/modals/IOModal/components/IOFieldView/io-field-view.tsx (3 hunks)
  • src/frontend/src/modals/IOModal/components/chatView/chatInput/components/upload-file-button.tsx (2 hunks)
  • src/frontend/src/modals/IOModal/components/chatView/chatMessage/components/content-view.tsx (1 hunks)
  • src/frontend/src/modals/IOModal/components/chatView/components/chat-view.tsx (1 hunks)
  • src/frontend/src/modals/IOModal/new-modal.tsx (1 hunks)
  • src/frontend/src/modals/IOModal/types/chat-view-wrapper.ts (1 hunks)
  • src/frontend/src/modals/baseModal/index.tsx (2 hunks)
  • src/frontend/src/modals/promptModal/index.tsx (1 hunks)
  • src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx (1 hunks)
  • src/frontend/src/pages/ProfileSettingsPage/index.tsx (1 hunks)
  • src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/PasswordForm/index.tsx (1 hunks)
  • src/frontend/src/types/components/index.ts (1 hunks)
  • src/frontend/src/utils/reactflowUtils.ts (1 hunks)
  • src/frontend/src/utils/utils.ts (1 hunks)
  • src/frontend/tests/core/integrations/Document QA.spec.ts (1 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (6)
src/frontend/src/components/core/parameterRenderComponent/components/inputFileComponent/index.tsx (1)
src/frontend/src/components/common/genericIconComponent/index.tsx (1)
  • ForwardedIconComponent (9-103)
src/frontend/src/CustomNodes/GenericNode/components/NodeInputField/index.tsx (1)
src/frontend/src/utils/utils.ts (1)
  • cn (36-38)
src/frontend/src/modals/IOModal/components/chatView/chatInput/components/upload-file-button.tsx (1)
src/frontend/src/utils/utils.ts (1)
  • cn (36-38)
src/frontend/src/modals/IOModal/components/chatView/components/chat-view.tsx (2)
src/frontend/src/components/ui/textAnimation.tsx (1)
  • TextEffectPerChar (220-226)
src/frontend/src/modals/IOModal/components/chatView/chatInput/chat-input.tsx (1)
  • ChatInput (26-244)
src/frontend/src/modals/promptModal/index.tsx (3)
src/frontend/src/utils/utils.ts (1)
  • classNames (32-34)
src/frontend/src/constants/constants.ts (1)
  • EDIT_TEXT_PLACEHOLDER (708-708)
src/frontend/src/utils/reactflowUtils.ts (1)
  • handleKeyDown (827-852)
src/frontend/src/modals/baseModal/index.tsx (4)
src/frontend/src/components/ui/dialog.tsx (2)
  • Dialog (163-163)
  • DialogContent (164-164)
src/frontend/src/utils/utils.ts (1)
  • cn (36-38)
src/frontend/src/modals/baseModal/helpers/switch-case-size.ts (1)
  • switchCaseModalSize (1-94)
src/frontend/src/components/ui/button.tsx (1)
  • Button (126-126)
🪛 Pylint (3.3.7)
src/backend/tests/unit/base/tools/test_toolmodemixin.py

[warning] 139-139: TODO: to check how the title is generated, Shouldn't it be the display name?

(W0511)

src/backend/base/langflow/base/data/base_file.py

[convention] 132-132: Line too long (111/100)

(C0301)

src/backend/base/langflow/graph/graph/ascii.py

[convention] 128-128: Missing function or method docstring

(C0116)


[refactor] 153-153: Too many local variables (21/15)

(R0914)

🔇 Additional comments (43)
src/frontend/src/controllers/API/queries/files/use-download-files.ts (1)

17-17: Fix typo in comment Corrected "convertion" to "conversion" for clarity.

src/frontend/src/utils/reactflowUtils.ts (1)

1070-1071: Approve corrected comment spelling and clarity. The misspelled “aproach” has been fixed to “approach,” and the note about the O(n²) algorithm with a future set-based improvement accurately documents the complexity.

src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/PasswordForm/index.tsx (1)

48-48: Typo fix: Corrected id attribute to match the field name

The id attribute for the password input was updated from "pasword" to "password", aligning it with the Form.Field name and improving accessibility consistency.

src/frontend/src/pages/ProfileSettingsPage/index.tsx (1)

122-122: Typo fix: Aligned id attribute with field name

The id attribute on the password input was corrected from "pasword" to "password", ensuring consistency across form fields and supporting proper label association.

src/backend/base/langflow/graph/graph/base.py (1)

2074-2076: Correct typo in __to_dict method

The local variable sucessors has been correctly renamed to successors, aligning with the rest of the graph utilities. The use of the |= operator for dict merging is valid in Python 3.9+; if you need to maintain compatibility with earlier versions, consider switching to result.update(...).

src/backend/base/langflow/graph/graph/ascii.py (1)

153-155: Align draw_graph signature with renaming

The draw_graph function now accepts vertices (not vertexes) and correctly delegates to build_sugiyama_layout. This change is purely cosmetic and does not alter behavior.

🧰 Tools
🪛 Pylint (3.3.7)

[refactor] 153-153: Too many local variables (21/15)

(R0914)

src/backend/base/langflow/components/processing/filter_data_values.py (1)

12-12: Typo correction is accurate. The word "comparison" is now spelled correctly.

src/backend/base/langflow/components/vectorstores/vectara_self_query.py (1)

24-24: Typo fix confirmed. The info text now correctly reads "Vector Store" instead of the misspelled "Vectore."

src/frontend/src/CustomNodes/GenericNode/components/NodeDescription/index.tsx (1)

157-157: Minor formatting change approved. The added whitespace in the className prop does not affect functionality or styling.

src/backend/base/langflow/components/vectorstores/redis.py (1)

53-53: Typo fix validated. The filename is correctly updated to "documents.txt".

src/backend/base/langflow/base/data/base_file.py (1)

132-132: Typo fix approved: “Supersedes” corrected
The label now correctly reads “Supersedes” instead of “Supercedes,” matching standard spelling.

🧰 Tools
🪛 Pylint (3.3.7)

[convention] 132-132: Line too long (111/100)

(C0301)

src/backend/base/langflow/services/tracing/langfuse.py (1)

83-83: Typo fix approved: “actually” corrected
The inline comment now spells “actually component id” correctly. No functional impact.

src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx (1)

114-114: Typo fix approved: comment “filter” corrected
The comment now correctly references “filter” instead of “fitler.”

src/frontend/src/alerts/alertDropDown/components/singleAlertComponent/index.tsx (1)

79-79: Layout nit approved: blank line added for clarity
Adding a blank line after the <span className="sr-only">Dismiss</span> improves visual separation without affecting behavior.

Also applies to: 123-123

src/backend/base/langflow/schema/data.py (1)

224-224: Typo fix approved: “attributes” corrected
The doc comment now correctly spells “attributes” instead of “atributes.”

src/backend/tests/unit/graph/graph/test_utils.py (1)

77-77: Approve comment typo fix in test
The comment within test_sort_up_to_vertex_n_is_start has been corrected from "Result shoud be all the vertices" to "Result should be all the vertices," enhancing readability without affecting functionality.

src/frontend/src/utils/utils.ts (1)

730-730: Approve typo correction in comment
The inline comment in addPlusSignes has been updated to fix "beetwen" to "between," aligning with code style and improving clarity.

src/backend/base/langflow/components/tools/astradb.py (1)

153-153: Approve documentation string typo fix
The info text for static_filters now reads "Attributes to filter and corresponding value," correcting the previous misspelling without altering behavior.

src/backend/base/langflow/components/vectorstores/astradb.py (1)

165-165: Spelling correction in informational text
The description has been updated from “Supercedes” to the correctly spelled “Supersedes,” enhancing documentation clarity without impacting any functionality.

src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json (1)

896-904: Typo Correction in info Field Approved

The misspelling of “Supercedes” has been corrected to “Supersedes” in the info description for the file_path input. This is purely a documentation fix and does not impact functionality.

src/backend/base/langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json (1)

1938-1945: Correct spelling of “Supersedes” in the file_path description.

The update fixes the typo in the info field, changing “Supercedes” to the correct “Supersedes” for improved readability. This is purely a documentation change and does not affect functionality.

src/frontend/src/CustomNodes/NoteNode/NoteToolbarComponent/index.tsx (1)

107-107: Change doesn't align with PR objectives.

This CSS class reordering doesn't appear to fix any typos, which is the stated objective of this PR. While the change is harmless, it seems unrelated to the typo fixes described in the PR summary.

Likely an incorrect or invalid review comment.

src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx (1)

318-318: UI improvement but inconsistent with PR objectives.

This change improves accessibility by allowing focus indicators to appear on the input field, which is a good improvement. However, this appears to be a UI enhancement rather than a typo fix, which doesn't align with the stated PR objectives.

Likely an incorrect or invalid review comment.

src/backend/base/langflow/components/data/url.py (1)

22-25: Good documentation improvement but inconsistent with PR objectives.

The expanded description significantly improves the component's documentation by clearly explaining its functionality, supported formats, and available options. This is a valuable improvement for developer experience.

However, this appears to be a documentation enhancement rather than a typo fix, which doesn't align with the stated PR objectives of correcting typographical errors.

Likely an incorrect or invalid review comment.

src/frontend/src/constants/constants.ts (3)

186-186: LGTM! Typo correction improves user-facing text.

The correction from "ouptut" to "output" fixes a clear spelling error in the PDF view constant.


701-701: LGTM! Spelling correction enhances build success message.

The correction from "sucessfully" to "successfully" fixes the missing 'c' in the build success message.


709-710: LGTM! Consistent spelling correction for UI tooltips.

Both corrections from "Avaliable" to "Available" fix the missing 'i' in the input and output handler hover tooltips, ensuring consistent and correct spelling across the UI.

src/frontend/src/components/ui/dialog-with-no-close.tsx (2)

21-21: LGTM! Enhanced modal overlay with interaction restrictions.

The addition of interaction restriction classes (nopan nodelete nodrag noflow) and visual enhancements (overflow-auto bg-black/50 backdrop-blur-sm) improves the modal's user interaction behavior and visual appearance.


38-38: LGTM! Improved modal content layout and responsiveness.

The transition from grid to flex column layout with updated spacing (gap-4, p-6) and responsive width settings (w-full max-w-lg, md:w-full) enhances the modal's adaptability across different screen sizes.

src/frontend/src/CustomNodes/GenericNode/index.tsx (1)

502-502: LGTM! Minor formatting improvement for code readability.

The addition of a blank line within the className prop improves code readability without any functional impact.

src/frontend/src/modals/IOModal/components/IOFieldView/components/csv-selected.tsx (1)

14-14: LGTM! Typo correction improves user-facing text.

The correction from "ouptut" to "output" fixes a clear spelling error in the CSV expansion instruction text, consistent with similar corrections made throughout the codebase.

src/frontend/src/constants/enums.ts (1)

26-26: Consistent enum member naming
Renaming KEYPAIR to KEY_PAIR improves readability and aligns with the corresponding updates in the UI components.

src/frontend/src/modals/IOModal/components/chatView/chatMessage/components/content-view.tsx (1)

69-69: Typo fix: correct “occurred” spelling
Fixed the misspelling in the error message from “occured” to “occurred.”

src/frontend/src/components/core/parameterRenderComponent/components/inputFileComponent/index.tsx (1)

311-311: Use ForwardedIconComponent for consistent icon handling
Replacing IconComponent with ForwardedIconComponent ensures icons benefit from the forwarded ref and consistent loading behavior.

src/frontend/tests/core/integrations/Document QA.spec.ts (1)

53-53: Add missing apostrophe in test input string
Updated the test’s .fill() string to “what’s the text in the file?” for grammatical correctness.

src/frontend/src/types/components/index.ts (1)

636-636: LGTM! Type enhancement supports new chat functionality.

The addition of the optional sidebarOpen property to chatMessagePropsType is well-structured and properly typed. This enhances type safety for components that need to be aware of sidebar state.

src/frontend/src/CustomNodes/GenericNode/components/NodeInputField/index.tsx (1)

183-190: Excellent refactoring! Improved className handling.

The migration from string concatenation to the cn utility function is a great improvement. This provides better Tailwind CSS class conflict resolution and enhanced readability.

src/frontend/src/modals/IOModal/types/chat-view-wrapper.ts (1)

21-22: LGTM! Well-structured type extensions for chat functionality.

The addition of chatInput and chatOutput properties enhances the interface to support more granular chat node management. The typing is consistent with the existing haveChat property and properly handles optional values.

src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json (1)

1246-1246: Formatting-only update; no behavior change.

This change adds blank lines within the embedded Python code string to improve readability. There are no modifications to logic, signatures, or error handling in the URLComponent.

src/frontend/src/modals/IOModal/components/chatView/chatInput/components/upload-file-button.tsx (2)

2-2: Import of cn utility is appropriate.

The new cn import from @/utils/utils aligns with the conditional class composition usage below and is correctly added.


28-34: Refactor to use cn for class names looks good.

Using the cn helper simplifies conditional styling (cursor-not-allowed vs. text-muted-foreground hover:text-primary) and ensures consistent Tailwind merging.

src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json (1)

885-885: Formatting-only update validated.

The embedded Python code string for the URLComponent within the starter project JSON was reformatted for compactness without changing any logic or functionality.

src/frontend/src/modals/IOModal/new-modal.tsx (1)

390-397: Unnecessary recursive call to handleResize on drag handle

Calling handleResize() inside the onMouseDown of the same element re-registers listeners that were already installed in useEffect, magnifying the leak described above.
Remove the inline call and let the single set of listeners manage the drag.

-onMouseDown={(e) => {
-  handleResize();
-}}
+onMouseDown={undefined /* listeners already set up in useEffect */}

"tur",
"fas",
"vie",
"via",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Verify correct ISO language code. The replacement of "vie" with "via" may introduce an invalid language option—ISO 639-3 for Vietnamese is "vie". Please confirm the intended code or revert this change.

🤖 Prompt for AI Agents
In src/backend/base/langflow/components/vectorstores/vectara_rag.py at line 39,
the language code "via" is used but it is not a valid ISO 639-3 code for
Vietnamese, which should be "vie". Verify the intended language code and if it
is meant to represent Vietnamese, revert "via" back to "vie" to ensure correct
language identification.

Comment on lines 127 to 129
data-testid={getTestId("key pair", index)}
id={getTestId("key pair", index)}
type="text"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Invalid ID/data-testid values contain spaces
The prefixes "key pair" with a space will produce IDs like key pair0, which is invalid per HTML spec and breaks selector-based tests. Consider using "key-pair" or "key_pair" instead.

Proposed diff:

- data-testid={getTestId("key pair", index)}
- id={getTestId("key pair", index)}
+ data-testid={getTestId("key_pair", index)}
+ id={getTestId("key_pair", index)}

- data-testid={getTestId("key pair", index + 100)}
- id={getTestId("key pair", index + 100)}
+ data-testid={getTestId("key_pair", index + 100)}
+ id={getTestId("key_pair", index + 100)}

Also applies to: 136-138

🤖 Prompt for AI Agents
In
src/frontend/src/components/core/parameterRenderComponent/components/keypairListComponent/index.tsx
around lines 127 to 129 and 136 to 138, the data-testid and id attributes use
the prefix "key pair" which contains a space, resulting in invalid HTML IDs and
breaking selector-based tests. Replace the prefix "key pair" with a valid string
such as "key-pair" or "key_pair" to ensure the generated IDs and test IDs are
valid and selectors work correctly.

Comment on lines +203 to +208
<div className="flex h-full w-full flex-col items-center justify-center">
<LangflowLogo className="mb-2 h-10 w-10" />
<div className="mx-auto w-full text-center text-2xl font-semibold text-primary">
<TextEffectPerChar text="Type to start the flow" />
</div>
</>
</div>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Wrong prop name for TextEffectPerChar causes compile error

TextEffectPerChar expects its text as children (see textAnimation.tsx), but the code passes an unsupported text prop:

<TextEffectPerChar text="Type to start the flow" />

This will result in “Type '{ text: string; }' is not assignable …” at build time and nothing is rendered at runtime.

-<TextEffectPerChar text="Type to start the flow" />
+<TextEffectPerChar>Type to start the flow</TextEffectPerChar>
🤖 Prompt for AI Agents
In src/frontend/src/modals/IOModal/components/chatView/components/chat-view.tsx
around lines 203 to 208, the TextEffectPerChar component is incorrectly passed a
'text' prop instead of children. To fix this, remove the 'text' prop and instead
pass the string "Type to start the flow" as the child content inside the
TextEffectPerChar component.

Comment on lines 226 to 241
code={JSON.stringify((content as ToolContent).tool_input, null, 2)}
/>
{content.output && (
{(content as ToolContent).output && (
<>
<Markdown
remarkPlugins={[remarkGfm]}
rehypePlugins={[rehypeMathjax]}
className="markdown prose max-w-full text-[14px] font-normal dark:prose-invert"
className="markdown max_w-full prose text-[14px] font-normal dark:prose-invert"
>
**Output:**
</Markdown>
<div className="mt-1">{formatToolOutput(content.output)}</div>
<div className="mt-1">
{formatToolOutput((content as ToolContent).output)}
</div>
</>
)}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Declare helper outside switch to avoid hoisting pitfalls

const formatToolOutput = … is declared directly inside the case "tool_use": branch without enclosing braces. While currently unique, adding another lexical declaration in a different case later will raise a Duplicate identifier error.

case "tool_use": {
  const formatToolOutput = (output: any) => { … };
  …
  break;
}

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In src/frontend/src/components/core/chatComponents/ContentDisplay.tsx around
lines 226 to 241, the helper function formatToolOutput is declared inside the
"tool_use" case of a switch statement without braces, which can cause hoisting
issues and duplicate identifier errors if another declaration is added in a
different case. To fix this, move the declaration of formatToolOutput outside
and before the switch statement to ensure it is only declared once and
accessible within the switch cases.

Comment on lines +246 to +249
placeholder={EDIT_TEXT_PLACEHOLDER}
onKeyDown={(e) => {
handleKeyDown(e, value, "");
}}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

onKeyDown is fed with a potentially stale value prop instead of the current textarea content

handleKeyDown receives the unchanged value prop – not the freshly-edited inputValue state.
After the first keystroke, the prop is already out-of-date, so any logic inside handleKeyDown that depends on the latest buffer (e.g. control-backspace fix) will mis-behave.

-  onKeyDown={(e) => {
-    handleKeyDown(e, value, "");
-  }}
+  onKeyDown={(e) => {
+    handleKeyDown(e, inputValue, "");
+  }}

Please verify that no other callers rely on the old behaviour.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
placeholder={EDIT_TEXT_PLACEHOLDER}
onKeyDown={(e) => {
handleKeyDown(e, value, "");
}}
placeholder={EDIT_TEXT_PLACEHOLDER}
onKeyDown={(e) => {
handleKeyDown(e, inputValue, "");
}}
🤖 Prompt for AI Agents
In src/frontend/src/modals/promptModal/index.tsx around lines 246 to 249, the
onKeyDown handler is incorrectly using the potentially stale value prop instead
of the current textarea content. Update the onKeyDown callback to pass the
latest inputValue state instead of value to handleKeyDown, ensuring it operates
on the most recent input. Also, review other usages of handleKeyDown to confirm
they do not rely on the old behavior with the stale value prop.

Comment on lines +229 to +235
className={cn(
isFullScreen ? "h-full w-full" : switchCaseModalSize(size),
className,
isFullScreen ? "rounded-none" : "",
isModal ? "p-0" : "",
)}
onPointerDownOutside={(e) => {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

switchCaseModalSize returns an object, but it’s injected as a CSS class string

switchCaseModalSize(size) yields { minWidth, height }, so React ends up with a literal "[object Object]" in the class attribute:

<div class="[object Object] rounded-none …">

This breaks sizing on every modal.

-  isFullScreen ? "h-full w-full" : switchCaseModalSize(size),
+  (() => {
+    if (isFullScreen) return "h-full w-full";
+    const { minWidth, height } = switchCaseModalSize(size);
+    return cn(minWidth, height);
+  })(),

Alternatively, compute {minWidth,height} once outside JSX and spread them.

🤖 Prompt for AI Agents
In src/frontend/src/modals/baseModal/index.tsx around lines 229 to 235, the
function switchCaseModalSize(size) returns an object with style properties but
is incorrectly used as a className string, causing "[object Object]" to appear
in the class attribute. To fix this, remove switchCaseModalSize from the
className list and instead call it once before the JSX to get the style object,
then spread this style object into the style attribute of the element to apply
minWidth and height correctly.

Comment on lines 225 to 253
const handleResize = useCallback(() => {
const handleElement = document.getElementById("sized-box");
const containerElement = document.getElementById("container-sized-box");

useEffect(() => {
const handleResize = () => {
if (window.innerWidth < 1024) {
// 1024px is Tailwind's 'lg' breakpoint
setSidebarOpen(false);
} else {
setSidebarOpen(true);
}
};
if (handleElement && containerElement) {
let startX: number, startWidth: number;

// Initial check
handleResize();
const onMouseMove = (e: MouseEvent) => {
const dx = e.clientX - startX;
const newWidth = Math.min(
Math.max(200, startWidth + dx), // Min width
containerElement.offsetWidth - 200, // Max width based on container
);
handleElement.style.width = `${newWidth}px`;
};

// Add event listener
window.addEventListener("resize", handleResize);
const onMouseUp = () => {
document.removeEventListener("mousemove", onMouseMove);
document.removeEventListener("mouseup", onMouseUp);
};

// Cleanup
return () => {
window.removeEventListener("resize", handleResize);
};
handleElement.addEventListener("mousedown", (e: MouseEvent) => {
startX = e.clientX;
startWidth = handleElement.offsetWidth;
document.addEventListener("mousemove", onMouseMove);
document.addEventListener("mouseup", onMouseUp);
});
}
}, []);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

handleResize adds global listeners repeatedly & never cleans up

Every call to handleResize() attaches a new mousedown listener to #sized-box, which then registers fresh mousemove / mouseup handlers.
Because:

  1. handleResize() is invoked in useEffect and again on every onMouseDown (l 391-394).
  2. The mouseup cleanup only removes the latest pair of listeners.

Symptoms: memory leaks, steadily slower drag performance and stray listeners after unmount.

Suggested minimal fix:

-  handleElement.addEventListener("mousedown", (e: MouseEvent) => {
+  const onMouseDown = (e: MouseEvent) => {-  });
+  };
+  handleElement.addEventListener("mousedown", onMouseDown);
+
+  return () => {
+    handleElement.removeEventListener("mousedown", onMouseDown);
+  };

…and drop the extra onMouseDown={() => handleResize()} hook at l. 391–394.

🤖 Prompt for AI Agents
In src/frontend/src/modals/IOModal/new-modal.tsx around lines 225 to 253, the
handleResize function attaches a new mousedown listener to #sized-box every time
it is called, causing multiple global mousemove and mouseup listeners to
accumulate without proper cleanup. To fix this, ensure handleResize is only
called once, preferably inside a useEffect hook with an empty dependency array,
and remove the onMouseDown handler that calls handleResize at lines 391-394.
This prevents repeated listener attachments and avoids memory leaks and
performance degradation.

@dosubot dosubot Bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Jun 1, 2025
Copy link
Copy Markdown
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: 7

🧹 Nitpick comments (4)
fix_vector_store_rag.py (2)

10-10: Fix line length violations.

These lines exceed the 100-character limit. Consider breaking them for better readability.

-    """Fixes the Vector Store RAG.json file by removing the parser node and specific AstraDB fields."""
+    """
+    Fixes the Vector Store RAG.json file by removing the parser node and specific AstraDB fields.
+    """

-        data["data"]["nodes"] = [node for node in data["data"]["nodes"] if node.get("id") != "parser-YIJGN"]
+        data["data"]["nodes"] = [
+            node for node in data["data"]["nodes"] 
+            if node.get("id") != "parser-YIJGN"
+        ]

Also applies to: 16-16

🧰 Tools
🪛 Pylint (3.3.7)

[convention] 10-10: Line too long (103/100)

(C0301)


29-34: Simplify nested conditionals.

The nested conditional checks can be simplified for better readability and maintainability.

-            if (
-                node.get("data")
-                and node["data"].get("type") == "AstraDB"
-                and "node" in node["data"]
-                and "template" in node["data"]["node"]
-            ):
+            node_data = node.get("data", {})
+            if (node_data.get("type") == "AstraDB" and 
+                "node" in node_data and 
+                "template" in node_data["node"]):
src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json (2)

1158-1158: Fix typo in description
The word “retrive” is misspelled. It should be “retrieve”.

Apply this diff:

-        "description": "Load and retrive data from specified URLs.",
+        "description": "Load and retrieve data from specified URLs.",

1158-1165: Sync JSON description with component doc
The JSON node’s description is more concise than the detailed multi-line description in the actual URLComponent class. For consistency, consider updating it to:

Load and retrieve data from specified URLs. Supports output in plain text, raw HTML, or JSON, with options for cleaning and separating multiple outputs.
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between a9f8080 and 34c5418.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (11)
  • fix_vector_store_rag.py (1 hunks)
  • package.json (1 hunks)
  • src/backend/base/langflow/base/data/base_file.py (1 hunks)
  • src/backend/base/langflow/components/data/url.py (1 hunks)
  • src/backend/base/langflow/components/datastax/astradb_tool.py (1 hunks)
  • src/backend/base/langflow/components/processing/filter_data_values.py (1 hunks)
  • src/backend/base/langflow/components/vectorstores/astradb.py (1 hunks)
  • src/backend/base/langflow/graph/graph/base.py (1 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json (1 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json (3 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json (1 hunks)
✅ Files skipped from review due to trivial changes (5)
  • src/backend/base/langflow/components/processing/filter_data_values.py
  • package.json
  • src/backend/base/langflow/components/datastax/astradb_tool.py
  • src/backend/base/langflow/components/vectorstores/astradb.py
  • src/backend/base/langflow/components/data/url.py
🚧 Files skipped from review as they are similar to previous changes (3)
  • src/backend/base/langflow/graph/graph/base.py
  • src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json
  • src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json
🧰 Additional context used
🪛 Pylint (3.3.7)
fix_vector_store_rag.py

[convention] 10-10: Line too long (103/100)

(C0301)


[convention] 16-16: Line too long (108/100)

(C0301)


[convention] 6-6: Constant name "file_path" doesn't conform to UPPER_CASE naming style

(C0103)


[warning] 9-9: Redefining name 'file_path' from outer scope (line 6)

(W0621)


[warning] 11-11: Using open without explicitly specifying an encoding

(W1514)


[warning] 40-40: Using open without explicitly specifying an encoding

(W1514)

src/backend/base/langflow/base/data/base_file.py

[convention] 132-132: Line too long (111/100)

(C0301)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Optimize new Python code in this PR
  • GitHub Check: Run Ruff Check and Format
  • GitHub Check: Update Starter Projects
🔇 Additional comments (1)
src/backend/base/langflow/base/data/base_file.py (1)

132-132: LGTM! Typo correction improves documentation clarity.

The correction from "Supercedes" to "Supersedes" fixes a common spelling error in the info text for the file_path input field. This change aligns with the PR's objective to improve code documentation quality without affecting functionality.

🧰 Tools
🪛 Pylint (3.3.7)

[convention] 132-132: Line too long (111/100)

(C0301)

Comment thread fix_vector_store_rag.py
file_path = "src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json"


def fix_json_file(file_path):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Avoid variable name shadowing.

The function parameter file_path shadows the global variable with the same name, which can lead to confusion.

-def fix_json_file(file_path):
+def fix_json_file(json_file_path):

And update the corresponding usage in the function.

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 Pylint (3.3.7)

[warning] 9-9: Redefining name 'file_path' from outer scope (line 6)

(W0621)

🤖 Prompt for AI Agents
In fix_vector_store_rag.py at line 9, the function parameter named file_path
shadows a global variable with the same name, causing potential confusion.
Rename the function parameter to a distinct name, such as input_file_path, and
update all references to this parameter within the function accordingly to avoid
shadowing.

Comment thread fix_vector_store_rag.py
Comment on lines +40 to +41
with Path(file_path).open("w") as f:
json.dump(data, f, indent=2)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Add error handling for file writing and specify encoding.

File writing operations should include error handling and explicit encoding to prevent data corruption.

-    with Path(file_path).open("w") as f:
-        json.dump(data, f, indent=2)
+    try:
+        with Path(json_file_path).open("w", encoding="utf-8") as f:
+            json.dump(data, f, indent=2)
+        print(f"Successfully updated {json_file_path}")
+    except (IOError, OSError) as e:
+        print(f"Error writing file {json_file_path}: {e}")

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 Pylint (3.3.7)

[warning] 40-40: Using open without explicitly specifying an encoding

(W1514)

🤖 Prompt for AI Agents
In fix_vector_store_rag.py around lines 40 to 41, the file writing operation
lacks error handling and does not specify encoding. Wrap the file open and
json.dump calls in a try-except block to catch and handle potential IOErrors or
other exceptions. Also, specify the encoding parameter as "utf-8" in the open()
call to ensure consistent encoding and prevent data corruption.

Comment thread fix_vector_store_rag.py
import json
from pathlib import Path

file_path = "src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Fix naming convention and improve flexibility.

The global variable should follow UPPER_CASE naming convention for constants, and consider making the file path configurable.

-file_path = "src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json"
+FILE_PATH = "src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json"

Alternatively, consider making it configurable via command line arguments or environment variables for better reusability.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
file_path = "src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json"
- file_path = "src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json"
+ FILE_PATH = "src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json"
🧰 Tools
🪛 Pylint (3.3.7)

[convention] 6-6: Constant name "file_path" doesn't conform to UPPER_CASE naming style

(C0103)

🤖 Prompt for AI Agents
In fix_vector_store_rag.py at line 6, rename the global variable file_path to
FILE_PATH to follow the UPPER_CASE naming convention for constants.
Additionally, modify the code to allow the file path to be configurable, either
by accepting it as a command line argument or reading it from an environment
variable, to improve flexibility and reusability.

Comment thread fix_vector_store_rag.py
Comment on lines +11 to +12
with Path(file_path).open("r+") as f:
data = json.load(f)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Add error handling and specify encoding.

The file operations lack error handling and explicit encoding specification, which could lead to issues with non-ASCII characters or file access problems.

-    with Path(file_path).open("r+") as f:
-        data = json.load(f)
+    try:
+        with Path(json_file_path).open("r", encoding="utf-8") as f:
+            data = json.load(f)
+    except (FileNotFoundError, json.JSONDecodeError, IOError) as e:
+        print(f"Error reading file {json_file_path}: {e}")
+        return

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 Pylint (3.3.7)

[warning] 11-11: Using open without explicitly specifying an encoding

(W1514)

🤖 Prompt for AI Agents
In fix_vector_store_rag.py around lines 11 to 12, the file opening and reading
lacks error handling and does not specify encoding, which can cause issues with
non-ASCII characters or file access errors. Modify the code to open the file
with encoding='utf-8' and wrap the file operations in a try-except block to
catch and handle exceptions such as FileNotFoundError or JSONDecodeError,
logging or managing errors appropriately.

Comment thread fix_vector_store_rag.py
Comment on lines +44 to +45
if __name__ == "__main__":
fix_json_file(file_path)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Update main execution block.

Update the main execution to use the corrected variable names and add basic validation.

if __name__ == "__main__":
-    fix_json_file(file_path)
+    if Path(FILE_PATH).exists():
+        fix_json_file(FILE_PATH)
+    else:
+        print(f"File not found: {FILE_PATH}")
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
if __name__ == "__main__":
fix_json_file(file_path)
if __name__ == "__main__":
if Path(FILE_PATH).exists():
fix_json_file(FILE_PATH)
else:
print(f"File not found: {FILE_PATH}")
🤖 Prompt for AI Agents
In fix_vector_store_rag.py around lines 44 to 45, the main execution block uses
an undefined or incorrect variable name 'file_path' and lacks input validation.
Update the variable name to match the corrected or intended variable used in the
script, and add basic validation to check if the file path is provided and valid
before calling fix_json_file. This ensures the script runs correctly and handles
missing or invalid input gracefully.

Comment thread fix_vector_store_rag.py
Comment on lines +9 to +42
def fix_json_file(file_path):
"""Fixes the Vector Store RAG.json file by removing the parser node and specific AstraDB fields."""
with Path(file_path).open("r+") as f:
data = json.load(f)

# Remove parser-YIJGN node
if "data" in data and "nodes" in data["data"]:
data["data"]["nodes"] = [node for node in data["data"]["nodes"] if node.get("id") != "parser-YIJGN"]

# Remove edges connected to parser-YIJGN
if "data" in data and "edges" in data["data"]:
data["data"]["edges"] = [
edge
for edge in data["data"]["edges"]
if edge.get("source") != "parser-YIJGN" and edge.get("target") != "parser-YIJGN"
]

# Modify AstraDB nodes
if "data" in data and "nodes" in data["data"]:
for node in data["data"]["nodes"]:
if (
node.get("data")
and node["data"].get("type") == "AstraDB"
and "node" in node["data"]
and "template" in node["data"]["node"]
):
template = node["data"]["node"]["template"]
for key in ["password", "token", "keyspace", "secure_connect_bundle"]:
if key in template:
del template[key]

with Path(file_path).open("w") as f:
json.dump(data, f, indent=2)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Consider adding backup functionality.

Since this script modifies files in-place, consider creating a backup before making changes to prevent accidental data loss.

def fix_json_file(json_file_path):
    """
    Fixes the Vector Store RAG.json file by removing the parser node and specific AstraDB fields.
    """
+    # Create backup
+    backup_path = Path(json_file_path).with_suffix('.json.backup')
+    try:
+        import shutil
+        shutil.copy2(json_file_path, backup_path)
+        print(f"Backup created: {backup_path}")
+    except Exception as e:
+        print(f"Warning: Could not create backup: {e}")
+    
    try:
        with Path(json_file_path).open("r", encoding="utf-8") as f:
            data = json.load(f)
    except (FileNotFoundError, json.JSONDecodeError, IOError) as e:
        print(f"Error reading file {json_file_path}: {e}")
        return

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 Pylint (3.3.7)

[convention] 10-10: Line too long (103/100)

(C0301)


[convention] 16-16: Line too long (108/100)

(C0301)


[warning] 9-9: Redefining name 'file_path' from outer scope (line 6)

(W0621)


[warning] 11-11: Using open without explicitly specifying an encoding

(W1514)


[warning] 40-40: Using open without explicitly specifying an encoding

(W1514)

🤖 Prompt for AI Agents
In fix_vector_store_rag.py around lines 9 to 42, the script modifies the JSON
file in-place without creating a backup, risking data loss. Add functionality to
create a backup copy of the original file before opening it for modification.
This can be done by copying the original file to a new file with a suffix like
".bak" or a timestamp, ensuring the original data is preserved in case of errors
or rollback needs.

Comment on lines +1147 to +1154
"id": "URL-MjSj8",
"node": {
"base_classes": [
"Data",
"DataFrame",
"Message"
],
"beta": false,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

New node is not connected to the graph
The newly added URL-MjSj8 node has no corresponding entry in the edges array, leaving it isolated in the starter flow. Please add the appropriate edges to integrate its outputs with downstream nodes (e.g., connect its data or text output to the next component) or remove it if it was inserted by mistake.

🤖 Prompt for AI Agents
In src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json
around lines 1147 to 1154, the new node with id "URL-MjSj8" is not connected to
any other nodes because it lacks entries in the edges array. To fix this, add
appropriate edge objects linking this node's outputs (such as "data" or "text")
to the inputs of downstream nodes in the graph, ensuring it integrates properly
into the flow. If this node was added unintentionally, remove it entirely to
avoid having an isolated node.

@ENUMERA8OR
Copy link
Copy Markdown
Author

(try_langflow) ailove@ailove:~/langflow$ make format && make lint
All checks passed!
1006 files left unchanged

langflow@1.4.2 format
npx prettier --write "{tests,src}/**/*.{js,jsx,ts,tsx,json,md}" --ignore-path .prettierignore

src/alerts/alertDropDown/components/singleAlertComponent/index.tsx 909ms (unchanged)
src/alerts/alertDropDown/index.tsx 98ms (unchanged)
src/alerts/displayArea/index.tsx 61ms (unchanged)
src/alerts/error/index.tsx 67ms (unchanged)
src/alerts/notice/index.tsx 56ms (unchanged)
src/alerts/success/index.tsx 45ms (unchanged)
src/App.tsx 44ms (unchanged)
src/boilerplate/raw-component/index.tsx 39ms (unchanged)
src/components/authorization/authAdminGuard/index.tsx 55ms (unchanged)
src/components/authorization/authGuard/index.tsx 57ms (unchanged)
src/components/authorization/authLoginGuard/index.tsx 46ms (unchanged)
src/components/authorization/authSettingsGuard/index.tsx 52ms (unchanged)
src/components/authorization/storeGuard/index.tsx 40ms (unchanged)
src/components/common/accordionComponent/index.tsx 56ms (unchanged)
src/components/common/animatedNumbers/index.tsx 60ms (unchanged)
src/components/common/crashErrorComponent/index.tsx 55ms (unchanged)
src/components/common/fetchErrorComponent/index.tsx 53ms (unchanged)
src/components/common/genericIconComponent/index.tsx 75ms (unchanged)
src/components/common/GradientWrapper/index.tsx 45ms (unchanged)
src/components/common/horizontalScrollFadeComponent/index.tsx 59ms (unchanged)
src/components/common/ImageViewer/index.tsx 68ms (unchanged)
src/components/common/loadingComponent/index.tsx 43ms (unchanged)
src/components/common/loadingTextComponent/index.tsx 43ms (unchanged)
src/components/common/numberReader/index.tsx 38ms (unchanged)
src/components/common/objectRender/index.tsx 42ms (unchanged)
src/components/common/pageLayout/index.tsx 51ms (unchanged)
src/components/common/paginatorComponent/index.tsx 71ms (unchanged)
src/components/common/renderIconComponent/components/renderKey/index.tsx 45ms (unchanged)
src/components/common/renderIconComponent/index.tsx 41ms (unchanged)
src/components/common/sanitizedHTMLWrapper/index.tsx 47ms (unchanged)
src/components/common/shadTooltipComponent/index.tsx 56ms (unchanged)
src/components/common/skeletonCardComponent/index.tsx 36ms (unchanged)
src/components/common/storeCardComponent/hooks/use-data-effect.ts 44ms (unchanged)
src/components/common/storeCardComponent/hooks/use-handle-install.ts 53ms (unchanged)
src/components/common/storeCardComponent/index.tsx 85ms (unchanged)
src/components/common/storeCardComponent/utils/convert-test-name.tsx 48ms (unchanged)
src/components/common/stringReaderComponent/index.tsx 46ms (unchanged)
src/components/common/tagsSelectorComponent/index.tsx 43ms (unchanged)
src/components/common/timeoutErrorComponent/index.tsx 41ms (unchanged)
src/components/core/appHeaderComponent/components/AccountMenu/index.tsx 65ms (unchanged)
src/components/core/appHeaderComponent/components/FlowMenu/index.tsx 87ms (unchanged)
src/components/core/appHeaderComponent/components/HeaderMenu/index.tsx 61ms (unchanged)
src/components/core/appHeaderComponent/components/langflow-counts.tsx 53ms (unchanged)
src/components/core/appHeaderComponent/components/ProfileIcon/index.tsx 47ms (unchanged)
src/components/core/appHeaderComponent/components/ThemeButtons/index.tsx 62ms (unchanged)
src/components/core/appHeaderComponent/index.tsx 63ms (unchanged)
src/components/core/border-trail.tsx 41ms (unchanged)
src/components/core/canvasControlsComponent/index.tsx 59ms (unchanged)
src/components/core/cardComponent/components/dragCardComponent/index.tsx 50ms (unchanged)
src/components/core/cardComponent/hooks/use-on-drag-start.tsx 36ms (unchanged)
src/components/core/cardsWrapComponent/index.tsx 42ms (unchanged)
src/components/core/chatComponents/ContentBlockDisplay.tsx 62ms (unchanged)
src/components/core/chatComponents/ContentDisplay.tsx 72ms (unchanged)
src/components/core/chatComponents/DurationDisplay.tsx 49ms (unchanged)
src/components/core/codeTabsComponent/components/tweakComponent/index.tsx 54ms (unchanged)
src/components/core/codeTabsComponent/components/tweaksComponent/index.tsx 50ms (unchanged)
src/components/core/codeTabsComponent/index.tsx 42ms (unchanged)
src/components/core/csvOutputComponent/helpers/convert-data-function.ts 48ms (unchanged)
src/components/core/csvOutputComponent/index.tsx 55ms (unchanged)
src/components/core/dataOutputComponent/index.tsx 56ms (unchanged)
src/components/core/dateReaderComponent/index.tsx 52ms (unchanged)
src/components/core/dropdownComponent/index.tsx 127ms (unchanged)
src/components/core/editFlowSettingsComponent/index.tsx 64ms (unchanged)
src/components/core/flowSettingsComponent/index.tsx 63ms (unchanged)
src/components/core/flowToolbarComponent/components/deploy-dropdown.tsx 79ms (unchanged)
src/components/core/flowToolbarComponent/components/flow-toolbar-options.tsx 42ms (unchanged)
src/components/core/flowToolbarComponent/components/playground-button.tsx 50ms (unchanged)
src/components/core/flowToolbarComponent/index.tsx 55ms (unchanged)
src/components/core/folderSidebarComponent/components/sideBarFolderButtons/components/add-folder-button.tsx 49ms (unchanged)
src/components/core/folderSidebarComponent/components/sideBarFolderButtons/components/folder-select-item.tsx 43ms (unchanged)
src/components/core/folderSidebarComponent/components/sideBarFolderButtons/components/get-started-progress.tsx 80ms (unchanged)
src/components/core/folderSidebarComponent/components/sideBarFolderButtons/components/header-buttons.tsx 61ms (unchanged)
src/components/core/folderSidebarComponent/components/sideBarFolderButtons/components/input-edit-folder-name.tsx 45ms (unchanged)
src/components/core/folderSidebarComponent/components/sideBarFolderButtons/components/mcp-server-notice.tsx 47ms (unchanged)
src/components/core/folderSidebarComponent/components/sideBarFolderButtons/components/select-options.tsx 55ms (unchanged)
src/components/core/folderSidebarComponent/components/sideBarFolderButtons/components/upload-folder-button.tsx 40ms (unchanged)
src/components/core/folderSidebarComponent/components/sideBarFolderButtons/helpers/handle-select-change.ts 42ms (unchanged)
src/components/core/folderSidebarComponent/components/sideBarFolderButtons/index.tsx 106ms (unchanged)
src/components/core/folderSidebarComponent/components/sidebarFolderSkeleton/index.tsx 34ms (unchanged)
src/components/core/folderSidebarComponent/hooks/use-on-file-drop.ts 50ms (unchanged)
src/components/core/GlobalVariableModal/GlobalVariableModal.tsx 63ms (unchanged)
src/components/core/GlobalVariableModal/utils/sort-by-name.tsx 39ms (unchanged)
src/components/core/jsonEditor/index.tsx 96ms (unchanged)
src/components/core/jsonOutputComponent/json-output-view.tsx 41ms (unchanged)
src/components/core/logCanvasControlsComponent/index.tsx 37ms (unchanged)
src/components/core/parameterRenderComponent/components/codeAreaComponent/index.tsx 57ms (unchanged)
src/components/core/parameterRenderComponent/components/connectionComponent/index.tsx 64ms (unchanged)
src/components/core/parameterRenderComponent/components/copyFieldAreaComponent/index.tsx 61ms (unchanged)
src/components/core/parameterRenderComponent/components/dictComponent/index.tsx 45ms (unchanged)
src/components/core/parameterRenderComponent/components/dropdownComponent/index.tsx 42ms (unchanged)
src/components/core/parameterRenderComponent/components/emptyParameterComponent/index.tsx 44ms (unchanged)
src/components/core/parameterRenderComponent/components/floatComponent/index.tsx 55ms (unchanged)
src/components/core/parameterRenderComponent/components/helperTextComponent/index.tsx 40ms (unchanged)
src/components/core/parameterRenderComponent/components/inputComponent/components/helpers/get-icon-name.ts 40ms (unchanged)
src/components/core/parameterRenderComponent/components/inputComponent/components/popover/index.tsx 80ms (unchanged)
src/components/core/parameterRenderComponent/components/inputComponent/components/popoverObject/index.tsx 65ms (unchanged)
src/components/core/parameterRenderComponent/components/inputComponent/index.tsx 67ms (unchanged)
src/components/core/parameterRenderComponent/components/inputFileComponent/index.tsx 90ms (unchanged)
src/components/core/parameterRenderComponent/components/inputGlobalComponent/index.tsx 60ms (unchanged)
src/components/core/parameterRenderComponent/components/inputListComponent/components/button-input-list.tsx 59ms (unchanged)
src/components/core/parameterRenderComponent/components/inputListComponent/components/delete-button-input-list.tsx 46ms (unchanged)
src/components/core/parameterRenderComponent/components/inputListComponent/helpers/get-class-name.ts 46ms (unchanged)
src/components/core/parameterRenderComponent/components/inputListComponent/helpers/get-test-id.ts 32ms (unchanged)
src/components/core/parameterRenderComponent/components/inputListComponent/index.tsx 60ms (unchanged)
src/components/core/parameterRenderComponent/components/intComponent/index.tsx 45ms (unchanged)
src/components/core/parameterRenderComponent/components/keypairListComponent/index.tsx 61ms (unchanged)
src/components/core/parameterRenderComponent/components/linkComponent/index.tsx 42ms (unchanged)
src/components/core/parameterRenderComponent/components/multiselectComponent/index.tsx 64ms (unchanged)
src/components/core/parameterRenderComponent/components/promptComponent/index.tsx 51ms (unchanged)
src/components/core/parameterRenderComponent/components/queryComponent/index.tsx 54ms (unchanged)
src/components/core/parameterRenderComponent/components/refreshParameterComponent/index.tsx 52ms (unchanged)
src/components/core/parameterRenderComponent/components/searchBarComponent/index.tsx 50ms (unchanged)
src/components/core/parameterRenderComponent/components/sliderComponent/components/slider-labels.tsx 42ms (unchanged)
src/components/core/parameterRenderComponent/components/sliderComponent/helpers/build-color-by-name.ts 40ms (unchanged)
src/components/core/parameterRenderComponent/components/sliderComponent/helpers/get-min-max-value.ts 40ms (unchanged)
src/components/core/parameterRenderComponent/components/sliderComponent/index.tsx 78ms (unchanged)
src/components/core/parameterRenderComponent/components/sortableListComponent/index.tsx 63ms (unchanged)
src/components/core/parameterRenderComponent/components/strRenderComponent/index.tsx 71ms (unchanged)
src/components/core/parameterRenderComponent/components/tabComponent/index.tsx 51ms (unchanged)
src/components/core/parameterRenderComponent/components/tableComponent/components/tableAdvancedToggleCellRender/index.tsx 51ms (unchanged)
src/components/core/parameterRenderComponent/components/tableComponent/components/tableAutoCellRender/index.tsx 54ms (unchanged)
src/components/core/parameterRenderComponent/components/tableComponent/components/tableDropdownCellEditor/index.tsx 48ms (unchanged)
src/components/core/parameterRenderComponent/components/tableComponent/components/tableNodeCellRender/index.tsx 61ms (unchanged)
src/components/core/parameterRenderComponent/components/tableComponent/components/TableOptions/index.tsx 53ms (unchanged)
src/components/core/parameterRenderComponent/components/tableComponent/index.tsx 74ms (unchanged)
src/components/core/parameterRenderComponent/components/tableComponent/utils/reset-grid-columns.tsx 39ms (unchanged)
src/components/core/parameterRenderComponent/components/TableNodeComponent/index.tsx 63ms (unchanged)
src/components/core/parameterRenderComponent/components/textAreaComponent/index.tsx 66ms (unchanged)
src/components/core/parameterRenderComponent/components/toggleShadComponent/index.tsx 45ms (unchanged)
src/components/core/parameterRenderComponent/components/ToolsComponent/index.tsx 50ms (unchanged)
src/components/core/parameterRenderComponent/components/webhookFieldComponent/index.tsx 44ms (unchanged)
src/components/core/parameterRenderComponent/helpers/get-placeholder-disabled.ts 39ms (unchanged)
src/components/core/parameterRenderComponent/index.tsx 62ms (unchanged)
src/components/core/parameterRenderComponent/types.ts 55ms (unchanged)
src/components/core/pdfViewer/Error/index.tsx 53ms (unchanged)
src/components/core/pdfViewer/index.tsx 64ms (unchanged)
src/components/core/pdfViewer/noData/index.tsx 44ms (unchanged)
src/components/core/sidebarComponent/index.tsx 60ms (unchanged)
src/components/ui/accordion.tsx 63ms (unchanged)
src/components/ui/alert.tsx 40ms (unchanged)
src/components/ui/background-gradient.tsx 46ms (unchanged)
src/components/ui/badge.tsx 40ms (unchanged)
src/components/ui/button.tsx 48ms (unchanged)
src/components/ui/card.tsx 60ms (unchanged)
src/components/ui/checkbox.tsx 52ms (unchanged)
src/components/ui/checkmark.tsx 33ms (unchanged)
src/components/ui/command.tsx 67ms (unchanged)
src/components/ui/dialog-with-no-close.tsx 53ms (unchanged)
src/components/ui/dialog.tsx 60ms (unchanged)
src/components/ui/disclosure.tsx 65ms (unchanged)
src/components/ui/dot-background.tsx 44ms (unchanged)
src/components/ui/dropdown-menu.tsx 59ms (unchanged)
src/components/ui/input.tsx 37ms (unchanged)
src/components/ui/label.tsx 40ms (unchanged)
src/components/ui/loading.tsx 38ms (unchanged)
src/components/ui/popover.tsx 33ms (unchanged)
src/components/ui/refreshButton.tsx 30ms (unchanged)
src/components/ui/select-custom.tsx 49ms (unchanged)
src/components/ui/select.tsx 50ms (unchanged)
src/components/ui/separator.tsx 42ms (unchanged)
src/components/ui/sidebar.tsx 162ms (unchanged)
src/components/ui/skeleton.tsx 29ms (unchanged)
src/components/ui/skeletonGroup.tsx 37ms (unchanged)
src/components/ui/switch.tsx 37ms (unchanged)
src/components/ui/table.tsx 52ms (unchanged)
src/components/ui/tabs-button.tsx 51ms (unchanged)
src/components/ui/tabs.tsx 44ms (unchanged)
src/components/ui/text-loop.tsx 286ms (unchanged)
src/components/ui/textAnimation.tsx 48ms (unchanged)
src/components/ui/textarea.tsx 45ms (unchanged)
src/components/ui/TextShimmer.tsx 44ms (unchanged)
src/components/ui/tooltip.tsx 42ms (unchanged)
src/components/ui/xmark.tsx 42ms (unchanged)
src/constants/alerts_constants.tsx 38ms (unchanged)
src/constants/constants.ts 93ms (unchanged)
src/constants/enums.ts 45ms (unchanged)
src/contexts/authContext.tsx 47ms (unchanged)
src/contexts/index.tsx 34ms (unchanged)
src/controllers/API/api.tsx 73ms (unchanged)
src/controllers/API/helpers/check-duplicate-requests.ts 41ms (unchanged)
src/controllers/API/helpers/constants.ts 37ms (unchanged)
src/controllers/API/index.ts 57ms (unchanged)
src/controllers/API/queries/_builds/index.ts 31ms (unchanged)
src/controllers/API/queries/_builds/use-delete-builds.ts 65ms (unchanged)
src/controllers/API/queries/_builds/use-get-builds-polling-mutation.ts 66ms (unchanged)
src/controllers/API/queries/_builds/use-get-builds.ts 47ms (unchanged)
src/controllers/API/queries/api-keys/index.ts 39ms (unchanged)
src/controllers/API/queries/api-keys/use-delete-api-key.ts 41ms (unchanged)
src/controllers/API/queries/api-keys/use-get-api-keys.ts 41ms (unchanged)
src/controllers/API/queries/api-keys/use-post-add-api-key.ts 39ms (unchanged)
src/controllers/API/queries/auth/index.ts 35ms (unchanged)
src/controllers/API/queries/auth/use-delete-users.ts 42ms (unchanged)
src/controllers/API/queries/auth/use-get-autologin.ts 47ms (unchanged)
src/controllers/API/queries/auth/use-get-user.ts 43ms (unchanged)
src/controllers/API/queries/auth/use-get-users-page.ts 38ms (unchanged)
src/controllers/API/queries/auth/use-patch-reset-password.ts 38ms (unchanged)
src/controllers/API/queries/auth/use-patch-update-user.ts 43ms (unchanged)
src/controllers/API/queries/auth/use-post-add-user.ts 40ms (unchanged)
src/controllers/API/queries/auth/use-post-login-user.ts 39ms (unchanged)
src/controllers/API/queries/auth/use-post-logout.ts 49ms (unchanged)
src/controllers/API/queries/auth/use-post-refresh-access.ts 41ms (unchanged)
src/controllers/API/queries/config/use-get-config.ts 39ms (unchanged)
src/controllers/API/queries/file-management/index.ts 33ms (unchanged)
src/controllers/API/queries/file-management/use-delete-file.ts 40ms (unchanged)
src/controllers/API/queries/file-management/use-delete-files.ts 33ms (unchanged)
src/controllers/API/queries/file-management/use-duplicate-file.ts 46ms (unchanged)
src/controllers/API/queries/file-management/use-get-download-file.ts 33ms (unchanged)
src/controllers/API/queries/file-management/use-get-download-files.ts 38ms (unchanged)
src/controllers/API/queries/file-management/use-get-files.ts 42ms (unchanged)
src/controllers/API/queries/file-management/use-post-upload-file.ts 44ms (unchanged)
src/controllers/API/queries/file-management/use-put-rename-file.ts 32ms (unchanged)
src/controllers/API/queries/files/index.ts 34ms (unchanged)
src/controllers/API/queries/files/use-download-files.ts 38ms (unchanged)
src/controllers/API/queries/files/use-get-download-images.ts 38ms (unchanged)
src/controllers/API/queries/files/use-get-profile-pictures.ts 38ms (unchanged)
src/controllers/API/queries/files/use-post-upload-file.ts 46ms (unchanged)
src/controllers/API/queries/flows/use-delete-delete-flows.ts 38ms (unchanged)
src/controllers/API/queries/flows/use-get-basic-examples.ts 37ms (unchanged)
src/controllers/API/queries/flows/use-get-download-flows.ts 50ms (unchanged)
src/controllers/API/queries/flows/use-get-flow.ts 47ms (unchanged)
src/controllers/API/queries/flows/use-get-refresh-flows-query.ts 51ms (unchanged)
src/controllers/API/queries/flows/use-get-types.ts 38ms (unchanged)
src/controllers/API/queries/flows/use-patch-update-flow.ts 48ms (unchanged)
src/controllers/API/queries/flows/use-post-add-flow.ts 39ms (unchanged)
src/controllers/API/queries/folders/index.tsx 35ms (unchanged)
src/controllers/API/queries/folders/use-delete-folders.ts 42ms (unchanged)
src/controllers/API/queries/folders/use-get-download-folders.ts 39ms (unchanged)
src/controllers/API/queries/folders/use-get-folder.ts 42ms (unchanged)
src/controllers/API/queries/folders/use-get-folders.ts 42ms (unchanged)
src/controllers/API/queries/folders/use-patch-folders.ts 43ms (unchanged)
src/controllers/API/queries/folders/use-post-folders.ts 43ms (unchanged)
src/controllers/API/queries/folders/use-post-upload-folders.ts 34ms (unchanged)
src/controllers/API/queries/folders/use-post-upload-to-folder.ts 44ms (unchanged)
src/controllers/API/queries/health/index.ts 35ms (unchanged)
src/controllers/API/queries/health/use-get-health.ts 42ms (unchanged)
src/controllers/API/queries/mcp/index.ts 37ms (unchanged)
src/controllers/API/queries/mcp/use-get-flows-mcp.ts 32ms (unchanged)
src/controllers/API/queries/mcp/use-patch-flows-mcp.ts 36ms (unchanged)
src/controllers/API/queries/messages/index.ts 37ms (unchanged)
src/controllers/API/queries/messages/use-delete-messages.ts 33ms (unchanged)
src/controllers/API/queries/messages/use-get-messages-polling.ts 56ms (unchanged)
src/controllers/API/queries/messages/use-get-messages.ts 55ms (unchanged)
src/controllers/API/queries/messages/use-put-update-messages.ts 46ms (unchanged)
src/controllers/API/queries/messages/use-rename-session.ts 45ms (unchanged)
src/controllers/API/queries/nodes/use-post-template-value.ts 35ms (unchanged)
src/controllers/API/queries/nodes/use-post-validate-code.ts 40ms (unchanged)
src/controllers/API/queries/nodes/use-post-validate-component-code.ts 39ms (unchanged)
src/controllers/API/queries/nodes/use-post-validate-prompt.ts 41ms (unchanged)
src/controllers/API/queries/store/index.ts 34ms (unchanged)
src/controllers/API/queries/store/use-get-tags.ts 42ms (unchanged)
src/controllers/API/queries/store/use-post-like-component.ts 31ms (unchanged)
src/controllers/API/queries/transactions/index.ts 43ms (unchanged)
src/controllers/API/queries/transactions/use-get-transactions.ts 40ms (unchanged)
src/controllers/API/queries/variables/index.ts 35ms (unchanged)
src/controllers/API/queries/variables/use-delete-global-variables.ts 41ms (unchanged)
src/controllers/API/queries/variables/use-get-global-variables.ts 38ms (unchanged)
src/controllers/API/queries/variables/use-get-mutation-global-variables.ts 42ms (unchanged)
src/controllers/API/queries/variables/use-patch-global-variables.ts 40ms (unchanged)
src/controllers/API/queries/variables/use-post-global-variables.ts 43ms (unchanged)
src/controllers/API/queries/version/index.ts 29ms (unchanged)
src/controllers/API/queries/version/use-get-version.ts 43ms (unchanged)
src/controllers/API/queries/vertex/index.tsx 36ms (unchanged)
src/controllers/API/queries/vertex/use-post-retrieve-vertex-order.tsx 48ms (unchanged)
src/controllers/API/queries/voice/use-get-voice-list.ts 42ms (unchanged)
src/controllers/API/services/request-processor.ts 59ms (unchanged)
src/controllers/utils/create-query-param-string.ts 78ms (unchanged)
src/CustomEdges/index.tsx 44ms (unchanged)
src/customization/components/custom-AccountMenu.tsx 36ms (unchanged)
src/customization/components/custom-api-generator.tsx 36ms (unchanged)
src/customization/components/custom-banner.tsx 34ms (unchanged)
src/customization/components/custom-chat-input.tsx 32ms (unchanged)
src/customization/components/custom-connectionComponent.tsx 40ms (unchanged)
src/customization/components/custom-DashboardWrapperPage.tsx 37ms (unchanged)
src/customization/components/custom-dialog-content-without-fixed.tsx 35ms (unchanged)
src/customization/components/custom-empty-page.tsx 36ms (unchanged)
src/customization/components/custom-feature-flag-dialog.tsx 34ms (unchanged)
src/customization/components/custom-feature-flag-menu-items.tsx 28ms (unchanged)
src/customization/components/custom-feedback-dialog.tsx 34ms (unchanged)
src/customization/components/custom-fetch-error-component.tsx 33ms (unchanged)
src/customization/components/custom-file-card.tsx 44ms (unchanged)
src/customization/components/custom-file-input.tsx 39ms (unchanged)
src/customization/components/custom-get-started-progress.tsx 31ms (unchanged)
src/customization/components/custom-header-menu-items-title.tsx 40ms (unchanged)
src/customization/components/custom-header.tsx 33ms (unchanged)
src/customization/components/custom-langflow-counts.tsx 36ms (unchanged)
src/customization/components/custom-link.tsx 33ms (unchanged)
src/customization/components/custom-linkComponent.tsx 56ms (unchanged)
src/customization/components/custom-loader.tsx 68ms (unchanged)
src/customization/components/custom-loading-page.tsx 35ms (unchanged)
src/customization/components/custom-McpServerTab.tsx 42ms (unchanged)
src/customization/components/custom-navigate.tsx 40ms (unchanged)
src/customization/components/custom-new-modal.tsx 44ms (unchanged)
src/customization/components/custom-NodeStatus.tsx 31ms (unchanged)
src/customization/components/custom-org-selector.tsx 35ms (unchanged)
src/customization/components/custom-parameter.tsx 41ms (unchanged)
src/customization/components/custom-product-selector.tsx 31ms (unchanged)
src/customization/components/custom-profile-icon.tsx 35ms (unchanged)
src/customization/components/custom-profile-picture-chooser.tsx 34ms (unchanged)
src/customization/components/custom-secret-key-modal-button.tsx 44ms (unchanged)
src/customization/components/custom-store-button.tsx 37ms (unchanged)
src/customization/components/custom-store-sidebar.tsx 41ms (unchanged)
src/customization/components/custom-voice-assistant.tsx 31ms (unchanged)
src/customization/config-constants.ts 34ms (unchanged)
src/customization/constants.ts 25ms (unchanged)
src/customization/custom-App.tsx 37ms (unchanged)
src/customization/custom-wrapper.tsx 31ms (unchanged)
src/customization/feature-flags.ts 30ms (unchanged)
src/customization/hooks/use-custom-api-headers.ts 28ms (unchanged)
src/customization/hooks/use-custom-generate-token.ts 32ms (unchanged)
src/customization/hooks/use-custom-navigate.ts 36ms (unchanged)
src/customization/hooks/use-custom-post-auth.ts 32ms (unchanged)
src/customization/hooks/use-custom-post-upload-file.ts 33ms (unchanged)
src/customization/hooks/use-custom-primary-loading.ts 35ms (unchanged)
src/customization/hooks/use-custom-start-conversation.ts 32ms (unchanged)
src/customization/hooks/use-custom-start-recording.ts 38ms (unchanged)
src/customization/hooks/use-custom-theme.ts 43ms (unchanged)
src/customization/hooks/use-custom-use-file-handler.ts 32ms (unchanged)
src/customization/types/updater.ts 32ms (unchanged)
src/customization/utils/analytics.ts 36ms (unchanged)
src/customization/utils/custom-buildUtils.ts 36ms (unchanged)
src/customization/utils/custom-get-access-token.ts 34ms (unchanged)
src/customization/utils/custom-get-app-latest-version.ts 31ms (unchanged)
src/customization/utils/custom-get-download-folders.ts 40ms (unchanged)
src/customization/utils/custom-get-host-protocol.ts 31ms (unchanged)
src/customization/utils/custom-mcp-open.ts 34ms (unchanged)
src/customization/utils/custom-mcp-url.ts 38ms (unchanged)
src/customization/utils/custom-open-new-tab.ts 36ms (unchanged)
src/customization/utils/custom-pre-load-image-url.ts 33ms (unchanged)
src/customization/utils/custom-reactFlowUtils.ts 35ms (unchanged)
src/customization/utils/custom-refresh-latest-version.ts 39ms (unchanged)
src/customization/utils/custom-routes-store-pages.tsx 35ms (unchanged)
src/customization/utils/custom-routes-store.tsx 40ms (unchanged)
src/customization/utils/dialog-class.ts 29ms (unchanged)
src/customization/utils/get-modal-props.tsx 37ms (unchanged)
src/customization/utils/urls.ts 30ms (unchanged)
src/CustomNodes/GenericNode/components/handleRenderComponent/index.tsx 111ms (unchanged)
src/CustomNodes/GenericNode/components/HandleTooltipComponent/index.tsx 57ms (unchanged)
src/CustomNodes/GenericNode/components/ListSelectionComponent/ComboBoxItem.tsx 66ms (unchanged)
src/CustomNodes/GenericNode/components/ListSelectionComponent/index.tsx 84ms (unchanged)
src/CustomNodes/GenericNode/components/ListSelectionComponent/ListItem.tsx 60ms (unchanged)
src/CustomNodes/GenericNode/components/NodeDescription/index.tsx 81ms (unchanged)
src/CustomNodes/GenericNode/components/NodeDialogComponent/index.tsx 91ms (unchanged)
src/CustomNodes/GenericNode/components/nodeIcon/index.tsx 64ms (unchanged)
src/CustomNodes/GenericNode/components/NodeInputField/index.tsx 88ms (unchanged)
src/CustomNodes/GenericNode/components/NodeInputInfo/index.tsx 42ms (unchanged)
src/CustomNodes/GenericNode/components/NodeName/index.tsx 63ms (unchanged)
src/CustomNodes/GenericNode/components/NodeOutputfield/index.tsx 108ms (unchanged)
src/CustomNodes/GenericNode/components/NodeOutputParameter/index.tsx 51ms (unchanged)
src/CustomNodes/GenericNode/components/NodeOutputParameter/NodeOutputs.tsx 57ms (unchanged)
src/CustomNodes/GenericNode/components/NodeStatus/components/build-status-display.tsx 56ms (unchanged)
src/CustomNodes/GenericNode/components/NodeStatus/index.tsx 107ms (unchanged)
src/CustomNodes/GenericNode/components/NodeStatus/utils/format-run-time.ts 58ms (unchanged)
src/CustomNodes/GenericNode/components/NodeUpdateComponent/index.tsx 59ms (unchanged)
src/CustomNodes/GenericNode/components/OutputComponent/index.tsx 60ms (unchanged)
src/CustomNodes/GenericNode/components/outputModal/components/switchOutputView/components/index.tsx 53ms (unchanged)
src/CustomNodes/GenericNode/components/outputModal/components/switchOutputView/index.tsx 75ms (unchanged)
src/CustomNodes/GenericNode/components/outputModal/index.tsx 50ms (unchanged)
src/CustomNodes/GenericNode/components/RenderInputParameters/index.tsx 57ms (unchanged)
src/CustomNodes/GenericNode/hooks/use-get-build-status.ts 44ms (unchanged)
src/CustomNodes/GenericNode/index.tsx 115ms (unchanged)
src/CustomNodes/helpers/check-code-validity.ts 53ms (unchanged)
src/CustomNodes/helpers/check-lucide-icons.ts 33ms (unchanged)
src/CustomNodes/helpers/count-handles.ts 38ms (unchanged)
src/CustomNodes/helpers/get-class-from-build-status.ts 41ms (unchanged)
src/CustomNodes/helpers/get-class-toolbar-transform.ts 33ms (unchanged)
src/CustomNodes/helpers/get-node-input-colors-name.ts 47ms (unchanged)
src/CustomNodes/helpers/get-node-input-colors.ts 42ms (unchanged)
src/CustomNodes/helpers/get-node-output-colors-name.ts 47ms (unchanged)
src/CustomNodes/helpers/get-node-output-colors.ts 46ms (unchanged)
src/CustomNodes/helpers/mutate-template.ts 57ms (unchanged)
src/CustomNodes/helpers/process-node-advanced-fields.ts 39ms (unchanged)
src/CustomNodes/helpers/sort-tool-mode-field.ts 32ms (unchanged)
src/CustomNodes/helpers/update-hidden-outputs.ts 28ms (unchanged)
src/CustomNodes/hooks/use-fetch-data-on-mount.ts 37ms (unchanged)
src/CustomNodes/hooks/use-handle-new-value.ts 44ms (unchanged)
src/CustomNodes/hooks/use-handle-node-class.ts 38ms (unchanged)
src/CustomNodes/hooks/use-icons-status.tsx 28ms (unchanged)
src/CustomNodes/hooks/use-merge-refs.ts 233ms (unchanged)
src/CustomNodes/hooks/use-update-all-nodes.ts 37ms (unchanged)
src/CustomNodes/hooks/use-update-node-code.ts 42ms (unchanged)
src/CustomNodes/hooks/use-update-validation-status.ts 32ms (unchanged)
src/CustomNodes/hooks/use-validation-status-string.ts 29ms (unchanged)
src/CustomNodes/NoteNode/components/color-picker-buttons.tsx 37ms (unchanged)
src/CustomNodes/NoteNode/components/select-items.tsx 41ms (unchanged)
src/CustomNodes/NoteNode/index.tsx 70ms (unchanged)
src/CustomNodes/NoteNode/NoteToolbarComponent/index.tsx 62ms (unchanged)
src/CustomNodes/utils/get-field-title.tsx 35ms (unchanged)
src/CustomNodes/utils/get-handle-id.tsx 43ms (unchanged)
src/CustomNodes/utils/sort-fields.tsx 37ms (unchanged)
src/flow_constants.tsx 32ms (unchanged)
src/helpers/create-file-upload.ts 40ms (unchanged)
src/helpers/get-objects-from-filelist.ts 30ms (unchanged)
src/hooks/files/use-upload-file.ts 38ms (unchanged)
src/hooks/flows/use-add-flow.ts 56ms (unchanged)
src/hooks/flows/use-autosave-flow.ts 34ms (unchanged)
src/hooks/flows/use-delete-flow.ts 35ms (unchanged)
src/hooks/flows/use-save-flow.ts 47ms (unchanged)
src/hooks/flows/use-upload-flow.ts 45ms (unchanged)
src/hooks/use-add-component.ts 36ms (unchanged)
src/hooks/use-debounce.ts 47ms (unchanged)
src/hooks/use-mobile.ts 44ms (unchanged)
src/hooks/use-overlap-shortcuts.ts 39ms (unchanged)
src/hooks/use-unsaved-changes.ts 42ms (unchanged)
src/icons/AgentQL/AgentQL.jsx 47ms (unchanged)
src/icons/AgentQL/index.tsx 33ms (unchanged)
src/icons/AIML/AI-ML.jsx 59ms (unchanged)
src/icons/AIML/index.tsx 33ms (unchanged)
src/icons/Airbyte/Airbyte.jsx 30ms (unchanged)
src/icons/Airbyte/index.tsx 37ms (unchanged)
src/icons/Anthropic/Anthropic.jsx 26ms (unchanged)
src/icons/Anthropic/index.tsx 37ms (unchanged)
src/icons/Apify/Apify.jsx 32ms (unchanged)
src/icons/Apify/index.tsx 41ms (unchanged)
src/icons/Arize/Arize.jsx 33ms (unchanged)
src/icons/Arize/index.tsx 28ms (unchanged)
src/icons/ArXiv/ArXivIcon.jsx 34ms (unchanged)
src/icons/ArXiv/index.tsx 27ms (unchanged)
src/icons/AssemblyAI/AssemblyAI.jsx 32ms (unchanged)
src/icons/AssemblyAI/index.tsx 27ms (unchanged)
src/icons/AstraDB/AstraDB.jsx 38ms (unchanged)
src/icons/AstraDB/index.tsx 26ms (unchanged)
src/icons/athena/athena.jsx 44ms (unchanged)
src/icons/athena/index.tsx 39ms (unchanged)
src/icons/AWS/AWS.jsx 33ms (unchanged)
src/icons/AWS/index.tsx 30ms (unchanged)
src/icons/AWSInverted/AWS.jsx 31ms (unchanged)
src/icons/AWSInverted/index.tsx 40ms (unchanged)
src/icons/AzLogo/AzLogo.jsx 26ms (unchanged)
src/icons/AzLogo/index.tsx 33ms (unchanged)
src/icons/Azure/Azure.jsx 51ms (unchanged)
src/icons/Azure/index.tsx 34ms (unchanged)
src/icons/Bing/Bing.jsx 34ms (unchanged)
src/icons/Bing/index.tsx 31ms (unchanged)
src/icons/BotMessageSquare/BotMessageSquare.jsx 33ms (unchanged)
src/icons/BotMessageSquare/index.tsx 31ms (unchanged)
src/icons/BW python/index.tsx 30ms (unchanged)
src/icons/BW python/Python.jsx 33ms (unchanged)
src/icons/Cassandra/Cassandra.jsx 30ms (unchanged)
src/icons/Cassandra/index.tsx 34ms (unchanged)
src/icons/ChromaIcon/Chroma.jsx 31ms (unchanged)
src/icons/ChromaIcon/index.tsx 39ms (unchanged)
src/icons/Claude/Claude.jsx 31ms (unchanged)
src/icons/Claude/index.tsx 29ms (unchanged)
src/icons/Clickhouse/Clickhouse.jsx 32ms (unchanged)
src/icons/Clickhouse/index.tsx 32ms (unchanged)
src/icons/Cloudflare/Cloudflare.jsx 30ms (unchanged)
src/icons/Cloudflare/index.tsx 39ms (unchanged)
src/icons/Cohere/Cohere.jsx 35ms (unchanged)
src/icons/Cohere/index.tsx 29ms (unchanged)
src/icons/Composio/composio.jsx 27ms (unchanged)
src/icons/Composio/index.tsx 31ms (unchanged)
src/icons/Confluence/Confluence.jsx 32ms (unchanged)
src/icons/Confluence/index.tsx 32ms (unchanged)
src/icons/Couchbase/Couchbase.jsx 59ms (unchanged)
src/icons/Couchbase/index.tsx 38ms (unchanged)
src/icons/CrewAI/CrewAiIcon.jsx 34ms (unchanged)
src/icons/CrewAI/index.tsx 28ms (unchanged)
src/icons/Cursor/Cursor.jsx 48ms (unchanged)
src/icons/Cursor/index.tsx 33ms (unchanged)
src/icons/DeepSeek/DeepSeekIcon.jsx 33ms (unchanged)
src/icons/DeepSeek/index.tsx 35ms (unchanged)
src/icons/Dropbox/Dropbox.jsx 29ms (unchanged)
src/icons/Dropbox/index.tsx 29ms (unchanged)
src/icons/DuckDuckGo/DuckDuckGo.jsx 35ms (unchanged)
src/icons/DuckDuckGo/index.tsx 35ms (unchanged)
src/icons/eagerIconImports.ts 80ms (unchanged)
src/icons/ElasticsearchStore/ElasticsearchLogo.jsx 28ms (unchanged)
src/icons/ElasticsearchStore/index.tsx 31ms (unchanged)
src/icons/Evernote/EvernoteIcon.jsx 33ms (unchanged)
src/icons/Evernote/index.tsx 31ms (unchanged)
src/icons/Exa/Exa.jsx 37ms (unchanged)
src/icons/Exa/index.tsx 35ms (unchanged)
src/icons/FacebookMessenger/FacebookMessengerLogo2020.jsx 32ms (unchanged)
src/icons/FacebookMessenger/index.tsx 32ms (unchanged)
src/icons/Firecrawl/FirecrawlLogo.jsx 33ms (unchanged)
src/icons/Firecrawl/index.tsx 29ms (unchanged)
src/icons/fontAwesomeIcons.ts 34ms (unchanged)
src/icons/freezeAll/freezeAll.jsx 31ms (unchanged)
src/icons/freezeAll/index.tsx 29ms (unchanged)
src/icons/GitBook/GitbookSvgrepoCom.jsx 34ms (unchanged)
src/icons/GitBook/index.tsx 32ms (unchanged)
src/icons/github/github.jsx 30ms (unchanged)
src/icons/github/index.tsx 31ms (unchanged)
src/icons/GitLoader/GitLoader.jsx 31ms (unchanged)
src/icons/GitLoader/index.tsx 31ms (unchanged)
src/icons/Glean/Glean.jsx 229ms (unchanged)
src/icons/Glean/index.tsx 32ms (unchanged)
src/icons/globe-ok/globe-ok.jsx 25ms (unchanged)
src/icons/globe-ok/index.tsx 33ms (unchanged)
src/icons/gmail/gmail.jsx 33ms (unchanged)
src/icons/gmail/index.tsx 37ms (unchanged)
src/icons/Google/Google.jsx 27ms (unchanged)
src/icons/Google/index.tsx 36ms (unchanged)
src/icons/googlecalendar/googlecalendar.jsx 29ms (unchanged)
src/icons/googlecalendar/index.tsx 35ms (unchanged)
src/icons/GoogleDrive/GoogleDrive.jsx 35ms (unchanged)
src/icons/GoogleDrive/index.tsx 31ms (unchanged)
src/icons/GoogleGenerativeAI/GoogleGemini.jsx 33ms (unchanged)
src/icons/GoogleGenerativeAI/index.tsx 32ms (unchanged)
src/icons/GradientSparkles/index.tsx 37ms (unchanged)
src/icons/GridHorizontal/GridHorizontalIcon.jsx 29ms (unchanged)
src/icons/GridHorizontal/index.tsx 36ms (unchanged)
src/icons/Groq/GroqLogo.jsx 32ms (unchanged)
src/icons/Groq/index.tsx 29ms (unchanged)
src/icons/hackerNews/index.tsx 33ms (unchanged)
src/icons/hackerNews/YCombinatorLogo.jsx 31ms (unchanged)
src/icons/HCD/HCD.jsx 34ms (unchanged)
src/icons/HCD/index.tsx 31ms (unchanged)
src/icons/HomeAssistant/HomeAssistant.jsx 32ms (unchanged)
src/icons/HomeAssistant/index.tsx 31ms (unchanged)
src/icons/HuggingFace/HfLogo.jsx 34ms (unchanged)
src/icons/HuggingFace/index.tsx 24ms (unchanged)
src/icons/IBMWatsonx/index.tsx 34ms (unchanged)
src/icons/IBMWatsonx/WatsonxAI.jsx 29ms (unchanged)
src/icons/Icosa/Icosa.jsx 29ms (unchanged)
src/icons/Icosa/index.tsx 34ms (unchanged)
src/icons/IFixIt/IfixitSeeklogoCom.jsx 28ms (unchanged)
src/icons/IFixIt/index.tsx 37ms (unchanged)
src/icons/JSicon/index.tsx 32ms (unchanged)
src/icons/JSicon/JSIcon.jsx 31ms (unchanged)
src/icons/LangChain/index.tsx 35ms (unchanged)
src/icons/LangChain/LangChainIcon.jsx 27ms (unchanged)
src/icons/Langwatch/index.tsx 29ms (unchanged)
src/icons/Langwatch/langwatch.jsx 27ms (unchanged)
src/icons/lazyIconImports.ts 92ms (unchanged)
src/icons/LMStudio/index.tsx 31ms (unchanged)
src/icons/LMStudio/LMStudioIcon.jsx 31ms (unchanged)
src/icons/Maritalk/index.tsx 30ms (unchanged)
src/icons/Maritalk/MaritalkIcon.jsx 44ms (unchanged)
src/icons/MCP/index.tsx 40ms (unchanged)
src/icons/MCP/McpIcon.jsx 25ms (unchanged)
src/icons/Mem0/index.tsx 35ms (unchanged)
src/icons/Mem0/SvgMem.jsx 31ms (unchanged)
src/icons/Meta/index.tsx 30ms (unchanged)
src/icons/Meta/MetaIcon.jsx 34ms (unchanged)
src/icons/Midjorney/index.tsx 35ms (unchanged)
src/icons/Midjorney/MidjourneyEmblem.jsx 28ms (unchanged)
src/icons/Milvus/index.tsx 30ms (unchanged)
src/icons/Milvus/Milvus.jsx 37ms (unchanged)
src/icons/mistral/index.tsx 32ms (unchanged)
src/icons/mistral/mistralIcon.jsx 32ms (unchanged)
src/icons/MongoDB/index.tsx 36ms (unchanged)
src/icons/MongoDB/MongodbIcon.jsx 28ms (unchanged)
src/icons/Needle/index.tsx 33ms (unchanged)
src/icons/NotDiamond/index.tsx 38ms (unchanged)
src/icons/NotDiamond/NotDiamondIcon.jsx 28ms (unchanged)
src/icons/Notion/index.tsx 35ms (unchanged)
src/icons/Notion/NotionLogo.jsx 22ms (unchanged)
src/icons/Novita/index.tsx 32ms (unchanged)
src/icons/Novita/novita.jsx 27ms (unchanged)
src/icons/Nvidia/index.tsx 28ms (unchanged)
src/icons/Nvidia/nvidia.jsx 33ms (unchanged)
src/icons/Olivya/index.tsx 34ms (unchanged)
src/icons/Olivya/olivya.jsx 59ms (unchanged)
src/icons/Ollama/index.tsx 33ms (unchanged)
src/icons/Ollama/Ollama.jsx 30ms (unchanged)
src/icons/OneDrive/index.tsx 40ms (unchanged)
src/icons/OneDrive/OneDrive.jsx 30ms (unchanged)
src/icons/OpenAi/index.tsx 31ms (unchanged)
src/icons/OpenAi/OpenAi.jsx 29ms (unchanged)
src/icons/OpenRouter/index.tsx 31ms (unchanged)
src/icons/OpenRouter/OpenRouterIcon.jsx 30ms (unchanged)
src/icons/OpenSearch/index.tsx 30ms (unchanged)
src/icons/OpenSearch/OpenSearch.jsx 37ms (unchanged)
src/icons/Perplexity/index.tsx 26ms (unchanged)
src/icons/Perplexity/Perplexity.jsx 35ms (unchanged)
src/icons/Pinecone/index.tsx 29ms (unchanged)
src/icons/Pinecone/PineconeLogo.jsx 37ms (unchanged)
src/icons/Postgres/index.tsx 36ms (unchanged)
src/icons/Postgres/Postgres.jsx 45ms (unchanged)
src/icons/PowerPoint/index.tsx 36ms (unchanged)
src/icons/PowerPoint/PowerPoint.jsx 35ms (unchanged)
src/icons/Python/index.tsx 41ms (unchanged)
src/icons/Python/Python.jsx 45ms (unchanged)
src/icons/QDrant/index.tsx 30ms (unchanged)
src/icons/QDrant/QDrant.jsx 33ms (unchanged)
src/icons/QianFanChat/index.tsx 29ms (unchanged)
src/icons/QianFanChat/QianFanChat.jsx 31ms (unchanged)
src/icons/ReadTheDocs/index.tsx 30ms (unchanged)
src/icons/ReadTheDocs/ReadthedocsioIcon.jsx 28ms (unchanged)
src/icons/Redis/index.tsx 35ms (unchanged)
src/icons/Redis/Redis.jsx 41ms (unchanged)
src/icons/SambaNova/index.tsx 37ms (unchanged)
src/icons/SambaNova/SambaNovaLogo.jsx 29ms (unchanged)
src/icons/ScrapeGraphAI/index.tsx 29ms (unchanged)
src/icons/ScrapeGraphAI/ScrapeGraphAI.jsx 35ms (unchanged)
src/icons/SearchAPI/index.tsx 36ms (unchanged)
src/icons/SearchAPI/SearchAPI.jsx 28ms (unchanged)
src/icons/SearchHybrid/index.tsx 29ms (unchanged)
src/icons/SearchHybrid/SearchHybridIcon.jsx 29ms (unchanged)
src/icons/SearchLexical/index.tsx 34ms (unchanged)
src/icons/SearchLexical/SearchLexicalIcon.jsx 28ms (unchanged)
src/icons/SearchVector/index.tsx 33ms (unchanged)
src/icons/SearchVector/SearchVectorIcon.jsx 32ms (unchanged)
src/icons/Searx/index.tsx 28ms (unchanged)
src/icons/Searx/SearxLogo.jsx 36ms (unchanged)
src/icons/Serper/index.tsx 38ms (unchanged)
src/icons/Serper/Serper.jsx 26ms (unchanged)
src/icons/SerpSearch/index.tsx 35ms (unchanged)
src/icons/SerpSearch/SerpSearch.jsx 43ms (unchanged)
src/icons/Share/index.tsx 63ms (unchanged)
src/icons/Share/Share.jsx 29ms (unchanged)
src/icons/Share2/index.tsx 34ms (unchanged)
src/icons/Share2/Share2.jsx 24ms (unchanged)
src/icons/Slack/index.tsx 33ms (unchanged)
src/icons/Slack/SlackIcon.jsx 27ms (unchanged)
src/icons/Spider/index.tsx 32ms (unchanged)
src/icons/Spider/SpiderIcon.jsx 29ms (unchanged)
src/icons/Streamlit/index.tsx 38ms (unchanged)
src/icons/Streamlit/SvgStreamlit.jsx 29ms (unchanged)
src/icons/supabase/index.tsx 37ms (unchanged)
src/icons/supabase/SupabaseIcon.jsx 25ms (unchanged)
src/icons/Tavily/index.tsx 32ms (unchanged)
src/icons/Tavily/Tavily.jsx 38ms (unchanged)
src/icons/thumbs/index.tsx 28ms (unchanged)
src/icons/thumbs/thumbDown.jsx 30ms (unchanged)
src/icons/thumbs/thumbUp.jsx 29ms (unchanged)
src/icons/TwelveLabs/index.tsx 34ms (unchanged)
src/icons/TwelveLabs/TwelveLabsLogo.jsx 29ms (unchanged)
src/icons/Twitter X/index.tsx 33ms (unchanged)
src/icons/Twitter X/TwitterX.jsx 34ms (unchanged)
src/icons/Unstructured/index.tsx 29ms (unchanged)
src/icons/Unstructured/Unstructured.jsx 27ms (unchanged)
src/icons/Upstash/index.tsx 36ms (unchanged)
src/icons/Upstash/UpstashIcon.jsx 31ms (unchanged)
src/icons/VectaraIcon/index.tsx 31ms (unchanged)
src/icons/VectaraIcon/Vectara.jsx 48ms (unchanged)
src/icons/VertexAI/index.tsx 34ms (unchanged)
src/icons/VertexAI/VertexAi.jsx 38ms (unchanged)
src/icons/Weaviate/index.tsx 31ms (unchanged)
src/icons/Weaviate/Weaviate.jsx 46ms (unchanged)
src/icons/Wikipedia/index.tsx 31ms (unchanged)
src/icons/Wikipedia/Wikipedia.jsx 63ms (unchanged)
src/icons/Wolfram/index.tsx 247ms (unchanged)
src/icons/Wolfram/Wolfram.jsx 63ms (unchanged)
src/icons/Word/index.tsx 34ms (unchanged)
src/icons/Word/Word.jsx 32ms (unchanged)
src/icons/xAI/index.tsx 34ms (unchanged)
src/icons/xAI/xAIIcon.jsx 31ms (unchanged)
src/icons/Youtube/index.tsx 33ms (unchanged)
src/icons/Youtube/youtube.jsx 125ms (unchanged)
src/icons/ZepMemory/index.tsx 55ms (unchanged)
src/icons/ZepMemory/ZepMemory.jsx 43ms (unchanged)
src/index.tsx 27ms (unchanged)
src/modals/apiModal/codeTabs/code-tabs.tsx 69ms (unchanged)
src/modals/apiModal/index.tsx 61ms (unchanged)
src/modals/apiModal/utils/get-changes-types.ts 44ms (unchanged)
src/modals/apiModal/utils/get-curl-code.tsx 58ms (unchanged)
src/modals/apiModal/utils/get-js-api-code.tsx 54ms (unchanged)
src/modals/apiModal/utils/get-nodes-with-default-value.ts 44ms (unchanged)
src/modals/apiModal/utils/get-python-api-code.tsx 38ms (unchanged)
src/modals/apiModal/utils/get-widget-code.tsx 31ms (unchanged)
src/modals/baseModal/helpers/switch-case-size.ts 36ms (unchanged)
src/modals/baseModal/index.tsx 64ms (unchanged)
src/modals/codeAreaModal/index.tsx 68ms (unchanged)
src/modals/confirmationModal/index.tsx 50ms (unchanged)
src/modals/deleteConfirmationModal/index.tsx 42ms (unchanged)
src/modals/dictAreaModal/index.tsx 58ms (unchanged)
src/modals/editNodeModal/components/editNodeComponent/index.tsx 38ms (unchanged)
src/modals/editNodeModal/hooks/use-column-defs.ts 41ms (unchanged)
src/modals/editNodeModal/hooks/use-handle-change-advanced.ts 36ms (unchanged)
src/modals/editNodeModal/hooks/use-row-data.ts 40ms (unchanged)
src/modals/editNodeModal/index.tsx 41ms (unchanged)
src/modals/EmbedModal/embed-modal.tsx 46ms (unchanged)
src/modals/exportModal/index.tsx 57ms (unchanged)
src/modals/fileManagerModal/components/dragFilesComponent/index.tsx 59ms (unchanged)
src/modals/fileManagerModal/components/filesContextMenuComponent/index.tsx 62ms (unchanged)
src/modals/fileManagerModal/components/filesRendererComponent/components/fileRendererComponent/index.tsx 73ms (unchanged)
src/modals/fileManagerModal/components/filesRendererComponent/index.tsx 46ms (unchanged)
src/modals/fileManagerModal/components/importButtonComponent/index.tsx 36ms (unchanged)
src/modals/fileManagerModal/components/recentFilesComponent/index.tsx 58ms (unchanged)
src/modals/fileManagerModal/index.tsx 48ms (unchanged)
src/modals/flowLogsModal/index.tsx 46ms (unchanged)
src/modals/flowSettingsModal/index.tsx 37ms (unchanged)
src/modals/IOModal/components/chat-view-wrapper.tsx 43ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/chat-input.tsx 67ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/button-send-wrapper.tsx 41ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/input-wrapper.tsx 44ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/no-input.tsx 49ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/text-area-wrapper.tsx 48ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/upload-file-button.tsx 44ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/components/audio-settings/audio-settings-dialog.tsx 89ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/components/audio-settings/components/header.tsx 55ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/components/audio-settings/components/language-select.tsx 55ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/components/audio-settings/components/microphone-select.tsx 66ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/components/audio-settings/components/voice-select.tsx 48ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/components/settings-voice-button.tsx 41ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/components/voice-button.tsx 42ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/helpers/audio-worklet-processor.js 59ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/helpers/check-provider.ts 44ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/helpers/format-time.ts 44ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/helpers/streamProcessor.ts 45ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/helpers/utils.ts 61ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/hooks/use-bar-controls.ts 69ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/hooks/use-handle-websocket-message.ts 51ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/hooks/use-initialize-audio.ts 49ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/hooks/use-interrupt-playback.ts 51ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/hooks/use-play-next-audio-chunk.ts 47ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/hooks/use-start-conversation.ts 59ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/hooks/use-start-recording.ts 51ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/hooks/use-stop-recording.ts 48ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/voice-assistant.tsx 81ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/hooks/use-auto-resize-text-area.ts 49ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/hooks/use-drag-and-drop.ts 39ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/hooks/use-file-handler.ts 55ms (unchanged)
src/modals/IOModal/components/chatView/chatInput/hooks/use-focus-unlock.ts 50ms (unchanged)
src/modals/IOModal/components/chatView/chatMessage/chat-message.tsx 86ms (unchanged)
src/modals/IOModal/components/chatView/chatMessage/components/chat-logo-icon.tsx 44ms (unchanged)
src/modals/IOModal/components/chatView/chatMessage/components/content-view.tsx 61ms (unchanged)
src/modals/IOModal/components/chatView/chatMessage/components/edit-message-field.tsx 61ms (unchanged)
src/modals/IOModal/components/chatView/chatMessage/components/edit-message.tsx 62ms (unchanged)
src/modals/IOModal/components/chatView/chatMessage/components/file-card-wrapper.tsx 41ms (unchanged)
src/modals/IOModal/components/chatView/chatMessage/components/message-options.tsx 44ms (unchanged)
src/modals/IOModal/components/chatView/chatMessage/helpers/convert-files.ts 43ms (unchanged)
src/modals/IOModal/components/chatView/components/chat-scroll-anchor.tsx 46ms (unchanged)
src/modals/IOModal/components/chatView/components/chat-view.tsx 68ms (unchanged)
src/modals/IOModal/components/chatView/fileComponent/components/download-button.tsx 46ms (unchanged)
src/modals/IOModal/components/chatView/fileComponent/components/file-card.tsx 54ms (unchanged)
src/modals/IOModal/components/chatView/fileComponent/components/file-preview.tsx 58ms (unchanged)
src/modals/IOModal/components/chatView/fileComponent/utils/format-file-name.tsx 45ms (unchanged)
src/modals/IOModal/components/chatView/fileComponent/utils/get-classes.tsx 40ms (unchanged)
src/modals/IOModal/components/flow-running-squeleton.tsx 26ms (unchanged)
src/modals/IOModal/components/IOFieldView/components/csv-selected.tsx 50ms (unchanged)
src/modals/IOModal/components/IOFieldView/components/file-input.tsx 48ms (unchanged)
src/modals/IOModal/components/IOFieldView/components/json-input.tsx 42ms (unchanged)
src/modals/IOModal/components/IOFieldView/components/key-pair-input.tsx 47ms (unchanged)
src/modals/IOModal/components/IOFieldView/components/session-selector.tsx 68ms (unchanged)
src/modals/IOModal/components/IOFieldView/io-field-view.tsx 60ms (unchanged)
src/modals/IOModal/components/selected-view-field.tsx 36ms (unchanged)
src/modals/IOModal/components/session-view.tsx 46ms (unchanged)
src/modals/IOModal/components/sidebar-open-view.tsx 37ms (unchanged)
src/modals/IOModal/new-modal.tsx 90ms (unchanged)
src/modals/IOModal/types/chat-view-wrapper.ts 36ms (unchanged)
src/modals/IOModal/types/selected-view-field.ts 39ms (unchanged)
src/modals/IOModal/types/sidebar-open-view.ts 36ms (unchanged)
src/modals/promptModal/index.tsx 59ms (unchanged)
src/modals/promptModal/utils/var-highlight-html.tsx 32ms (unchanged)
src/modals/queryModal/index.tsx 44ms (unchanged)
src/modals/saveChangesModal/index.tsx 40ms (unchanged)
src/modals/secretKeyModal/components/content-render.tsx 35ms (unchanged)
src/modals/secretKeyModal/components/form-key-render.tsx 38ms (unchanged)
src/modals/secretKeyModal/components/header-render.tsx 27ms (unchanged)
src/modals/secretKeyModal/index.tsx 42ms (unchanged)
src/modals/shareModal/index.tsx 53ms (unchanged)
src/modals/shareModal/utils/get-tags-ids.tsx 36ms (unchanged)
src/modals/tableModal/index.tsx 41ms (unchanged)
src/modals/templatesModal/components/GetStartedComponent/index.tsx 40ms (unchanged)
src/modals/templatesModal/components/navComponent/index.tsx 44ms (unchanged)
src/modals/templatesModal/components/TemplateCardComponent/index.tsx 42ms (unchanged)
src/modals/templatesModal/components/TemplateCategoryComponent/index.tsx 37ms (unchanged)
src/modals/templatesModal/components/TemplateContentComponent/index.tsx 49ms (unchanged)
src/modals/templatesModal/components/TemplateGetStartedCardComponent/index.tsx 47ms (unchanged)
src/modals/templatesModal/index.tsx 44ms (unchanged)
src/modals/textAreaModal/index.tsx 39ms (unchanged)
src/modals/textModal/components/textEditorArea/index.tsx 34ms (unchanged)
src/modals/textModal/index.tsx 40ms (unchanged)
src/modals/toolsModal/components/toolsTable/index.tsx 80ms (unchanged)
src/modals/toolsModal/index.tsx 46ms (unchanged)
src/modals/updateComponentModal/index.tsx 53ms (unchanged)
src/modals/userManagementModal/index.tsx 66ms (unchanged)
src/pages/AdminPage/index.tsx 76ms (unchanged)
src/pages/AdminPage/LoginPage/index.tsx 35ms (unchanged)
src/pages/AppAuthenticatedPage/index.tsx 30ms (unchanged)
src/pages/AppInitPage/index.tsx 39ms (unchanged)
src/pages/AppWrapperPage/components/GenericErrorComponent/index.tsx 45ms (unchanged)
src/pages/AppWrapperPage/hooks/use-health-check.ts 70ms (unchanged)
src/pages/AppWrapperPage/index.tsx 42ms (unchanged)
src/pages/DashboardWrapperPage/index.tsx 31ms (unchanged)
src/pages/DeleteAccountPage/index.tsx 39ms (unchanged)
src/pages/FlowPage/components/ConnectionLineComponent/index.tsx 42ms (unchanged)
src/pages/FlowPage/components/extraSidebarComponent/index.tsx 68ms (unchanged)
src/pages/FlowPage/components/flowBuildingComponent/helpers/visual-variants.ts 37ms (unchanged)
src/pages/FlowPage/components/flowBuildingComponent/index.tsx 70ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/components/bundleItems/index.tsx 54ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/components/categoryDisclouse/index.tsx 58ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/components/categoryGroup/index.tsx 49ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/components/emptySearchComponent/index.tsx 43ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/components/featureTogglesComponent/index.tsx 45ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/components/searchInput/index.tsx 40ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/components/sidebarBundles/index.tsx 46ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/components/sidebarDraggableComponent/index.tsx 62ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/components/sidebarFilterComponent/index.tsx 47ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/components/sidebarFooterButtons/index.tsx 43ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/components/sidebarHeader/index.tsx 46ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/components/sidebarItemsList/index.tsx 50ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/helpers/apply-beta-filter.ts 44ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/helpers/apply-edge-filter.ts 49ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/helpers/apply-legacy-filter.ts 49ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/helpers/combined-results.ts 37ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/helpers/disable-item.ts 42ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/helpers/filtered-data.ts 46ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/helpers/get-disabled-tooltip.ts 47ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/helpers/normalize-string.ts 46ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/helpers/search-on-metadata.ts 34ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/helpers/sensitive-sort.tsx 68ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/helpers/traditional-search-metadata.ts 40ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/index.tsx 86ms (unchanged)
src/pages/FlowPage/components/flowSidebarComponent/types/index.ts 44ms (unchanged)
src/pages/FlowPage/components/nodeToolbarComponent/components/toolbar-button.tsx 38ms (unchanged)
src/pages/FlowPage/components/nodeToolbarComponent/components/toolbar-modals.tsx 52ms (unchanged)
src/pages/FlowPage/components/nodeToolbarComponent/hooks/use-shortcuts.ts 52ms (unchanged)
src/pages/FlowPage/components/nodeToolbarComponent/index.tsx 149ms (unchanged)
src/pages/FlowPage/components/nodeToolbarComponent/shortcutDisplay/index.tsx 48ms (unchanged)
src/pages/FlowPage/components/nodeToolbarComponent/toolbarSelectItem/index.tsx 39ms (unchanged)
src/pages/FlowPage/components/PageComponent/index.tsx 101ms (unchanged)
src/pages/FlowPage/components/PageComponent/MemoizedComponents.tsx 56ms (unchanged)
src/pages/FlowPage/components/PageComponent/utils/get-random-name.tsx 46ms (unchanged)
src/pages/FlowPage/components/PageComponent/utils/is-wrapped-with-class.tsx 40ms (unchanged)
src/pages/FlowPage/components/SelectionMenuComponent/index.tsx 53ms (unchanged)
src/pages/FlowPage/components/UpdateAllComponents/index.tsx 64ms (unchanged)
src/pages/FlowPage/index.tsx 53ms (unchanged)
src/pages/LoadingPage/index.tsx 38ms (unchanged)
src/pages/LoginPage/index.tsx 53ms (unchanged)
src/pages/MainPage/components/dropdown/index.tsx 42ms (unchanged)
src/pages/MainPage/components/header/index.tsx 62ms (unchanged)
src/pages/MainPage/components/inputSearchComponent/index.tsx 231ms (unchanged)
src/pages/MainPage/components/list/index.tsx 65ms (unchanged)
src/pages/MainPage/components/listSkeleton/index.tsx 50ms (unchanged)
src/pages/MainPage/components/modalsComponent/index.tsx 47ms (unchanged)
src/pages/MainPage/entities/index.tsx 44ms (unchanged)
src/pages/MainPage/hooks/use-description-modal.ts 37ms (unchanged)
src/pages/MainPage/hooks/use-handle-duplicate.ts 44ms (unchanged)
src/pages/MainPage/hooks/use-on-file-drop.ts 45ms (unchanged)
src/pages/MainPage/hooks/use-select-options-change.ts 42ms (unchanged)
src/pages/MainPage/pages/empty-page.tsx 63ms (unchanged)
src/pages/MainPage/pages/emptyFolder/index.tsx 43ms (unchanged)
src/pages/MainPage/pages/emptyPage/index.tsx 56ms (unchanged)
src/pages/MainPage/pages/enchanced-beam-effect.tsx 38ms (unchanged)
src/pages/MainPage/pages/filesPage/components/dragWrapComponent/index.tsx 53ms (unchanged)
src/pages/MainPage/pages/filesPage/index.tsx 101ms (unchanged)
src/pages/MainPage/pages/homePage/components/McpServerTab.tsx 65ms (unchanged)
src/pages/MainPage/pages/homePage/index.tsx 65ms (unchanged)
src/pages/MainPage/pages/main-page.tsx 51ms (unchanged)
src/pages/MainPage/utils/get-template-style.ts 47ms (unchanged)
src/pages/MainPage/utils/sort-flows.ts 37ms (unchanged)
src/pages/MainPage/utils/time-elapse.ts 42ms (unchanged)
src/pages/Playground/index.tsx 43ms (unchanged)
src/pages/ProfileSettingsPage/index.tsx 51ms (unchanged)
src/pages/SettingsPage/index.tsx 48ms (unchanged)
src/pages/SettingsPage/pages/ApiKeysPage/components/ApiKeyHeader/index.tsx 38ms (unchanged)
src/pages/SettingsPage/pages/ApiKeysPage/helpers/column-defs.ts 38ms (unchanged)
src/pages/SettingsPage/pages/ApiKeysPage/helpers/get-modal-props.tsx 38ms (unchanged)
src/pages/SettingsPage/pages/ApiKeysPage/index.tsx 47ms (unchanged)
src/pages/SettingsPage/pages/GeneralPage/components/GeneralPageHeader/index.tsx 46ms (unchanged)
src/pages/SettingsPage/pages/GeneralPage/components/PasswordForm/index.tsx 49ms (unchanged)
src/pages/SettingsPage/pages/GeneralPage/components/ProfilePictureForm/components/profilePictureChooserComponent/hooks/use-preload-images.ts 54ms (unchanged)
src/pages/SettingsPage/pages/GeneralPage/components/ProfilePictureForm/components/profilePictureChooserComponent/index.tsx 60ms (unchanged)
src/pages/SettingsPage/pages/GeneralPage/components/ProfilePictureForm/index.tsx 64ms (unchanged)
src/pages/SettingsPage/pages/GeneralPage/index.tsx 60ms (unchanged)
src/pages/SettingsPage/pages/GlobalVariablesPage/index.tsx 47ms (unchanged)
src/pages/SettingsPage/pages/hooks/use-scroll-to-element.tsx 41ms (unchanged)
src/pages/SettingsPage/pages/messagesPage/components/headerMessages/index.tsx 41ms (unchanged)
src/pages/SettingsPage/pages/messagesPage/index.tsx 33ms (unchanged)
src/pages/SettingsPage/pages/ShortcutsPage/CellRenderWrapper/index.tsx 38ms (unchanged)
src/pages/SettingsPage/pages/ShortcutsPage/EditShortcutButton/index.tsx 54ms (unchanged)
src/pages/SettingsPage/pages/ShortcutsPage/index.tsx 50ms (unchanged)
src/pages/SettingsPage/pages/StoreApiKeyPage/components/StoreApiKeyForm.tsx 44ms (unchanged)
src/pages/SettingsPage/pages/StoreApiKeyPage/index.tsx 45ms (unchanged)
src/pages/SignUpPage/index.tsx 48ms (unchanged)
src/pages/StorePage/index.tsx 78ms (unchanged)
src/pages/ViewPage/index.tsx 34ms (unchanged)
src/png.d.ts 28ms (unchanged)
src/reportWebVitals.ts 34ms (unchanged)
src/routes.tsx 43ms (unchanged)
src/shared/components/caseComponent/index.tsx 37ms (unchanged)
src/shared/components/delete-confirmation-modal.tsx 45ms (unchanged)
src/shared/components/global-variable-modal.tsx 35ms (unchanged)
src/shared/components/textOutputView/index.tsx 32ms (unchanged)
src/shared/hooks/use-alternate.tsx 42ms (unchanged)
src/shared/hooks/use-change-on-unfocus.tsx 28ms (unchanged)
src/shared/hooks/use-file-size-validator.ts 29ms (unchanged)
src/shared/hooks/use-tab-visibility.ts 33ms (unchanged)
src/stores/alertStore.ts 37ms (unchanged)
src/stores/authStore.ts 37ms (unchanged)
src/stores/darkStore.ts 44ms (unchanged)
src/stores/durationStore.ts 39ms (unchanged)
src/stores/flowsManagerStore.ts 42ms (unchanged)
src/stores/flowStore.ts 151ms (unchanged)
src/stores/foldersStore.tsx 31ms (unchanged)
src/stores/globalVariablesStore/globalVariables.ts 31ms (unchanged)
src/stores/globalVariablesStore/utils/get-unavailable-fields.tsx 38ms (unchanged)
src/stores/locationStore.ts 28ms (unchanged)
src/stores/messagesStore.ts 46ms (unchanged)
src/stores/shortcuts.ts 33ms (unchanged)
src/stores/storeStore.ts 39ms (unchanged)
src/stores/tweaksStore.ts 45ms (unchanged)
src/stores/typesStore.ts 35ms (unchanged)
src/stores/utilityStore.ts 43ms (unchanged)
src/stores/voiceStore.ts 43ms (unchanged)
src/svg.d.ts 28ms (unchanged)
src/types/alerts/index.ts 36ms (unchanged)
src/types/api/index.ts 60ms (unchanged)
src/types/chat/index.ts 49ms (unchanged)
src/types/components/index.ts 84ms (unchanged)
src/types/contexts/auth.ts 37ms (unchanged)
src/types/factory/axios-error-503.ts 33ms (unchanged)
src/types/file_management/index.ts 32ms (unchanged)
src/types/flow/index.ts 33ms (unchanged)
src/types/global_variables/index.ts 31ms (unchanged)
src/types/mcp/index.ts 40ms (unchanged)
src/types/messages/index.ts 34ms (unchanged)
src/types/store/index.ts 36ms (unchanged)
src/types/tabs/index.ts 40ms (unchanged)
src/types/templates/types.ts 36ms (unchanged)
src/types/tweaks/index.ts 36ms (unchanged)
src/types/utils/functions.ts 29ms (unchanged)
src/types/utils/reactflowUtils.ts 31ms (unchanged)
src/types/utils/typeCheckingUtils.ts 30ms (unchanged)
src/types/utils/types.ts 28ms (unchanged)
src/types/zustand/alert/index.ts 35ms (unchanged)
src/types/zustand/auth/index.ts 33ms (unchanged)
src/types/zustand/dark/index.ts 30ms (unchanged)
src/types/zustand/flow/index.ts 54ms (unchanged)
src/types/zustand/flowsManager/index.ts 38ms (unchanged)
src/types/zustand/folders/index.ts 33ms (unchanged)
src/types/zustand/globalVariables/index.ts 37ms (unchanged)
src/types/zustand/messages/index.ts 28ms (unchanged)
src/types/zustand/store/index.ts 37ms (unchanged)
src/types/zustand/tweaks/index.ts 34ms (unchanged)
src/types/zustand/types/index.ts 39ms (unchanged)
src/types/zustand/utility/index.ts 37ms (unchanged)
src/types/zustand/voice/voice.types.ts 29ms (unchanged)
src/utils/buildUtils.ts 115ms (unchanged)
src/utils/layoutUtils.ts 39ms (unchanged)
src/utils/local-storage-util.ts 34ms (unchanged)
src/utils/reactflowUtils.ts 273ms (unchanged)
src/utils/session-storage-util.ts 70ms (unchanged)
src/utils/storeUtils.ts 34ms (unchanged)
src/utils/stringManipulation.ts 42ms (unchanged)
src/utils/styleUtils.ts 60ms (unchanged)
src/utils/utils.ts 133ms (unchanged)
src/vite-env.d.ts 28ms (unchanged)
tests/assets/ChatTest.json 22ms (unchanged)
tests/assets/collection.json 73ms (unchanged)
tests/assets/flow_group_test.json 16ms (unchanged)
tests/assets/flow_test_drag_and_drop.json 25ms (unchanged)
tests/assets/flow.json 6ms (unchanged)
tests/assets/flowtest.json 4ms (unchanged)
tests/assets/group_test_iadevs.json 64ms (unchanged)
tests/assets/outdated_flow.json 23ms (unchanged)
tests/assets/test-file.json 1ms (unchanged)
tests/core/features/actionsMainPage-shard-1.spec.ts 49ms (unchanged)
tests/core/features/auto-login-off.spec.ts 55ms (unchanged)
tests/core/features/chatInputOutputUser-shard-0.spec.ts 42ms (unchanged)
tests/core/features/componentHoverAdd.spec.ts 40ms (unchanged)
tests/core/features/composio.spec.ts 33ms (unchanged)
tests/core/features/customComponentAdd.spec.ts 35ms (unchanged)
tests/core/features/filterEdge-shard-0.spec.ts 44ms (unchanged)
tests/core/features/filterSidebar.spec.ts 54ms (unchanged)
tests/core/features/folders.spec.ts 53ms (unchanged)
tests/core/features/freeze-path.spec.ts 49ms (unchanged)
tests/core/features/freeze.spec.ts 64ms (unchanged)
tests/core/features/globalVariables.spec.ts 57ms (unchanged)
tests/core/features/group.spec.ts 45ms (unchanged)
tests/core/features/keyboardComponentSearch.spec.ts 46ms (unchanged)
tests/core/features/logs.spec.ts 43ms (unchanged)
tests/core/features/playground.spec.ts 53ms (unchanged)
tests/core/features/publish-flow.spec.ts 40ms (unchanged)
tests/core/features/saveComponents.spec.ts 39ms (unchanged)
tests/core/features/stop-building.spec.ts 42ms (unchanged)
tests/core/features/store-shard-2.spec.ts 44ms (unchanged)
tests/core/features/toolModeGroup.spec.ts 31ms (unchanged)
tests/core/features/tweaksTest.spec.ts 44ms (unchanged)
tests/core/features/user-flow-state-cleanup.spec.ts 47ms (unchanged)
tests/core/features/user-progress-track.spec.ts 51ms (unchanged)
tests/core/features/voice-assistant.spec.ts 35ms (unchanged)
tests/core/integrations/Basic Prompting.spec.ts 40ms (unchanged)
tests/core/integrations/Blog Writer.spec.ts 36ms (unchanged)
tests/core/integrations/Custom Component Generator.spec.ts 35ms (unchanged)
tests/core/integrations/decisionFlow.spec.ts 78ms (unchanged)
tests/core/integrations/Diet Analysis.spec.ts 64ms (unchanged)
tests/core/integrations/Document QA.spec.ts 42ms (unchanged)
tests/core/integrations/Dynamic Agent.spec.ts 43ms (unchanged)
tests/core/integrations/Financial Agent.spec.ts 42ms (unchanged)
tests/core/integrations/Financial Report Parser.spec.ts 41ms (unchanged)
tests/core/integrations/Gmail Agent.spec.ts 43ms (unchanged)
tests/core/integrations/Hierarchical Agent.spec.ts 42ms (unchanged)
tests/core/integrations/Image Sentiment Analysis.spec.ts 40ms (unchanged)
tests/core/integrations/Instagram Copywriter.spec.ts 36ms (unchanged)
tests/core/integrations/Invoice Summarizer.spec.ts 42ms (unchanged)
tests/core/integrations/Market Research.spec.ts 42ms (unchanged)
tests/core/integrations/Meeting Summary.spec.ts 40ms (unchanged)
tests/core/integrations/Memory Chatbot.spec.ts 36ms (unchanged)
tests/core/integrations/News Aggregator.spec.ts 38ms (unchanged)
tests/core/integrations/Pokedex Agent.spec.ts 39ms (unchanged)
tests/core/integrations/Portfolio Website Code Generator.spec.ts 38ms (unchanged)
tests/core/integrations/Price Deal Finder.spec.ts 36ms (unchanged)
tests/core/integrations/Prompt Chaining.spec.ts 39ms (unchanged)
tests/core/integrations/Research Translation Loop.spec.ts 40ms (unchanged)
tests/core/integrations/SaaS Pricing.spec.ts 39ms (unchanged)
tests/core/integrations/SEO Keyword Generator.spec.ts 33ms (unchanged)
tests/core/integrations/Sequential Task Agent.spec.ts 33ms (unchanged)
tests/core/integrations/similarity.spec.ts 53ms (unchanged)
tests/core/integrations/Simple Agent.spec.ts 37ms (unchanged)
tests/core/integrations/Social Media Agent.spec.ts 46ms (unchanged)
tests/core/integrations/starter-projects.spec.ts 41ms (unchanged)
tests/core/integrations/Text Sentiment Analysis.spec.ts 36ms (unchanged)
tests/core/integrations/textInputOutput.spec.ts 60ms (unchanged)
tests/core/integrations/Travel Planning Agent.spec.ts 43ms (unchanged)
tests/core/integrations/Twitter Thread Generator.spec.ts 33ms (unchanged)
tests/core/integrations/Vector Store.spec.ts 59ms (unchanged)
tests/core/integrations/Youtube Analysis.spec.ts 31ms (unchanged)
tests/core/regression/generalBugs-prompt.spec.ts 47ms (unchanged)
tests/core/regression/generalBugs-shard-4.spec.ts 46ms (unchanged)
tests/core/regression/generalBugs-shard-5.spec.ts 53ms (unchanged)
tests/core/regression/generalBugs-shard-9.spec.ts 43ms (unchanged)
tests/core/unit/chatInputOutput.spec.ts 39ms (unchanged)
tests/core/unit/codeAreaModalComponent.spec.ts 52ms (unchanged)
tests/core/unit/dropdownComponent.spec.ts 47ms (unchanged)
tests/core/unit/fileUploadComponent.spec.ts 110ms (unchanged)
tests/core/unit/floatComponent.spec.ts 42ms (unchanged)
tests/core/unit/inputComponent.spec.ts 50ms (unchanged)
tests/core/unit/inputListComponent.spec.ts 51ms (unchanged)
tests/core/unit/intComponent.spec.ts 49ms (unchanged)
tests/core/unit/keyPairListComponent.spec.ts 41ms (unchanged)
tests/core/unit/linkComponent.spec.ts 38ms (unchanged)
tests/core/unit/nestedComponent.spec.ts 32ms (unchanged)
tests/core/unit/promptModalComponent.spec.ts 53ms (unchanged)
tests/core/unit/queryInputComponent.spec.ts 228ms (unchanged)
tests/core/unit/sliderComponent.spec.ts 42ms (unchanged)
tests/core/unit/tabComponent.spec.ts 41ms (unchanged)
tests/core/unit/tableInputComponent.spec.ts 41ms (unchanged)
tests/core/unit/textAreaModalComponent.spec.ts 38ms (unchanged)
tests/core/unit/toggleComponent.spec.ts 42ms (unchanged)
tests/core/unit/webhookComponent.spec.ts 40ms (unchanged)
tests/custom_component_full.ts 23ms (unchanged)
tests/extended/features/actionsMainPage-shard-0.spec.ts 41ms (unchanged)
tests/extended/features/auto-save-off.spec.ts 44ms (unchanged)
tests/extended/features/autoLogin.spec.ts 36ms (unchanged)
tests/extended/features/bulk-actions.spec.ts 49ms (unchanged)
tests/extended/features/curlApiGeneration.spec.ts 37ms (unchanged)
tests/extended/features/deleteComponents.spec.ts 42ms (unchanged)
tests/extended/features/deleteFlows.spec.ts 36ms (unchanged)
tests/extended/features/dragAndDrop.spec.ts 35ms (unchanged)
tests/extended/features/edit-flow-name.spec.ts 38ms (unchanged)
tests/extended/features/edit-name-description-node.spec.ts 44ms (unchanged)
tests/extended/features/edit-tools.spec.ts 45ms (unchanged)
tests/extended/features/files-page.spec.ts 67ms (unchanged)
tests/extended/features/filterEdge-shard-1.spec.ts 42ms (unchanged)
tests/extended/features/flowPage.spec.ts 29ms (unchanged)
tests/extended/features/flowSettings.spec.ts 38ms (unchanged)
tests/extended/features/integration-side-bar.spec.ts 27ms (unchanged)
tests/extended/features/langflowShortcuts.spec.ts 40ms (unchanged)
tests/extended/features/limit-file-size-upload.spec.ts 51ms (unchanged)
tests/extended/features/lock-flow.spec.ts 38ms (unchanged)
tests/extended/features/loop-component.spec.ts 41ms (unchanged)
tests/extended/features/mcp-server-tab.spec.ts 50ms (unchanged)
tests/extended/features/mcp-server.spec.ts 52ms (unchanged)
tests/extended/features/minimize.spec.ts 37ms (unchanged)
tests/extended/features/notifications.spec.ts 32ms (unchanged)
tests/extended/features/outdated-actions.spec.ts 38ms (unchanged)
tests/extended/features/outdated-message.spec.ts 38ms (unchanged)
tests/extended/features/pythonApiGeneration.spec.ts 34ms (unchanged)
tests/extended/features/starter-projects.spec.ts 40ms (unchanged)
tests/extended/features/sticky-notes.spec.ts 42ms (unchanged)
tests/extended/features/stop-button-playground.spec.ts 36ms (unchanged)
tests/extended/features/store-shard-0.spec.ts 37ms (unchanged)
tests/extended/features/store-shard-1.spec.ts 46ms (unchanged)
tests/extended/features/store-shard-3.spec.ts 51ms (unchanged)
tests/extended/features/tool-mode.spec.ts 49ms (unchanged)
tests/extended/features/twoEdges.spec.ts 37ms (unchanged)
tests/extended/features/userSettings.spec.ts 53ms (unchanged)
tests/extended/features/validate-raise-errors-components.spec.ts 32ms (unchanged)
tests/extended/integrations/chatInputOutputUser-shard-1.spec.ts 52ms (unchanged)
tests/extended/integrations/chatInputOutputUser-shard-2.spec.ts 39ms (unchanged)
tests/extended/integrations/duckduckgo.spec.ts 39ms (unchanged)
tests/extended/integrations/youtube-transcripts.spec.ts 39ms (unchanged)
tests/extended/regression/general-bugs-component-as-tool-shortcut.spec.ts 60ms (unchanged)
tests/extended/regression/general-bugs-dropdown-select-not-in-list.spec.ts 48ms (unchanged)
tests/extended/regression/general-bugs-icons-fallback.spec.ts 42ms (unchanged)
tests/extended/regression/general-bugs-minimize-state-error.spec.ts 41ms (unchanged)
tests/extended/regression/general-bugs-move-flow-from-folder.spec.ts 40ms (unchanged)
tests/extended/regression/general-bugs-save-changes-on-node.spec.ts 41ms (unchanged)
tests/extended/regression/general-bugs-shard-3836.spec.ts 39ms (unchanged)
tests/extended/regression/general-bugs-shard-3909.spec.ts 42ms (unchanged)
tests/extended/regression/generalBugs-shard-1.spec.ts 43ms (unchanged)
tests/extended/regression/generalBugs-shard-10.spec.ts 43ms (unchanged)
tests/extended/regression/generalBugs-shard-11.spec.ts 40ms (unchanged)
tests/extended/regression/generalBugs-shard-12.spec.ts 39ms (unchanged)
tests/extended/regression/generalBugs-shard-13.spec.ts 45ms (unchanged)
tests/extended/regression/generalBugs-shard-3.spec.ts 46ms (unchanged)
tests/extended/regression/generalBugs-shard-6.spec.ts 37ms (unchanged)
tests/extended/regression/generalBugs-shard-7.spec.ts 37ms (unchanged)
tests/extended/regression/generalBugs-shard-8.spec.ts 37ms (unchanged)
tests/globalTeardown.ts 28ms (unchanged)
tests/templates/unit-test-components.spec.ts 27ms (unchanged)
tests/utils/add-custom-component.ts 31ms (unchanged)
tests/utils/add-flow-to-test-on-empty-langflow.ts 31ms (unchanged)
tests/utils/add-legacy-components.ts 29ms (unchanged)
tests/utils/add-new-api-keys.ts 27ms (unchanged)
tests/utils/add-new-user-and-loggin.ts 39ms (unchanged)
tests/utils/adjust-screen-view.ts 32ms (unchanged)
tests/utils/await-bootstrap-test.ts 34ms (unchanged)
tests/utils/build-data-transfer.ts 29ms (unchanged)
tests/utils/evaluate-input-react-state-changes.ts 41ms (unchanged)
tests/utils/extract-and-clean-code.ts 37ms (unchanged)
tests/utils/generate-filename.ts 30ms (unchanged)
tests/utils/get-all-response-message.ts 36ms (unchanged)
tests/utils/initialGPTsetup.ts 38ms (unchanged)
tests/utils/remove-old-api-keys.ts 37ms (unchanged)
tests/utils/rename-flow.ts 34ms (unchanged)
tests/utils/select-gpt-model.ts 31ms (unchanged)
tests/utils/simulate-drag-and-drop.ts 33ms (unchanged)
tests/utils/update-old-components.ts 27ms (unchanged)
tests/utils/upload-file.ts 37ms (unchanged)
tests/utils/wait-for-open-modal.ts 28ms (unchanged)
tests/utils/withEventDeliveryModes.ts 41ms (unchanged)
tests/utils/zoom-out.ts 29ms (unchanged)
Installing backend dependencies
Audited 544 packages in 0.58ms
src/backend/base/langflow/base/curl/parse.py:130: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked]
src/backend/base/langflow/interface/components.py:18: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked]
src/backend/base/langflow/interface/components.py:19: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked]
src/backend/base/langflow/base/memory/model.py:37: note: Consider using the upper bound "Any" instead
src/backend/base/langflow/base/mcp/util.py:218: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked]
src/backend/base/langflow/base/mcp/util.py:336: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked]
src/backend/base/langflow/components/memories/zep.py:28: note: Consider using the upper bound "Any" instead
src/backend/base/langflow/components/memories/redis.py:34: note: Consider using the upper bound "Any" instead
src/backend/base/langflow/components/memories/cassandra.py:52: note: Consider using the upper bound "Any" instead
src/backend/base/langflow/components/memories/astra_db.py:52: note: Consider using the upper bound "Any" instead
src/backend/base/langflow/components/logic/run_flow.py:41: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked]
src/backend/base/langflow/api/v1/endpoints.py:751: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked]
src/backend/base/langflow/main.py:486: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked]
Success: no issues found in 791 source files

It is not throwing any issues. Please review @edwinjosechittilappilly @ogabrielluiz @mneedham @brylie

Copy link
Copy Markdown
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

🔭 Outside diff range comments (1)
src/frontend/src/CustomNodes/GenericNode/index.tsx (1)

545-587: ⚠️ Potential issue

Fix critical syntax errors in JSX structure.

There are multiple critical syntax errors that prevent compilation:

  1. Duplicate JSX properties on lines 555-556
  2. Missing closing tags and malformed JSX structure
  3. Syntax errors in closing parentheses and braces

Apply this diff to fix the syntax errors:

-              {showHiddenOutputs && (
-                <MemoizedNodeOutputs
-                  outputs={hiddenOutputs}
-                  keyPrefix="hidden"
-
-                  data={data}
-                  selected={!!selected}
-                  showNode={showNode}
-                  isToolMode={isToolMode}
-
-                  showHiddenOutputs={true}
-                  selectedOutput={selectedOutput}
-
-                  handleSelectOutput={handleSelectOutput}
-                  keyPrefix="node-outputs"
-                  selectedOutput={selectedOutput}
-                />
-
-              )}
+              {showHiddenOutputs && (
+                <MemoizedNodeOutputs
+                  outputs={hiddenOutputs}
+                  keyPrefix="hidden"
+                  data={data}
+                  types={types}
+                  selected={!!selected}
+                  showNode={showNode}
+                  isToolMode={isToolMode}
+                  showHiddenOutputs={true}
+                  selectedOutput={selectedOutput}
+                  handleSelectOutput={handleSelectOutput}
+                />
+              )}
               {hiddenOutputs && hiddenOutputs.length > 0 && (
                 <ShadTooltip
                   content={
                     showHiddenOutputs
                       ? `${TOOLTIP_HIDDEN_OUTPUTS} (${hiddenOutputs?.length})`
                       : `${TOOLTIP_OPEN_HIDDEN_OUTPUTS} (${hiddenOutputs?.length})`
                   }
                 >
                   <div
                     className={cn(
                       "absolute left-1/2 flex -translate-x-1/2 justify-center",
                       (shownOutputs && shownOutputs.length > 0) ||
                         showHiddenOutputs
                         ? "bottom-[-0.8rem]"
                         : "bottom-[-0.8rem]",
                     )}
                   >
                     <HiddenOutputsButton
                       showHiddenOutputs={showHiddenOutputs}
                       onClick={() => setShowHiddenOutputs((prev) => !prev)}
                     />
+                  </div>
+                </ShadTooltip>
+              )}
             </>
+          </div>
+        )}
+      </div>

The key fixes:

  1. Removed duplicate properties: keyPrefix="node-outputs" and duplicate selectedOutput
  2. Added missing types prop to maintain consistency with the shown outputs
  3. Fixed closing tags: Added proper closing tags for div, ShadTooltip, and other elements
  4. Corrected JSX structure: Ensured all opening tags have corresponding closing tags
🧰 Tools
🪛 Biome (1.9.4)

[error] 568-576: Expected corresponding JSX closing tag for 'div'.

Opening tag

closing tag

(parse)


[error] 561-567: Expected corresponding JSX closing tag for 'ShadTooltip'.

Opening tag

closing tag

(parse)


[error] 582-582: Unexpected token. Did you mean {'}'} or &rbrace;?

(parse)


[error] 587-587: expected ) but instead found <

Remove <

(parse)


[error] 552-552: This JSX property is assigned multiple times.

This attribute is assigned again here.

(lint/suspicious/noDuplicateJsxProps)

🪛 GitHub Actions: autofix.ci

[error] 568-568: SyntaxError: JSX element 'div' has no corresponding closing tag.

♻️ Duplicate comments (1)
src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json (1)

1152-1159: New node is not connected to the graph
The newly added node "URL-MjSj8" has no corresponding entries in the edges array, leaving it isolated in the starter flow. Please add edges to integrate its outputs with downstream nodes (e.g., connect its data, text, or dataframe outputs to the appropriate inputs) or remove it if it was inserted by mistake.

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 65b7786 and 822fa29.

⛔ Files ignored due to path filters (1)
  • src/frontend/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (9)
  • src/backend/base/langflow/graph/graph/base.py (1 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json (1 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json (3 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json (1 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json (1 hunks)
  • src/backend/base/langflow/schema/data.py (1 hunks)
  • src/backend/tests/conftest.py (1 hunks)
  • src/frontend/src/CustomNodes/GenericNode/index.tsx (4 hunks)
  • src/frontend/src/utils/utils.ts (1 hunks)
✅ Files skipped from review due to trivial changes (3)
  • src/backend/base/langflow/schema/data.py
  • src/frontend/src/utils/utils.ts
  • src/backend/base/langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json
🚧 Files skipped from review as they are similar to previous changes (4)
  • src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json
  • src/backend/tests/conftest.py
  • src/backend/base/langflow/graph/graph/base.py
  • src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json
🧰 Additional context used
🪛 Biome (1.9.4)
src/frontend/src/CustomNodes/GenericNode/index.tsx

[error] 474-485: Expected corresponding JSX closing tag for 'div'.

Opening tag

closing tag

(parse)


[error] 552-552: This JSX property is assigned multiple times.

This attribute is assigned again here.

(lint/suspicious/noDuplicateJsxProps)


[error] 582-582: Unexpected token. Did you mean {'}'} or &rbrace;?

(parse)


[error] 587-587: expected ) but instead found <

Remove <

(parse)

🪛 GitHub Actions: autofix.ci
src/frontend/src/CustomNodes/GenericNode/index.tsx

[error] 568-568: SyntaxError: JSX element 'div' has no corresponding closing tag.

🔇 Additional comments (4)
src/frontend/src/CustomNodes/GenericNode/index.tsx (4)

3-3: LGTM: Import addition looks good.

The addition of BuildStatus import is appropriate and aligns with its usage in the conditional rendering logic later in the component.


443-472: LGTM: Good structural refactoring to use React Fragment.

The refactoring to use a React Fragment (<>) instead of a wrapper div is a good improvement. This allows the toolbar and status components to be rendered as siblings at the top level, which provides more flexibility for positioning and styling.


474-485: LGTM: Improved conditional styling approach.

The changes to use conditional classes with cn() utility and inline styles for border color is a cleaner approach. The conditional classes for selection, visibility, beta status, and build animation provide better maintainability.

🧰 Tools
🪛 Biome (1.9.4)

[error] 474-485: Expected corresponding JSX closing tag for 'div'.

Opening tag

closing tag

(parse)


486-508: LGTM: Simplified node header structure.

The header simplification looks good - removing redundant elements and streamlining the conditional rendering of the description component improves readability.

"category": "data",
"conditional_paths": [],
"custom_fields": {},
"description": "Load and retrive data from specified URLs.",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix typo in node description
The description contains a misspelling: "retrive" should be "retrieve".

Apply this diff:

-            "description": "Load and retrive data from specified URLs.",
+            "description": "Load and retrieve data from specified URLs.",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"description": "Load and retrive data from specified URLs.",
"description": "Load and retrieve data from specified URLs.",
🤖 Prompt for AI Agents
In src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json at
line 1163, fix the typo in the node description by changing "retrive" to
"retrieve" to correct the spelling.

@ENUMERA8OR
Copy link
Copy Markdown
Author

Sorry guys, will reopen a new PR. This one has become too messy.

@ENUMERA8OR ENUMERA8OR closed this Aug 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants