Commit graph

79 commits

Author SHA1 Message Date
Cristhian Zanforlin Lousa
9f331d67e5
test: update workflow configuration and Financial Agent JSON structure (nightly fix) (#7112)
*  (test_apply_json_filter.py): update test data generation to exclude whitespace characters and control characters in dictionary keys to improve data quality and reliability

* fix tests
2025-03-17 17:54:21 -03:00
Cristhian Zanforlin Lousa
4e6c2da0d1
fix: Enhance JSON filtering with special cases, update CI workflows, and improve frontend components and tests (nightly fix) (#7110)
*  (index.tsx): Update inputComponent styles to improve UI design and user experience
🐛 (new-api-modal.tsx): Add data-testid attribute to tweaks button for testing purposes
🔧 (publish-flow.spec.ts): Update test cases to improve reliability and readability
📝 (tweaksTest.spec.ts): Refactor test cases to enhance maintainability and clarity
🔧 (nestedComponent.spec.ts): Update test description for clarity and consistency
🐛 (general-bugs-shard-3909.spec.ts): Fix waitForSelector calls to match correct text for improved test accuracy

* 🔧 (use-get-builds-polling-mutation.ts, use-get-builds.ts, use-post-retrieve-vertex-order.tsx): add retry and retryDelay options to improve error handling and resiliency in API queries
🗑️ (generalBugs-shard-2.spec.ts): delete outdated test file for general bugs related to shards in the frontend tests folder

* Revert "ci: fix false positive on ci sucess status (#6868)"

This reverts commit e18b248591.

*  (jsonEditor/index.tsx): add support for dynamically setting width and height of the editor container to improve responsiveness
🔧 (dictAreaModal/index.tsx): set width to 100% and adjust height class to improve layout responsiveness

* fix backend tests

* [autofix.ci] apply automated fixes

---------

Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-17 17:06:03 -03:00
Rodrigo Nader
100c4b8eba
feat: change params for models (#6992)
* feat: change advanced params for models

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* fix: ruff erros

* remove Redundant component

* refactor: streamline freeze-path test by removing redundant slider interactions and updating model selection

- Removed unnecessary wait for the default slider display value.
- Updated model selection to use 'gpt-4o-mini-0-option' for varied output in tests.

* [autofix.ci] apply automated fixes

* test: update slider component test to reflect new parameter values and structure

- Modified the test to replace a multiline string with updated values for the slider component.
- Ensured that the new code differs from the original to validate changes.
- Adjusted the test to fill the textarea with the new code after modification.

*  (intComponent.spec.ts): update test assertions to match expected behavior for IntComponent regarding checkbox states

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2025-03-17 18:17:35 +00:00
anovazzi1
7aca264fec
feat: Publish Flow, API code update and UI components (#6140)
* refactor: Update flowToolbarComponent with FlowToolbarOptions component and ENABLE_PUBLISH feature flag

* [autofix.ci] apply automated fixes

* refactor: Update ENABLE_PUBLISH feature flag in feature-flags.ts

* add external link for hover state

* Refactor routes.tsx to enable PlaygroundPage

* Refactor deploy-dropdown.tsx to add ShadTooltipComponent and handle cases where there is no IO

* [autofix.ci] apply automated fixes

* add colorfull langflow icon

* Add playgroundPage prop to IOModalPropsType

* Refactor IOModal in PlaygroundPage component

* Refactor IOModal component and add publish options

* Add LangflowButtonRedirectTarget utility function

* Refactor IOModal component and add LangflowButtonRedirectTarget utility function

* fix: remove feature flag for playground button name

* fix: rename DeployDropdown to PublishDropdown in FlowToolbarOptions

* fix: rename DeployDropdown to PublishDropdown and update related functionality

* fix: update classNames utility import and refactor class assignment in FlowToolbar

* [autofix.ci] apply automated fixes

* fix: enhance hover effects and accessibility in PublishDropdown component

* [autofix.ci] apply automated fixes

* fix: update Playground title in IOModal and ChatViewWrapper components

* fix: improve layout and visibility of session information in ChatViewWrapper component

* add neutral icon to playground

* fix: add playgroundPage prop to ContentBlockDisplay and conditionally render elements in ChatMessage

* fix: pass playgroundPage prop to ContentDisplay and conditionally render duration

* fix: remove playgroundTitle display from ChatViewWrapper component

* fix: adjust padding and alignment in ChatViewWrapper and IOModal components based on playgroundPage prop

* fix: update alignment and responsiveness in ChatViewWrapper component based on playgroundPage and sidebarOpen states

* fix: update document title based on currentSavedFlow in PlaygroundPage component

* [autofix.ci] apply automated fixes

* feat: add ENABLE_WIDGET flag to conditionally render embed option in PublishDropdown

* feat: add EmbedModal component for copying embed code

* feat: integrate EmbedModal in PublishDropdown for embed code sharing

* feat: enhance EmbedModal integration in PublishDropdown with dynamic embed code generation

* feat: add switch for publishing state in PublishDropdown component and update FlowType

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* feat: add optional copy property to GetCodeType for enhanced tweak management

* feat: make description property optional in modalHeaderType for improved flexibility

* feat: update background color in code styles for improved visibility

* feat: add support for 'retangular' size in switchCaseModalSize helper

* feat: make description property optional in Header component and add 'retangular' size option in BaseModalProps

* feat: add optional copy parameter to getWidgetCode for customizable script output

* feat: refactor EmbedModal props for improved clarity and consistency

* feat: add ApiModal component for custom API code generation

* feat: adjust icon size in EmbedModal for better visual consistency

* feat: integrate ApiModal into PublishDropdown for enhanced API code generation

* feat: update ApiModal header to include API key creation instructions

* feat: add APITabsComponent for displaying code snippets in tabs

* feat: add APITabType and tabsArrayType for enhanced API tab management

* feat: replace CodeTabsComponent with APITabsComponent in ApiModal for improved tab management

* feat: add JSIcon component for JavaScript icon representation

* feat: add JSIcon to nodeIconsLucide for JavaScript representation

* style: format code for consistency in EmbedModal component

* feat: change ApiModal size from x-large to medium for better usability

* feat: enhance APITabsComponent with light theme support and improve button positioning

* feat: adjust APITabsComponent tab styling for improved layout and readability

* feat: add BWPython icon and update references in APITabsComponent and styleUtils

* fix: correct export name for BWSvgPython icon component

* feat: add new column 'public' to flow table

* raw: Sample code for creating a new unauthenticated endpoint as a PoCh

Note: this code is blatantly copied from another code snippet.

* feat: add dark mode support to JSIcon component

* feat: add dark mode support to BWPython icon component

* feat: add new column 'access_type' to flow

* chore: update code

* chore: remove unnecessary migration

* feat: add getNewCurlCode function for generating cURL commands with dynamic payloads

* feat: integrate dynamic code generation for Python, JavaScript, and cURL in APITabsComponent

* feat: add getNewJsApiCode function for generating JavaScript API code with dynamic payloads

* feat: add getNewPythonApiCode function for generating Python API code with dynamic payloads

* fix color on sintax highlight

* feat: enhance APITabsComponent with dynamic streaming and authentication state

* feat: update APITabsComponent to handle dynamic input and output types based on flow data

* [autofix.ci] apply automated fixes

* feat: add input and output validation in PlaygroundPage to redirect if none exist

* [autofix.ci] apply automated fixes

* fix: ensure navigation only occurs when currentSavedFlow data is present

* feat: add access_type field to FlowUpdate model

* feat: add playgroundPage parameter to buildFlowVertices for conditional URL construction

* feat: add playgroundPage state and setter to FlowStoreType

* feat: add playgroundPage state and setter to FlowStoreType

* feat: add access_type field to FlowType for improved access control

* feat: modify useGetMessagesQuery to handle playgroundPage state for conditional message retrieval

* feat: update IPatchUpdateFlow interface to make fields optional and add access_type for enhanced flexibility

* feat: implement publish toggle functionality in PublishDropdown component for dynamic access control

* feat: integrate playgroundPage state management in IOModal for improved session handling

* add: new endpoint to public_flow

* refactor: remove unused current_user parameter from read_public_flow function

* feat: add ContextWrapper to PlaygroundPage route for improved context management

* refactor: simplify flow retrieval logic in PlaygroundPage component

* feat: add support for public flow retrieval in useGetFlow hook

* feat: add PUBLIC_FLOW constant to URLs for public flow retrieval

* fix: add whitespace for improved code readability in AuthSettingsGuard component

* fix: add whitespace for improved code readability in ProtectedAdminRoute component

* [autofix.ci] apply automated fixes

* fix: update redirect condition in PlaygroundPage for non-public access types

* [autofix.ci] apply automated fixes

* persist session name update

* fix: enhance message update logic to handle playground state and local storage

* fix: remove debugger statement from PlaygroundPage initialization

* fix: manage dark mode class in App component and remove redundant logic from AppInitPage

* [autofix.ci] apply automated fixes

* feat: add access_type field to FlowHeader model for flow access control

* fix: refactor flow access handling in PublishDropdown component for improved readability and async operation

* feat: enhance FlowMenu component with swatch color display based on flow gradient

* feat: add swatch color display in IOModal based on flow gradient

* [autofix.ci] apply automated fixes

* Update copyCode to use dynamic API code generation for Python, JavaScript, and cURL tabs

* Add optional session tracking to JavaScript API code generation

* Enhance Python API code generation with detailed comments and error handling

* Fix SVG attribute casing and update dark mode state handling in Python icon components

* Fix SVG clip-path casing and ensure dark mode state is a string in JS icon components

* Fix SVG fill color handling for dark mode in Python icon components

* Fix SVG filter handling for dark mode in JS icon components

* Add tweaks management and update functionality in tweaks store

* Add normal font style to line numbers in CSS

* Add debug log for flow retrieval in FlowPage component

* Refactor APITabsComponent to remove unused props and integrate tweaks management

* Enhance ApiModal to support tweaks management and improve API access UI

* Remove flow prop from ApiModal in PublishDropdown component

* update package lock

* [autofix.ci] apply automated fixes

* Update ChatViewWrapper to adjust layout based on visibleSession state

* [autofix.ci] apply automated fixes

* Update icon fallback in FlowMenu to use "Workflow"

* Refactor EmbedModal button styles for consistency and clarity

* Add useEffect to reset copied state on active tab change and clean up button styles

* Comment out DropdownMenuItem in PublishDropdown for future reference

* refactor: remove duplicated code from route

* refactor: remove duplicated code from route

* [autofix.ci] apply automated fixes

* Increase font size for code blocks in classes.css for better readability

* Adjust padding and height for deploy dropdown items for improved layout

* Update minWidth for medium modal size to include max-width constraint

* Refactor ApiModal to conditionally render button and adjust styles for improved layout

* Add margin-top to API modal tabs content for improved spacing

* Refactor deploy dropdown to include API access and Embed options, and rename 'Standalone app' to 'Shareable Playground'

* Enhance API code generation to include environment variable checks for API key in curl, JavaScript, and Python examples

* Fix authentication check logic and clean up modal class names

* Refactor authentication logic in APITabsComponent to improve clarity and functionality

* [autofix.ci] apply automated fixes

* Update environment variable references in API code examples to use LANGFLOW_API_KEY

* [autofix.ci] apply automated fixes

* Update API key references to use LANGFLOW_API_KEY in curl and JS code examples

* Remove streaming parameter from API code examples in JavaScript and Python

* Adjust button padding and separator margin in API modal for improved layout

* Add transparent background to scrollbar corner in Tailwind config

* Update publish dropdown to display sharing status based on flow publication state

* Add playgroundPage prop to ChatInput and conditionally render file upload button

* Refactor ChatViewWrapper layout logic for improved responsiveness

* [autofix.ci] apply automated fixes

* Add closeButtonClassName prop to BaseModal and DialogContent for customization

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* feat: use new deterministic flow id for public flow calls (#6314)

* Enhance public flow building with deterministic flow ID and name handling

* Handle asyncio.CancelledError in message table commit operation

* Add UUID v5 generation for flow IDs in chat view and modal components

* Add comment explaining CancelledError handling in message table commit

* Simplify public flow ID and name generation logic

* Refactor UUID v5 import and flow ID generation in IOModal components

* Update Alembic migration down_revision identifier

---------

Co-authored-by: anovazzi1 <otavio2204@gmail.com>

* feat: add playgroundPage prop to SessionSelector and SidebarOpenView components

* feat: switch from localStorage to sessionStorage for message handling in playground mode

* feat: Add public flow settings with cleanup and expiration configurations

Add new settings for managing public temporary flows, including:
- Configurable cleanup interval (default 1 hour)
- Configurable flow expiration time (default 24 hours)
- Minimum interval of 10 minutes for both settings

* feat: Add public flow expiration settings to ConfigResponse

Update ConfigResponse schema to include new configuration parameters for public flow management:
- public_flow_cleanup_interval: Interval for cleaning up public flows
- public_flow_expiration: Duration for public flow retention

* feat: Add temporary public flow cleanup worker

Implement a background worker to manage and clean up expired public flows:
- Add CleanupWorker class to handle periodic cleanup tasks
- Integrate cleanup worker into application lifespan
- Implement cleanup logic for removing expired public flow data from database and storage
- Add start and stop methods for graceful worker management

* feat: implement client ID management using cookies in Playground and update flow ID generation

* refactor: Optimize public flow cleanup worker with targeted execution

Improve the temporary public flow cleanup process by:
- Adding a pre-check to only run cleanup when public flows exist
- Passing public flows and session directly to cleanup function
- Simplifying the cleanup logic to reduce nested session management

* refactor: Enhance database cleanup worker with comprehensive record management

Improve the cleanup worker to handle both expired public flows and orphaned records:
- Add function to clean up expired public flows with detailed logging
- Implement orphaned record cleanup across multiple database tables
- Enhance error handling and logging for storage file deletion
- Simplify worker run method to execute both cleanup tasks sequentially

* feat: Add session cookie validation for public flow generation

Enhance public flow building by:
- Requiring a session cookie for generating temporary public flows
- Incorporating the session cookie into the flow ID generation process
- Adding explicit error handling for missing session cookies

* fix: Update session cookie retrieval in public flow generation

Change cookie key from "session" to "client_id" to align with recent client ID management implementation

* fix: Correct flow ID generation by adding an underscore separator between client ID and real flow ID

* [autofix.ci] apply automated fixes

* fix: add options to the fetch call and add docs

Update getNewJsApiCode function to:
- Add comprehensive JSDoc documentation
- Include fetch options in API call
- Simplify code generation logic
- Ensure proper payload and options handling

* fix: update label for temporary overrides to tweaks in API modal

* update package lock

* ensure individual instances of contexts

* fix: add data-testid attributes for testing in PublishDropdown component

* fix: handle authentication errors for public API requests in ApiInterceptor

* test: add publish feature test using Playwright

* [autofix.ci] apply automated fixes

* refactor: optimize temp flow cleanup with improved file and logging management

* test: add unit tests for temp flow cleanup service

* chore: remove unnecessary console logs and comments for cleaner code

* Update src/frontend/tests/core/features/publish-flow.spec.ts

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/tests/core/features/publish-flow.spec.ts

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/tests/core/features/publish-flow.spec.ts

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/tests/core/features/publish-flow.spec.ts

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/tests/core/features/publish-flow.spec.ts

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/tests/core/features/publish-flow.spec.ts

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/tests/core/features/publish-flow.spec.ts

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/tests/core/features/publish-flow.spec.ts

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/tests/core/features/publish-flow.spec.ts

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/src/modals/apiModal/utils/get-curl-code.tsx

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/src/modals/apiModal/utils/get-curl-code.tsx

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/src/modals/apiModal/utils/get-curl-code.tsx

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* fix: adds edge filtering only to parameters not hidden (#6270)

Adds advanced filter to only filter by showing fields on click of edge

* Add config parameter to Graph run method with configuration application

* fix: remove unnecessary await from flow directory existence check

* refactor: Remove expired public flows cleanup method

* refactor: Move data_dir initialization to base StorageService

* fix: Update temp flow cleanup to use async file operations

- Add explicit type hint for storage_service
- Use async methods for file and directory existence checks
- Improve error handling for file deletion during flow cleanup

* refactor: Add explicit type hint for tables in temp flow cleanup

- Improve type annotations for tables list in cleanup_orphaned_records
- Explicitly define the types of tables to be processed

* [autofix.ci] apply automated fixes

* refactor: Remove tests for expired public flows from temp flow cleanup

* test: Update test_cleanup_orphaned_records_no_orphans to use fixtures

* feat: Add utility function for verifying public flow access

Implement async function to validate public flow requests with:
- Client ID verification
- Flow existence and public access check
- Deterministic flow ID generation
- User retrieval for permission handling

* feat: build_public_tmp to use the jobqueue

Refactored the build_public_tmp endpoint to:
- Add comprehensive docstring explaining endpoint functionality
- Improve error handling and logging
- Simplify flow verification and user retrieval process
- Use new verify_public_flow_and_get_user utility function
- Streamline job creation and error management

* chore: Add anyio import to local storage service

Import anyio library in preparation for potential async storage operations

* style: run formatter

* changed endpoint

* [autofix.ci] apply automated fixes

* Add size for tweaks

* Add size for tweaks

* Change tweaks modal

* Fix switch design

* [autofix.ci] apply automated fixes

* fix: mypy erros

* fix: alembic multiple heads error

* fix: ruff error

* refactor: update test cleanup for orphaned records to use fixtures

Changed the test for cleanup of orphaned records to utilize the "client" fixture instead of the "asyncio" marker, enhancing test organization and clarity.

* fix: cli test

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
2025-03-17 14:03:59 +00:00
Deon Sanchez
4ab4e736be
feat: Quality of Life improvements for Astra Component (#6953)
* feat: Add helper text for Astra DB embedding generation provider

* feat: Add helper text support for dropdown and parameter components

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* Update astradb.py

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* feat: Add org_id to excluded metadata keys in dropdown component

* fix: Update Astra DB component UI and starter project configuration

- Improved AstraDB component's embedding provider link with better accessibility attributes
- Updated Vector Store RAG starter project JSON with formatted configuration
- Refined UI text and link presentation for better user experience

* Remove providers that arent configured

* feat: Add required field indicator to node parameters

- Implemented visual indicator (*) for required node parameters
- Updated custom parameter title rendering to show required status
- Enhanced UI to provide clearer input requirements

* Revert "Merge branch 'lfoss-683-1' of https://github.com/langflow-ai/langflow into lfoss-683-1"

This reverts commit 2eb0fcb4d3d347de0df1f021f761ea63e882b757, reversing
changes made to 9ea44aca477e8a418ef82722da4b1e0fc2afa2e1.

* [autofix.ci] apply automated fixes

* Add changes back

* Fix some comments

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* Update astradb.py

* feat: Add dynamic disabled state for node dialog and int component

* feat: Add dynamic placeholder for node dialog input

* [autofix.ci] apply automated fixes

* feat: Enhance IntComponent with disabled state styling and stepper interactions

* Fix some db creation params

* Update astradb.py

* fix: Resolve node dialog input value handling in TypeScript

* Update astradb.py

* feat: Add required field validation to node dialog submission

* Update astradb.py

* [autofix.ci] apply automated fixes

* Update astradb.py

* Clean up functions and add read only flag

* feat: Add readonly support to IntComponent and improve node dialog validation

* fix: Improve dropdown component disabled and empty options handling

* console.log removed

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* Read only field and cleanup

* Astra DB selector updates

* [autofix.ci] apply automated fixes

* fix: Improve dropdown component disabled state handling

* Fix value of region in create db

* [autofix.ci] apply automated fixes

* Remove database icon from component

* fix: Conditionally render dropdown option icons

* Don't show Nvidia if not available

* [autofix.ci] apply automated fixes

* Exceptions unless pending mean, skip

* feat: Enhance AstraDBVectorStoreComponent with HTML sanitization

- Added DOMPurify for sanitizing HTML input in the convertStringToHTML function.
- Introduced a new sanitizeHTML function to ensure safe rendering of HTML strings.

* fix: Correct field key usage in NodeDialog and refactor disabled class name in IntComponent

- Updated NodeDialogComponent to use fieldKey instead of underscore for better clarity in mapping field values.
- Refactored IntComponent to replace the getDisabledClassName function with a constant for the disabled input class, improving readability.

*  (playground.spec.ts): Refactor drag and drop functionality to use hover and click for better interaction
🔧 (chatInputOutput.spec.ts): Update drag and drop functionality to use target position for more precise placement
🔧 (chatInputOutputUser-shard-1.spec.ts): Simplify connecting elements by replacing hover and mouse actions with click for better user experience

* 🐛 (generalBugs-prompt.spec.ts): fix issue with selecting the last element with getByTestId to ensure correct element is clicked and tested

*  (chatInputOutputUser-shard-1.spec.ts): add 600ms timeout to wait for elements to be interactable before proceeding with the test steps

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2025-03-14 22:34:14 +00:00
Rodrigo Nader
c1a972c533
Fix: Text split issues related to separator (#6993)
* fixes text split issues related to separator

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* format error fix

* Update Vector Store RAG.json

* [autofix.ci] apply automated fixes

* 📝 (freeze.spec.ts): update test description to match the actual element being tested for better clarity and maintainability

*  (stop-building.spec.ts): update test description to improve clarity and maintainability
 (stop-button-playground.spec.ts): add wait time before filling search input to ensure proper loading and interaction with the element

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
2025-03-13 17:51:34 +00:00
Lucas Oliveira
6416c0f983
fix: readded output inspection shortcut (#6812)
* Implemented logFirstMessage function to see if the outputName is the first message possible

* Only render outputs hidden if showHiddenOutputs is true

* Implemented open and setOpen on OutputModal

* Add open output inspection shortcut

* Added data-testid to output modal

* Added test for output shortcut

* fixed chatinputoutputuser test

* Fixed tests

* fixed tests

* fixed url test name

* Fixed loop test

* fixed similarity test

* fixed generalbugs

* fixed timeouts

* fix general bugs

* Fixed tests

* Fix timeouts

* Changed timeouts

* fix general bugs

* Fix decision flow

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
2025-03-11 16:43:24 +00:00
Cristhian Zanforlin Lousa
ff02e3d20e
fix: Add robust auto-login system with exponential backoff to fix authentication redirects in make command environments (#6848)
* 📝 (frontend): add IS_AUTO_LOGIN constant to handle auto login functionality
🔧 (frontend): update API calls to consider IS_AUTO_LOGIN constant for authentication errors
♻️ (frontend): refactor useGetAutoLogin to handle auto login retries and errors
♻️ (frontend): refactor usePostRefreshAccess to handle auto login retries
♻️ (frontend): refactor request processor to include retry logic with exponential backoff
🔧 (frontend): update Vite config to include LANGFLOW_AUTO_LOGIN environment variable

* 🐛 (constants.ts): fix logic in IS_AUTO_LOGIN constant to correctly evaluate the auto login condition based on the environment variable LANGFLOW_AUTO_LOGIN

*  (index.tsx): Add support for testMockAutoLogin to simulate auto login for testing purposes
🔧 (constants.ts): Refactor IS_AUTO_LOGIN to handle optional chaining for process.env properties
 (auto-login-off.spec.ts): Add test cases to simulate auto login behavior for testing
🔧 (vite.config.mts): Update vite configuration to load environment variables from .env file and handle optional chaining for envLangflow properties
2025-03-11 13:02:26 +00:00
Lucas Oliveira
9ade6977c7
fix: add code button decoration when throwing custom component in screen (#6823)
* made pasted component be selected

* Added bg when is custom component and component is not edited

* Added test to check if custom component button is pink

* Stop chatinput propagation

* fixed tests

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-03-11 11:54:43 +00:00
Lucas Oliveira
e99d5948e1
feat: deprecate freeze and rename freeze path button (#6821)
* Removed Freeze shortcut and Renamed Freeze path to Freeze

* Removed freeze shortcut

* Removed freeze type on shortcut

* Removed freeze shortcut logic

* Remove freeze option from node toolbar

* Fixed freeze test
2025-03-11 03:00:39 +00:00
Edwin Jose
e8529eaecb
feat: add support to accept Dataframe as input to split text, and added relevant tests (#6302)
* update to support dataframe

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* Update split_text.py

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* update names

* Update src/backend/base/langflow/schema/dataframe.py

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>

* [autofix.ci] apply automated fixes

* update to template

* update review changes

* Update Vector Store RAG.json

* fix lint errors

* fix tests

* 📝 (freeze.spec.ts): update test description to match the actual element being tested for better clarity and accuracy

*  (stop-button-playground.spec.ts): improve test reliability by specifying target position for drag action to prevent flakiness

*  (logs.spec.ts): increase timeout from 1000ms to 3000ms for better test reliability
 (stop-building.spec.ts): update test selector from "handle-splittext-shownode-data inputs-left" to "handle-splittext-shownode-input documents-left" for accurate testing
 (starter-projects.spec.ts): add a 1000ms timeout before asserting visibility of an element for better test stability

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2025-02-19 20:40:56 +00:00
Gabriel Luiz Freitas Almeida
b8346a0afa
Refactor: Remove unused imports across multiple frontend components (#6232)
* refactor: Remove unused imports across multiple frontend components

* update outdated components

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2025-02-18 19:51:38 +00:00
Edwin Jose
c9153b0d82
fix: inconsistent text table result for Message Type output (#6633)
* Update component.py

* 🐛 (loop-component.spec.ts): fix clicking on incorrect element in test causing failure

* 🔧 (freeze-path.spec.ts): Remove redundant clicks on "Close" button in multiple test cases to improve test efficiency
🔧 (freeze.spec.ts): Remove redundant clicks on "Close" button in multiple test cases to improve test efficiency

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-02-17 20:36:39 +00:00
Cristhian Zanforlin Lousa
0a631a68c2
fix: Update path filters, test tags and backend processing (#6613)
*  (tests): update tag value from "@starter-project" to "@starter-projects" for consistency across test files.

* 📝 (changes-filter.yaml): add new path "src/backend/base/langflow/custom/**" to starter-projects section
♻️ (changes-filter.yaml): remove path "src/backend/base/langflow/components/**" from components section and add it to starter-projects section
♻️ (changes-filter.yaml): add new path "src/backend/base/langflow/custom/**" to components section

* 🐛 (component.py): fix a bug where the status was not being returned when there is only one output in the component

* 🔧 (ci.yml): Expand path filter outputs for more comprehensive CI testing

* fix docstring placement

*  (group.spec.ts): update click event modifiers to use "ControlOrMeta" for better cross-platform compatibility

*  (changes-filter.yaml): add new directory "src/backend/base/langflow/graph/" to starter-projects for processing in the build pipeline.

* 🔄 Refactor graph data structures from sets to lists for performance and compatibility

* 🔧 Optimize RunnableVerticesManager predecessor checks and type hints

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-02-14 11:20:08 -03:00
Mendon Kissling
9ba0c9ce13
fix: update documentation links for Custom Component to use the correct URL (#6145)
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-02-06 22:39:05 +00:00
Cristhian Zanforlin Lousa
8531e1b58d
feat: Update node name and description UX editing (#5920)
*  (NodeName/index.tsx): add cursor-grab class to improve user experience when dragging the node
 (NodeName/index.tsx): add nodrag class to prevent text selection when dragging the node
 (NodeStatus/index.tsx): add nodrag class to prevent text selection when dragging the node
 (GenericNode/index.tsx): add nopan, nodelete, nodrag, noflow classes to improve node dragging behavior

* 📝 (NodeDescription/index.tsx): Update cursor style to 'auto' for better user experience
📝 (NodeName/index.tsx): Update cursor style to 'auto' for better user experience
📝 (NodeOutputfield/index.tsx): Add cursor style 'pointer' to improve interactivity

*  (NodeDescription/index.tsx): Add support for editing node description when selected and editNameDescription is true
 (NodeName/index.tsx): Add support for editing node name when selected and editNameDescription is true
🔧 (GenericNode/index.tsx): Introduce useAlternate hook to handle toggling editNameDescription state
📝 (use-alternate.tsx): Add custom hook useAlternate to handle toggling boolean state
🔧 (style/index.css): Add new CSS variable --zinc-foreground for styling purposes
🔧 (tailwind.config.mjs): Add new tailwind color variable "zinc-foreground" for styling purposes

* 📝 (NodeDescription/index.tsx): Remove unnecessary setInputDescription call and update useEffect dependencies for better performance
📝 (NodeDescription/index.tsx): Update className for Textarea component to improve styling and readability
📝 (NodeDescription/index.tsx): Update className for generic-node-desc-text to improve styling and cursor behavior
📝 (NodeName/index.tsx): Remove unnecessary setInputName call and update useEffect dependencies for better performance
📝 (NodeName/index.tsx): Update className for span element to improve cursor behavior and styling
📝 (GenericNode/index.tsx): Add useRef for node element and implement useChangeOnUnfocus hook for better handling of focus events
📝 (GenericNode/index.tsx): Update className for pencil icon based on editNameDescription state for better visual feedback
📝 (GenericNode/index.tsx): Add editNameDescription to dependencies of useCallback to prevent unnecessary re-renders
📝 (GenericNode/index.tsx): Add editNameDescription to dependencies of useEffect to handle changes in editNameDescription state
📝 (use-change-on-unfocus.tsx): Implement custom hook useChangeOnUnfocus for handling focus events and state changes

* Refactor NodeDescription to remove old logic and variables

* Refactor NodeName component to remove unnecessary logic and variables

* [autofix.ci] apply automated fixes

*  (NodeDescription/index.tsx): Add functionality to edit node description and handle events like blur, key down, and double click for sticky notes
📝 (NoteNode/index.tsx): Introduce useAlternate hook to toggle edit mode for node description in NoteNode component

* ♻️ (NoteNode/index.tsx): refactor useAlternate hook usage to simplify code and improve readability

* 🔧 (GenericNode/index.tsx): refactor className to conditionally apply translate-x styles based on showNode state for improved UI responsiveness

* 📝 (NodeDescription/index.tsx): Refactor handleBlurFn and handleKeyDownFn to improve code readability and maintainability
📝 (NodeName/index.tsx): Refactor handleBlur and handleKeyDown functions for better code organization and readability
📝 (GenericNode/index.tsx): Update toggleEditNameDescription prop to setEditNameDescription for consistency and clarity
📝 (use-change-on-unfocus.tsx): Remove unnecessary handleEscape function and handleBlur event listener for better code simplicity and performance

* 📝 (NodeDescription/index.tsx): Update CSS class name to use 'focus-border-primary' instead of 'focus-border-black' for consistency and clarity
📝 (GenericNode/index.tsx): Add data-testid attribute to save and edit name description buttons for testing purposes
📝 (edit-name-description-node.spec.ts): Add test to verify user can edit name and description of a node in the UI

*  (GenericNode/index.tsx): Add functionality to show and hide toolbar with animation based on node selection status
📝 (get-class-toolbar-transform.ts): Create helper function to determine transform classes for toolbar animation based on showToolbar and showNode status

*  (NodeDescription/index.tsx): add setHasChangedNodeDescription prop to update parent component when node description changes
 (NodeName/index.tsx): add setHasChangedNodeDescription prop to update parent component when node name changes
 (GenericNode/index.tsx): add hasChangedNodeDescription state and setHasChangedNodeDescription function to track changes in node description and update parent component
📝 (edit-name-description-node.spec.ts): add wait for sidebar custom component button and timeout to improve test reliability

*  (group.spec.ts): Update click event on "title-Group" element to improve user interaction
🐛 (group.spec.ts): Fix click event on "save-name-description-button" element to properly save changes
🐛 (general-bugs-save-changes-on-node.spec.ts): Increase timeout for selectors to prevent test failures due to slow loading
🐛 (general-bugs-save-changes-on-node.spec.ts): Fix random value generation to ensure consistent length
🐛 (general-bugs-save-changes-on-node.spec.ts): Fix click event on "add-component-button-text-output" element to add component correctly
🐛 (general-bugs-save-changes-on-node.spec.ts): Fix timeout for selector to prevent test failures due to slow loading
🐛 (general-bugs-save-changes-on-node.spec.ts): Fix verifyTextareaValue function to properly verify textarea values

---------

Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-02-05 14:02:57 +00:00
Raphael Valdetaro
a3fe2fec90
refactor(components): Rename Parse Data component to Data to Message (#5547)
* refactor(components): Rename Parse Data component to Data to Message

* Refactor: enhance Data to Message description

* Refactor: enhance Data to Message description

* feat: add required to template and data inputs

* [autofix.ci] apply automated fixes

* fix: Update element selectors in freeze.spec.ts

* [autofix.ci] apply automated fixes

* refactor: rename test IDs for processing data in frontend tests

Updated test IDs from "processingParse Data" to "processingData to Message" across multiple test files to improve clarity and consistency in the test suite. This change enhances the readability of the tests related to data processing components.

* refactor: update ParseDataComponent to improve clarity and consistency

- Renamed the display name and description of the ParseDataComponent from "Data to Message" to "Parse Data" to better reflect its functionality.
- Changed the icon from "message-square" to "braces" for a more appropriate visual representation.
- Updated input fields to make 'required' status consistent across multiple starter projects, changing 'required' from true to false for 'data' and 'template' inputs.
- Enhanced code readability by modifying the structure and comments within the component's implementation across various JSON files.

* refactor: update ParseDataComponent across multiple starter projects

- Changed the display name and description of the ParseDataComponent from "Parse Data" to "Data to Message" for better clarity.
- Updated the icon from "braces" to "message-square" to better represent the component's functionality.
- Made input fields 'data' and 'template' required across all affected JSON files to ensure proper data handling.
- Enhanced code readability and consistency in the implementation of the ParseDataComponent across various starter projects.

*  (freeze.spec.ts): Update test descriptions and selectors to match changes in the application functionality related to data processing and messaging
 (stop-building.spec.ts): Update test description and selector to match changes in the application functionality related to data processing and messaging
 (fileUploadComponent.spec.ts): Update test description and selector to match changes in the application functionality related to data processing and messaging
 (loop-component.spec.ts): Update test description and selector to match changes in the application functionality related to data processing and messaging

* fix broken tests

---------

Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2025-01-22 12:22:53 +00:00
Cristhian Zanforlin Lousa
e34f39ac75
test: update data-testid attributes for chat memory and OpenAI model elements (#5823)
* 🐛 (generalBugs-shard-9.spec.ts): fix incorrect test selector for elementChatMemoryOutput to match updated element ID
🐛 (generalBugs-shard-3.spec.ts): fix incorrect test selector for elementsOpenAiOutput to match updated element ID

* 📝 (refreshButton.tsx): add data-testid attribute to RefreshButton component for testing purposes
🐛 (Vector Store.spec.ts): fix import statement to include 'expect' in Playwright test file
🐛 (Vector Store.spec.ts): remove unnecessary test.skip block for ASTRA_DB_API_ENDPOINT
🐛 (Vector Store.spec.ts): fix selectors and interactions for refresh buttons and dropdown options in Playwright test file

*  (freeze-path.spec.ts): refactor test cases to use a new helper function moveSlider for interacting with slider elements in a more efficient and readable way
2025-01-21 20:45:10 +00:00
Cristhian Zanforlin Lousa
9dc6c24180
feat: change Text to Message type with backend and frontend support (#5652)
*  (inputs.py): Update default prompt input types to include "MessageTextInput" for improved user experience
📝 (styleUtils.ts): Add color definition for "MessageTextInput" node to enhance visual representation in the frontend

* 📝 (text.py): Update input_types for "Value" to include "Message" for better clarity
📝 (memory.py): Update input_types for "Session ID" to include "Message" for consistency
📝 (message.py): Update input_types for "Session ID" to include "Message" for uniformity
📝 (self_query.py): Update input_types for "Query" to only include "Message" for consistency
📝 (create_data.py): Update input_types for fields to only include "Message" for consistency
📝 (update_data.py): Update input_types for fields to only include "Message" for consistency
📝 (inputs.py): Update DEFAULT_PROMPT_INTUT_TYPES to only include "Message" for consistency
📝 (styleUtils.ts): Remove "MessageTextInput" from nodeColors and nodeColorsName for consistency

* 📝 (model.py): update display name from "Text" to "Message" for better clarity
📝 (url.py): update display name from "Text" to "Message" for better consistency
📝 (memory.py): update display name from "Text" to "Message" for better understanding
📝 (text.py): update display name from "Text" to "Message" for better semantics
📝 (llm_math.py): update display name from "Text" to "Message" for improved readability
📝 (runnable_executor.py): update display name from "Text" to "Message" for better context
📝 (sql_generator.py): update display name from "Text" to "Message" for clearer communication
📝 (text.py): update display name from "Text" to "Message" for better consistency
📝 (parse_data.py): update display name from "Text" to "Message" for enhanced understanding
📝 (wikidata_api.py): update display name from "Text" to "Message" for improved semantics
📝 (test_cycles.py): update display name from "Text" to "Message" for better clarity

* [autofix.ci] apply automated fixes

* 🔧 (App.css): change width property value to fit-content to improve layout responsiveness

* fix: resolve merge conflicts and clean up URLComponent implementation in starter projects

- Removed conflicting sections in the JSON files for 'Custom Component Maker' and 'Graph Vector Store RAG'.
- Ensured the URLComponent class is correctly defined with methods for URL validation and content fetching.
- Updated input and output definitions for better clarity and functionality.

* 🐛 (freeze.spec.ts): fix incorrect test selectors for handle-textinput-shownode and handle-parsedata-shownode elements to match updated element IDs

* 📝 (NodeOutputfield/index.tsx): Add id prop to InspectButton component for better identification
🔧 (freeze-path.spec.ts, freeze.spec.ts, stop-building.spec.ts, decisionFlow.spec.ts, similarity.spec.ts, textInputOutput.spec.ts, generalBugs-shard-5.spec.ts, fileUploadComponent.spec.ts): Update test selectors to match changes in UI components for better test accuracy

*  (duckduckgo.spec.ts): update the test to click on a specific element with the test ID "output-inspection-data-duckduckgosearch" instead of "output-inspection-data" to match the updated frontend implementation.

*  (youtube-transcripts.spec.ts): update selector for clicking on transcript element to match changes in the frontend code, ensuring the test remains accurate

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-01-20 20:36:46 +00:00
Cristhian Zanforlin Lousa
d9a52d5cb8
feat: Enhance FlowMenu name editing experience (#5729)
*  (FlowMenu/index.tsx): improve user experience by enhancing the flow name editing functionality in the appHeaderComponent's FlowMenu component

*  (FlowMenu/index.tsx): add data-testid attribute to span element for flow name in MenuBar component
🐛 (edit-flow-name.spec.ts): fix test cases to use correct data-testid value for input element in edit-flow-name feature

*  (store-shard-2.spec.ts): update selectors to match changes in the frontend code for better test accuracy and reliability
 (edit-flow-name.spec.ts): update selectors to match changes in the frontend code for better test accuracy and reliability
 (flowSettings.spec.ts): update selectors to match changes in the frontend code for better test accuracy and reliability
 (general-bugs-move-flow-from-folder.spec.ts): update selectors to match changes in the frontend code for better test accuracy and reliability

*  (FlowMenu/index.tsx): add useEffect hook to set flow name when currentFlow is present and not editing name

* fix errors

*  (youtube-transcripts.spec.ts): update timeout values for page.waitForSelector to improve test performance and reliability

*  (sliderComponent): Add cn utility function to improve classnames handling in SliderComponent
📝 (floatComponent.spec.ts): Update test descriptions and values for NVIDIA related components
♻️ (sliderComponent.spec.ts): Refactor code to replace FloatInput with SliderInput and update import statements and values for temperature slider

*  (youtube-transcripts.spec.ts): skip the test for youtube transcripts component to prevent it from running during test suite execution
2025-01-20 19:41:49 +00:00
VICTOR CORREA GOMES
420cd92faa
feat(component): API Request Component Overhaul (#5007)
* style: Add icon property to WebhookComponent class

* style: Update input components in APIRequest class

* fix pr

* [autofix.ci] apply automated fixes

* remove debug print statement from api_request component

* remove debug print statement from api_request component

* feat: add dynamic cURL mode to APIRequestComponent

- Add cURL command parsing and field population
- Implement dynamic UI updates based on cURL input
- Support JSON body and headers extraction from cURL
- Add real-time refresh for cURL mode toggle

* refactor(APIRequestComponent): improve HTTP methods and cURL handling

- Add DELETE method support
- Enhance cURL parameter handling and UI visibility
- Fix JSON decode error handling with specific exception
- Update method visibility for DELETE requests

* style: Update input components in APIRequest class

* [autofix.ci] apply automated fixes

* remove debug print statement from api_request component

* remove debug print statement from api_request component

* feat: add dynamic cURL mode to APIRequestComponent

- Add cURL command parsing and field population
- Implement dynamic UI updates based on cURL input
- Support JSON body and headers extraction from cURL
- Add real-time refresh for cURL mode toggle

* refactor(APIRequestComponent): improve HTTP methods and cURL handling

- Add DELETE method support
- Enhance cURL parameter handling and UI visibility
- Fix JSON decode error handling with specific exception
- Update method visibility for DELETE requests

* [autofix.ci] apply automated fixes

* git commit -m "ui(api-request): adjust field visibility and requirements

- Move query_params to advanced section
- Make URL field required"

* feat(api): enhance curl parsing and update unit tests

- Improve MultilineInput handling in APIRequestComponent for curl commands
- Update parse_curl unit test to match expected data structure
- Ensure consistent format for headers and body in test assertions

* [autofix.ci] apply automated fixes

* fix(api-request): improve UI/UX and fix initial field visibility

- Fix body field flickering on component load
- Enhance URL/cURL field toggle behavior

*  (filterSidebar.spec.ts): add tests for clicking on edit button modal, show headers button, and closing the modal to ensure correct behavior and visibility of elements

* 📝 (dictComponent/index.tsx): update data-testid attribute to dynamically set based on editNode value for better testability
📝 (nestedComponent.spec.ts): update test data and selectors to match changes in dictComponent/index.tsx for accurate testing

* refactor(api_request): improve component UX and field handling

- Update tool_mode placement to align with main branch changes
- Remove temporary required field validation to prevent UI conflicts
- Add field clearing logic when switching between cURL and URL modes
- Update component description to be more concise

* git commit -m "fix: resolve merge conflicts with upstream in api request component

* fix: resolve merge conflicts with upstream in api request component

* Delete src/backend/tests/unit/test_data_components.py

BREAKING CHANGE: Removed test_data_components.py as it has been replaced by test_api_request_component.py

* git commit -m "test(api-request): update test_parse_curl to match TableInput format

* style(test_api-request): apply ruff formatting rules

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
2025-01-20 16:23:59 +00:00
Edwin Jose
aa5a4a505c
refactor: Deprecate Subflow and Flow as Tool component in favor of RunFlow (#5678)
* depreciated subflow and flow as tool

* 🐛 (filterSidebar.spec.ts): update test cases to reflect changes in sidebar item names by adding [Deprecated] suffix

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2025-01-17 23:36:41 +00:00
Cristhian Zanforlin Lousa
e2ff7b314b
feat: enhance URL component with improved description and render parameters (#5623)
* [LFOSS-74]: new input list UI

* [LFOSS-93]: node colors

* 📝 (Graph Vector Store RAG.json): Update description of ChatInput class to improve clarity and consistency
📝 (Graph Vector Store RAG.json): Update description of URLComponent class to improve clarity and consistency
📝 (select-items.tsx): Change noteDataType import to NoteDataType for consistency and clarity
📝 (dropdown-menu.tsx): Add RenderIcons component to display keyboard shortcuts for actions
📝 (index.tsx): Change parameter type from React.MouseEvent to KeyboardEvent for removeInput and handleDuplicateInput functions
📝 (use-overlap-shortcuts.tsx): Create custom hook to handle keyboard shortcuts with support for multiple key variations and modifiers

* 📝 (backend): Remove unnecessary metadata for URLComponent in multiple files
📝 (frontend): Refactor input components to use listAddLabel instead of metadata in multiple files

* ♻️ (NodeInputField/index.tsx): Remove unused 'metadata' variable to clean up the code and improve readability

* [autofix.ci] apply automated fixes

* merge fix

* [autofix.ci] apply automated fixes

* fix tests

* 🐛 (generalBugs-shard-5.spec.ts): fix incorrect comments numbering connections
💡 (generalBugs-shard-5.spec.ts): add clarifying comments for connection steps in the test case

* 🐛 (generalBugs-shard-5.spec.ts): fix filling delimiter in popover-anchor-input to resolve UI bug
📝 (generalBugs-shard-5.spec.ts): update test cases to improve test coverage and accuracy

*  (NodeOutputfield/index.tsx): Add top margin to improve spacing of NodeOutputField component
🔧 (generalBugs-shard-5.spec.ts): Remove commented out code related to input filling and waiting for visibility to clean up the test file and improve readability

* 🔧 (index.tsx): increase padding-right from 6 to 10 in input-edit-node class to improve spacing for better user experience

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-01-10 20:35:13 +00:00
Cristhian Zanforlin Lousa
febae4b589
feat: standardize node output icons with TextSearch and Chevrons (#5600)
*  (NodeInputField): Update styling to include padding-bottom when lastInput is true for better UI appearance
📝 (NodeOutputfield): Import TextSearch component from lucide-react library for future use
🔧 (RenderInputParameters): Simplify logic for determining lastInput in NodeInputField component
🔧 (GenericNode): Change icon displayed on HiddenOutputsButton based on showHiddenOutputs state
🔧 (GenericNode): Update tooltip content to include the number of hiddenOutputs when toggling visibility
🔧 (sliderComponent): Remove unnecessary padding-bottom from SliderComponent for better layout
📝 (constants.ts): Update tooltip text for better clarity and consistency with action names

*  (NodeOutputfield/index.tsx): Update import statement for IconComponent to include ForwardedIconComponent for better organization and clarity
🐛 (chatInputOutputUser-shard-0.spec.ts, chatInputOutputUser-shard-1.spec.ts): Fix references to 'ScanEye' icon to 'TextSearchIcon' for consistency and accuracy in tests
2025-01-10 18:29:00 +00:00
Lucas Oliveira
3e482dbc29
feat: allow flow name to be edited from the main page or by clicking header (#5525)
* Added flowData to allow changing flow name without being on the flow

* Added being able to edit the flow name just by clicking the name

* Added handleEdit and edit details option on flow dropdown

* Added flow settings modal to grid and list

* Added flowData type and select option

* Update src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Update src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

* Fixed useCallback import

* Implemented details boolean to not show endpoint, changed title of flow settings modal

* Changed Flow Settings to Edit Details

* Changed Flow Settings modal description

* Fixed empty name not appearing, fixed naming conditions not considered

* 📝 (editFlowSettingsComponent/index.tsx): add data-testid attribute to input element for flow name for testing purposes
 (edit-flow-name.spec.ts): create test to ensure user can edit flow name by clicking on the header or main page, with various random names generated for testing purposes

* Fixed tests that used Flow Settings

* Fixed tests that rely on flow name to open edit details

* Fixed tests

---------

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
2025-01-10 18:14:00 +00:00
Cristhian Zanforlin Lousa
af4fb3774e
feat: Revamp GlobalVariableModal (#5512)
* 📝 (GlobalVariableModal.tsx): Refactor GlobalVariableModal component to use Tabs component instead of Select for type selection and improve layout and styling of input fields and labels
🔧 (index.tsx): Add popoverWidth prop to InputComponent to allow setting the width of the popover in CustomInputPopover component
🔧 (index.tsx): Add popoverWidth prop to InputComponent in InputGlobalComponent to set the width of the popover to 315px

 (tabs-button.tsx): introduce new TabsButton component to handle tab functionality in UI components
📝 (tabs-button.tsx): add documentation for Tabs, TabsContent, TabsList, TabsTrigger components
📝 (components/index.ts): add popoverWidth property to InputComponentType to control the width of the popover in UI components

*  (GlobalVariableModal.tsx): Add ForwardedIconComponent to display an icon next to the modal header text for better visual representation
📝 (GlobalVariableModal.tsx): Update TabsTrigger components to include data-testid attribute for testing purposes

 (index.tsx): Introduce new components OptionBadge, CommandItemContent, and SelectionIndicator to improve code organization and reusability
♻️ (index.tsx): Refactor handleRemoveOption function to have a more descriptive parameter signature and improve readability
📝 (index.tsx): Add comments to clarify the purpose of handleOptionSelect function and improve code documentation
📝 (index.tsx): Add comments to describe the purpose of getInputClassName and getAnchorClassName functions for better code understanding

 (globalVariables.spec.ts): improve placeholder text for variable name and value fields for better user understanding and experience

* 🐛 (GlobalVariableModal.tsx): Fix disabled state logic for TabsTrigger components to correctly reflect initialData type
📝 (GlobalVariableModal.tsx): Update label for submit button to dynamically change based on the presence of initialData

* 🐛 (index.tsx): Fix issue where options were not being correctly memoized as a Set to prevent unnecessary re-renders. Update memoizedOptions to correctly memoize options as a Set.

* 📝 (userSettings.spec.ts): Update placeholder text for variable name and value fields to improve clarity and user experience.
2025-01-07 12:07:08 +00:00
anovazzi1
a57a49d48d
refactor: prevent tool mode on group component (#5522)
* Refactor nodeToolbarComponent to conditionally show tool mode button based on isGroup variable

* add toolModeGroup.spec.ts test

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-01-06 20:20:37 +00:00
Cristhian Zanforlin Lousa
2ed0b10679
fix(nightly): refactor freeze-path feature test (#5557) 2025-01-06 10:59:29 -08:00
Lucas Oliveira
bd7f913d28
fix: add minimized attribute to components and make chatinput and chatoutput start minimized by default (#5374)
* Added Minimized field to backend to make component start as minimized

* Added minimized as true to chat components

* Added showNode default value as the opposite of minimized

* Changed starter projects to new components

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* Fixed Freeze and DecisionFlow tests

* Fixed other tests that involved chatoutput and chatinput

* Restored tests that didnt fail

* Fixed stop playground test

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-12-23 22:09:22 +00:00
Lucas Oliveira
7d6d41aa87
refactor: update ReactFlow to v12 (#5317)
* Added xyflow and updated imports

* Fix changing node.width to node.measured.width

* Updated NodeType to follow new API

* Fixed note node data type

* Created AllNodeType to contain note node type

* Changed flow types to follow new type from reactflow 12

* Updated flowStore to work with new types

* Updated flowStore and reactFlowUtils to work with custom edge type

* Updated updateAllNodes to use new type

* Updated PageComponent to follow new names for node dragging and edge reconnect

* Made selected prop be optional

* Changed reactFlowInstance to have nodes and edges type

* Updated updateAllComponent to follow new types

* Updated ReactFlowUtils with new types

* Updated reactFlowUtils type

* Updated all reactFlowUtils to be generic

* Updated handleRenderComponent with Connection type

* Updated node description and name with null checks for names

* Added check if node is genericNode on nodeOutputField

* Updated note node type

* Updated nodestatus with selected null check

* Updated notenode with new node type

* Update NodeType imports to be AllNodeType

* Fix more lint issues

* Fixed react flow button css

*  (freeze.spec.ts): add zoomOut utility function to handle zooming out in tests for better code reusability and readability
📝 (decisionFlow.spec.ts): import zoomOut utility function to handle zooming out in tests for better code reusability and readability
📝 (zoom-out.ts): create zoomOut utility function to handle zooming out in tests for better code reusability and readability

* 🐛 (generalBugs-shard-10.spec.ts): fix test to wait for the element with class "border-ring-frozen" to be visible before asserting its count

* 📝 (generalBugs-shard-10.spec.ts): remove unnecessary locator click on element with id 'react-flow-id' to improve test reliability and maintainability

* 📝 (SelectionMenuComponent): add data-testid attribute to differentiate error-group-node and group-node components
📝 (similarity.spec.ts): refactor dragTo calls to use targetPosition for better accuracy, replace zoom_out clicks with zoomOut function, updateOldComponents function to handle outdated components
📝 (generalBugs-shard-5.spec.ts): replace zoom_out clicks with zoomOut function, add waitForSelector for group-node before clicking, remove unnecessary mouse interactions
📝 (intComponent.spec.ts): replace zoom_out clicks with zoomOut function, click on div-generic-node component
📝 (keyPairListComponent.spec.ts): click on div-generic-node component, adjustScreenView function call
📝 (nestedComponent.spec.ts): remove unnecessary click on react-flow-id element
📝 (generalBugs-shard-7.spec.ts): replace zoom_out clicks with zoomOut function

*  (stop-building.spec.ts): Add new utility functions to improve code modularity and readability
🔧 (stop-building.spec.ts): Refactor drag and drop operations to use utility functions for better maintainability
🔧 (stop-building.spec.ts): Refactor zoom out operations to use utility function for consistency
🔧 (stop-building.spec.ts): Refactor component positioning operations to use utility functions for clarity
🔧 (stop-building.spec.ts): Refactor outdated components and filled API keys handling to use utility functions for reusability
🔧 (stop-building.spec.ts): Refactor fit view operation to use utility function for consistency

*  (generalBugs-shard-9.spec.ts): refactor test to use initialGPTsetup function for GPT setup instead of manual steps to improve code readability and maintainability

*  (store-shard-2.spec.ts): Increase timeout for clicking "api-key-button-store" to 200000ms for better test stability
 (deleteComponents.spec.ts, deleteFlows.spec.ts, store-shard-1.spec.ts, store-shard-3.spec.ts): Increase timeout for clicking "api-key-button-store" to 200000ms for better test stability
 (store-shard-1.spec.ts, store-shard-3.spec.ts): Remove unnecessary waitForSelector and add timeout of 200000ms for clicking "api-key-button-store" for better test stability

*  (fileUploadComponent.spec.ts): update dragTo method calls with targetPosition option to specify the position of the drag action

*  (decisionFlow.spec.ts): add explicit wait for an element to be attached before interacting with it to improve test reliability
🐛 (sticky-notes.spec.ts): fix test by adding keyboard press to simulate pressing the Escape key to close a modal before checking text length

*  (sticky-notes.spec.ts): update assertion to use 'toHaveCount' matcher for improved test readability and reliability

* Added function to make controls horizontal

*  (sticky-notes.spec.ts): update selector for textMarkdown to improve test reliability and readability

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2024-12-18 19:40:13 +00:00
anovazzi1
02fbb450db
feature: Add message feedback and update frontend interface (#5022)
* add style for message feedback

* add backend suprot to new feature

* update frontend interface and add handle function

* [autofix.ci] apply automated fixes

* Update tooltip content for bot messages

* Update evaluation icons styling

* Add custom thumb icons for thumbs up and thumbs down

* Add custom thumb icons for thumbs up and thumbs down

* Update thumb icons based on evaluation value

* [autofix.ci] apply automated fixes

* Update property name for positive feedback

* Update property name for positive feedback

* feat: Add data-testid attributes to helpful and not helpful buttons and update test of playground to include new functionality

* update test to include new message features
2024-12-17 19:09:06 +00:00
Cristhian Zanforlin Lousa
2a95b52e06
perf: Optimize component with memoization and selective store subscriptions (#5296)
*  (NodeOutputfield/index.tsx): Introduce memoization for IconComponent, Button components, and OutputComponent for performance optimization
🔧 (NodeOutputfield/index.tsx): Change the import of 'useEffect' to 'useCallback' for better performance and to prevent unnecessary re-renders
🔧 (NodeOutputfield/index.tsx): Refactor the 'NodeOutputField' component to use useMemo for selective store subscriptions and computed values to improve performance and avoid unnecessary recalculations
🔧 (NodeOutputfield/index.tsx): Refactor the 'handleUpdateOutputHide' function to use useCallback for better performance and to prevent unnecessary re-renders
🔧 (NodeOutputfield/index.tsx): Refactor the 'useEffect' hook to include dependencies and prevent unnecessary re-renders
🔧 (NodeOutputfield/index.tsx): Refactor the 'Handle' component to use useMemo for memoization and performance optimization

 (NodeOutputfield/index.tsx): Refactor NodeOutputField component to improve readability and maintainability by extracting button and tooltip components into separate reusable components, and optimizing the structure of the output field rendering.

📝 (RenderInputParameters/index.tsx): Move sortToolModeFields import to the top of the file for better organization and readability.

 (GenericNode/index.tsx): Introduce memoization to optimize rendering performance by memoizing components and values
🔧 (GenericNode/index.tsx): Add useCallback to handleUpdateCode and handleUpdateCodeWShortcut functions for better performance and prevent unnecessary re-renders

📝 (GenericNode/index.tsx): Refactor code to use useEffect and useCallback hooks for better performance and readability
📝 (GenericNode/index.tsx): Refactor code to improve component structure and readability by extracting repeated logic into separate functions using useCallback
📝 (GenericNode/index.tsx): Refactor code to optimize rendering logic and improve maintainability by using memoization with React.memo

 (sort-tool-mode-field.ts): introduce a new helper function sortToolModeFields to sort fields based on tool mode status and field order array

* 📝 (NodeOutputfield/index.tsx): add missing newline before ShadTooltip component for better code readability

 (handleRenderComponent/index.tsx): Add memoization to HandleContent component for performance optimization
♻️ (handleRenderComponent/index.tsx): Refactor HandleContent component to use useCallback and useMemo hooks for better code readability and maintainability

🔧 (handleRenderComponent/index.tsx): Refactor code to improve readability and maintainability by updating function signatures, using hooks more efficiently, and organizing code structure.

 (file.ts): refactor handleMouseDown function to use useCallback hook for better performance and memoization
♻️ (file.ts): refactor handleClick function to use useCallback hook for better performance and memoization

♻️ (handleRenderComponent/index.tsx): Refactor handleRenderComponent to improve code readability and maintainability by extracting callback functions into separate useCallback hooks and using memoization for validation function.

* improve memo in several components

*  (handleRenderComponent/index.tsx): add data-testid attribute to handle element for improved testing and accessibility

*  (toolbar-button.tsx): add data-testid prop to ToolbarButton component for better testing capabilities
📝 (index.tsx): add data-testid attribute to various ToolbarButton components for better testability

*  (NodeOutputfield/index.tsx): Add onClick event handler to the InspectButton component to trigger a function when the button is clicked.

*  (freeze.spec.ts): add test case for clicking on "Close" button in the modal to ensure proper functionality

* 📝 (nodeToolbarComponent/index.tsx): remove unnecessary dataTestId attribute from freeze-path-button to clean up code and improve readability

* 🐛 (GenericNode/index.tsx): Fix potential error when outputs is null or undefined by adding optional chaining
🐛 (auto-save-off.spec.ts): Update selector for "Saved" text to target the last occurrence
🐛 (auto-save-off.spec.ts): Update selector for "Unsaved changes will be permanently lost." text to handle dynamic rendering
🐛 (auto-save-off.spec.ts): Update selector for "NVIDIA" text to ensure it is not visible
🐛 (auto-save-off.spec.ts): Update drag and drop logic for NVIDIA model to ensure correct behavior
🐛 (auto-save-off.spec.ts): Update hover logic and add component button handling for NVIDIA model to ensure correct behavior

*  (parameterRenderComponent/index.tsx): Refactor ParameterRenderComponent to improve performance by memoizing components and props, and using useCallback and useMemo for better optimization.

📝 (ui/disclosure.tsx): Update imports and add new React hooks for better code organization and performance
📝 (ui/disclosure.tsx): Refactor DisclosureProvider component to use useCallback and useMemo for better performance
📝 (ui/disclosure.tsx): Refactor DisclosureTrigger component to use useCallback and useMemo for better performance
📝 (ui/disclosure.tsx): Refactor DisclosureContent component to use useCallback and useMemo for better performance
📝 (ui/disclosure.tsx): Refactor Disclosure component to use memo for better performance
📝 (ui/disclosure.tsx): Refactor DisclosureTrigger component to use memo for better performance
📝 (ui/disclosure.tsx): Refactor DisclosureContent component to use memo for better performance
📝 (ui/disclosure.tsx): Refactor DisclosureProvider component to use memo for better performance
📝 (nodeToolbarComponent/index.tsx): Refactor NodeToolbarComponent to use useCallback and useMemo for better performance

*  (use-handle-new-value.tsx): Memoize postTemplateValue and updateNodeState functions to prevent unnecessary re-renders and improve performance
📝 (use-handle-new-value.tsx): Memoize handleOnNewValue function to optimize performance by preventing unnecessary re-renders and improve code readability

---------

Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
2024-12-17 14:05:13 +00:00
Cristhian Zanforlin Lousa
ab68e13493
test: Add utility functions to streamline test setup and improve maintainability (#5168)
* change tests to use utils libs

* 🔧 (frontend): add data-testid attribute to buttons in baseModal and secretKeyModal components
🔧 (frontend): add data-testid attribute to buttons in various test files for improved testing
🔧 (frontend): refactor awaitBootstrapTest function to remove skipNewFlow option and improve modal handling

*  (userSettings.spec.ts): add a 1-second timeout before checking for the "Please save" text to ensure it is rendered on the page before interacting with it

*  (userSettings.spec.ts): add comment to clarify waiting for API key creation to complete before proceeding to the next form element

*  (freeze-path.spec.ts): refactor adjustScreenView function to accept a parameter for the number of zoom outs to perform, improving flexibility and reusability in test scenarios.
🔧 (freeze-path.spec.ts): replace adjustScreenView function with initialGPTsetup function for setting up initial GPT configuration in the test scenario.
2024-12-09 20:30:56 +00:00
Cristhian Zanforlin Lousa
5407cad728
feature: Update HandleTooltipComponent text from "Select" to "Click" for better clarity (#5004) 2024-12-04 09:46:58 +00:00
Lucas Oliveira
79e3d3f50d
fix: removed beta from current date (#4901)
* Removed beta from current date

* [autofix.ci] apply automated fixes

* refactor: improve error message handling in CloudflareWorkersAIEmbeddings

* Fix filter sidebar test

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-11-28 09:02:15 -08:00
Cristhian Zanforlin Lousa
989cefd0ac
tests: organize playwright tests by feature suites and optimize CI runtime (#4687)
* starting realocating components FE

* tagging tests

* 📝 (.github/workflows/typescript_test.yml): remove unnecessary comment before the Playwright test execution step to improve readability and maintainability

* 📝 (.github/changes-filter.yaml): Update paths in changes-filter.yaml to categorize different sections of the project for testing purposes
🔧 (.github/workflows/typescript_test.yml): Refactor workflow to use paths-filter action for determining test suites based on changes in different project sections

*  (changes-filter.yaml): reorganize and update paths for test categories, starter projects, components, workspace, api, and database
 (components): add new components for GradientWrapper, pageLayout, and paginatorComponent
🔧 (MainPage): update import path for PageLayout component
🔧 (SettingsPage): update import path for PageLayout component
🔧 (StorePage): update import path for PageLayout component

*  (frontend): Update import paths for components to use common directory instead of core directory for better organization and consistency
🔧 (frontend): Remove duplicate import of PaginatorComponent in various files and import it from the common directory to reduce redundancy and improve maintainability

* 🔧 (changes-filter.yaml): remove unnecessary release section from changes-filter.yaml
🔧 (typescript_test.yml): refactor workflow to support input suites and release flag for test runs

* 📝 (changes-filter.yaml): remove unnecessary entries from components section and add missing entries to workspace section for better organization and filtering of changes
🔧 (changes-filter.yaml): update changes-filter.yaml to include missing utils files in the frontend/src/utils directory
🔧 (typescript_test.yml): remove redundant code block that sets SUITES variable to default values as it is no longer needed due to changes in the changes-filter.yaml file

*  (actionsMainPage-shard-1.spec.ts): Update test tags to remove unnecessary tags for better organization and clarity
📝 (store-shard-2.spec.ts): Update test tags to remove unnecessary tags for better organization and clarity
📝 (generalBugs-shard-4.spec.ts): Update test tags to remove unnecessary tags for better organization and clarity
📝 (generalBugs-shard-9.spec.ts): Update test tags to remove unnecessary tags for better organization and clarity
📝 (deleteComponents.spec.ts): Update test tags to remove unnecessary tags for better organization and clarity
📝 (deleteFlows.spec.ts): Update test tags to remove unnecessary tags for better organization and clarity

 (dragAndDrop.spec.ts): Refactor drag and drop test to improve readability and maintainability
 (flowPage.spec.ts): Refactor save test in Flow Page to improve readability and maintainability
 (store-shard-0.spec.ts): Refactor Store test to improve readability and maintainability
 (store-shard-1.spec.ts): Refactor Store test to improve readability and maintainability

 (store-shard-3.spec.ts): Remove unnecessary tags from test descriptions to improve clarity and consistency
 (userSettings.spec.ts): Remove unnecessary tags from test descriptions to improve clarity and consistency
 (general-bugs-shard-3909.spec.ts): Remove unnecessary tags from test descriptions to improve clarity and consistency

📝 (frontend): Update test tags in regression tests to remove unnecessary tags for better organization and clarity
📝 (frontend): Update test file paths in tsconfig.json to match the new file structure for consistency and maintainability

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* Update paths-filter action to v3 and adjust filter configuration file

* Add logging to matrix setup in TypeScript test workflow

* Refactor decisionFlow.spec.ts to improve test setup and execution flow

* Refactor import paths for genericIconComponent and shadTooltipComponent in PlaygroundButton component

* feat: add release input to CI workflows for enhanced deployment control

* Fix: Correct 'release' input type in CI workflow configuration

* [autofix.ci] apply automated fixes

* Refactor Blog Writer test: streamline setup and interaction steps

* Refactor test cases to improve modal handling and streamline API key input logic

* Add test grep pattern to GitHub Actions workflow for targeted test execution

- Introduced `test_grep` output in the `determine-test-suite` job to generate a grep pattern based on changed files or input suites.
- Updated Playwright test execution to use the generated grep pattern, allowing for more targeted test runs.
- Enhanced the `Set Matrix` step to include tag processing for test filtering.

* Enhance tag filtering in test workflow with regex lookaheads

* Fix syntax for default suite input in GitHub Actions workflow

* Update GitHub Actions to handle empty suite input for release builds

* Escape regex lookaheads and quotes for GitHub Actions in test workflow

* Update regex pattern and quote escaping in TypeScript test workflow

* Use single quotes for echo command in GitHub Actions script

* Refactor tag handling in GitHub Actions to use OR logic for grep patterns

* 🔧 (FlowPage/index.tsx): Remove unnecessary empty line to improve code readability and consistency

* 📝 (FlowPage/index.tsx): add missing line break for better code readability

* Refactor import path and reorder CSS classes for consistency in UpdateAllComponents component

* [autofix.ci] apply automated fixes

* Update import path for PaginatorComponent in AdminPage index.tsx

*  (logs.spec.ts): introduce a new variable 'modalCount' to keep track of the number of modals opened in the test suite

* 📝 (filterSidebar.spec.ts): remove unnecessary test steps related to filter removal and sidebar interactions to simplify and improve test focus on main functionality

*  (logs.spec.ts): add tests to ensure proper interaction with logs feature in the frontend application

*  (similarity.spec.ts): add a test tag for release and components to categorize the test case
💡 (similarity.spec.ts): add a comment to explain the purpose of the test case and the condition for skipping the test

*  (decisionFlow.spec.ts): add missing newline before async function declaration to improve code readability

*  (textInputOutput.spec.ts): skip the test for TextInputOutputComponent to exclude it from the test suite temporarily

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-11-25 20:55:03 +00:00
anovazzi1
efca9f9aeb
refactor: Improve componentHoverAdd.spec test (#4608) 2024-11-22 00:14:45 -03:00
anovazzi1
20f26a9ccf
fix: Improve waiting logic in tweksTest.spec.ts (#4674)
Improve the waiting logic in the tweksTest.spec.ts file to ensure that the necessary elements are loaded before interacting with them. This includes using the waitForSelector function with appropriate timeouts for the modal and popover elements.
2024-11-22 02:03:51 +00:00
Cristhian Zanforlin Lousa
226453a606
refactor: Replace InputComponent with Select dropdown (#4719)
* 🔧 (nodeToolbarComponent/index.tsx): improve positioning logic for node toolbar based on scale and tool mode to enhance user experience

*  (GlobalVariableModal.tsx): Refactor type selection in GlobalVariableModal to use a dropdown select component for better user experience and consistency.

* Revert "🔧 (nodeToolbarComponent/index.tsx): improve positioning logic for node toolbar based on scale and tool mode to enhance user experience"

This reverts commit 322ba353a6984fcf870cba8c82c26689381842da.

*  (GlobalVariableModal.tsx): Add data-testid attribute to SelectTrigger for testing purposes
🔧 (globalVariables.spec.ts, userSettings.spec.ts): Update test scripts to interact with the SelectTrigger using data-testid attribute for consistency and improved testing accuracy

* 📝 (userSettings.spec.ts): remove commented out code for focusElementsOnBoard function to improve code readability and maintainability
2024-11-21 16:45:01 -08:00
anovazzi1
6737368073
fix: Improve wait time in saveComponents.spec.ts (#4673)
Improve the wait time in the saveComponents.spec.ts file to ensure that the necessary elements are loaded before interacting with them. This helps prevent potential errors and improves the reliability of the test.
2024-11-21 16:40:39 -08:00
anovazzi1
8ebe1086d2
refactor: improve freeze-path.spec.ts and freeze.spec.ts files (#4618)
* refactor: Improve time and use waitForSelector in freeze-path.spec.ts

* refactor: Improve time and use waitForSelector in freeze-path.spec.ts

* fromat code

* Refactor freeze.spec.ts: Remove unnecessary code
2024-11-21 16:46:44 -03:00
anovazzi1
ebe4f3470c
refactor: Improve time and use waitForSelector in globalVariables.spec.ts (#4619) 2024-11-19 14:04:08 -08:00
Lucas Oliveira
c9e0d5e4ba
fix: updated node toolbar to be more stable on zoom, fix success and error component tooltips, unselect nodes on flow opening (#4610)
* Unselect nodes and edges on enter

* Start with viewport fit

* Fix run component tooltip to match error and success

* Update scrollbar design

* Added node toolbar without portal to match the width of the node

* Updated color of scrollbar

* Updated NoteNode to have same behavior as GenericNode

* Updated logic for tests to pass

* Fix fitview to only occur when nodes are present

* Update z index of resize handle

* Sticky notes test fix

* [autofix.ci] apply automated fixes

* freeze test fixed

---------

Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
2024-11-19 13:54:49 -08:00
anovazzi1
e6cd335b1c
refactor: time and use waitForSelector in filterSidebar.spec.ts (#4609)
* refactor: Improve time and use waitForSelector in filterSidebar.spec.ts

* refactor: Improve time and use waitForSelector in filterSidebar.spec.ts
2024-11-18 17:08:26 -08:00
anovazzi1
4965971901
refactor: Improve performance in logs.spec.ts and format code (#4671)
* improve performance in logs

* format code
2024-11-18 17:08:04 -08:00
anovazzi1
cd2517f7e2
refactor: improve tests for group and keyBoardComponentSearch tests (#4621)
* refactor: Remove unnecessary wait in group.spec.ts

* refactor: Improve keyboard component search tests

Improve the keyboard component search tests by using waitForSelector instead of waitForTimeout for better reliability and stability.
2024-11-18 14:09:24 -08:00
anovazzi1
a0cd179258
refactor: Improve time and use waitForSelector in folder tests (#4614)
* refactor: Improve time and use waitForSelector in folder tests

* add comment for documentation

* Refactor componentHoverAdd test to use opacity check instead of exact value
2024-11-18 13:03:06 -08:00
anovazzi1
0461baf10a
refactor: Improve time and use waitForSelector instead of timeouts in main page tests (#4601)
* improve test time

* exchange timout for wait for selector

* fix: improve wait time for modals in search components test

* update timer limit
2024-11-14 19:38:41 +00:00
anovazzi1
076bc314ed
refactor: Remove unnecessary wait timeouts in chat components tests (#4605)
* refactor: Remove unnecessary wait timeouts in chatInputOutputUser-shard-0.spec.ts

* update timer limit
2024-11-14 19:20:47 +00:00
anovazzi1
349a1fe284
refactor: Improve time and use waitForSelector in auto-login tests (#4603)
* improve usage of waitForSelector

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-11-14 08:56:33 -08:00