Skip to content

Commit 65e304a

Browse files
committed
fix: treat all-dot display as a keep-existing placeholder
The all-dot mask returned for short or un-disclosable secrets was not recognized by is_core_config_secret_placeholder, so a client round-tripping that display value would persist the bullet characters as a literal credential. Recognize bullet-only values as keep-existing, matching the frontend's isMaskedSecretValue.
1 parent 6cd5de5 commit 65e304a

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

main_routers/config_router/core_config.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@ def is_core_config_secret_placeholder(value) -> bool:
8080
return True
8181
if len(stripped) >= 3 and set(stripped) == {'*'}:
8282
return True
83+
# The all-dot display (short or un-disclosable secrets) must round-trip as
84+
# "keep existing" too, never be persisted as a literal bullet credential.
85+
if stripped and set(stripped) == {'•'}:
86+
return True
8387

8488
# Display masks keep a visible prefix/suffix and star out the middle. Both
8589
# the current 3+3 shape and the legacy 6+6 shape mean "keep existing".

0 commit comments

Comments
 (0)