Skip to content

fix: drop the reveal toggle from a disabled PasswordInput (Issue epam/ai-dial-chat#8791) - #878

Merged
PolinaGurinovich97 merged 1 commit into
release-0.14from
fix/password-input-disabled-toggle-release
Sep 14, 2026
Merged

PolinaGurinovich97 merged 1 commit into
release-0.14from
fix/password-input-disabled-toggle-release

Conversation

@PolinaGurinovich97

Copy link
Copy Markdown
Collaborator

Replaces #876, which was merged into the wrong branch — see below. Same commit as #874 (already on development), cherry-picked onto release-0.14 without conflicts.

What happened to #876

#876 was opened with its base set to fix/optional-editor-peers-build-0.14 (the head branch of #873) so that it could inherit the Verify package distribution fix and keep its own diff to one commit. It was then merged into that branch rather than into release-0.14, and #873's branch had already been deleted when #873 merged — so the merge landed on a branch nothing tracks, and release-0.14 never received the fix. My mistake for stacking it: a stacked base is only safe while everyone knows the merge order, and that branch was already gone.

This PR is based directly on release-0.14, so merging it puts the fix where it belongs.

The fix

A disabled PasswordInput (2.0) masked its value correctly but still drew the reveal button next to it, disabled. The design draws a masked field with nothing after it — ai-dial-chat#8791 is exactly that state: a toolset's OAuth client secret, disabled once the user has logged in.

  • The toggle is now absent while disabled.
  • Masking resets with it, so a field that is disabled and then enabled again comes back masked instead of silently restoring an earlier reveal — a form that locks its inputs during a request used to hand the field back readable, with no pressed toggle to explain it.

type stays password while disabled rather than relying on the toggle's absence: Input puts the value of a disabled non-password field in a tooltip.

No API change; an enabled field behaves exactly as before.

Note on the gate

Verify package distribution will fail on this PR until #877 merges. That job is broken on release-0.14 for every PR, whatever it contains: the fixtures pin epam-ai-dial-ui-kit-0.0.0.tgz while a release branch packs …-0.14.0.tgz. #877 is the cherry-pick that fixes it, verified end-to-end on this branch (all 10 fixtures, export-surface parity, pack contents). Merging #877 first makes this PR's gate meaningful.

Verification

  • npm run typecheck — green.
  • Full kit suite on this branch — 183 files, 2494 tests, green.
  • PasswordInput spec — 8/8, including the rewritten disabled case (no toggle) and the new reveal → disable → enable case.

🤖 Generated with Claude Code

…/ai-dial-chat#8791)

A disabled `PasswordInput` (2.0) masked its value correctly but still drew the
reveal button next to it, disabled. The design draws a masked field with
nothing after it — ai-dial-chat#8791 is exactly that state: a toolset's OAuth
client secret, disabled once the user has logged in — and a control whose only
two outcomes are both unreachable is space spent on nothing.

The toggle is now absent while `disabled`, and masking resets with it: a field
that is disabled and then enabled again comes back masked rather than silently
restoring an earlier reveal. That second half matters on its own — a form that
locks its inputs during a request used to hand the field back revealed, with
no pressed toggle on screen to explain why the secret was readable.

Nothing changes for an enabled field. The spec and the Storybook description
that documented the disabled-but-present toggle now cover its absence and the
re-enable path.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@PolinaGurinovich97
PolinaGurinovich97 merged commit e98b51e into release-0.14 Sep 14, 2026
12 checks passed
@PolinaGurinovich97
PolinaGurinovich97 deleted the fix/password-input-disabled-toggle-release branch September 14, 2026 20:30
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.

1 participant