Skip to content

Conversation

@EranBoudjnah
Copy link
Contributor

@EranBoudjnah EranBoudjnah commented Jun 9, 2025

🎟️ Tracking

#4913

📔 Objective

Allow users to use no separator in passphrases.

⏰ 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
Screenshot_20260205_181117 Screenshot_20260205_181703

@CLAassistant
Copy link

CLAassistant commented Jun 9, 2025

CLA assistant check
All committers have signed the CLA.

@EranBoudjnah
Copy link
Contributor Author

This should be updated too:

data class PassphraseGeneratorRequest (
    /**
     * Number of words in the generated passphrase.
     * This value must be between 3 and 20.
     */
    val `numWords`: kotlin.UByte, 
    /**
     * Character separator between words in the generated passphrase. The value cannot be empty.
     */
    val `wordSeparator`: kotlin.String, 
    /**
     * When set to true, capitalize the first letter of each word in the generated passphrase.
     */
    val `capitalize`: kotlin.Boolean, 
    /**
     * When set to true, include a number at the end of one of the words in the generated
     * passphrase.
     */
    val `includeNumber`: kotlin.Boolean
) {
    
    companion object
}

@EranBoudjnah EranBoudjnah force-pushed the PM-19476-default-to-no-word-separator branch from b33f24f to 4d04549 Compare June 9, 2025 16:28
@bitwarden-bot
Copy link

Thank you for your contribution! We've added this to our internal tracking system for review.
ID: PM-22523
Link: https://bitwarden.atlassian.net/browse/PM-22523

Details on our contribution process can be found here: https://contributing.bitwarden.com/contributing/pull-requests/community-pr-process.

@bitwarden-bot bitwarden-bot changed the title PM-19476: Changed default passphrase word separator to empty string. [PM-22523] PM-19476: Changed default passphrase word separator to empty string. Jun 9, 2025
@EranBoudjnah EranBoudjnah force-pushed the PM-19476-default-to-no-word-separator branch from 4d04549 to f55fa2b Compare June 9, 2025 21:54
@EranBoudjnah EranBoudjnah force-pushed the PM-19476-default-to-no-word-separator branch from f55fa2b to d1bbe59 Compare June 19, 2025 15:12
@djsmith85 djsmith85 linked an issue Jun 23, 2025 that may be closed by this pull request
1 task
@cheintz
Copy link

cheintz commented Nov 22, 2025

Any movement on this?

@cheintz
Copy link

cheintz commented Feb 1, 2026

Any movement on this? The bug in #4913 still exists and this is literally 2 lines and does not have conflicts with main.

@EranBoudjnah
Copy link
Contributor Author

@cheintz I don't think anyone's looking at any of these. I was motivated to contribute but lost interest since it's obviously a wasted effort...

@cheintz
Copy link

cheintz commented Feb 3, 2026

Indeed, thank you for your efforts, it's a shame they haven't been integrated. Perhaps enough similar efforts will accumulate to the point that a fork is worthwhile, though the security concerns with such a fork are very severe.

@SaintPatrck SaintPatrck added app:password-manager Bitwarden Password Manager app context t:bug Change Type - Bug labels Feb 4, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 4, 2026

Logo
Checkmarx One – Scan Summary & Details435c7513-47e2-4921-be72-25e79f02a068

Great job! No new security vulnerabilities introduced in this pull request

@codecov
Copy link

codecov bot commented Feb 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.37%. Comparing base (eb24a50) to head (c0f0b3b).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5334   +/-   ##
=======================================
  Coverage   86.36%   86.37%           
=======================================
  Files         767      767           
  Lines       56045    56045           
  Branches     8152     8152           
=======================================
+ Hits        48405    48407    +2     
  Misses       4800     4800           
+ Partials     2840     2838    -2     

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@SaintPatrck SaintPatrck left a comment

Choose a reason for hiding this comment

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

Hi @EranBoudjnah

Thank you for this contribution.

The GeneratorViewModel change looks great.

I left a comment regarding the change to default behavior on MasterPasswordGeneratorViewModel. It should be reverted.

Additionally, I do not see any tests being updated/added. Please add tests to validate this change in behavior.

Since this ultimately results in UI behavior changes, please attach a screenshot and/or video of the new behavior.

And finally, since this change fixes empty word separator without modifying the initial default value, can you update the PR title?

@EranBoudjnah
Copy link
Contributor Author

@SaintPatrck thanks for looking into this.

Added tests. Added before/after screenshots. I can't update the PR title for some reason.

@EranBoudjnah EranBoudjnah force-pushed the PM-19476-default-to-no-word-separator branch from b03ebf1 to c0f0b3b Compare February 10, 2026 10:26
@SaintPatrck SaintPatrck changed the title [PM-22523] PM-19476: Changed default passphrase word separator to empty string. [PM-22523] PM-19476: Allow empty string as word separator Feb 10, 2026
@SaintPatrck SaintPatrck added this pull request to the merge queue Feb 10, 2026
Merged via the queue into bitwarden:main with commit f0837f7 Feb 10, 2026
17 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app:password-manager Bitwarden Password Manager app context community-pr t:bug Change Type - Bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Empty word separator in passphrase generator still separates with space

6 participants