Skip to content

[8.19] [Ingest Pipelines] Fix handling special symbols from navigation (#233651)#234800

Merged
kapral18 merged 2 commits intoelastic:8.19from
kapral18:backport/8.19/pr-233651
Sep 12, 2025
Merged

[8.19] [Ingest Pipelines] Fix handling special symbols from navigation (#233651)#234800
kapral18 merged 2 commits intoelastic:8.19from
kapral18:backport/8.19/pr-233651

Conversation

@kapral18
Copy link
Contributor

Backport

This will backport the following commits from main to 8.19:

Questions ?

Please refer to the Backport tool documentation

…tic#233651)

fixes elastic#230536

This pull request fixes encoding behavior and adds comprehensive test
coverage for the ingest pipelines create, clone, and edit sections,
focusing on robust handling of pipeline names with special characters
and addressing known issues with URL encoding/decoding in [history
v4](remix-run/history#786) fixed in next
version of react-router(6+).

## Impacted flows

### Before fix

1. Creating a non-existent pipeline from not-found Flyout, containing
special symbols. (main issue)
<img width="1540" height="1304" alt="image"
src="https://github.com/user-attachments/assets/ddc44615-c74d-4021-89bd-6cfc48e6d0ee"
/>

2. Editing pipeline containing special symbols in the name -> Reloading
edit form (newly discovered issue)
<img width="1531" height="1349" alt="image"
src="https://github.com/user-attachments/assets/3c1de15f-9f8e-496e-bf08-17dab5753071"
/>

3. Cloning pipeline containing special symbols in the name -> Reloading
clone form (newly discovered issue)
<img width="1548" height="1367" alt="image"
src="https://github.com/user-attachments/assets/cff608ce-e921-46c7-b1ad-989dc9f6f0c8"
/>

### After fix

https://github.com/user-attachments/assets/60f4ab29-0c57-4533-b05f-765b1b546410

https://github.com/user-attachments/assets/3bd37ef1-a60c-4350-b597-027dc6ac6da6

https://github.com/user-attachments/assets/9d1e847e-3694-4e23-9089-837ba603540c

## How to test

### Unknown pipeline creation case

1. Open a flyout for a non-existing test@custom pipeline (e.g. by
navigating to
`/app/management/ingest/ingest_pipelines?pipeline=test@custom`) and
click on "Create" button.
2. See pipeline name correctly showing `test@custom` (instead of
`test%40custom`)

### Edit page reload with special symbols case

1. Go to `/app/management/ingest/ingest_pipelines/create`
2. Crete pipeline with name `asd!@#$ asd%^&`
3. In the opened flyout on the bottom click `Edit pipeline` button
4. When edit page is loaded, reload the page
5. See no more error happening

### Clone page reload with special symbols case

1. Go to `/app/management/ingest/ingest_pipelines/create`
2. Crete pipeline with name `asd!@#$ asd%^&`
3. In the opened flyout on the bottom click `...` button
4. Click duplicate page
5. When the form is loaded, reload the page
6. See no more error happening

## Release Note

- fix special symbols handling when creating new pipeline from flyout
- fix edit page crash upon reload, for pipeline that has special symbols
in the name
- fix clone page error upon reload, for pipeline that has special
symbols in the name

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
(cherry picked from commit 24ae4db)

# Conflicts:
#	x-pack/platform/plugins/shared/ingest_pipelines/__jest__/client_integration/ingest_pipelines_clone.test.tsx
#	x-pack/platform/plugins/shared/ingest_pipelines/__jest__/client_integration/ingest_pipelines_edit.test.tsx
#	x-pack/platform/plugins/shared/ingest_pipelines/public/application/sections/pipelines_edit/pipelines_edit.tsx
#	x-pack/platform/plugins/shared/ingest_pipelines/public/application/sections/pipelines_list/main.tsx
@kapral18 kapral18 added the backport This PR is a backport of another PR label Sep 11, 2025
@kapral18 kapral18 enabled auto-merge (squash) September 11, 2025 16:48
@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
ingestPipelines 358 359 +1

Async chunks

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

id before after diff
ingestPipelines 451.0KB 451.1KB +159.0B

History

@kapral18 kapral18 merged commit c9634e7 into elastic:8.19 Sep 12, 2025
8 checks passed
@kapral18 kapral18 deleted the backport/8.19/pr-233651 branch September 12, 2025 07:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport This PR is a backport of another PR

3 participants