* fix: Use stable identifier when rendering test result rows [INS-2163]
Using a user-controlled string such as the test name can lead to duplicate React keys, which leads to unpredictable rendering. This can lead to duplicate rows being rendered, or filters apparently not working because React can't reliable replace a row.
* Add inline documentation to discourage changes which could cause rendering issues in the future [INS-2163]
* Separate GUI & internal state of runner iteration count [INS-2130]
This allows the GUI to temporarily render invalid states, like zero or an empty string, to allow for a slightly better UX while editing the iteration count field.
* Add necessary smoke tests to cover exceptional iteration count behavior in runner [INS-2130]
* fix: Unifying and polishing reference rewrite logic
- Added a `rewriteReferences` method to each model which is responsible for updating existing references.
- Rewriting references on duplicating a folder.
- Improved references rewriting on import, now it supports not only Request, but all other models too.
- Import and duplication uses the same logic for references rewriting.
- Make rewriteReferences optional
- Fixing things reported by Mr.Copilot
Closes#5730
* fix: code clean
* fix: preserve old behavior when copying grpc
* chore: handle rewriteReferences gracefully
---------
Co-authored-by: Bingbing <ZxBing0066@gmail.com>
* Export raw response without any interpretation by default [INS-2147]
* Refactor raw response export for lightweight testing; add unit tests [INS-2147]
* 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