Ed3110 opened a new pull request, #70473:
URL: https://github.com/apache/airflow/pull/70473

   Extra fields that a provider declares with `format: "password"` are rendered 
as
   plain text in the connection form. `FieldSelector` has no branch for that 
format,
   so they fall through to `FieldString`, which renders an Input with no type.
   The standard `password` field has been masked with a toggle for a while;
   declared extra fields never got the same treatment.
   
   This adds a `FieldPassword` component to `FlexibleForm` and the matching 
branch in
   `FieldSelector`, reusing the (`FiEye`/`FiEyeOff`) toggle pattern from
   ConnectionStandardFields. `FieldSelector` is shared with the Dag trigger 
form, so
   params declared with `format: "password"` are masked there too.
   
   Verified on a Salesforce connection — Security Token, Consumer Secret and 
Private
   Key mask correctly and the toggle works, other extra fields are unaffected — 
and
   on a Dag param form. Tests cover the masked input, value storage, clearing, 
and
   the toggle.
   
   This does not cover free-form keys a provider doesn't declare, 
   such as `private_key` on an SSH connection, which is what the reporter hit.
   Those have no schema and no format, so the UI has no signal to go on; 
   masking them would need the backend to mark sensitive keys. 
   Happy to look at that separately.
   
   before:
   <img width="1288" height="936" alt="image" 
src="https://github.com/user-attachments/assets/1127a142-731a-4ee4-bafe-7d7c6daa63be";
 />
   <img width="1232" height="980" alt="image" 
src="https://github.com/user-attachments/assets/69d933cf-05b4-4aaa-8d78-d45a8809cb81";
 />
   
   
   after:
   <img width="1212" height="980" alt="image" 
src="https://github.com/user-attachments/assets/6c543775-efaf-48c2-9d81-b638eac20eff";
 />
   
   related: #53410
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 5)
   
   Generated-by: Claude Code (Opus 5) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to