Skip to content

fix(connections): keep spell checking off in secret and key fields - #1707

Merged
cevheri merged 1 commit into
mainfrom
fix/secret-fields-no-spellcheck
Oct 12, 2026
Merged

cevheri merged 1 commit into
mainfrom
fix/secret-fields-no-spellcheck

Conversation

@cevheri

@cevheri cevheri commented Oct 12, 2026

Copy link
Copy Markdown
Member

A browser spell checker can send a field's text to an outside spelling service and may keep its words in the user's dictionary. Key material and credentials must never take that path.

Every connection dialog field that holds a secret now sets spellCheck={false}, autoCorrect="off" and autoCapitalize="off": the password and API key secret, the SSL CA, client certificate and client private key PEM fields, the SSH password, private key and passphrase, and the Paste URL and connection string inputs, since a URI carries the password. Unmasked fields also set autoComplete="off". Masked fields keep autoComplete="new-password", which keeps saved site passwords out of them.

A new component test walks the real dialog through every engine, every SSL mode that shows the PEM fields, both SSH auth methods and the connection string mode. It fails on any secret field without these attributes, so a new one cannot slip in.

Checks: the full local gate set passed (format, lint, typecheck, knip, the drift guards, every test file at 100% line coverage, build, build:lib, attw).
A browser check runs before this leaves draft.
No separate review agents ran on this branch.

A browser spell checker can send a field's text to an outside spelling
service and keep its words in the user's dictionary. Every connection
dialog field that holds a password, token, key, PEM or credential URI now
sets spellCheck, autoCorrect and autoCapitalize off, and autoComplete off
where the field is not masked. A component test walks every engine, SSL
mode and SSH auth method and fails on a secret field without them.
@codecov

codecov Bot commented Oct 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@sonarqubecloud

Copy link
Copy Markdown

@cevheri
cevheri marked this pull request as ready for review October 12, 2026 14:48
@cevheri
cevheri merged commit 81d4bbc into main Oct 12, 2026
34 checks passed
@cevheri
cevheri deleted the fix/secret-fields-no-spellcheck branch October 12, 2026 14:48
cevheri added a commit that referenced this pull request Oct 12, 2026
The walk from #1707 ran every engine in one test and went past bun's five-second timeout on a loaded runner, so Unit & Integration Tests was red on main. Each engine now has its own test on a fresh dialog, and a final test keeps the reach check.
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