* 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>
✨ (use-row-data): add open parameter to useRowData for reactivity
♻️ (editNodeModal): clone data before assigning to myData.current
✅ (dropdownComponent.spec): add waitForTimeout to stabilize tests
♻️ (tableComponent): remove unused useCallback import and fix formatting
♻️ (editNodeModal): refactor advanced column to use ToggleShadComponent
✨ (ApiKeyHeader): add new ApiKeyHeaderComponent for API keys management
✨ (ApiKeysPage): add column definitions helper for API keys table
✨ (ApiKeysPage): add custom hooks for fetching and deleting API keys
♻️ (ApiKeysPage): refactor ApiKeysPage to use new custom hooks
♻️ (types): change optional type syntax for better readability
✅ (dropdownComponent.spec.ts): remove trailing commas in test assertions
* 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
#### Description
This pull request introduces several fixes and enhancements related to
modals, buttons, and layout elements within the application. The changes
improve the user experience by addressing bugs, enhancing functionality,
and refining UI components.
#### Summary of Changes
- **Modals:**
- Added Submit buttons to every modal, except confirmation modals.
- Fixed submitting issues on `storeApiKeyModal`.
- Added a close button when the submit button is present.
- Fixed padding on `deleteConfirmationModal`.
- **Node and Component Enhancements:**
- Removed the pencil icon from the node name.
- Made node description editable by clicking once and changed the cursor
type.
- Changed empty component behavior to open the New Project modal.
- Fixed the node toolbar to allow moving the nodes.
- Fixed Endpoint Name labeling.
- Passed duplicate flow function to the main page.
- Made folders visually more pleasing.
- Fixed the tooltip that no longer needs removal of the portal.
- **UI and Layout Adjustments:**
- Fixed bottom padding on settings pages.
- Fixed scrolling not working in the global variables dropdown.
- Disabled accordion when it is empty.
- Removed shadow from card elements.
- Added a description column to the advanced tab.
- Implemented unselect on escape.
- Fixed classes and layout for sidebar buttons, ensuring they don't look
strange and behave consistently.
- Fixed button classes to allow loading indicators and ensure proper
sizing and functionality.
- Modularized loading on buttons.
- **General Fixes and Improvements:**
- Changed message of the terminal to "Run Langflow".
- Fixed save functionality to use user-provided API keys instead of
default ones.
- Ensured button components can handle multiple children and look
correct.
- Added icons to various UI elements.
- Fixed ID scrolling issue when clicking from Store.
- Removed extra space caused by an unnecessary div element.
- Returned the loader to default settings and ensured buttons work with
`asChild`.
#### Additional Changes
- Merged the remote-tracking branch `origin/dev` into `fix/minor_bugs`
on multiple occasions to keep the branch up-to-date with the latest
developments.
#### Notes
- Please review the changes related to button classes carefully, as they
impact multiple components.
- Further UI enhancements are planned for the next iteration.
* Move input/output and text/record to components, and combine docs into
one
* Combine global env docs into one
* Update links
* Remove unused files
* Clean up docs for compatibility, migration, and possible install
issues
♻️ (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