Skip to content

[PM-39212] Add entry for account.rogers.com#34

Merged
jprusik merged 1 commit into
mainfrom
pm-39212
Jun 30, 2026
Merged

[PM-39212] Add entry for account.rogers.com#34
jprusik merged 1 commit into
mainfrom
pm-39212

Conversation

@jprusik

@jprusik jprusik commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

🎟️ Tracking

PM-39212

@jprusik jprusik self-assigned this Jun 26, 2026
@jprusik jprusik requested a review from a team as a code owner June 26, 2026 20:07
@jprusik jprusik added the ai-review-vnext Request a Claude code review using the vNext workflow label Jun 26, 2026
@jprusik jprusik requested a review from blackwood June 26, 2026 20:07
@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown

🤖 Bitwarden Claude Code Review

Overall Assessment: APPROVE

This PR adds a single Forms Map entry for account.rogers.com (a 36-line addition to maps/forms/forms.jsonc). The entry models Rogers' two-step Angular login flow (username step wrapped in <ng-component>, then password step wrapped in <password-form>) as one logical account-login form with next and submit actions. I reviewed it against forms.v1.schema.json, the selector lint rules in scripts/lib/lint-selectors.mjs, and the authoring conventions in maps/forms/README.md.

Code Review Details

No blocking findings. Verification notes:

  • Schema-valid: correct category, container/fields/actions shapes, and all field/action keys are within the allowed enums.
  • Selector lint rules satisfied: every segment carries a tag anchor, no bare/class-only/universal/positional/state pseudos at the top level, container selectors anchor on form, and :has() is supported (already used by existing entries and the recently merged coinbase form).
  • Convention-aligned: the multi-step single-URL flow with multiple container alternatives mirrors the existing coinbase and trip.com entries, the host is placed alphabetically, selectors are self-contained, and the non-obvious DOM structure is documented inline per authoring guideline 12.
  • Considered but not flagged: the username-step input uses the email field key while carrying autocomplete='username' and a "registered username" title. Because the input is type='email' and the README directs using email when an email is used to authenticate, the author's choice is defensible and treated as an intentional judgment call rather than a finding.

Comment thread maps/forms/forms.jsonc
],
"fields": {
"email": [
"ng-component form[method='POST'] input[type='email'][autocomplete='username'][title='Enter your registered username here']"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using the title text here feels brittle, but I'm assuming there was no other readily available distinguishing selector?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be somewhat brittle; it's more that it was a meaningfully differentiating quality.

@jprusik jprusik merged commit d322e75 into main Jun 30, 2026
16 checks passed
@jprusik jprusik deleted the pm-39212 branch June 30, 2026 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-review-vnext Request a Claude code review using the vNext workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants