From e5eacd8725372d5eb35fe11751202df230f1c8bc Mon Sep 17 00:00:00 2001 From: SysAdmin Date: Sun, 22 Feb 2026 18:10:04 +0000 Subject: [PATCH] fix(developers): check username on blur instead of keystroke to avoid rate limiting SilverDESK rate-limits /api/auth/check-username after ~2 requests with a 5-minute cooldown. The old 500ms debounce per keystroke quickly exhausted this limit, breaking the form. Now checks only on field blur, validates format client-side while typing, and caches results to skip redundant calls. Co-Authored-By: Claude Opus 4.6 --- BlazorApp/Components/Pages/Developers.razor | 85 +++++++++++++-------- BlazorApp/wwwroot/developers-styles.css | 4 + 2 files changed, 58 insertions(+), 31 deletions(-) diff --git a/BlazorApp/Components/Pages/Developers.razor b/BlazorApp/Components/Pages/Developers.razor index abfaf63..be3fea6 100644 --- a/BlazorApp/Components/Pages/Developers.razor +++ b/BlazorApp/Components/Pages/Developers.razor @@ -92,10 +92,14 @@
- - This will be your handle across SilverLabs services - @if (_usernameCheckState == UsernameCheckState.Checking) + + 3–30 characters: letters, numbers, hyphens and underscores + @if (!string.IsNullOrEmpty(_usernameFormatError)) + { + @_usernameFormatError + } + else if (_usernameCheckState == UsernameCheckState.Checking) { Checking availability... } @@ -213,7 +217,7 @@ {
@_errorMessage
} -