Commit graph

10,104 commits

Author SHA1 Message Date
cristhianzl
4965dca588 🔧 (Makefile): remove unnecessary kill command for frontend server in run_frontend target
📝 (frontend/.gitignore): add test-results/ directory to .gitignore
⬆️ (frontend/package.json): upgrade @playwright/test dependency to version 1.43.1
💡 (frontend/tests/end-to-end/filterEdge.spec.ts): update expected tooltip test ID from "tooltip-Models" to "tooltip-Model Specs"
💡 (frontend/tests/end-to-end/filterEdge.spec.ts): update expected test ID from "disclosure-models" to "disclosure-model specs"
💡 (frontend/tests/end-to-end/globalVariables.spec.ts): add hover and delete functionality to test for global variables
💡 (frontend/tests/end-to-end/saveComponents.spec.ts): add additional wait times to ensure modal is loaded before interacting with it
2024-04-19 12:38:57 -03:00
Cristhian Zanforlin Lousa
47aad8aa87
Resolve Test Failures Post-Dev Merge (#1742)
* 🔧 (playwright.config.ts): set workers to 1 to avoid parallel tests on CI
 (chat_io.spec.ts): refactor code to wait for modal to appear before clicking on the new project button
 (codeAreaModalComponent.spec.ts): refactor code to wait for modal to appear before clicking on the new project button, update code assertions
 (curl_api_generation.spec.ts): refactor code to wait for modal to appear before clicking on the new project button
 (dragAndDrop.spec.ts): refactor code to handle the case when generic node is not present
 (dropdownComponent.spec.ts): refactor code to wait for modal to appear before clicking on the new project button

 (filterEdge.spec.ts): add support for dynamic waiting for modal to appear before interacting with it
🐛 (filterEdge.spec.ts): remove redundant clicks on buttons and improve code readability
♻️ (filterEdge.spec.ts): refactor code to use loop instead of repetitive code for zooming out and waiting for timeout
 (filterEdge.spec.ts): update assertions to match changes in the application UI

 (floatComponent.spec.ts): refactor floatComponent test to use getByTitle instead of complex locators for button clicks
 (flowPage.spec.ts): refactor flowPage test to use getByTitle instead of complex locators for button clicks
 (group.spec.ts): refactor group test to use getByTestId instead of complex locators for button clicks and add loop to handle modal loading
 (inputComponent.spec.ts): refactor inputComponent test to use getByTitle instead of complex locators for button clicks

 (inputListComponent.spec.ts): add support for dynamic modal count to handle asynchronous modal loading
🐛 (inputListComponent.spec.ts): fix search query in inputListComponent test
♻️ (inputListComponent.spec.ts): refactor repetitive code for zooming out in inputListComponent test
 (intComponent.spec.ts): add support for dynamic modal count to handle asynchronous modal loading
♻️ (intComponent.spec.ts): refactor repetitive code for zooming out in intComponent test

 (keyPairListComponent.spec.ts): add support for dynamic modal count to handle modal loading delay
 (keyPairListComponent.spec.ts): update search input value to "amazon bedrock" for more accurate search results
 (keyPairListComponent.spec.ts): update node locator to "model_specsAmazon Bedrock" for more accurate node selection
 (keyPairListComponent.spec.ts): update zoom out action to use "zoom out" title for better readability
 (keyPairListComponent.spec.ts): update keypair verification locator to "editNodekeypair0" for more accurate verification
 (keyPairListComponent.spec.ts): update showcache checkbox locator to "showcache" for better readability
 (keyPairListComponent.spec.ts): update showcredentials_profile_name checkbox locator to "showcredentials_profile_name" for better readability
 (keyPairListComponent.spec.ts): update elementCountNode variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCount variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocator variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCount variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocatorNode variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCountNode variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocator variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCount variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocatorNode variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCountNode variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocator variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCount variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocatorNode variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCountNode variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocator variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCount variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocatorNode variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCountNode variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocator variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCount variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocatorNode variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCountNode variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plus

 (promptModalComponent.spec.ts): add support for dynamic modal count to handle asynchronous modal rendering
 (python_api_generation.spec.ts): add support for dynamic modal count to handle asynchronous modal rendering
 (saveComponents.spec.ts): add support for dynamic modal count to handle asynchronous modal rendering
 (store.spec.ts): add support for dynamic icon count to handle asynchronous rendering
 (textAreaModalComponent.spec.ts): add support for dynamic modal count to handle asynchronous modal rendering

 (toggleComponent.spec.ts): add support for dynamic waiting for modal to appear before interacting with it
🐛 (toggleComponent.spec.ts): fix typo in element locator for dataDirectory
♻️ (toggleComponent.spec.ts): refactor repetitive code for zooming out
 (toggleComponent.spec.ts): add assertions for checking toggle state and button clicks
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggle

* 🔧 (frontend/package.json): add dotenv package as a dependency to enable environment variable configuration
🔧 (frontend/playwright.config.ts): add dotenv configuration to read environment variables from .env file
♻️ (frontend/src/modals/IOModal/components/chatView/chatMessage/index.tsx): refactor code to add data-testid attribute to span element for sender name to improve testability
 (frontend/tests/end-to-end/chatInputOutput.spec.ts): add end-to-end test for user interaction with chat input/output functionality
 (frontend/tests/end-to-end/chat_io_teste.spec.ts): add end-to-end test for chat input/output functionality with file upload

 (chat_io.spec.ts): remove chat_io.spec.ts test file as it is no longer needed
 (textInputOutput.spec.ts): add new test file textInputOutput.spec.ts to test the functionality of text input and output components in the application

* 📝 (typescript_test.yml): remove unnecessary comments and unused code related to Playwright browser binaries caching and installation
🔧 (typescript_test.yml): refactor setup of Python and Poetry versions to use a custom GitHub action for caching and setting up the environment efficiently

*  (globalVariables.spec.ts): add end-to-end test for global variables functionality in the frontend
 (textInputOutput.spec.ts): rename test from "CodeAreaModalComponent" to "TextInputOutputComponent" to improve clarity and accuracy

* 📝 (chatInputOutput.spec.ts): update test URL to use relative path instead of absolute path for better test portability
📝 (filterEdge.spec.ts): update test URL to use relative path instead of absolute path for better test portability
📝 (inputListComponent.spec.ts): update test URL to use relative path instead of absolute path for better test portability
📝 (store.spec.ts): update test URL to use relative path instead of absolute path for better test portability
📝 (textAreaModalComponent.spec.ts): update test URL to use relative path instead of absolute path for better test portability

* 🚀 (typescript_test.yml): add uvicorn command to run the app with Playwright tests
🔧 (typescript_test.yml): configure uvicorn to use the langflow.main:create_app factory function, listen on all interfaces, use port 7860, enable auto-reload, read environment variables from .env file, and use asyncio event loop

* 🔧 (typescript_test.yml): fix path to .env file in the uvicorn command to correctly load environment variables

* 🔧 (typescript_test.yml): fix path to .env file in uvicorn command to correctly locate the file

* 🐛 (typescript_test.yml): remove unnecessary --env-file flag from uvicorn command to fix an issue with loading environment variables

* 🔧 (typescript_test.yml): run uvicorn command in the background and add a 2-second sleep to allow the server to start before running Playwright tests

*  (typescript_test.yml): update Playwright test command to use a single worker (--workers=1) to avoid race conditions and improve stability during test execution

*  (.github/workflows/typescript_test.yml): remove unnecessary flags from the Playwright test command to simplify the command and improve readability

* 🔧 (typescript_test.yml): add command to install Playwright dependencies before running Playwright tests to ensure all required dependencies are installed

* ⬆️ (typescript_test.yml): upgrade Playwright installation command to use 'npm install' instead of 'npx playwright install --with-deps' to simplify the installation process

*  (typescript_test.yml): add npm start command before running the tests to ensure the frontend server is running during the tests

* 🔧 (typescript_test.yml): run 'npm start' command in the background to allow the next step to execute concurrently
 (typescript_test.yml): add step to upload blob report to GitHub Actions Artifacts for easier access and analysis

*  (typescript_test.yml): update Playwright test command to include shard index and total for parallel test execution

* 🔧 (playwright.config.ts): add conditional dotenv configuration based on process.env.CI to prevent loading .env file in CI environment

* 🔧 (playwright.config.ts): update dotenv configuration to only load .env file when not running in a CI environment
📝 (playwright.config.ts): add comment explaining the purpose of the dotenv configuration and providing a link to the Playwright documentation for test configuration

* ♻️ (playwright.config.ts): comment out dotenv.config() calls to improve performance and remove unnecessary code

* 📝 (playwright.config.ts): comment out the forbidOnly and retries options to disable them
📝 (playwright.config.ts): change the reporter option to always use the "blob" reporter
📝 (playwright.config.ts): comment out the globalTeardown option to disable it
📝 (playwright.config.ts): set the reuseExistingServer option to always be true

* ♻️ (playwright.config.ts): refactor fullyParallel option to be set to false instead of true to disable running tests in parallel

*  (.github/workflows/typescript_test.yml): remove shardIndex and shardTotal arguments from the Playwright test command to simplify the command and avoid unnecessary complexity

* 🐛 (playwright.config.ts): add --loop asyncio flag to uvicorn command to fix asyncio event loop issue

* 📝 (playwright.config.ts): add support for reading environment variables from a .env file
♻️ (playwright.config.ts): refactor code to use path module instead of importing it from @playwright/test
 (playwright.config.ts): enable forbidOnly option to fail the build on CI if test.only is accidentally left in the source code
 (playwright.config.ts): enable retries option to retry tests on CI 2 times
♻️ (playwright.config.ts): refactor code to use globalTeardown option to specify the path to globalTeardown.ts file

* 🔧 (typescript_test.yml): run Playwright tests in the background using the '&' operator to improve workflow efficiency
♻️ (playwright.config.ts): refactor workers configuration to use 10 workers on CI and 1 worker otherwise to optimize test execution
🐛 (darkStore.tsx): fix issue where stars and lastUpdated values were not being refreshed correctly on CI environment

* ♻️ (darkStore.tsx): remove unnecessary empty line to improve code readability

* 🔧 (typescript_test.yml): remove unnecessary ampersand (&) at the end of the 'npx playwright test' command to prevent running the command in the background

* 📝 (darkStore.tsx): set "githubStars" to "0" in localStorage when running in CI environment to ensure consistent test results
🐛 (filterEdge.spec.ts): update test assertions to match changes in the application UI

* 📝 (api.tsx): add condition to reject promise if error occurs during API request to GitHub to prevent auto-login flow
📝 (auto_login.spec.ts): update page.goto() URLs to use relative paths instead of absolute URLs
📝 (chatInputOutput.spec.ts): move dotenv.config() call after page.goto() to ensure proper environment variable loading
📝 (codeAreaModalComponent.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (curl_api_generation.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (dragAndDrop.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (dropdownComponent.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (floatComponent.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (flowPage.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (globalVariables.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (group.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (inputComponent.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (intComponent.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (keyPairListComponent.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (langflowShortcuts.spec.ts): update page.goto() URL to use relative path instead of absolute URL

📝 (nestedComponent.spec.ts): update page URL to use relative path instead of absolute path for better portability and flexibility
📝 (promptModalComponent.spec.ts): update page URL to use relative path instead of absolute path for better portability and flexibility
📝 (saveComponents.spec.ts): update page URL to use relative path instead of absolute path for better portability and flexibility
📝 (textInputOutput.spec.ts): update page URL to use relative path instead of absolute path for better portability and flexibility
📝 (toggleComponent.spec.ts): update page URL to use relative path instead of absolute path for better portability and flexibility

* 🔧 (playwright.config.ts): set workers to a fixed value of 10 to improve test performance and avoid parallel tests on CI
🐛 (group.spec.ts): move page.goto("/") inside the test function to ensure the page is properly loaded before running the test

*  (chatInputOutput.spec.ts): add dotenv configuration to load environment variables before running the test
🐛 (chatInputOutput.spec.ts): fix issue where the test was not waiting for the page to load before interacting with it
 (curl_api_generation.spec.ts): add dotenv configuration to load environment variables before running the test
🐛 (curl_api_generation.spec.ts): fix issue where the test was not waiting for the page to load before interacting with it

* 🔧 (playwright.config.ts): update number of workers based on the value of the CI environment variable
🐛 (chatInputOutput.spec.ts): fix potential null reference error when getting modal count
🐛 (codeAreaModalComponent.spec.ts): fix potential null reference error when getting modal count
🐛 (curl_api_generation.spec.ts): fix potential null reference error when getting modal count
🐛 (dropdownComponent.spec.ts): fix potential null reference error when getting modal count
🐛 (filterEdge.spec.ts): fix potential null reference error when getting modal count
🐛 (globalVariables.spec.ts): fix potential null reference error when getting modal count
🐛 (group.spec.ts): fix potential null reference error when getting modal count
🐛 (inputComponent.spec.ts): fix potential null reference error when getting modal count
🐛 (inputListComponent.spec.ts): fix potential null reference error when getting modal count
🐛 (intComponent.spec.ts): fix potential null reference error when getting modal count
🐛 (keyPairListComponent.spec.ts): fix potential null reference error when getting modal count
🐛 (langflowShortcuts.spec.ts): fix potential null reference error when getting modal count
🐛 (nestedComponent.spec.ts): fix potential null reference error when getting modal count

🐛 (promptModalComponent.spec.ts): fix potential null pointer exception when accessing page object
🐛 (python_api_generation.spec.ts): fix potential null pointer exception when accessing page object
🐛 (saveComponents.spec.ts): fix potential null pointer exception when accessing page object
🐛 (textAreaModalComponent.spec.ts): fix potential null pointer exception when accessing page object
🐛 (textInputOutput.spec.ts): fix potential null pointer exception when accessing page object
🐛 (toggleComponent.spec.ts): fix potential null pointer exception when accessing page object
🐛 (tweaks_test.spec.ts): fix potential null pointer exception when accessing page object

* 🔧 (playwright.config.ts): update workers configuration to use 10 workers on CI and default to an empty value otherwise
🔧 (playwright.config.ts): update reporter configuration to use "blob" reporter on CI and "html" reporter otherwise

* 🔧 (playwright.config.ts): update workers configuration to use a default value of 5 when not running on CI environment, to improve test performance and resource usage

*  (playwright.config.ts): enable fully parallel test execution to improve test performance
🐛 (chatInputOutput.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (codeAreaModalComponent.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (curl_api_generation.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (dragAndDrop.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (dropdownComponent.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (filterEdge.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (flowPage.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (globalVariables.spec.ts): handle potential error when counting modal titles to prevent test failures

🐛 (group.spec.ts): Fix bug in group and ungroup updating values test where modalCount was not correctly initialized
🐛 (inputComponent.spec.ts): Fix bug in InputComponent test where modalCount was not correctly initialized
🐛 (inputListComponent.spec.ts): Fix bug in InputListComponent test where modalCount was not correctly initialized
🐛 (intComponent.spec.ts): Fix bug in IntComponent test where modalCount was not correctly initialized
🐛 (keyPairListComponent.spec.ts): Fix bug in KeypairListComponent test where modalCount was not correctly initialized
🐛 (langflowShortcuts.spec.ts): Fix bug in LangflowShortcuts test where modalCount was not correctly initialized
🐛 (nestedComponent.spec.ts): Fix bug in NestedComponent test where modalCount was not correctly initialized
🐛 (promptModalComponent.spec.ts): Fix bug in PromptTemplateComponent test where modalCount was not correctly initialized
🐛 (python_api_generation.spec.ts): Fix bug in python_api_generation test where modalCount was not correctly initialized
🐛 (saveComponents.spec.ts): Fix bug in save group component tests where modalCount was not correctly initialized
🐛 (textAreaModalComponent.spec.ts): Fix bug in TextAreaModalComponent test where modalCount was not correctly initialized

 (textInputOutput.spec.ts): handle error when getting modal title element and set modalCount to 0 in case of error
 (toggleComponent.spec.ts): handle error when getting modal title element and set modalCount to 0 in case of error
 (tweaks_test.spec.ts): handle error when getting modal title element and set modalCount to 0 in case of error

* ⬆️ (playwright.config.ts): downgrade the number of workers from 10 to 5 to reduce resource usage and improve test stability

* ⬆️ (playwright.config.ts): decrease the number of workers to 1 to avoid parallel tests on CI
📝 (playwright.config.ts): comment out the workers configuration and add a new line with a single worker to clarify the intention
 (playwright.config.ts): add a new file "temp" to the frontend directory

* 📝 (chatInputOutput.spec.ts): add support for loading environment variables from .env file for local development and CI/CD environments
📝 (textInputOutput.spec.ts): add support for loading environment variables from .env file for local development and CI/CD environments

* 🔧 (typescript_test.yml): add step to create .env file and populate it with secret environment variables
🚀 (typescript_test.yml): run Playwright tests after creating .env file to ensure tests have access to necessary environment variables

*  (dragAndDrop.spec.ts): add a test to close the modal by clicking on the "Close" button

* 🔧 (typescript_test.yml): update Playwright test command to include shard index and total for distributed test execution
♻️ (playwright.config.ts): refactor workers configuration to use environment variable CI to determine the number of workers for parallel tests

* ⬆️ (playwright.config.ts): downgrade the number of workers to 1 to avoid parallel tests on CI environment

* 📝 (filterEdge.spec.ts): remove unnecessary click on element with id 'headlessui-disclosure-button-:rld:'
♻️ (filterEdge.spec.ts): remove redundant assertions for elements with ids 'saved_componentsBasic RAG' and 'saved_componentsGroup'
♻️ (floatComponent.spec.ts): refactor code to handle modal dynamically by checking for modal title element and waiting for it to appear before clicking on 'new-project-btn' element

* 🔧 (playwright.config.ts): update number of workers to 5 when running on CI to improve test parallelization
🐛 (filterEdge.spec.ts): add a 2-second delay before asserting visibility of tooltips to ensure they are fully rendered before checking visibility

* 📝 (index.tsx): add data-testid attribute to the flow name element for easier testing and querying
📝 (index.tsx): add data-testid attribute to the public checkbox for easier testing and querying
📝 (test_file.txt): add a test file for end-to-end testing purposes
📝 (fileUploadComponent.spec.ts): add end-to-end test for file upload functionality

 (flowSettings.spec.ts): add end-to-end test for flow settings functionality
 (store.spec.ts): add end-to-end test for sharing a component with the share button

* 🔧 (playwright.config.ts): set workers to 1 to avoid parallel tests execution and improve stability
📝 (test_file.txt): remove newline at the end of the file for consistency
♻️ (flowPage.spec.ts): refactor code to remove unnecessary lines and commented out code
♻️ (flowSettings.spec.ts): refactor code to generate a random flow name instead of hardcoding it

* 🔧 (typescript_test.yml): remove shardIndex and shardTotal arguments from the 'npx playwright test' command to simplify the command and remove unnecessary complexity
🐛 (textInputOutput.spec.ts): change 'textContent()' to 'inputValue()' to correctly retrieve the value of the input field

* ♻️ (typescript_test.yml): refactor test workflow to remove unnecessary matrix configuration for shardIndex and shardTotal
 (typescript_test.yml): update test workflow to run tests on a single shard instead of multiple shards for simplicity and efficiency

* 🔧 (playwright.config.ts): add clipboard permissions for chromium and firefox projects to enable clipboard read and write functionality
🔧 (curl_api_generation.spec.ts): remove unnecessary context permission grant for clipboard read and write
🔧 (python_api_generation.spec.ts): remove unnecessary context permission grant for clipboard read and write
🔧 (tweaks_test.spec.ts): remove unnecessary context permission grant for clipboard read and write

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@logspace.ai>
2024-04-19 09:11:30 -03:00
Gabriel Luiz Freitas Almeida
fb47b6378b
Update release job names and add outputs in pre-release-base.yml and pre-release-langflow.yml (#1750) 2024-04-18 12:20:01 -03:00
Alper_Emre
24d5c482f0
Fix DB migration erro with Azure PostgreSQL Password with Langflow v0.6.14 (#1711)
The error caused by @ symbol in postgresql pasword fixed
2024-04-18 11:59:36 -03:00
Gabriel Luiz Freitas Almeida
9c292af183 Update organization name and URLs in configuration files 2024-04-18 11:58:19 -03:00
Gabriel Luiz Freitas Almeida
e0a18e96e4 Update contact email in CODE_OF_CONDUCT.md and pyproject.toml files 2024-04-18 11:55:40 -03:00
Gabriel Luiz Freitas Almeida
1ecf48fdd1 Update package versions in pyproject.toml and poetry.lock files 2024-04-18 11:54:21 -03:00
Gabriel Luiz Freitas Almeida
3ad2919ff3
Fix API not passing input_value to Chat Input (#1749)
* Fix API not returning values when stream is True in a component

Fixes #1744

* Update Graph.from_payload method to include user_id parameter
2024-04-18 11:47:45 -03:00
Phil Miesle
b04caf2fca
Feature/astra retriever (#1741)
enable AstraDB as Retriever
2024-04-18 10:40:36 -03:00
Gabriel Luiz Freitas Almeida
ed84307a50 Update LCModelComponent to include build_status_message method 2024-04-17 18:09:49 -03:00
Gabriel Luiz Freitas Almeida
68ef01f18d Update Dockerfiles to use latest node version in frontend 2024-04-17 11:21:10 -03:00
Gabriel Luiz Freitas Almeida
2256edec98 Update Python base image to version 3.10 in devcontainer.json 2024-04-17 11:21:05 -03:00
Gabriel Luiz Freitas Almeida
46291e8fa4 Update gunicorn version to 22.0.0 in pyproject.toml 2024-04-17 00:37:26 -03:00
Gabriel Luiz Freitas Almeida
374508cf18 Update package versions in pyproject.toml and poetry.lock files 2024-04-16 14:03:53 -03:00
Yuri Kovalov
3549d38d87
Fix GCP deploy buttons in GCP docs (#1702)
Fix GCP deploy buttons in docs to call walkthrough from correct directory
2024-04-16 13:58:22 -03:00
Gabriel Luiz Freitas Almeida
42e88b7a23
Add Experimental Agent Component (#1705)
* Update langflow base prompts API utils and add ToolCallingAgentComponent

* Update return type annotations in AzureOpenAIModel.py and ChatLiteLLMModel.py

* Update langchainhub package version to 0.1.15

* Update langflow base prompts API utils and add ToolCallingAgentComponent

* Add AgentComponent to langflow experimental components

* Update prompt variable name to user_prompt in ToolCallingAgentComponent.py

* Update prompt variable name to system_message in AgentComponent.py

* Update system_message variable name in XMLAgentComponent and ToolCallingAgentComponent

* Update prompt variable name to user_prompt in ToolCallingAgentComponent.py
2024-04-16 13:57:05 -03:00
Gabriel Luiz Freitas Almeida
dd7e5a7ab5 Add from_lc_message method to Record class in schema.py 2024-04-16 13:22:31 -03:00
Gabriel Luiz Freitas Almeida
0d75e2905f
Refactor process method to align it with endpoint logic (#1700)
* Refactor Graph class to improve parallel processing in base.py

* Fix type hint for run_id parameter in set_run_id method
2024-04-15 08:59:27 -03:00
Gabriel Luiz Freitas Almeida
05104117ba
Update nullable attribute for created_at field in variable table (#1697)
* Update nullable attribute for created_at field in variable table

* Update package versions in pyproject.toml and poetry.lock files
2024-04-13 11:23:42 -03:00
Gabriel Luiz Freitas Almeida
cc14c51238
Update created_at field in api_key/crud.py and api_key/model.py (#1698)
* Update created_at field in api_key/crud.py and api_key/model.py
2024-04-13 11:21:24 -03:00
Gabriel Luiz Freitas Almeida
23f374db71
Fix migration problem (#1694)
* Update Dockerfiles to include user creation and use --user flag for pip install

* Add JavaScriptMIMETypeMiddleware to main.py

* Update constants.py and run.py files

* Update package versions in poetry.lock and pyproject.toml files

* Refactor Dockerfile to optimize image building process

* Fix import error in main.py

* Update Dockerfiles to use logspace/langflow image

* Fix decryption error handling in get_user_store_api_key function

* Add error logging to JavaScriptMIMETypeMiddleware in main.py

* Fix error logging in main.py

* Fix error logging and datetime type in database migrations

* Update openai component

* Update package versions for boto3 and botocore
2024-04-12 18:36:54 -03:00
Eric Dodémont
7022c81550
Update OpenAIModel.py: new model (#1689)
Add gpt-4-turbo-2024-04-09 new OpenAI model.
2024-04-12 17:09:49 -03:00
Gabriel Luiz Freitas Almeida
06ea4529df
Check Store API key (#1693)
* Update Dockerfiles to include user creation and use --user flag for pip install

* Add JavaScriptMIMETypeMiddleware to main.py

* Update constants.py and run.py files

* Update package versions in poetry.lock and pyproject.toml files

* Refactor Dockerfile to optimize image building process

* Fix import error in main.py

* Update Dockerfiles to use logspace/langflow image

* Fix decryption error handling in get_user_store_api_key function

* Add error logging to JavaScriptMIMETypeMiddleware in main.py

* Merge
2024-04-12 17:08:41 -03:00
Gabriel Luiz Freitas Almeida
1a021321a9
Update Dockerfiles, main.py, constants.py, and package versions (#1691)
* Update Dockerfiles to include user creation and use --user flag for pip install

* Add JavaScriptMIMETypeMiddleware to main.py

* Update constants.py and run.py files

* Update package versions in poetry.lock and pyproject.toml files

* Refactor Dockerfile to optimize image building process

* Fix import error in main.py

* Update Dockerfiles to use logspace/langflow image
2024-04-12 16:39:22 -03:00
Gabriel Luiz Freitas Almeida
30203a0bb3 Update llamaindex-py-client version to 0.1.18 in poetry.lock 2024-04-12 15:11:34 -03:00
Gabriel Luiz Freitas Almeida
efda40d634 Update package versions in pyproject.toml and poetry.lock files 2024-04-12 15:10:08 -03:00
Gabriel Luiz Freitas Almeida
5d75d930bd Update Dockerfiles to include user creation and use --user flag for pip install 2024-04-12 15:09:43 -03:00
Gabriel Luiz Freitas Almeida
704da1d4de Update log file handling and error handling in logger.py 2024-04-12 14:40:04 -03:00
Gabriel Luiz Freitas Almeida
6393b87842 Update datetime type for created_at and updated_at fields in apikey and variable tables 2024-04-12 14:01:48 -03:00
Gabriel Luiz Freitas Almeida
17f04d8b78 Update nullable attribute for created_at field in variable table 2024-04-12 12:25:43 -03:00
Gabriel Luiz Freitas Almeida
9c188db486 Update Docker example README with improved instructions 2024-04-12 09:05:01 -03:00
Gabriel Luiz Freitas Almeida
e73754b391
Update database file path handling and server shutdown message (#1686)
* Update database file path handling in base.py and version.py

* Update server.py to handle SIGINT signal in LangflowUvicornWorker

* Add shutdown message when shutting down Langflow in main.py

* Update datetime type for created_at and updated_at fields in apikey and variable tables

* Update package versions in pyproject.toml and poetry.lock files

* Update package versions in pyproject.toml and poetry.lock files

* Fix import error in base.py

* Refactor database file path handling in base.py

* Update unit test command in python_test.yml
2024-04-11 17:13:00 -03:00
Gabriel Luiz Freitas Almeida
e38ab095d9 Add Dockerfile and docker-compose.yml for pre-production environment setup 2024-04-11 13:04:03 -03:00
Gabriel Luiz Freitas Almeida
f693fa8f9e Update package versions in pyproject.toml and poetry.lock files 2024-04-11 13:02:07 -03:00
Gabriel Luiz Freitas Almeida
8fa8781a0f
Update langflow base prompts API utils (#1682) 2024-04-11 12:47:31 -03:00
Gabriel Luiz Freitas Almeida
e582535bb0
Update package versions, workflows, LLMChain and Graph sorting (#1674)
* Update package versions in pyproject.toml and poetry.lock files

* Update poetry caching action and workflows

* Update poetry caching action and workflows

* Refactor LLMChainComponent build method in LLMChain.py

* Update poetry install command in Makefile

* Refactor Makefile to remove redundant install_backend targets

* Fix codespell issues in project

* Update package versions and dependencies

* Fix import order in chat_io.spec.ts, headerComponent/index.tsx, and chatMessage/index.tsx

* Update ruff command in Makefile and fix poetry cache reuse in Dockerfile

* Refactor ServiceManager class in manager.py to handle default service factories

* Fix typo in DOWNLOAD_WEBHOOK_URL variable assignment

* Refactor cache_service tests in test_cache_manager.py

* Add pytest-profiling

* Update Makefile to run unit tests with parallel execution

* Refactor ServiceManager class in manager.py to handle default service factories

* Refactor node_name condition in Graph class to use "Listen" instead of "GetNotified"

* Refactor file paths in tests/conftest.py for better readability and maintainability

* Sort vertices in each layer by dependency in Graph class

* Refactor variable declaration in SessionService class to use type hinting

* Refactor make tests command in python_test.yml workflow

* Refactor file paths in tests/conftest.py for better readability and maintainability

* Refactor imports in tests/conftest.py to include sqlmodel.Session and related dependencies

* Refactor file paths in tests/conftest.py to include available files in error message

* Refactor file paths in tests/conftest.py to include available files in error message

* Refactor file paths in tests/conftest.py to fix typo in BasicChatwithPromptAndHistory.json
2024-04-11 12:20:56 -03:00
Gabriel Luiz Freitas Almeida
836ac08d80
Update datetime handling in ApiKey and Variable models (#1673)
* Update datetime handling in ApiKey and Variable models

* Refactor test_login_successful function in test_login.py

* Fix nullable attribute for created_at and updated_at fields in Variable model
2024-04-10 23:04:10 -03:00
Gabriel Luiz Freitas Almeida
4ee9b72634
Fix various issues and refactor code (#1671)
* Update setup_mode to "Sync" in AstraDBVectorStoreComponent

* Fix search_kwargs default value in PineconeSearch and QdrantSearch components

* Update Playwright test and ChatMessage component in chat_io.spec.ts and chatMessage/index.tsx

* Refactor test_pickle_each_vertex function in test_graph.py

* Refactor database service to improve performance and readability
2024-04-10 22:40:21 -03:00
Gabriel Luiz Freitas Almeida
3478d4c05e
Update setup_mode to "Sync" in AstraDBVectorStoreComponent (#1670)
* Update setup_mode to "Sync" in AstraDBVectorStoreComponent

* Fix search_kwargs default value in PineconeSearch and QdrantSearch components
2024-04-10 21:09:26 -03:00
Gabriel Luiz Freitas Almeida
5e5ae3911d
Fix nullable attribute for created_at and updated_at fields in Variable model (#1669)
* Fix nullable attribute for created_at field in variable table

* Update package versions in pyproject.toml and poetry.lock files

* Fix nullable attribute for created_at and updated_at fields in Variable model

* Refactor VariableService class to use VariableCreate model for creating variables
2024-04-10 20:56:46 -03:00
Gabriel Luiz Freitas Almeida
cc4d8c8326 Update package versions in pyproject.toml and poetry.lock files 2024-04-10 20:55:50 -03:00
Gabriel Luiz Freitas Almeida
92d9a3f7d4 Add new global variables to migration documentation 2024-04-10 18:08:40 -03:00
Gabriel Luiz Freitas Almeida
305ee02981 Update maintainers list in pyproject.toml 2024-04-10 17:34:38 -03:00
Gabriel Luiz Freitas Almeida
e9faba0f47 Update package versions in pyproject.toml and poetry.lock files 2024-04-10 17:18:48 -03:00
Lucas Oliveira
895eea688a
Fixed dark mode not activating immediatly at refresh (#1666)
Changed location of dark listener to improve dark performance
2024-04-10 17:17:58 -03:00
Gabriel Luiz Freitas Almeida
db01d7e589 New lock 2024-04-10 17:02:50 -03:00
Cristhian Zanforlin Lousa
7037af501e
Update Playwright test and ChatMessage component (#1668)
This pull request includes updates to the Playwright test in
`chat_io.spec.ts` and the `ChatMessage` component in
`chatMessage/index.tsx`. The Playwright test now includes assertions for
the chat output and input, ensuring that the correct messages are
displayed. The `ChatMessage` component now includes `data-testid`
attributes for the chat messages, allowing for easier testing and
identification of specific messages.
2024-04-10 16:51:43 -03:00
anovazzi1
69c13133de Update Playwright test in chat_io.spec.ts and ChatMessage component in chatMessage/index.tsx 2024-04-10 16:45:30 -03:00
Gabriel Luiz Freitas Almeida
addf2932c0 Update starter projects 2024-04-10 16:42:59 -03:00
Gabriel Luiz Freitas Almeida
9f74f71693 Update nullable attribute for created_at and updated_at fields in model.py and variable/model.py 2024-04-10 16:41:45 -03:00