* related links and nav change
* create mcp client page and condense mcp tool info
* rewrite mcp client content
* add mcp to the welcome page
* tweak text regarding modes
* small style edits
* minor edit
📝 (handleRenderComponent/index.tsx): Introduce isLocked state to handle locked flow functionality
📝 (handleRenderComponent/index.tsx): Update tooltip visibility based on isLocked state
📝 (handleRenderComponent/index.tsx): Update handle style based on isLocked state
📝 (PageComponent/index.tsx): Add useShallow import for zustand/react/shallow to optimize re-renders
📝 (PageComponent/index.tsx): Introduce isLocked state to handle locked flow functionality
📝 (PageComponent/index.tsx): Prevent edge click actions when flow is locked
📝 (PageComponent/index.tsx): Disable edge actions when flow is locked
📝 (PageComponent/index.tsx): Update edge actions based on isLocked state
📝 (lock-flow.spec.ts): Add test to simulate deleting edges when flow is locked
* refactor: move serialization length limits to settings and use cached getters
* refactor: replace hardcoded serialization limits with dynamic settings-based values
* refactor: replace hardcoded serialization constants with getter functions
* 📝 Add docstrings to `move-max-consts-to-settings` (#8617)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: improve docstring formatting
* fix: ensure flow_id is UUID type when creating vertex build record
* docs: enhance docstrings for max_text_length and max_items_length in Settings class
Updated the docstrings for max_text_length and max_items_length to clarify their purpose and behavior regarding UI display and truncation.
* docs: add LANGFLOW_MAX_ITEMS_LENGTH and LANGFLOW_MAX_TEXT_LENGTH environment variables
Introduced new environment variables to configure the maximum number of items and text length displayed in the UI. Updated documentation to reflect these changes and their impact on UI truncation behavior.
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: add overflow-hidden class to BaseModal.Content in CodeAreaModal for improved layout
* fix: update BaseModal.Content in CodeAreaModal to use overflowHidden prop for better layout control
* Update converter.py
* [autofix.ci] apply automated fixes
* ✅ (freeze.spec.ts): update URL in test case to use a more specific and relevant link for testing purposes
---------
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>
* markdown width fix
* template clean
* ✨ (freeze.spec.ts): add a new utility function runChatOutput to handle running chat output in tests for better code organization and reusability.
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
* chore: update webrtcvad dependency and add optional audio support
- Updated webrtcvad version requirement to >=1.9.4 in pyproject.toml and uv.lock.
- Moved webrtcvad to optional dependencies under the new 'audio' category in both pyproject.toml files for better modularity.
- Ensured compatibility with existing dependencies while enhancing documentation for optional audio features.
* fix: handle optional import of voice_mode_router in API initialization
- Updated the API router initialization to conditionally include the voice_mode_router if it is available, improving modularity and preventing import errors.
- Adjusted the import statement for voice_mode_router to handle ImportError gracefully, ensuring the application remains robust in its absence.
* feat: add voice mode flag to API configuration
- Introduced a new function `get_voice_mode_enabled` to check for the availability of the `webrtcvad` library, enhancing the API's capability to support voice mode features.
- Updated the `ConfigResponse` schema to include `voice_mode_enabled` flag, allowing clients to query the status of voice mode support.
- Integrated the voice mode feature flag into the `get_config` endpoint response, improving the configurability of the API.
* test: skip voice mode tests if webrtcvad is not installed
- Added a conditional import for the webrtcvad library in the voice mode test suite.
- Implemented a pytest marker to skip tests when webrtcvad is unavailable, enhancing test robustness and preventing unnecessary failures.
* feat: add voice mode state management to flows manager store
- Introduced `voiceModeEnabled` state and `setVoiceModeEnabled` action in the flows manager store to manage the voice mode feature.
- Updated the `ConfigResponse` interface and `useGetConfig` hook to integrate the new voice mode state, allowing for dynamic configuration updates.
- Enhanced the API's configurability by ensuring the voice mode state is properly set based on the API response.
* feat: conditionally render voice button based on voice mode state
- Integrated `voiceModeEnabled` from the flows manager store to control the visibility of the VoiceButton component.
- The VoiceButton will now return null if voice mode is not enabled, enhancing the user interface by preventing unnecessary rendering.
* fix: ensure boolean conversion for voice mode state in config hook
- Updated the `setVoiceModeEnabled` function in the `useGetConfig` hook to explicitly convert the `voice_mode_enabled` value to a boolean, ensuring consistent handling of the voice mode state based on API responses.
* refactor: conditionally import voice_mode_router in API initialization
- Updated the API router to conditionally include the voice_mode_router based on its availability, enhancing modularity and preventing import errors.
- Adjusted the __init__.py file to dynamically add voice_mode_router to the __all__ list if the import is successful, improving the API's robustness.
* chore: revert mcp version update
* refactor: reorder router initialization and add audio flag to backend install task
* feat: add audio module to backend installation command in VS Code tasks
* ci: add audio extras to uv sync in frontend tests
* fix: prevent SQLite error in advanced run flow API
Passing the flow ID as a string causes a SQLAlchemy error when running
on databases without a dedicated UUID data type. Passing a UUID object
works consistently across both SQLite and PostgreSQL.
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* 🐛 (audio-settings-dialog.tsx): fix alignment offset in DropdownMenuContent component
📝 (audio-settings-dialog.tsx): remove unnecessary check for empty value in handleOpenAIKeyChange function
* ✨ (freeze.spec.ts): add support for adding a flow to test on an empty langflow if the first run langflow is greater than 0
* ✅ (freeze.spec.ts): update timeout values for page.waitForSelector to improve test reliability and prevent false negatives
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* 📝 (component_tool.py): change the order of component description and method in the build_description function to improve readability and consistency
* ♻️ (component_tool.py): refactor build_description function to only return the component description without including the output method
---------
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
* fix: update selected_output field in various starter project JSON files
- Added or adjusted the "selected_output" field in multiple starter project JSON files to ensure consistency and correct functionality.
- Refactored the output selection logic in the GenericNode component to utilize the updated "selected_output" property.
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* fix: enhance output handling in GenericNode and NodeOutputField components
- Added a check to prevent auto-unhiding outputs with group_outputs set to false in NodeOutputField.
- Updated the GenericNode component to ensure the selected_output field is correctly assigned during node updates.
- Introduced group_outputs property in the OutputFieldType to support new output handling logic.
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* Revert starter_projects directory to main branch state
* 📝 (general-bugs-shard-3909.spec.ts): update test description to match the changed button text for better clarity and maintainability
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* feat: add selected_output property to Component and update validation logic
* feat: add selected_output property to various components and update related logic
* fix: improve error handling in JSON processing and update type hints
* refactor: clean up Makefile and reorder JSON properties in Vector Store RAG.json
* Removed the update_selected_outputs target from the Makefile to streamline the build process.
* Reordered properties in Vector Store RAG.json for consistency, ensuring "selected_output" appears before "type" in multiple entries.
* chore: remove add_selected_outputs.py script
* Deleted the add_selected_outputs.py script, which was responsible for adding selected_output fields to Langflow JSON template files. This script is no longer needed as part of the project.
* chore: clean up Makefile by removing unnecessary blank line
* Removed an extra blank line in the Makefile to improve readability and maintain consistency.
* chore: tidy up Makefile by adding a blank line for better readability
* Added a blank line before the help target in the Makefile to enhance readability and maintain consistency in formatting.
* chore: remove unnecessary blank line in Makefile
* Eliminated an extra blank line before the help target in the Makefile to enhance readability and maintain consistency in formatting.
* [autofix.ci] apply automated fixes
* fix(GenericNode): update output selection logic to use selected_output name
* Modified the logic for selecting the initial output in GenericNode to match the selected_output name from the data object.
* Adjusted the return logic in NodeOutputs to ensure it correctly handles the selected output state.
* fix(GenericNode): refine output selection logic to prioritize selected outputs
* Updated the output selection logic in the cleanEdges function to filter for selected outputs before finding the matching output by name. This change enhances the accuracy of output handling for generic nodes.
* updated blog writer
* fix: update Memory Chatbot configuration for improved message handling
- Adjusted JSON structure for Memory Chatbot to ensure correct output types and display names.
- Added new input fields for sender type and refined existing fields for clarity.
- Enhanced message retrieval methods to support dynamic output based on selected modes.
- Improved overall structure for better integration with Langflow components.
* Update src/backend/base/langflow/custom/custom_component/component.py
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* [autofix.ci] apply automated fixes
* Ruff linting error fix
* [autofix.ci] apply automated fixes
* fix: Update test to reflect change in heading from "OpenAi" to "Language Model"
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
* updated mcp backend to truncate tools name to 30 chars
* updated frontend to truncate tools with 30 chars and truncate project name with 26 chars
* changed it to not exceed 25
* updated one click install to truncate at 26
* updated name
* used constants and helper functions to refactor code
* updated constants
---------
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* Added pasting the edges between components selected as well
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>