Commit graph

4,151 commits

Author SHA1 Message Date
anovazzi1
4236d22098
Refactor SettingsPage component and add Messages page (#2084)
* 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>
2024-06-05 20:37:38 -03:00
Igor Carvalho
a30bb145f7
Feat: Add Streamlit icon (#2077) 2024-06-05 20:11:09 -03:00
Gabriel Luiz Freitas Almeida
7bfc1a55c8
feat: Refactor delete_multiple_flows endpoint to use DELETE method (#2029)
* 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>
2024-06-05 11:02:42 -07:00
Bee
98d9553b92
Remove commented out code (#2047) 2024-06-05 10:38:57 -07:00
Gabriel Luiz Freitas Almeida
80f6249a50
📝 (utils.py): Add get_flow function and update Python API code (#2075)
* 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
2024-06-05 10:30:54 -07:00
cristhianzl
6096c8b73f 🔧 (playwright.config.ts): reduce workers to 1 for CI to avoid resource contention 2024-06-05 10:56:47 -03:00
Lucas Oliveira
c2b58d40fa Removed unused code from flowLogsModal 2024-06-05 10:13:30 -03:00
Lucas Oliveira
1cdc8e0efc Changed debounce to use promise-debounce, making the Save promise work correctly 2024-06-05 10:11:59 -03:00
Lucas Oliveira
9bafb1f5dd Fixed success alert not appearing at front, and removed alert displayed at playground 2024-06-05 09:45:36 -03:00
cristhianzl
14a7e2835e (frontend): add switch-case-size helper for modal size management
♻️ (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
2024-06-05 09:38:03 -03:00
cristhianzl
898e9f101a ♻️ (GeneralPage): refactor API calls into custom hooks for better modularity
 (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
2024-06-04 20:48:39 -03:00
Lucas Oliveira
58d11aff9e Fixed loading not being of the right size 2024-06-04 19:09:39 -03:00
Lucas Oliveira
49ce4b4ff7 fixed button 2024-06-04 19:09:27 -03:00
Lucas Oliveira
42d22ae86e fixed unnecessary code at Button 2024-06-04 19:07:08 -03:00
Lucas Oliveira
9e6f3a064d Made Submit button use loading of button 2024-06-04 19:01:01 -03:00
Lucas Oliveira
0e5460c088 Merge remote-tracking branch 'origin/dev' into fix/minor_bugs 2024-06-04 18:54:22 -03:00
Cristhian Zanforlin Lousa
610753fbff
Add lazy load on router to improve bootstrap application performance (#2050)
 (routes.tsx): implement lazy loading for route components to improve
performance
 (routes.tsx): add Suspense fallback with LoadingComponent for better
UX during lazy loading
2024-06-04 17:50:45 -03:00
cristhianzl
5d7bf43590 Merge branch 'fix/minor_bugs' of https://github.com/langflow-ai/langflow into fix/minor_bugs 2024-06-04 17:50:03 -03:00
cristhianzl
0ae32f89d2 ♻️ (playwright.config.ts): disable fullyParallel and increase workers to 5 to optimize test execution
♻️ (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
2024-06-04 17:49:58 -03:00
Lucas Oliveira
e3832916fa Removed store api key modal 2024-06-04 16:13:07 -03:00
Lucas Oliveira
9a9b088843 Added redirect to langflow.store 2024-06-04 16:12:37 -03:00
Lucas Oliveira
4d738e2ae8 Fixed icon not being on the end of the button when its text is not big enough 2024-06-04 15:42:56 -03:00
cristhianzl
e6c65aff0b Merge branch 'fix/minor_bugs' of https://github.com/langflow-ai/langflow into fix/minor_bugs 2024-06-04 15:33:29 -03:00
cristhianzl
1719895367 ♻️ (reactflowUtils.ts): reorder imports for better readability
♻️ (reactflowUtils.ts): remove console.log statements to clean up code
♻️ (reactflowUtils.ts): fix formatting issues and align code style

♻️ (reactflowUtils.ts): remove trailing commas to improve code consistency and readability
2024-06-04 15:33:24 -03:00
Lucas Oliveira
c8fa4d8a37 Removed div that made an extra space 2024-06-04 14:25:05 -03:00
Lucas Oliveira
bb6578e0a5 Fixed classes of sidebar to make it more like the main page 2024-06-04 14:21:12 -03:00
Lucas Oliveira
ee705b548f Added icons 2024-06-04 11:54:32 -03:00
Lucas Oliveira
98e40f25e6 Fixed id scrolling when clicking from Store 2024-06-04 11:52:08 -03:00
Lucas Oliveira
cad4c508a9 Fixed button layout to have loading the same size as the original button 2024-06-04 11:35:37 -03:00
Lucas Oliveira
5b83bde64e Returned loader to default, fixed buttons not working with asChild 2024-06-04 11:17:17 -03:00
Lucas Oliveira
2c851a9d5c Fix naming of endpoint 2024-06-04 11:09:00 -03:00
Lucas Oliveira
f1aaa162e2 Changed strategy to not have to apply classes to different div elements, not breaking the other buttons. 2024-06-04 10:49:36 -03:00
Lucas Oliveira
c36053dc55 Fixed button not being able to handle multiple children when asChild is done 2024-06-04 10:26:52 -03:00
Lucas Oliveira
9eacd3f9d6 Fixed sidebar button to not look strange with the new Button classes 2024-06-04 10:15:24 -03:00
Lucas Oliveira
b5d9e0608d Fixed classes on Button to work with all of the current buttons 2024-06-04 10:15:02 -03:00
Lucas Oliveira
59c8eba132 Fixed Button classes to allow loading 2024-06-04 09:58:44 -03:00
Lucas Oliveira
3d8a0acbc1 Fixed sidebar buttons not being different when path is equal 2024-06-04 09:37:23 -03:00
Lucas Oliveira
eefac9ef48 Added Store API Key configuration on General Settings page 2024-06-04 09:20:55 -03:00
Lucas Oliveira
65ae9f04e4 Fixed bottom padding on settings pages 2024-06-04 09:20:32 -03:00
Lucas Oliveira
1f2cd32340 Modularized Loading on buttons 2024-06-04 09:12:28 -03:00
cristhianzl
4efde816b5 (routes.tsx): implement lazy loading for route components to improve performance
 (routes.tsx): add Suspense fallback with LoadingComponent for better UX during lazy loading
2024-06-03 10:48:04 -03:00
Lucas Oliveira
6a868729b8 Made Folders more pleasing 2024-06-03 00:23:36 -03:00
Lucas Oliveira
46872feb48 Passed duplicate flow function to main page 2024-06-03 00:16:11 -03:00
Lucas Oliveira
aa568f551a Fixed Endpoint Name labeling 2024-06-03 00:00:28 -03:00
Lucas Oliveira
4b4800defb Fixed node toolbar allowing moving the nodes 2024-06-02 23:58:25 -03:00
Lucas Oliveira
cbe2a8ad75 Fixed tooltip that does not need removal of portal 2024-06-02 23:56:36 -03:00
Lucas Oliveira
06a568f114 Disabled accordion when it is empty 2024-06-02 23:55:20 -03:00
Lucas Oliveira
3b8e72ff1a Removed shadow from card 2024-06-02 23:18:24 -03:00
Lucas Oliveira
22775cc005 Added description column to advanced tab 2024-06-02 23:16:04 -03:00
Lucas Oliveira
d2cb5452c9 Fixed scrolling not working in global variables dropdown 2024-05-31 21:24:12 -03:00