fix(ui): mask sensitive variable values on entry (cross-browser)#520
Merged
Conversation
Entering a variable value marked Sensitive showed it in plaintext on screen while typing — only the list/table masked it. Add a SensitiveValueInput component that masks the value field by default when Sensitive is checked, with a Show/Hide toggle (mirrors the #503 token reveal). Used in both the workspace Variables tab and admin Variable Sets (add + edit). Masking uses a vendored disc font (.text-masked class + @font-face, text-security-disc, ~2KB woff2) rather than -webkit-text-security, which is Chromium/WebKit-only — so it works in Firefox too — while staying a multi-line textarea so certs/keys paste intact. The mask is gated on a non-empty value so the placeholder stays readable. Adds a Playwright assertion: the entry field gains/loses the masking class as Sensitive is toggled and Show/Hide is clicked.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Entering a variable value marked Sensitive showed it in plaintext on screen while typing — only the saved list/table masked it (
***). This masks the value as you enter it, the same class of fix as the #503 token reveal.Change
SensitiveValueInputcomponent: when Sensitive is checked, the value field is masked by default with a Show/Hide toggle. Wired into the workspace Variables tab and admin Variable Sets (both add + edit)..text-masked+@font-face,text-security-disc, ~2 KB woff2) instead of-webkit-text-security, which is Chromium/WebKit-only — so it works in Firefox too — while staying a multi-line<textarea>so certs/keys paste intact. Gated on a non-empty value so the placeholder stays readable..text-maskedutility is reusable for any future masked field.Verification
npm run build, tsc, eslint clean.Intended for a v0.38.3 fix release.