* release/v0.2.8: (23 commits)
[add] migration script
fix(workflow and tool): Output processing modification of tool nodes and error modification for tool tests
feat(workflow): add configurable workflow feature options
fix(web): app features
fix(web): app features
fix(web): app bugfix
fix(web): agent add tools bugfix
fix(web): workflow node ports bugfix
fix(web): my sharing app add empty
fix(app): The bugs that were fixed in the previous version but were later rolled back.
fix(web): app sharing bugfix
fix(app): 1.The end users are still bound to the app. 2. Multi-modal file support includes xlsx, csv, and json. 3. The file routing protocol is consistent with the page routing.
fix(web): audio recorder add max size check
fix(web): max_file_count precision
feat(workflow): expose workflow memory enable status in app share config API
revert(web): file download
fix(perceptual): resolve inconsistency between local filename and actual filename
fix(multimodel): filter unsupported files during perception memory write
fix(web): file download
fix(web): file download
...
- Add marketConfigUpdated i18n message in English and Chinese translations
- Replace inline MCP list fetching logic with fetchMcpList function call
- Improve code maintainability by centralizing MCP list retrieval logic
- Ensure consistent handling of MCP list state across configuration updates
- Add search input with debouncing (500ms) to filter MCP services by keywords
- Implement server-side search via keywords parameter in getMarketMCPs API call
- Add new i18n strings for empty states: marketNoData, marketNoDataDesc, marketNoSearchResult, marketNoSearchResultDesc
- Replace client-side filtering with server-side search for better performance
- Update Empty component display to show different messages for no data vs no search results
- Remove BodyWrapper component and implement custom empty state handling
- Add searchTimerRef to manage debounce timer lifecycle
- Update loadMore callback to include searchKeyword parameter for pagination consistency
- Add allowClear prop to search input for better UX
- Remove conditional rendering of search input to keep it always visible