Skip to content

Conversation

@bmbitwarden
Copy link

@bmbitwarden bmbitwarden commented Nov 20, 2025

…ts of clipboard

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-21800

📔 Objective

need to paste from generator without extra spaces

📸 Screenshots

image image

⏰ Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • ❓ (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • ❌ (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

@bmbitwarden bmbitwarden requested a review from a team as a code owner November 20, 2025 12:32
@bmbitwarden bmbitwarden requested a review from vleague2 November 20, 2025 12:32
@claude
Copy link

claude bot commented Nov 20, 2025

Claude finished @bmbitwarden's task —— View job


Code Review Complete

Summary

The change from tw-whitespace-pre-wrap to tw-whitespace-break-spaces is appropriate for fixing the clipboard copying issue. The technical implementation is correct.

Findings

Finding 1: PR title is truncated and should be more descriptive

💭 The PR title appears cut off ("...manage conten…"). Consider a clearer, complete title:

Suggested improvement
Fix password generator copying extra spaces by using whitespace-break-spaces

or

PM-21800: Fix clipboard copy including unwanted spaces in password generator

The current title doesn't clearly communicate what issue was fixed or how.

Finding 2: Missing test plan in PR description

💭 The PR description doesn't include a test plan or explain how the fix was verified. Consider adding:

  • Steps to reproduce the original issue
  • How the fix was tested
  • Expected behavior after the change

This helps reviewers verify the fix and prevents regression.


Technical Details

The change from tw-whitespace-pre-wrap to tw-whitespace-break-spaces is the correct solution:

  • whitespace-pre-wrap: Preserves whitespace AND sequences of spaces (multiple spaces remain multiple spaces)
  • whitespace-break-spaces: Preserves line breaks but collapses space sequences (multiple spaces become one)

For password display where spaces should be treated as single characters for copying, whitespace-break-spaces is the appropriate choice. The fix correctly maintains the tw- prefix as required by Bitwarden's Tailwind configuration.

File: libs/components/src/color-password/color-password.component.ts:43


@bmbitwarden bmbitwarden added the needs-qa Marks a PR as requiring QA approval label Nov 20, 2025
@github-actions
Copy link
Contributor

Logo
Checkmarx One – Scan Summary & Details255f649c-977f-490a-86c1-7171cc100158

New Issues (7)

Checkmarx found the following issues in this Pull Request

Severity Issue Source File / Package Checkmarx Insight
HIGH CVE-2025-12727 Npm-electron-37.7.0
detailsDescription: Inappropriate implementation in V8 in Google Chrome prior to 142.0.7444.137 allowed a remote attacker to potentially exploit heap corruption via a ...
Attack Vector: NETWORK
Attack Complexity: LOW

ID: rSqH3Rthr0%2FPrbEIeDPF4bd8IAwNIcmAsGOg9FssP%2Fk%3D
Vulnerable Package
HIGH CVE-2025-12907 Npm-electron-37.7.0
detailsDescription: Insufficient validation of untrusted input in Devtools in Google Chrome prior to 140.0.7339.80 allowed a remote attacker to execute arbitrary code ...
Attack Vector: NETWORK
Attack Complexity: LOW

ID: kc6n4ABWvUZZnrBLePnySE468txIjffxC6vyfXY65SM%3D
Vulnerable Package
MEDIUM CVE-2025-11215 Npm-electron-37.7.0
detailsDescription: Off-by-one Error in V8 in Google Chrome prior to 141.0.7390.54 allowed a remote attacker to perform an Out-of-bounds Memory Read via a crafted HTML...
Attack Vector: NETWORK
Attack Complexity: LOW

ID: QQ8Yvyg%2FN6kwOOVRgaTGCZ6%2BRryLaW8TwQAHGOyEw6o%3D
Vulnerable Package
MEDIUM CVE-2025-11216 Npm-electron-37.7.0
detailsRecommended version: 39.2.0
Description: Inappropriate implementation in Storage in Google Chrome on Mac prior to 141.0.7390.54 allowed a remote attacker to perform domain spoofing via a c...
Attack Vector: NETWORK
Attack Complexity: LOW

ID: ZnOAj0z63Q%2Bg58h7yxlrDTzvTwHc%2FZS3LpAPJoRcEaU%3D
Vulnerable Package
MEDIUM CVE-2025-12728 Npm-electron-37.7.0
detailsDescription: Inappropriate implementation in Omnibox in Google Chrome on Android prior to 142.0.7444.137 allowed a remote attacker who convinced a user to engag...
Attack Vector: NETWORK
Attack Complexity: HIGH

ID: 88IBz4raatjeQIAJuulJqislM1OoaEKjxpfmyTETvkE%3D
Vulnerable Package
MEDIUM CVE-2025-12729 Npm-electron-37.7.0
detailsDescription: Inappropriate implementation in Omnibox in Google Chrome on Android prior to 142.0.7444.137 allowed a remote attacker who convinced a user to engag...
Attack Vector: NETWORK
Attack Complexity: HIGH

ID: 3TQbrGiMgHOg%2BcUEzePxBf4oLgFa5uHVPPWJ%2Bze6P4U%3D
Vulnerable Package
LOW CVE-2025-11219 Npm-electron-37.7.0
detailsRecommended version: 39.2.0
Description: Use After Free in V8 in Google Chrome prior to 141.0.7390.54 allowed a remote attacker to potentially perform Out-of-bounds Memory Access via a cra...
Attack Vector: NETWORK
Attack Complexity: HIGH

ID: YeQRjc4r9j17bLfb7CzMgEJGqP5hAZAVEqUj6dLlZ64%3D
Vulnerable Package

@codecov
Copy link

codecov bot commented Nov 20, 2025

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 41.24%. Comparing base (9e6d0cc) to head (fce5d7f).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
...nts/src/color-password/color-password.component.ts 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main   #17510   +/-   ##
=======================================
  Coverage   41.23%   41.24%           
=======================================
  Files        3543     3543           
  Lines      101963   101963           
  Branches    15295    15295           
=======================================
+ Hits        42048    42054    +6     
+ Misses      58152    58145    -7     
- Partials     1763     1764    +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@vleague2 vleague2 left a comment

Choose a reason for hiding this comment

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

I don't see anything weird while testing this in Storybook!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-qa Marks a PR as requiring QA approval

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants