✅ (tests): increase waitForTimeout to 3000ms in end-to-end tests
✅ (tests): increase waitForTimeout to 3000ms in end-to-end tests for stability
✅ (tests): remove trailing commas in expect statements for consistency
✅ (tests): increase waitForTimeout to 3000ms in end-to-end tests for stability
✅ (tests): increase timeout in end-to-end tests to improve stability
✅ (tests): increase waitForTimeout to ensure element stability
♻️ (schema.py): Refactor code to include new method 'to_lc_messages' for converting Record to a list of BaseMessage
📝 (utils.py): Add __bool__ method to CacheMiss class to improve boolean evaluation
* Feat: Create the first version of the eraser tool
* feat: Add Messages page to SettingsPage
Refactor the SettingsPage component to include a new "Messages" page. This page will be accessible through the "/settings/messages" route and will display messages related to user settings. The necessary changes have been made to the index.tsx file of the SettingsPage component and the routes.tsx file.
* refactor(tableComponent): update column definitions to include checkbox selection logic for first column
feat(API): add support for excluding specific columns in getMessagesTable function
fix(flowLogsModal): pass excludedFields parameter to getMessagesTable function
refactor(GlobalVariablesPage): remove unnecessary checkbox selection properties from column definitions
fix(messagesPage): pass excludedFields parameter to getMessagesTable function
refactor(utils): add support for excluding specific columns in extractColumnsFromRows function
* feat: Add API endpoints for managing messages
This commit adds new API endpoints for managing messages. It includes the ability to delete messages by their IDs, update a specific message, and delete all messages associated with a session. These changes are implemented in the `monitor.py`, `schema.py`, and `service.py` files.
* ✨ (monitor.py): add MessageIds schema for structured message deletion
♻️ (monitor.py): change delete_messages endpoint to POST for better semantics
♻️ (monitor.py): update delete_messages to use MessageIds schema
✨ (schemas.py): add MessageIds schema for structured message deletion
🐛 (service.py): fix SQL query in delete_messages to use correct column name
✨ (index.tsx): add toTitleCase utility to format column headers
✨ (API/index.ts): add deleteMessagesFn to handle message deletion via API
✨ (headerMessages): add HeaderMessagesComponent for message management UI
✨ (use-messages-table): add useMessagesTable hook to fetch and manage messages
✨ (use-remove-messages): add useRemoveMessages hook to handle message deletion
♻️ (messagesPage): refactor messages page to use new messages store
✨ (messagesStore): create zustand store for managing messages state
✨ (types): add types for messages and zustand messages store
* 💡 (schemas.py): add newline at end of file to follow PEP 8 guidelines
* refactor(headerMessages): update text content in HeaderMessagesComponent
* move editable attribute to table Component
* refactor: Move editable attribute to TableComponent
add update function, need to fix backend
* ♻️ (monitor.py): change POST to DELETE for delete_messages endpoint
♻️ (schemas.py): remove unused MessageIds schema
♻️ (api.tsx): add missing commas in ApiInterceptor function
🐛 (api.tsx): fix duplicate request check to include method "get"
♻️ (index.ts): change deleteMessagesFn to use DELETE method instead of POST
♻️ (use-remove-messages.tsx): clean up comments and improve error handling
* start history in playgroundModal
* ♻️ (monitor.py): refactor update_message to return MessageModelResponse
♻️ (service.py): update SQL query to use index instead of id
♻️ (api.tsx): refactor duplicate request check logic
✨ (check-duplicate-requests.ts): add helper to check and store duplicate requests
🐛 (messagesStore.ts): fix message update logic to use index instead of id
* ♻️ (monitor.py, service.py): remove trailing whitespace to improve code cleanliness
* refactor: Add getSessions function to fetch available sessions in IOModal
* 🐛 (service.py): add missing 'id' column in SQL query to fix data retrieval issue
💡 (service.py): add print statement for debugging SQL query
♻️ (index.tsx): reorder imports for better readability and maintainability
♻️ (flowStore.ts): remove trailing commas to improve code consistency and readability
💡 (index.ts, storeUtils.ts): format type definitions for better readability
* update editable fields
* Feat: Make the table last column non-resizable and add a restore columns button
* Remove unnused imports
* Refactor: Remove “Page size” from table pagination
* Refactor: remove page size directly in css file
* chore: Update description text in SettingsPage
* Refactor: Add ResetColumns component to improve table functionality
* Refactor: Make Reset Column button reset columns order
* Refactor: Remove select from delete session button
* Refactor: Remove commented code for chat history tab in IOModal
* update route
* fix selection bug on Messages Table
* fix libs
---------
Co-authored-by: igorrCarvalho <igorsilvabhz6@gmail.com>
Co-authored-by: ogabrielluiz <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
* feat: Refactor delete_multiple_flows endpoint to use DELETE method
The code changes modify the `delete_multiple_flows` endpoint in the `flows.py` file. The endpoint was previously using the `POST` method, but it has been refactored to use the `DELETE` method instead. This change aligns with RESTful API conventions and improves the clarity and consistency of the codebase.
Note: The commit message has been generated based on the provided code changes and recent commits.
* Refactor delete_multiple_flows endpoint to use DELETE method
* Refactor delete_multiple_flows endpoint to use DELETE method
* ♻️ (index.ts): refactor deleteBatch function to use data field instead of params for batch deletion
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* feat: Add upload_file function for file uploading
This commit adds a new function called `upload_file` to the `load/utils.py` module. This function allows users to upload a file to the storage service and returns the file path. It takes in parameters such as `file_path`, `host`, `port`, `flow_id`, `components`, and `tweaks`. The function makes use of the `upload` function to send a POST request to the storage service API and handle the response.
The `upload_file` function is useful for scenarios where users need to upload files to the flow and associate them with specific components. It provides flexibility by allowing users to specify the components that require the file and any tweaks that should be applied to the file.
This feature enhances the functionality of the codebase and improves the overall user experience when working with file uploads in the application.
* 📝 (utils.py): Add get_flow function to retrieve flow details from Langflow
📝 (utils.py): Remove unused 'port' parameter from upload functions
📝 (utils.py): Update upload function to use Langflow host URL and remove port parameter
📝 (utils.py): Update upload_file function to use Langflow host URL and port number
📝 (utils.py): Update function descriptions and variable names for clarity and consistency
📝 (model.py): Remove 'folder_id' field from FlowBase model in langflow services database
* 📝 (load/__init__.py): add get_flow function to __all__ list to expose it to other modules
📝 (utils.py): fix docstring formatting issue in get_flow function
* make getPythonApiCode receive endpointname
♻️ (frontend): refactor BaseModal to use switchCaseModalSize helper
✨ (frontend): add GeneralPageHeaderComponent for settings page header
✨ (frontend): add PasswordFormComponent for password management in settings page
✨ (SettingsPage): add ProfileGradientFormComponent to allow users to choose profile gradient
✨ (SettingsPage): add StoreApiKeyFormComponent to enable users to store API keys
♻️ (GeneralPage): refactor GeneralPage to use modular components for forms
* ⬆️ (pyproject.toml): upgrade couchbase dependency to version 4.2.1 with extras and make it optional
🔧 (pyproject.toml): add couchbase to the couchbase extras section for better organization and management of dependencies
✨ (GeneralPage): add custom hooks for patching gradient, password, and saving API key
💡 (GeneralPage): add useScrollToElement hook to handle smooth scrolling to elements
✨ (hooks): add useSaveKey and useScrollToElement custom hooks
✅ (tests): update end-to-end tests for improved stability and accuracy
✨ (routes.tsx): implement lazy loading for route components to improve
performance
✨ (routes.tsx): add Suspense fallback with LoadingComponent for better
UX during lazy loading
♻️ (addNewVariableButton.tsx): remove unused Button import and add data-testid to Save Variable button for better testing
♻️ (index.tsx): add preventDefault to button click handlers to prevent form submission
♻️ (sideBarFolderButtons): add data-testid attributes to buttons and inputs for better testing and readability
♻️ (api.tsx): refactor duplicate request check logic into helper function
✨ (api.tsx): add helper function to check and store duplicate requests
♻️ (genericNode): refactor code for better readability and maintainability
💡 (genericNode): add data-testid attribute for testing purposes
🐛 (use-fetch-data-on-mount): fix error handling to prevent undefined errors
🐛 (use-handle-new-value.tsx, use-handle-refresh-buttons.tsx): fix potential undefined errors in error handling
✨ (baseModal/index.tsx, flowSettingsModal/index.tsx): add data-testid attributes for better testability
♻️ (editNodeModal/index.tsx): refactor code for better readability and consistency
♻️ (nodeToolbarComponent): remove trailing commas to improve code style
♻️ (GeneralPage): reorder imports and remove trailing commas for consistency
✅ (chatInputOutput.spec.ts): update path to ChatTest.json for better file organization
✅ (chatInputOutputUser.spec.ts): add additional interactions to chat test
✅ (dragAndDrop.spec.ts): update file path for collection.json
✅ (dropdownComponent.spec.ts): fix formatting and improve locator usage
✅ (filterEdge.spec.ts): fix locator strings and remove redundant code
✅ (floatComponent.spec.ts): remove redundant cache checks and fix locator strings
✅ (flowSettings.spec.ts): update test to use data-testid for save button
✅ (folders.spec.ts): refactor folder creation and editing to use data-testid
✅ (globalVariables.spec.ts): remove redundant save button click in test
✅ (tests): update test locators to use more specific selectors
- Change locators for "Save Changes" button to use `getByText` with exact match
- Update locators for `showchroma_server_http_port` in `inputComponent.spec.ts`
- Add additional test steps in `intComponent.spec.ts` for better coverage
✅ (keyPairListComponent.spec.ts, langflowShortcuts.spec.ts, logs.spec.ts): update locators for better test stability and readability
✅ (tests): update end-to-end tests for improved stability and accuracy
✅ (textInputOutput.spec.ts): update locators and placeholders for accuracy
✅ (toggleComponent.spec.ts): replace locators with getByText for clarity