Skip to content

ui: fix escaping for matcher values with quotes#4862

Merged
SoloJacobs merged 1 commit intoprometheus:mainfrom
KyungHwanKim-devs:fix/silence-matcher-quote
Feb 25, 2026
Merged

ui: fix escaping for matcher values with quotes#4862
SoloJacobs merged 1 commit intoprometheus:mainfrom
KyungHwanKim-devs:fix/silence-matcher-quote

Conversation

@KyungHwanKim-devs
Copy link
Copy Markdown
Contributor

@KyungHwanKim-devs KyungHwanKim-devs commented Jan 3, 2026

Summary

  • unescape matcher values in the filter parser to match backend escape rules
  • escape matcher values when stringifying filters so quotes/backslashes round-trip

Testing

  • make format
  • make test
  • make build-all

Fixes #1913

@KyungHwanKim-devs KyungHwanKim-devs force-pushed the fix/silence-matcher-quote branch from f51910f to 9654887 Compare January 3, 2026 19:47
@SoloJacobs SoloJacobs requested a review from TheMeier February 20, 2026 15:58
@TheMeier
Copy link
Copy Markdown
Contributor

Hi @KyungHwanKim-devs

thank you for the contribution. I think this is solved by #4942

@TheMeier TheMeier self-assigned this Feb 23, 2026
@SoloJacobs
Copy link
Copy Markdown
Contributor

@TheMeier @KyungHwanKim-devs Should we adopt the tests in this PR? They still seem valuable to me.

@TheMeier
Copy link
Copy Markdown
Contributor

Yes I actuall had that idea too and forgot it again :(

@SoloJacobs
Copy link
Copy Markdown
Contributor

@KyungHwanKim-devs It seems you are not active anymore, which is totally understandable. Since you allow maintainers to edit this PR, we will have a look and fix up this commit.

Kind regards

Signed-off-by: kkh <kkhdevs@gmail.com>
Signed-off-by: Solomon Jacobs <solomonjacobs@protonmail.com>
Co-authored-by: Solomon Jacobs <solomonjacobs@protonmail.com>
@SoloJacobs SoloJacobs force-pushed the fix/silence-matcher-quote branch from 9654887 to bd21145 Compare February 25, 2026 13:14
@SoloJacobs SoloJacobs merged commit 710984e into prometheus:main Feb 25, 2026
7 checks passed
coatico pushed a commit to coatico/alertmanager that referenced this pull request Mar 10, 2026
Signed-off-by: kkh <kkhdevs@gmail.com>
Signed-off-by: Solomon Jacobs <solomonjacobs@protonmail.com>
Co-authored-by: Solomon Jacobs <solomonjacobs@protonmail.com>
Signed-off-by: VAN LINT <marnix.vanlint@worldline.com>
coatico pushed a commit to coatico/alertmanager that referenced this pull request Mar 10, 2026
Signed-off-by: kkh <kkhdevs@gmail.com>
Signed-off-by: Solomon Jacobs <solomonjacobs@protonmail.com>
Co-authored-by: Solomon Jacobs <solomonjacobs@protonmail.com>
Signed-off-by: VAN LINT <marnix.vanlint@worldline.com>
SoloJacobs added a commit to SoloJacobs/alertmanager that referenced this pull request Mar 15, 2026
Signed-off-by: kkh <kkhdevs@gmail.com>
Signed-off-by: Solomon Jacobs <solomonjacobs@protonmail.com>
Co-authored-by: Solomon Jacobs <solomonjacobs@protonmail.com>
SoloJacobs added a commit to SoloJacobs/alertmanager that referenced this pull request Apr 6, 2026
* [CHANGE] `go get github.com/prometheus/alertmanager/ui` will now fail as compiled UI assets are no longer checked into the repository. Downstream builds that rely on these assets being present in the source tree must now build the UI from source. prometheus#5113
* [CHANGE] The '--enable-feature=auto-gomaxprocs' option is deprecated and will be removed in v0.33. This flag currently has no effect and can be safely removed from any startup scripts. prometheus#5090
* [CHANGE] Update internal function signatures across multiple packages. This affects any project that integrates `Alertmanager` code.
* [ENHANCEMENT] Add static asset caching. prometheus#5113
* [ENHANCEMENT] Reduce memory allocations through pre-sizing collections and batch allocation. prometheus#5020
* [ENHANCEMENT] Replace help with documentation in navigation bar. prometheus#4943
* [ENHANCEMENT] docs(ha): Update high availability documentation. prometheus#5136
* [ENHANCEMENT] docs: Add `auth_secret_file` for smtp in document. prometheus#5036
* [ENHANCEMENT] docs: Add description for global `telegram_bot_token`. prometheus#5114
* [ENHANCEMENT] docs: Add note about notifier timeouts. prometheus#5077
* [ENHANCEMENT] docs: Fix `force_implicit_tls` config field name. prometheus#5030
* [ENHANCEMENT] docs: Link community supported integrations. prometheus#4978
* [ENHANCEMENT] docs: Remove duplicate header. prometheus#5034
* [ENHANCEMENT] docs: Update mutual tls reference in high availability documentation. prometheus#5120
* [ENHANCEMENT] tracing: Use noop spans when tracing disabled. prometheus#5118
* [FEATURE] Add silence annotations. prometheus#4965
* [FEATURE] Add silence logging option. prometheus#4163
* [FEATURE] Add support for multiple matcher set silences. prometheus#4957
* [FEATURE] Add the reason for notifying in dedup stage. prometheus#4971
* [FEATURE] mattermost: Flatten attachments into top-level config. prometheus#5009
* [FEATURE] mattermost: Support global webhook url. prometheus#4998
* [FEATURE] slack: Add default color from template. prometheus#5014
* [FEATURE] slack: Allow receiver to edit existing messages. prometheus#5007
* [FEATURE] template: Add dict, map and append functions. prometheus#5093
* [FEATURE] webhook: Add full payload templating support for notifier. prometheus#5011
* [BUGFIX] config: Check for empty cluster tls client config. prometheus#5126
* [BUGFIX] config: Don't crash upon reading empty config for notifier. prometheus#4979
* [BUGFIX] config: Fix ipv6 address handling in hostport.string(). prometheus#5040
* [BUGFIX] mattermost: Omit empty text field in notifications. prometheus#4985
* [BUGFIX] telegram: Send fallback message when notification exceeds character limit. prometheus#5074
* [BUGFIX] ui: Fix escaping for matcher values with quotes. prometheus#4862
* [BUGFIX] ui: Handle special chars in silence regex-matchers. prometheus#4942
* [BUGFIX] ui: Support utf-8 label names in matchers. prometheus#5089

Signed-off-by: Solomon Jacobs <solomonjacobs@protonmail.com>
@SoloJacobs SoloJacobs mentioned this pull request Apr 6, 2026
ultrotter pushed a commit that referenced this pull request Apr 7, 2026
* [CHANGE] `go get github.com/prometheus/alertmanager/ui` will now fail as compiled UI assets are no longer checked into the repository. Downstream builds that rely on these assets being present in the source tree must now build the UI from source. #5113
* [CHANGE] The '--enable-feature=auto-gomaxprocs' option is deprecated and will be removed in v0.33. This flag currently has no effect and can be safely removed from any startup scripts. #5090
* [CHANGE] Update internal function signatures across multiple packages. This affects any project that integrates `Alertmanager` code.
* [ENHANCEMENT] Add static asset caching. #5113
* [ENHANCEMENT] Reduce memory allocations through pre-sizing collections and batch allocation. #5020
* [ENHANCEMENT] Replace help with documentation in navigation bar. #4943
* [ENHANCEMENT] docs(ha): Update high availability documentation. #5136
* [ENHANCEMENT] docs: Add `auth_secret_file` for smtp in document. #5036
* [ENHANCEMENT] docs: Add description for global `telegram_bot_token`. #5114
* [ENHANCEMENT] docs: Add note about notifier timeouts. #5077
* [ENHANCEMENT] docs: Fix `force_implicit_tls` config field name. #5030
* [ENHANCEMENT] docs: Link community supported integrations. #4978
* [ENHANCEMENT] docs: Remove duplicate header. #5034
* [ENHANCEMENT] docs: Update mutual tls reference in high availability documentation. #5120
* [ENHANCEMENT] tracing: Use noop spans when tracing disabled. #5118
* [FEATURE] Add silence annotations. #4965
* [FEATURE] Add silence logging option. #4163
* [FEATURE] Add support for multiple matcher set silences. #4957
* [FEATURE] Add the reason for notifying in dedup stage. #4971
* [FEATURE] mattermost: Flatten attachments into top-level config. #5009
* [FEATURE] mattermost: Support global webhook url. #4998
* [FEATURE] slack: Add default color from template. #5014
* [FEATURE] slack: Allow receiver to edit existing messages. #5007
* [FEATURE] template: Add dict, map and append functions. #5093
* [FEATURE] webhook: Add full payload templating support for notifier. #5011
* [BUGFIX] config: Check for empty cluster tls client config. #5126
* [BUGFIX] config: Don't crash upon reading empty config for notifier. #4979
* [BUGFIX] config: Fix ipv6 address handling in hostport.string(). #5040
* [BUGFIX] mattermost: Omit empty text field in notifications. #4985
* [BUGFIX] telegram: Send fallback message when notification exceeds character limit. #5074
* [BUGFIX] ui: Fix escaping for matcher values with quotes. #4862
* [BUGFIX] ui: Handle special chars in silence regex-matchers. #4942
* [BUGFIX] ui: Support utf-8 label names in matchers. #5089

Signed-off-by: Solomon Jacobs <solomonjacobs@protonmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Silence form fails to parse matchers with double quotes for alert preview

4 participants