* feat: Add duplicate folder path validation to TextArraySetting
Add visual feedback when users attempt to add duplicate folder paths:
- Red border on input field when duplicate is detected
- Red warning message "Duplicate folders are not allowed." displayed below input
- Add button is disabled when a duplicate path is entered
* feat: Add tooltip to Add button in TextArraySetting for contextual feedback
* feat: Add placeholder example to data folders input for better UX guidance
* fix: Normalize trailing slashes in duplicate path check and disable empty tooltip
- Strip trailing slashes before comparing folder paths so /Users/foo and /Users/foo/ are detected as duplicates
- Add isDisabled prop to Tooltip component to suppress hover when message is empty, avoiding tooltip remount of the Add button
* refactor: switch to on-click validation for data folders input
Remove tooltip and instead show red input border with error message when clicking Add with empty or duplicate paths.
Revert tooltip.tsx isDisabled prop as it's no longer needed.
* feat: Add path normalization validation with cross-platform support for data folders input
* Add support for configuring custom OpenAI-compatible LLM endpoints via URL.
* Includes new URL backend component, backend service updates, unit tests, and
* UI consistency improvements across all LLM configuration components.
* support redirect to single request
* support workspace select
* fix tests
* remove colon
* add a request loading workaround
* fix tests
* only navigate to single requests
* support streaming imports
* Initial plan
* Fix Socket.io JSON requests and responses handling
- Fix sending: Parse JSON args before emitting to socket when content type is JSON
- Fix receiving: Handle objects properly in stringify function when displaying incoming messages
Co-authored-by: CurryYangxx <163384738+CurryYangxx@users.noreply.github.com>
* Fix [object Object] display in event list view
Add stringifyEventData helper function in event-log-view.tsx to properly
display JSON objects in the Socket.io event list instead of [object Object]
Co-authored-by: CurryYangxx <163384738+CurryYangxx@users.noreply.github.com>
* Fix potential runtime errors in handleSend function
- Add early return when renderedArgs is undefined (RenderError case)
- Use nullish coalescing for requestPayload?.args to prevent TypeError
Co-authored-by: CurryYangxx <163384738+CurryYangxx@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: CurryYangxx <163384738+CurryYangxx@users.noreply.github.com>