Skip to content

Conversation

@ysmoradi
Copy link
Member

@ysmoradi ysmoradi commented Nov 20, 2025

closes #11686

Summary by CodeRabbit

  • Refactor
    • Internal code improvements and method naming standardization across authentication, navigation, and authorization services with no impact on user-facing functionality.

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

@coderabbitai
Copy link

coderabbitai bot commented Nov 20, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This pull request systematically removes "Async" suffixes from method names across the boilerplate codebase while preserving their async implementation (Tasks continue to be awaited). Changes affect client-side services (navigation, authorization), server-side managers and controllers (user lookup, role management, OTP sign-in), and extension methods that provide cross-cutting functionality.

Changes

Cohort / File(s) Summary
Client Navigation Service API
src/Templates/Boilerplate/.../Services/Contracts/IExternalNavigationService.cs, src/Templates/Boilerplate/.../Services/DefaultExternalNavigationService.cs, src/Templates/Boilerplate/.../Maui/Services/MauiExternalNavigationService.cs
Renamed NavigateToAsync(string url) to NavigateTo(string url) across interface definition and implementations (default and MAUI variants); method remains async with Task return type.
Client Navigation Call Sites
src/Templates/Boilerplate/.../Pages/Identity/SignIn/SignInPanel.razor.cs, src/Templates/Boilerplate/.../Pages/Identity/SignUp/SignUpPage.razor.cs, src/Templates/Boilerplate/.../Maui/Services/MauiWebAuthnService.cs, src/Templates/Boilerplate/.../Windows/Services/WindowsWebAuthnService.cs
Updated calls from NavigateToAsync(...) to NavigateTo(...), preserving await patterns.
Client Authorization Extensions
src/Shared/Extensions/IAuthorizationServiceExtensions.cs
Renamed extension method IsAuthorizedAsync(...) to IsAuthorized(...); remains async with Task\<bool\> return type.
Client Authorization Call Sites
src/Templates/Boilerplate/.../Components/Layout/MainLayout.razor.items.cs, src/Templates/Boilerplate/.../Components/Pages/NotAuthorizedPage.razor.cs, src/Templates/Boilerplate/.../Services/AuthManager.cs
Updated authorization checks from IsAuthorizedAsync(...) to IsAuthorized(...) across multiple feature checks and components.
Client Component Lifecycle Changes
src/Templates/Boilerplate/.../Components/Common/JobProgress.razor.cs, src/Templates/Boilerplate/.../Components/Pages/TodoPage.razor.cs
Renamed HideAfterDelayAsync() to HideAfterDelay() in JobProgress; moved keyboard binding initialization from OnInitAsync() to new OnAfterFirstRenderAsync() override in TodoPage.
Server User Manager Extension
src/Templates/Boilerplate/.../Extensions/UserManagerExtensions.cs
Renamed extension method FindUserAsync(...) to FindUser(...); remains async with Task\<User?\> return type.
Server User Lookup Call Sites
src/Templates/Boilerplate/.../Controllers/Identity/IdentityController.ResetPassword.cs, src/Templates/Boilerplate/.../Controllers/Identity/IdentityController.SocialSignIn.cs, src/Templates/Boilerplate/.../Controllers/Identity/IdentityController.cs
Updated user manager calls from FindUserAsync(...) to FindUser(...) across password reset, social sign-in, and standard sign-in flows.
Server SignIn Manager Extension
src/Templates/Boilerplate/.../Extensions/SignInManagerExtensions.cs
Renamed extension method OtpSignInAsync(...) to OtpSignIn(...); remains async with Task return type and updated XML documentation reference.
Server OTP Sign-In Call Sites
src/Templates/Boilerplate/.../Controllers/Identity/IdentityController.cs
Updated OTP-based sign-in calls from OtpSignInAsync(...) to OtpSignIn(...).
Server Role Management Helpers
src/Templates/Boilerplate/.../Controllers/Identity/RoleManagementController.cs
Renamed private helper GetRoleByIdAsync(...) to GetRoleById(...) and updated all call sites.
Server User Management Helpers
src/Templates/Boilerplate/.../Controllers/Identity/UserManagementController.cs
Renamed private helper GetUserByIdAsync(...) to GetUserById(...) and updated all call sites.
Server ChatBot Service
src/Templates/Boilerplate/.../SignalR/AppChatbot.cs
Renamed private helper GenerateFollowUpSuggestionsAsync(...) to GenerateFollowUpSuggestions(...); updated call site in ProcessNewMessage().
Documentation & Configuration
src/Templates/Boilerplate/.../ServerApiSettings.cs, src/Templates/Boilerplate/.../Services/Identity/AppUserConfirmation.cs
Updated XML documentation reference in ServerApiSettings for OTP method rename; minor encoding artifact in AppUserConfirmation.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • Rationale: The pull request consists of highly repetitive, homogeneous changes following a single pattern—removing "Async" suffixes from method names while preserving async implementation. Although many files are affected, the changes are straightforward renames with no logic modifications or complex restructuring.
  • Areas requiring attention:
    • Verify all call sites have been updated to match renamed interface methods (IExternalNavigationService.NavigateTo, UserManagerExtensions.FindUser, SignInManagerExtensions.OtpSignIn, IAuthorizationServiceExtensions.IsAuthorized)
    • Confirm that the lifecycle change in TodoPage (moving keyboard binding from OnInitAsync to OnAfterFirstRenderAsync) does not introduce timing or DOM readiness issues
    • Check that the renaming in RoleManagementController and UserManagementController (private helpers) aligns with team naming conventions without side effects

Poem

A rabbit hops through code with glee,
"Async" suffixes now set free!
Cleaner names, same Taskful way,
Boilerplate's unified today! 🐰✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between e67e75d and 9abfdaf.

📒 Files selected for processing (23)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Common/JobProgress.razor.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Layout/MainLayout.razor.items.cs (3 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPanel.razor.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignUp/SignUpPage.razor.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/NotAuthorizedPage.razor.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/TodoPage.razor.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Services/AuthManager.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Services/Contracts/IExternalNavigationService.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Services/DefaultExternalNavigationService.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Services/MauiExternalNavigationService.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Services/MauiWebAuthnService.cs (2 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Windows/Services/WindowsWebAuthnService.cs (2 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Controllers/Identity/IdentityController.ResetPassword.cs (2 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Controllers/Identity/IdentityController.SocialSignIn.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Controllers/Identity/IdentityController.cs (6 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Controllers/Identity/RoleManagementController.cs (7 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Controllers/Identity/UserManagementController.cs (2 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Extensions/SignInManagerExtensions.cs (2 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Extensions/UserManagerExtensions.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/ServerApiSettings.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Services/Identity/AppUserConfirmation.cs (1 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/SignalR/AppChatbot.cs (2 hunks)
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Extensions/IAuthorizationServiceExtensions.cs (1 hunks)

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.

@ysmoradi ysmoradi merged commit 41f6da0 into bitfoundation:develop Nov 20, 2025
1 of 3 checks passed
@ysmoradi ysmoradi deleted the 11686 branch November 20, 2025 14:45
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.

bit Boilerplate method names are not unified

1 participant