Skip to content

Fix AI Connector form fields resetting to default value when cleared by user#251095

Merged
saikatsarkar056 merged 2 commits intoelastic:mainfrom
saikatsarkar056:fix/ai-connector-default-value-reset
Jan 30, 2026
Merged

Fix AI Connector form fields resetting to default value when cleared by user#251095
saikatsarkar056 merged 2 commits intoelastic:mainfrom
saikatsarkar056:fix/ai-connector-default-value-reset

Conversation

@saikatsarkar056
Copy link
Contributor

@saikatsarkar056 saikatsarkar056 commented Jan 30, 2026

Summary

Fixes #250953

This PR fixes a bug in the AI Connector creation flyout where fields with default values (like URL, Model ID) would reset to their default value when the user tried to clear them completely using backspace.

Root cause: The useEffect in ConfigInputField and ConfigNumberField was checking if the value was empty/null and resetting to defaultValue. When a user cleared a field, the form converted the empty string to null, which triggered the effect to reset the field back to the default.

Fix: Modified the useEffect to only sync when there's actual external content, preventing the reset when users intentionally clear the field. The initial default is still applied via useState.

Changes

  • ConfigInputField: Updated useEffect to not reset to default when value is cleared
  • ConfigNumberField: Same fix applied
  • Added comprehensive unit tests for both components

Test plan

  1. Go to Alerts and Insights > Connectors
  2. Click Create connector → Select AI Connector
  3. Select DeepSeek as the provider
  4. Open More Options section
  5. Try to backspace/delete the URL field completely
  6. Expected: Field should clear and stay empty
  7. Before fix: Field would reset to default URL when last character was deleted

Before

Screen.Recording.2026-01-30.at.9.58.53.AM.mov

After

Screen.Recording.2026-01-30.at.9.00.05.AM.mov

Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

  • Any text added follows EUI's writing guidelines, uses sentence case text and includes i18n support
  • Documentation was added for features that require explanation or tutorials
  • Unit or functional tests were updated or added to match the most common scenarios
  • If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the docker list
  • This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The release_note:breaking label should be applied in these situations.
  • Flaky Test Runner was used on any tests changed
  • The PR description includes the appropriate Release Notes section, and the correct release_note:* label is applied per the guidelines
  • Review the backport guidelines and apply applicable backport:* labels.

Identify risks

Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging.

Release note

Fixes AI Connector form fields incorrectly resetting to default values when users clear them using backspace.

@elasticmachine
Copy link
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
indexManagement 737.6KB 737.6KB -4.0B
searchInferenceEndpoints 142.9KB 142.9KB -4.0B
stackConnectors 1.1MB 1.1MB -4.0B
total -12.0B

cc @saikatsarkar056

Copy link
Member

@qn895 qn895 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🎉

Copy link
Contributor

@alvarezmelissa87 alvarezmelissa87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM ⚡

@saikatsarkar056 saikatsarkar056 merged commit 6c002da into elastic:main Jan 30, 2026
16 checks passed
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 9.3

https://github.com/elastic/kibana/actions/runs/21533769883

@saikatsarkar056
Copy link
Contributor Author

We need to check other previous versions and apply the fix if possible

kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Jan 30, 2026
…by user (elastic#251095)

## Summary

Fixes elastic#250953

This PR fixes a bug in the AI Connector creation flyout where fields
with default values (like URL, Model ID) would reset to their default
value when the user tried to clear them completely using backspace.

**Root cause:** The `useEffect` in `ConfigInputField` and
`ConfigNumberField` was checking if the value was empty/null and
resetting to `defaultValue`. When a user cleared a field, the form
converted the empty string to `null`, which triggered the effect to
reset the field back to the default.

**Fix:** Modified the `useEffect` to only sync when there's actual
external content, preventing the reset when users intentionally clear
the field. The initial default is still applied via `useState`.

### Changes
- `ConfigInputField`: Updated `useEffect` to not reset to default when
value is cleared
- `ConfigNumberField`: Same fix applied
- Added comprehensive unit tests for both components

## Test plan

1. Go to **Alerts and Insights > Connectors**
2. Click **Create connector** → Select **AI Connector**
3. Select **DeepSeek** as the provider
4. Open **More Options** section
5. Try to backspace/delete the URL field completely
6. **Expected:** Field should clear and stay empty
7. **Before fix:** Field would reset to default URL when last character
was deleted

### Before

https://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615

### After

https://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd

### Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

### Release note
Fixes AI Connector form fields incorrectly resetting to default values
when users clear them using backspace.

(cherry picked from commit 6c002da)
@kibanamachine
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
9.3

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

mbondyra added a commit to mbondyra/kibana that referenced this pull request Feb 2, 2026
…iew_cps

* commit '32efd9b2fb078ade51073fd2d0068bc74c029d6b': (49 commits)
  [Security Solution] Rules exceptions subfeatures (elastic#245722)
  [BK] Upgrade axios (elastic#251150)
  Fix AI Connector form fields resetting to default value when cleared by user (elastic#251095)
  deduplicate otel dependencies (elastic#250841)
  Adds initial agents.md file (elastic#250833)
  [index management] Faster index list loading (elastic#246276)
  skip failing test suite (elastic#251086)
  skip failing test suite (elastic#251048)
  [Security Solutions] Trial Companion - adjust UX design (elastic#250910)
  [Traces][Discover] Prevent flyout remount when switching document types in Trace Waterfall (elastic#250406)
  [DOCS][Cases][9.4 & Serverless]: Doc new `Maximum amount of cases to open` setting for case action (elastic#250993)
  [Discover][Traces] Explore trace.id from logs in Discover (elastic#249632)
  Remove ! from SOs docs link (elastic#251097)
  [ML] Maps: Add telemetry events for file uploads (elastic#247543)
  [Fleet] Fix dupplicate ids when copying an integration policy or an agent policy (elastic#250971)
  [Dashboards as Code] Add snake case object keys util (elastic#250962)
  [Core] Remove URL Overflow & Deprecate `storeInSessionStorage` setting (elastic#242972)
  [One Workflow] fix: Fix Variable Retrieval in Workflow Execution Engine (elastic#250852)
  Rework Elastic Managed LLMs page (elastic#251069)
  [Lens powered by ES|QL] Update Switch to Query mode modal warning message (elastic#251051)
  ...
saikatsarkar056 added a commit to saikatsarkar056/kibana that referenced this pull request Feb 2, 2026
…by user (elastic#251095)

## Summary

Fixes elastic#250953

This PR fixes a bug in the AI Connector creation flyout where fields
with default values (like URL, Model ID) would reset to their default
value when the user tried to clear them completely using backspace.

**Root cause:** The `useEffect` in `ConfigInputField` and
`ConfigNumberField` was checking if the value was empty/null and
resetting to `defaultValue`. When a user cleared a field, the form
converted the empty string to `null`, which triggered the effect to
reset the field back to the default.

**Fix:** Modified the `useEffect` to only sync when there's actual
external content, preventing the reset when users intentionally clear
the field. The initial default is still applied via `useState`.

### Changes
- `ConfigInputField`: Updated `useEffect` to not reset to default when
value is cleared
- `ConfigNumberField`: Same fix applied
- Added comprehensive unit tests for both components

## Test plan

1. Go to **Alerts and Insights > Connectors**
2. Click **Create connector** → Select **AI Connector**
3. Select **DeepSeek** as the provider
4. Open **More Options** section
5. Try to backspace/delete the URL field completely
6. **Expected:** Field should clear and stay empty
7. **Before fix:** Field would reset to default URL when last character
was deleted

### Before

https://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615

### After

https://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd

### Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

### Release note
Fixes AI Connector form fields incorrectly resetting to default values
when users clear them using backspace.

(cherry picked from commit 6c002da)
saikatsarkar056 added a commit to saikatsarkar056/kibana that referenced this pull request Feb 2, 2026
…by user (elastic#251095)

## Summary

Fixes elastic#250953

This PR fixes a bug in the AI Connector creation flyout where fields
with default values (like URL, Model ID) would reset to their default
value when the user tried to clear them completely using backspace.

**Root cause:** The `useEffect` in `ConfigInputField` and
`ConfigNumberField` was checking if the value was empty/null and
resetting to `defaultValue`. When a user cleared a field, the form
converted the empty string to `null`, which triggered the effect to
reset the field back to the default.

**Fix:** Modified the `useEffect` to only sync when there's actual
external content, preventing the reset when users intentionally clear
the field. The initial default is still applied via `useState`.

### Changes
- `ConfigInputField`: Updated `useEffect` to not reset to default when
value is cleared
- `ConfigNumberField`: Same fix applied
- Added comprehensive unit tests for both components

## Test plan

1. Go to **Alerts and Insights > Connectors**
2. Click **Create connector** → Select **AI Connector**
3. Select **DeepSeek** as the provider
4. Open **More Options** section
5. Try to backspace/delete the URL field completely
6. **Expected:** Field should clear and stay empty
7. **Before fix:** Field would reset to default URL when last character
was deleted

### Before

https://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615

### After

https://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd

### Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

### Release note
Fixes AI Connector form fields incorrectly resetting to default values
when users clear them using backspace.

(cherry picked from commit 6c002da)
saikatsarkar056 added a commit to saikatsarkar056/kibana that referenced this pull request Feb 2, 2026
…by user (elastic#251095)

## Summary

Fixes elastic#250953

This PR fixes a bug in the AI Connector creation flyout where fields
with default values (like URL, Model ID) would reset to their default
value when the user tried to clear them completely using backspace.

**Root cause:** The `useEffect` in `ConfigInputField` and
`ConfigNumberField` was checking if the value was empty/null and
resetting to `defaultValue`. When a user cleared a field, the form
converted the empty string to `null`, which triggered the effect to
reset the field back to the default.

**Fix:** Modified the `useEffect` to only sync when there's actual
external content, preventing the reset when users intentionally clear
the field. The initial default is still applied via `useState`.

### Changes
- `ConfigInputField`: Updated `useEffect` to not reset to default when
value is cleared
- `ConfigNumberField`: Same fix applied
- Added comprehensive unit tests for both components

## Test plan

1. Go to **Alerts and Insights > Connectors**
2. Click **Create connector** → Select **AI Connector**
3. Select **DeepSeek** as the provider
4. Open **More Options** section
5. Try to backspace/delete the URL field completely
6. **Expected:** Field should clear and stay empty
7. **Before fix:** Field would reset to default URL when last character
was deleted

### Before

https://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615

### After

https://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd

### Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

### Release note
Fixes AI Connector form fields incorrectly resetting to default values
when users clear them using backspace.

(cherry picked from commit 6c002da)
@saikatsarkar056
Copy link
Contributor Author

💚 All backports created successfully

Status Branch Result
9.2
9.1
9.0
8.19
8.18

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

saikatsarkar056 added a commit to saikatsarkar056/kibana that referenced this pull request Feb 2, 2026
…by user (elastic#251095)

## Summary

Fixes elastic#250953

This PR fixes a bug in the AI Connector creation flyout where fields
with default values (like URL, Model ID) would reset to their default
value when the user tried to clear them completely using backspace.

**Root cause:** The `useEffect` in `ConfigInputField` and
`ConfigNumberField` was checking if the value was empty/null and
resetting to `defaultValue`. When a user cleared a field, the form
converted the empty string to `null`, which triggered the effect to
reset the field back to the default.

**Fix:** Modified the `useEffect` to only sync when there's actual
external content, preventing the reset when users intentionally clear
the field. The initial default is still applied via `useState`.

### Changes
- `ConfigInputField`: Updated `useEffect` to not reset to default when
value is cleared
- `ConfigNumberField`: Same fix applied
- Added comprehensive unit tests for both components

## Test plan

1. Go to **Alerts and Insights > Connectors**
2. Click **Create connector** → Select **AI Connector**
3. Select **DeepSeek** as the provider
4. Open **More Options** section
5. Try to backspace/delete the URL field completely
6. **Expected:** Field should clear and stay empty
7. **Before fix:** Field would reset to default URL when last character
was deleted

### Before

https://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615

### After

https://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd

### Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

### Release note
Fixes AI Connector form fields incorrectly resetting to default values
when users clear them using backspace.

(cherry picked from commit 6c002da)
@kibanamachine kibanamachine added the backport missing Added to PRs automatically when the are determined to be missing a backport. label Feb 2, 2026
@kibanamachine
Copy link
Contributor

Looks like this PR has backport PRs but they still haven't been merged. Please merge them ASAP to keep the branches relatively in sync.
cc: @saikatsarkar056

saikatsarkar056 added a commit that referenced this pull request Feb 3, 2026
…eared by user (#251095) (#251290)

# Backport

This will backport the following commits from `main` to `9.1`:
- [Fix AI Connector form fields resetting to default value when cleared
by user (#251095)](#251095)

<!--- Backport version: 10.2.0 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Saikat
Sarkar","email":"132922331+saikatsarkar056@users.noreply.github.com"},"sourceCommit":{"committedDate":"2026-01-30T23:06:22Z","message":"Fix
AI Connector form fields resetting to default value when cleared by user
(#251095)\n\n## Summary\n\nFixes #250953\n\nThis PR fixes a bug in the
AI Connector creation flyout where fields\nwith default values (like
URL, Model ID) would reset to their default\nvalue when the user tried
to clear them completely using backspace.\n\n**Root cause:** The
`useEffect` in `ConfigInputField` and\n`ConfigNumberField` was checking
if the value was empty/null and\nresetting to `defaultValue`. When a
user cleared a field, the form\nconverted the empty string to `null`,
which triggered the effect to\nreset the field back to the
default.\n\n**Fix:** Modified the `useEffect` to only sync when there's
actual\nexternal content, preventing the reset when users intentionally
clear\nthe field. The initial default is still applied via
`useState`.\n\n### Changes\n- `ConfigInputField`: Updated `useEffect` to
not reset to default when\nvalue is cleared\n- `ConfigNumberField`: Same
fix applied\n- Added comprehensive unit tests for both components\n\n##
Test plan\n\n1. Go to **Alerts and Insights > Connectors**\n2. Click
**Create connector** → Select **AI Connector**\n3. Select **DeepSeek**
as the provider\n4. Open **More Options** section\n5. Try to
backspace/delete the URL field completely\n6. **Expected:** Field should
clear and stay empty\n7. **Before fix:** Field would reset to default
URL when last character\nwas deleted\n\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615\n\n\n\n\n###
After\n\nhttps://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n\n### Release note\nFixes AI Connector form fields
incorrectly resetting to default values\nwhen users clear them using
backspace.","sha":"6c002da047e50b136402706afe740c992ab4239f","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Search","backport:version","v9.3.0","v9.4.0","v9.3.1"],"title":"Fix
AI Connector form fields resetting to default value when cleared by
user","number":251095,"url":"https://github.com/elastic/kibana/pull/251095","mergeCommit":{"message":"Fix
AI Connector form fields resetting to default value when cleared by user
(#251095)\n\n## Summary\n\nFixes #250953\n\nThis PR fixes a bug in the
AI Connector creation flyout where fields\nwith default values (like
URL, Model ID) would reset to their default\nvalue when the user tried
to clear them completely using backspace.\n\n**Root cause:** The
`useEffect` in `ConfigInputField` and\n`ConfigNumberField` was checking
if the value was empty/null and\nresetting to `defaultValue`. When a
user cleared a field, the form\nconverted the empty string to `null`,
which triggered the effect to\nreset the field back to the
default.\n\n**Fix:** Modified the `useEffect` to only sync when there's
actual\nexternal content, preventing the reset when users intentionally
clear\nthe field. The initial default is still applied via
`useState`.\n\n### Changes\n- `ConfigInputField`: Updated `useEffect` to
not reset to default when\nvalue is cleared\n- `ConfigNumberField`: Same
fix applied\n- Added comprehensive unit tests for both components\n\n##
Test plan\n\n1. Go to **Alerts and Insights > Connectors**\n2. Click
**Create connector** → Select **AI Connector**\n3. Select **DeepSeek**
as the provider\n4. Open **More Options** section\n5. Try to
backspace/delete the URL field completely\n6. **Expected:** Field should
clear and stay empty\n7. **Before fix:** Field would reset to default
URL when last character\nwas deleted\n\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615\n\n\n\n\n###
After\n\nhttps://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n\n### Release note\nFixes AI Connector form fields
incorrectly resetting to default values\nwhen users clear them using
backspace.","sha":"6c002da047e50b136402706afe740c992ab4239f"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.3","label":"v9.3.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/251144","number":251144,"state":"OPEN"},{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/251095","number":251095,"mergeCommit":{"message":"Fix
AI Connector form fields resetting to default value when cleared by user
(#251095)\n\n## Summary\n\nFixes #250953\n\nThis PR fixes a bug in the
AI Connector creation flyout where fields\nwith default values (like
URL, Model ID) would reset to their default\nvalue when the user tried
to clear them completely using backspace.\n\n**Root cause:** The
`useEffect` in `ConfigInputField` and\n`ConfigNumberField` was checking
if the value was empty/null and\nresetting to `defaultValue`. When a
user cleared a field, the form\nconverted the empty string to `null`,
which triggered the effect to\nreset the field back to the
default.\n\n**Fix:** Modified the `useEffect` to only sync when there's
actual\nexternal content, preventing the reset when users intentionally
clear\nthe field. The initial default is still applied via
`useState`.\n\n### Changes\n- `ConfigInputField`: Updated `useEffect` to
not reset to default when\nvalue is cleared\n- `ConfigNumberField`: Same
fix applied\n- Added comprehensive unit tests for both components\n\n##
Test plan\n\n1. Go to **Alerts and Insights > Connectors**\n2. Click
**Create connector** → Select **AI Connector**\n3. Select **DeepSeek**
as the provider\n4. Open **More Options** section\n5. Try to
backspace/delete the URL field completely\n6. **Expected:** Field should
clear and stay empty\n7. **Before fix:** Field would reset to default
URL when last character\nwas deleted\n\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615\n\n\n\n\n###
After\n\nhttps://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n\n### Release note\nFixes AI Connector form fields
incorrectly resetting to default values\nwhen users clear them using
backspace.","sha":"6c002da047e50b136402706afe740c992ab4239f"}}]}]
BACKPORT-->
saikatsarkar056 added a commit that referenced this pull request Feb 3, 2026
…eared by user (#251095) (#251288)

# Backport

This will backport the following commits from `main` to `9.2`:
- [Fix AI Connector form fields resetting to default value when cleared
by user (#251095)](#251095)

<!--- Backport version: 10.2.0 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Saikat
Sarkar","email":"132922331+saikatsarkar056@users.noreply.github.com"},"sourceCommit":{"committedDate":"2026-01-30T23:06:22Z","message":"Fix
AI Connector form fields resetting to default value when cleared by user
(#251095)\n\n## Summary\n\nFixes #250953\n\nThis PR fixes a bug in the
AI Connector creation flyout where fields\nwith default values (like
URL, Model ID) would reset to their default\nvalue when the user tried
to clear them completely using backspace.\n\n**Root cause:** The
`useEffect` in `ConfigInputField` and\n`ConfigNumberField` was checking
if the value was empty/null and\nresetting to `defaultValue`. When a
user cleared a field, the form\nconverted the empty string to `null`,
which triggered the effect to\nreset the field back to the
default.\n\n**Fix:** Modified the `useEffect` to only sync when there's
actual\nexternal content, preventing the reset when users intentionally
clear\nthe field. The initial default is still applied via
`useState`.\n\n### Changes\n- `ConfigInputField`: Updated `useEffect` to
not reset to default when\nvalue is cleared\n- `ConfigNumberField`: Same
fix applied\n- Added comprehensive unit tests for both components\n\n##
Test plan\n\n1. Go to **Alerts and Insights > Connectors**\n2. Click
**Create connector** → Select **AI Connector**\n3. Select **DeepSeek**
as the provider\n4. Open **More Options** section\n5. Try to
backspace/delete the URL field completely\n6. **Expected:** Field should
clear and stay empty\n7. **Before fix:** Field would reset to default
URL when last character\nwas deleted\n\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615\n\n\n\n\n###
After\n\nhttps://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n\n### Release note\nFixes AI Connector form fields
incorrectly resetting to default values\nwhen users clear them using
backspace.","sha":"6c002da047e50b136402706afe740c992ab4239f","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Search","backport:version","v9.3.0","v9.4.0","v9.3.1"],"title":"Fix
AI Connector form fields resetting to default value when cleared by
user","number":251095,"url":"https://github.com/elastic/kibana/pull/251095","mergeCommit":{"message":"Fix
AI Connector form fields resetting to default value when cleared by user
(#251095)\n\n## Summary\n\nFixes #250953\n\nThis PR fixes a bug in the
AI Connector creation flyout where fields\nwith default values (like
URL, Model ID) would reset to their default\nvalue when the user tried
to clear them completely using backspace.\n\n**Root cause:** The
`useEffect` in `ConfigInputField` and\n`ConfigNumberField` was checking
if the value was empty/null and\nresetting to `defaultValue`. When a
user cleared a field, the form\nconverted the empty string to `null`,
which triggered the effect to\nreset the field back to the
default.\n\n**Fix:** Modified the `useEffect` to only sync when there's
actual\nexternal content, preventing the reset when users intentionally
clear\nthe field. The initial default is still applied via
`useState`.\n\n### Changes\n- `ConfigInputField`: Updated `useEffect` to
not reset to default when\nvalue is cleared\n- `ConfigNumberField`: Same
fix applied\n- Added comprehensive unit tests for both components\n\n##
Test plan\n\n1. Go to **Alerts and Insights > Connectors**\n2. Click
**Create connector** → Select **AI Connector**\n3. Select **DeepSeek**
as the provider\n4. Open **More Options** section\n5. Try to
backspace/delete the URL field completely\n6. **Expected:** Field should
clear and stay empty\n7. **Before fix:** Field would reset to default
URL when last character\nwas deleted\n\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615\n\n\n\n\n###
After\n\nhttps://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n\n### Release note\nFixes AI Connector form fields
incorrectly resetting to default values\nwhen users clear them using
backspace.","sha":"6c002da047e50b136402706afe740c992ab4239f"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.3","label":"v9.3.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/251144","number":251144,"state":"OPEN"},{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/251095","number":251095,"mergeCommit":{"message":"Fix
AI Connector form fields resetting to default value when cleared by user
(#251095)\n\n## Summary\n\nFixes #250953\n\nThis PR fixes a bug in the
AI Connector creation flyout where fields\nwith default values (like
URL, Model ID) would reset to their default\nvalue when the user tried
to clear them completely using backspace.\n\n**Root cause:** The
`useEffect` in `ConfigInputField` and\n`ConfigNumberField` was checking
if the value was empty/null and\nresetting to `defaultValue`. When a
user cleared a field, the form\nconverted the empty string to `null`,
which triggered the effect to\nreset the field back to the
default.\n\n**Fix:** Modified the `useEffect` to only sync when there's
actual\nexternal content, preventing the reset when users intentionally
clear\nthe field. The initial default is still applied via
`useState`.\n\n### Changes\n- `ConfigInputField`: Updated `useEffect` to
not reset to default when\nvalue is cleared\n- `ConfigNumberField`: Same
fix applied\n- Added comprehensive unit tests for both components\n\n##
Test plan\n\n1. Go to **Alerts and Insights > Connectors**\n2. Click
**Create connector** → Select **AI Connector**\n3. Select **DeepSeek**
as the provider\n4. Open **More Options** section\n5. Try to
backspace/delete the URL field completely\n6. **Expected:** Field should
clear and stay empty\n7. **Before fix:** Field would reset to default
URL when last character\nwas deleted\n\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615\n\n\n\n\n###
After\n\nhttps://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n\n### Release note\nFixes AI Connector form fields
incorrectly resetting to default values\nwhen users clear them using
backspace.","sha":"6c002da047e50b136402706afe740c992ab4239f"}}]}]
BACKPORT-->
saikatsarkar056 added a commit that referenced this pull request Feb 3, 2026
…leared by user (#251095) (#251293)

# Backport

This will backport the following commits from `main` to `8.19`:
- [Fix AI Connector form fields resetting to default value when cleared
by user (#251095)](#251095)

<!--- Backport version: 10.2.0 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Saikat
Sarkar","email":"132922331+saikatsarkar056@users.noreply.github.com"},"sourceCommit":{"committedDate":"2026-01-30T23:06:22Z","message":"Fix
AI Connector form fields resetting to default value when cleared by user
(#251095)\n\n## Summary\n\nFixes #250953\n\nThis PR fixes a bug in the
AI Connector creation flyout where fields\nwith default values (like
URL, Model ID) would reset to their default\nvalue when the user tried
to clear them completely using backspace.\n\n**Root cause:** The
`useEffect` in `ConfigInputField` and\n`ConfigNumberField` was checking
if the value was empty/null and\nresetting to `defaultValue`. When a
user cleared a field, the form\nconverted the empty string to `null`,
which triggered the effect to\nreset the field back to the
default.\n\n**Fix:** Modified the `useEffect` to only sync when there's
actual\nexternal content, preventing the reset when users intentionally
clear\nthe field. The initial default is still applied via
`useState`.\n\n### Changes\n- `ConfigInputField`: Updated `useEffect` to
not reset to default when\nvalue is cleared\n- `ConfigNumberField`: Same
fix applied\n- Added comprehensive unit tests for both components\n\n##
Test plan\n\n1. Go to **Alerts and Insights > Connectors**\n2. Click
**Create connector** → Select **AI Connector**\n3. Select **DeepSeek**
as the provider\n4. Open **More Options** section\n5. Try to
backspace/delete the URL field completely\n6. **Expected:** Field should
clear and stay empty\n7. **Before fix:** Field would reset to default
URL when last character\nwas deleted\n\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615\n\n\n\n\n###
After\n\nhttps://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n\n### Release note\nFixes AI Connector form fields
incorrectly resetting to default values\nwhen users clear them using
backspace.","sha":"6c002da047e50b136402706afe740c992ab4239f","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Search","backport:version","v9.3.0","v9.4.0","v9.3.1"],"title":"Fix
AI Connector form fields resetting to default value when cleared by
user","number":251095,"url":"https://github.com/elastic/kibana/pull/251095","mergeCommit":{"message":"Fix
AI Connector form fields resetting to default value when cleared by user
(#251095)\n\n## Summary\n\nFixes #250953\n\nThis PR fixes a bug in the
AI Connector creation flyout where fields\nwith default values (like
URL, Model ID) would reset to their default\nvalue when the user tried
to clear them completely using backspace.\n\n**Root cause:** The
`useEffect` in `ConfigInputField` and\n`ConfigNumberField` was checking
if the value was empty/null and\nresetting to `defaultValue`. When a
user cleared a field, the form\nconverted the empty string to `null`,
which triggered the effect to\nreset the field back to the
default.\n\n**Fix:** Modified the `useEffect` to only sync when there's
actual\nexternal content, preventing the reset when users intentionally
clear\nthe field. The initial default is still applied via
`useState`.\n\n### Changes\n- `ConfigInputField`: Updated `useEffect` to
not reset to default when\nvalue is cleared\n- `ConfigNumberField`: Same
fix applied\n- Added comprehensive unit tests for both components\n\n##
Test plan\n\n1. Go to **Alerts and Insights > Connectors**\n2. Click
**Create connector** → Select **AI Connector**\n3. Select **DeepSeek**
as the provider\n4. Open **More Options** section\n5. Try to
backspace/delete the URL field completely\n6. **Expected:** Field should
clear and stay empty\n7. **Before fix:** Field would reset to default
URL when last character\nwas deleted\n\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615\n\n\n\n\n###
After\n\nhttps://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n\n### Release note\nFixes AI Connector form fields
incorrectly resetting to default values\nwhen users clear them using
backspace.","sha":"6c002da047e50b136402706afe740c992ab4239f"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.3","label":"v9.3.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/251144","number":251144,"state":"OPEN"},{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/251095","number":251095,"mergeCommit":{"message":"Fix
AI Connector form fields resetting to default value when cleared by user
(#251095)\n\n## Summary\n\nFixes #250953\n\nThis PR fixes a bug in the
AI Connector creation flyout where fields\nwith default values (like
URL, Model ID) would reset to their default\nvalue when the user tried
to clear them completely using backspace.\n\n**Root cause:** The
`useEffect` in `ConfigInputField` and\n`ConfigNumberField` was checking
if the value was empty/null and\nresetting to `defaultValue`. When a
user cleared a field, the form\nconverted the empty string to `null`,
which triggered the effect to\nreset the field back to the
default.\n\n**Fix:** Modified the `useEffect` to only sync when there's
actual\nexternal content, preventing the reset when users intentionally
clear\nthe field. The initial default is still applied via
`useState`.\n\n### Changes\n- `ConfigInputField`: Updated `useEffect` to
not reset to default when\nvalue is cleared\n- `ConfigNumberField`: Same
fix applied\n- Added comprehensive unit tests for both components\n\n##
Test plan\n\n1. Go to **Alerts and Insights > Connectors**\n2. Click
**Create connector** → Select **AI Connector**\n3. Select **DeepSeek**
as the provider\n4. Open **More Options** section\n5. Try to
backspace/delete the URL field completely\n6. **Expected:** Field should
clear and stay empty\n7. **Before fix:** Field would reset to default
URL when last character\nwas deleted\n\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615\n\n\n\n\n###
After\n\nhttps://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n\n### Release note\nFixes AI Connector form fields
incorrectly resetting to default values\nwhen users clear them using
backspace.","sha":"6c002da047e50b136402706afe740c992ab4239f"}}]}]
BACKPORT-->
@kibanamachine
Copy link
Contributor

Looks like this PR has backport PRs but they still haven't been merged. Please merge them ASAP to keep the branches relatively in sync.
cc: @saikatsarkar056

1 similar comment
@kibanamachine
Copy link
Contributor

Looks like this PR has backport PRs but they still haven't been merged. Please merge them ASAP to keep the branches relatively in sync.
cc: @saikatsarkar056

@saikatsarkar056 saikatsarkar056 removed the backport missing Added to PRs automatically when the are determined to be missing a backport. label Feb 5, 2026
@kibanamachine kibanamachine added the backport missing Added to PRs automatically when the are determined to be missing a backport. label Feb 6, 2026
@kibanamachine
Copy link
Contributor

Looks like this PR has backport PRs but they still haven't been merged. Please merge them ASAP to keep the branches relatively in sync.
cc: @saikatsarkar056

kibanamachine added a commit that referenced this pull request Feb 6, 2026
…eared by user (#251095) (#251144)

# Backport

This will backport the following commits from `main` to `9.3`:
- [Fix AI Connector form fields resetting to default value when cleared
by user (#251095)](#251095)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Saikat
Sarkar","email":"132922331+saikatsarkar056@users.noreply.github.com"},"sourceCommit":{"committedDate":"2026-01-30T23:06:22Z","message":"Fix
AI Connector form fields resetting to default value when cleared by user
(#251095)\n\n## Summary\n\nFixes #250953\n\nThis PR fixes a bug in the
AI Connector creation flyout where fields\nwith default values (like
URL, Model ID) would reset to their default\nvalue when the user tried
to clear them completely using backspace.\n\n**Root cause:** The
`useEffect` in `ConfigInputField` and\n`ConfigNumberField` was checking
if the value was empty/null and\nresetting to `defaultValue`. When a
user cleared a field, the form\nconverted the empty string to `null`,
which triggered the effect to\nreset the field back to the
default.\n\n**Fix:** Modified the `useEffect` to only sync when there's
actual\nexternal content, preventing the reset when users intentionally
clear\nthe field. The initial default is still applied via
`useState`.\n\n### Changes\n- `ConfigInputField`: Updated `useEffect` to
not reset to default when\nvalue is cleared\n- `ConfigNumberField`: Same
fix applied\n- Added comprehensive unit tests for both components\n\n##
Test plan\n\n1. Go to **Alerts and Insights > Connectors**\n2. Click
**Create connector** → Select **AI Connector**\n3. Select **DeepSeek**
as the provider\n4. Open **More Options** section\n5. Try to
backspace/delete the URL field completely\n6. **Expected:** Field should
clear and stay empty\n7. **Before fix:** Field would reset to default
URL when last character\nwas deleted\n\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615\n\n\n\n\n###
After\n\nhttps://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n\n### Release note\nFixes AI Connector form fields
incorrectly resetting to default values\nwhen users clear them using
backspace.","sha":"6c002da047e50b136402706afe740c992ab4239f","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Search","backport:version","v9.3.0","v9.4.0","v9.3.1"],"title":"Fix
AI Connector form fields resetting to default value when cleared by
user","number":251095,"url":"https://github.com/elastic/kibana/pull/251095","mergeCommit":{"message":"Fix
AI Connector form fields resetting to default value when cleared by user
(#251095)\n\n## Summary\n\nFixes #250953\n\nThis PR fixes a bug in the
AI Connector creation flyout where fields\nwith default values (like
URL, Model ID) would reset to their default\nvalue when the user tried
to clear them completely using backspace.\n\n**Root cause:** The
`useEffect` in `ConfigInputField` and\n`ConfigNumberField` was checking
if the value was empty/null and\nresetting to `defaultValue`. When a
user cleared a field, the form\nconverted the empty string to `null`,
which triggered the effect to\nreset the field back to the
default.\n\n**Fix:** Modified the `useEffect` to only sync when there's
actual\nexternal content, preventing the reset when users intentionally
clear\nthe field. The initial default is still applied via
`useState`.\n\n### Changes\n- `ConfigInputField`: Updated `useEffect` to
not reset to default when\nvalue is cleared\n- `ConfigNumberField`: Same
fix applied\n- Added comprehensive unit tests for both components\n\n##
Test plan\n\n1. Go to **Alerts and Insights > Connectors**\n2. Click
**Create connector** → Select **AI Connector**\n3. Select **DeepSeek**
as the provider\n4. Open **More Options** section\n5. Try to
backspace/delete the URL field completely\n6. **Expected:** Field should
clear and stay empty\n7. **Before fix:** Field would reset to default
URL when last character\nwas deleted\n\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615\n\n\n\n\n###
After\n\nhttps://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n\n### Release note\nFixes AI Connector form fields
incorrectly resetting to default values\nwhen users clear them using
backspace.","sha":"6c002da047e50b136402706afe740c992ab4239f"}},"sourceBranch":"main","suggestedTargetBranches":["9.3"],"targetPullRequestStates":[{"branch":"9.3","label":"v9.3.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/251095","number":251095,"mergeCommit":{"message":"Fix
AI Connector form fields resetting to default value when cleared by user
(#251095)\n\n## Summary\n\nFixes #250953\n\nThis PR fixes a bug in the
AI Connector creation flyout where fields\nwith default values (like
URL, Model ID) would reset to their default\nvalue when the user tried
to clear them completely using backspace.\n\n**Root cause:** The
`useEffect` in `ConfigInputField` and\n`ConfigNumberField` was checking
if the value was empty/null and\nresetting to `defaultValue`. When a
user cleared a field, the form\nconverted the empty string to `null`,
which triggered the effect to\nreset the field back to the
default.\n\n**Fix:** Modified the `useEffect` to only sync when there's
actual\nexternal content, preventing the reset when users intentionally
clear\nthe field. The initial default is still applied via
`useState`.\n\n### Changes\n- `ConfigInputField`: Updated `useEffect` to
not reset to default when\nvalue is cleared\n- `ConfigNumberField`: Same
fix applied\n- Added comprehensive unit tests for both components\n\n##
Test plan\n\n1. Go to **Alerts and Insights > Connectors**\n2. Click
**Create connector** → Select **AI Connector**\n3. Select **DeepSeek**
as the provider\n4. Open **More Options** section\n5. Try to
backspace/delete the URL field completely\n6. **Expected:** Field should
clear and stay empty\n7. **Before fix:** Field would reset to default
URL when last character\nwas deleted\n\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/cc8832f5-ca91-4270-825f-023dcbc34615\n\n\n\n\n###
After\n\nhttps://github.com/user-attachments/assets/49a31906-6362-4f5d-aee1-bff10008aabd\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n\n### Release note\nFixes AI Connector form fields
incorrectly resetting to default values\nwhen users clear them using
backspace.","sha":"6c002da047e50b136402706afe740c992ab4239f"}}]}]
BACKPORT-->

Co-authored-by: Saikat Sarkar <132922331+saikatsarkar056@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
@kibanamachine kibanamachine removed the backport missing Added to PRs automatically when the are determined to be missing a backport. label Feb 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment