Skip to content

Conversation

@wso2-engineering-bot
Copy link

@wso2-engineering-bot wso2-engineering-bot commented Dec 8, 2025

This PR was automatically generated by Claude AI.

Changes Made

  1. Property Name Update: Changed from UsernameJavaScriptRegEx to UsernameWithEmailJavaScriptRegEx
  2. Configuration Section Update: Changed from [user_store] to [user_store.properties]
  3. Regex Pattern Update: Updated to '^[a-zA-Z0-9_@\.\-\+]{5,200}$' as specified in the issue
  4. Description Enhancement: Clarified that this property specifically validates usernames when email is used as the username

Affected Versions

All versions have been updated in this PR:

  • 5.9.0 (en/identity-server/5.9.0/docs/learn/using-email-address-as-the-username.md)
  • 5.10.0 (en/identity-server/5.10.0/docs/learn/using-email-address-as-the-username.md)
  • 5.11.0 (en/identity-server/5.11.0/docs/learn/using-email-address-as-the-username.md)
  • 6.0.0 (en/identity-server/6.0.0/docs/guides/identity-lifecycles/enable-email-as-username.md)
  • 6.1.0 (en/identity-server/6.1.0/docs/guides/identity-lifecycles/enable-email-as-username.md)
  • 7.0.0 (en/identity-server/7.0.0/docs/guides/users/attributes/enable-email-as-username.md)
  • 7.1.0 (en/identity-server/7.1.0/docs/guides/users/attributes/enable-email-as-username.md)
  • 7.2.0 (en/identity-server/7.2.0/docs/guides/users/attributes/enable-email-as-username.md)
  • next (en/identity-server/next/docs/guides/users/attributes/enable-email-as-username.md)

Style Scope Verification

Microsoft Style Guidelines have been applied ONLY to the newly added/modified content in the description text. Existing documentation structure and style have been preserved unless specifically part of the required fix.

Verification

  • ✅ mkdocs build completed successfully for the next version
  • ✅ Built HTML verified to contain correct property name and configuration
  • ✅ All 9 versions updated consistently
  • ✅ Changes align with implementation code referenced in the issue

Reference

According to the implementation in UserSelfRegistrationManager.java, the property UsernameWithEmailJavaScriptRegEx is used when email is configured as the username, not UsernameJavaScriptRegEx.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated documentation across multiple product versions to clarify username configuration when email is used as the username.
    • Improved configuration examples and descriptions to reflect current best practices for validating usernames with email addresses.

✏️ Tip: You can customize this high-level summary in your review settings.

…d versions (product-is#21499)

- Changed property name from UsernameJavaScriptRegEx to UsernameWithEmailJavaScriptRegEx
- Updated configuration section from [user_store] to [user_store.properties]
- Updated regex pattern to '^[a-zA-Z0-9_@\.\-\+]{5,200}$' as per implementation
- Applied fix to all versions: 5.9.0, 5.10.0, 5.11.0, 6.0.0, 6.1.0, 7.0.0, 7.1.0, 7.2.0, next

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


wso2-engineering-bot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@coderabbitai
Copy link

coderabbitai bot commented Dec 8, 2025

Walkthrough

Documentation across multiple Identity Server versions is updated to rename the user store configuration property from UsernameJavaScriptRegEx to UsernameWithEmailJavaScriptRegEx, updating descriptions and regex patterns to clarify validation for email-based usernames allowing "@" characters.

Changes

Cohort / File(s) Summary
5.x version documentation
en/identity-server/5.9.0/docs/learn/..., en/identity-server/5.10.0/docs/learn/..., en/identity-server/5.11.0/docs/learn/...
Property renamed to UsernameWithEmailJavaScriptRegEx with updated description and regex pattern ^[a-zA-Z0-9_@\.\-\+]{5,200}$; configuration section moved to [user_store.properties]
6.x version documentation
en/identity-server/6.0.0/docs/guides/identity-lifecycles/..., en/identity-server/6.1.0/docs/guides/identity-lifecycles/...
Property renamed and regex updated; code examples reference [user_store.properties] with new pattern for email-as-username validation
7.x and next documentation
en/identity-server/7.0.0/docs/guides/users/attributes/..., en/identity-server/7.1.0/docs/guides/users/attributes/..., en/identity-server/7.2.0/docs/guides/users/attributes/..., en/identity-server/next/docs/guides/users/attributes/...
Consistent property and regex updates across latest versions; documentation clarifies "@" character allowance in username validation

Estimated Code Review Effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Highly repetitive, consistent changes across all files (same property rename and regex pattern update applied uniformly)
  • Documentation-only updates with no logic or functional changes
  • Primary focus should be verifying consistency of the new property name and regex pattern across all versions

Poem

🐰 Across seven versions, a property takes flight,
From UsernameJavaScriptRegEx to WithEmail—oh what delight!
"@" signs now welcomed in usernames so fine,
Documentation aligned, each version to shine. ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: correcting regex configuration property across multiple versions to fix an issue, with the issue number referenced.
Description check ✅ Passed The description provides substantial content including purpose, related issue, changes made, affected versions, and verification steps, but lacks sections from the template like test environment and security checks.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fixing-product-is-issue-21499-1765201596

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
en/identity-server/6.0.0/docs/guides/identity-lifecycles/enable-email-as-username.md (1)

76-76: Minor improvement: Document the character length constraint.

The description states this property allows special characters like "@" but does not mention the 5–200 character length requirement. Consider enriching the description to mention this constraint for completeness:

-<p>Change this property that is under the relevant userstore manager tag as follows. This property validates usernames when email is used as the username and allows special characters like "@" in the username.</p>
+<p>Change this property that is under the relevant userstore manager tag as follows. This property validates usernames when email is used as the username and allows special characters like "@" in the username. The username must be between 5 and 200 characters long.</p>
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c6c33d6 and 8cde872.

📒 Files selected for processing (9)
  • en/identity-server/5.10.0/docs/learn/using-email-address-as-the-username.md (1 hunks)
  • en/identity-server/5.11.0/docs/learn/using-email-address-as-the-username.md (1 hunks)
  • en/identity-server/5.9.0/docs/learn/using-email-address-as-the-username.md (1 hunks)
  • en/identity-server/6.0.0/docs/guides/identity-lifecycles/enable-email-as-username.md (1 hunks)
  • en/identity-server/6.1.0/docs/guides/identity-lifecycles/enable-email-as-username.md (1 hunks)
  • en/identity-server/7.0.0/docs/guides/users/attributes/enable-email-as-username.md (1 hunks)
  • en/identity-server/7.1.0/docs/guides/users/attributes/enable-email-as-username.md (1 hunks)
  • en/identity-server/7.2.0/docs/guides/users/attributes/enable-email-as-username.md (1 hunks)
  • en/identity-server/next/docs/guides/users/attributes/enable-email-as-username.md (1 hunks)
🔇 Additional comments (12)
en/identity-server/7.2.0/docs/guides/users/attributes/enable-email-as-username.md (2)

74-76: Property rename and description clarify email-username validation.

The update from UsernameJavaScriptRegEx to UsernameWithEmailJavaScriptRegEx with an explicit description stating the property "validates usernames when email is used as the username and allows special characters like '@'" improves clarity and aligns with the PR objective to address product issue #21499. The changes are consistent with supporting email-based usernames.


79-79: Verify TOML section structure and regex pattern compatibility.

The configuration section has been moved from [user_store] to [user_store.properties], and the regex pattern updated to ^[a-zA-Z0-9_@\.\-\+]{5,200}$. While the pattern is syntactically sound and appropriate for email-like usernames (length 5–200, supporting @ and other email chars), confirm:

  1. The [user_store.properties] placement is the correct WSO2 IS configuration convention for this property, since other nearby username properties (e.g., UsernameJavaRegEx on line 90) remain under [user_store].
  2. The regex engine in WSO2 IS 7.2.0 correctly interprets this pattern without issues.
  3. Consistency across all nine documented versions (5.9.0–7.2.0 and next) uses the same [user_store.properties] section.

You may verify by checking whether [user_store.properties] is documented in the WSO2 IS configuration schema for version 7.2.0 or by confirming the related product implementation (UserSelfRegistrationManager.java referenced in the PR summary).

en/identity-server/6.0.0/docs/guides/identity-lifecycles/enable-email-as-username.md (1)

74-79: ✓ Configuration property update is correct.

The change from UsernameJavaScriptRegEx to UsernameWithEmailJavaScriptRegEx appropriately signals a purpose-specific property. The regex pattern ^[a-zA-Z0-9_@\.\-\+]{5,200}$ correctly permits email-like usernames with "@" and other common email characters (dot, hyphen, plus). The configuration section is properly moved to [user_store.properties], and HTML entities are correctly escaped.

en/identity-server/7.0.0/docs/guides/users/attributes/enable-email-as-username.md (1)

74-79: Documentation accurately reflects corrected configuration.

The property name, configuration section, regex pattern, and description have been properly updated to align with the email-as-username implementation. The regex pattern correctly allows email-specific characters (@, dot, hyphen, plus) while maintaining the 5–200 character length constraint.

en/identity-server/next/docs/guides/users/attributes/enable-email-as-username.md (1)

74-79: Consistent update across versions.

The changes mirror the updates in the 7.0.0 version, ensuring documentation consistency across all Identity Server versions.

en/identity-server/7.1.0/docs/guides/users/attributes/enable-email-as-username.md (1)

74-79: Consistent update across versions.

The changes align with updates in the 7.0.0 and next versions, maintaining documentation consistency across all Identity Server releases.

en/identity-server/6.1.0/docs/guides/identity-lifecycles/enable-email-as-username.md (2)

74-82: Verify configuration section and regex pattern align with actual implementation.

The documentation change correctly renames the property to UsernameWithEmailJavaScriptRegEx and includes a clear description. However, the configuration section is shown as [user_store.properties] (line 79), which differs from the standard [user_store] section used for other properties above. Additionally, the regex pattern ^[a-zA-Z0-9_@\.\-\+]{5,200}$ does not enforce typical email structure (e.g., no required "@" or domain validation). While this may be intentional, it should be confirmed against the actual implementation.

Please verify:

  1. Whether [user_store.properties] is the correct configuration section in the deployment.toml schema (or whether it should be [user_store]).
  2. That the regex pattern ^[a-zA-Z0-9_@\.\-\+]{5,200}$ matches what's implemented in UserSelfRegistrationManager.java (referenced in PR objectives).
  3. Consistency of this change across all nine version files mentioned in the PR (versions 5.9.0, 5.10.0, 5.11.0, 6.0.0, 6.1.0, 7.0.0, 7.1.0, 7.2.0, and next).

26-94: Documentation structure and property distinction are clear.

The table correctly documents both UsernameWithEmailJavaScriptRegEx (for email-as-username) and UsernameJavaRegEx (for general username validation), allowing users to understand which property to use in their scenario. The HTML table structure is well-formed, and the new row integrates cleanly into the existing configuration table.

en/identity-server/5.10.0/docs/learn/using-email-address-as-the-username.md (1)

75-84: Documentation update is consistent across all versions.

The property rename to UsernameWithEmailJavaScriptRegEx, the clarified description, and the configuration under [user_store.properties] are consistently applied across all documented versions. The regex pattern ^[a-zA-Z0-9_@\.\-\+]{5,200}$ properly allows email-based usernames with special characters like "@".

Note: Implementation verification against UserSelfRegistrationManager.java requires review of the product source repository (not this documentation repository).

en/identity-server/5.11.0/docs/learn/using-email-address-as-the-username.md (1)

75-83: All 9 documentation versions have been updated consistently with correct property configuration.

The changes across all affected versions (5.9.0, 5.10.0, 5.11.0, 6.0.0, 6.1.0, 7.0.0, 7.1.0, 7.2.0, next) correctly:

  • Rename the property to UsernameWithEmailJavaScriptRegEx
  • Set the configuration section to [user_store.properties]
  • Apply the regex pattern ^[a-zA-Z0-9_@\.\-\+]{5,200}$ with proper escaping for @ and . characters
  • Clarify the property's purpose for email-based username validation

Note: Versions 6.0.0 and later use reorganized documentation paths (e.g., docs/guides/identity-lifecycles/ and docs/guides/users/attributes/), but the content updates are consistent across all versions.

en/identity-server/5.9.0/docs/learn/using-email-address-as-the-username.md (2)

75-77: Property rename and description clarify email-username validation intent.

The change from UsernameJavaScriptRegEx to UsernameWithEmailJavaScriptRegEx is a clear, explicit improvement that immediately signals email-based username support. The updated description correctly conveys that the property validates usernames when email is used and permits the "@" character.


80-80: Configuration and regex pattern are correct and consistent across all versions.

The configuration section [user_store.properties] with the regex pattern ^[a-zA-Z0-9_@\.\-\+]{5,200}$ is the correct and documented approach used consistently across all Identity Server versions (5.9.0 through 7.2.0). This section is specifically designated for user store properties like UsernameWithEmailJavaScriptRegEx, which validates usernames when email is used as the username and allows special characters such as "@". The regex correctly supports email username formats within the 5-200 character length requirement.

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.

3 participants