Skip to content

fix(auth): ログインページフリーズ解消とProviders分離#773

Merged
t3-nico merged 3 commits intomainfrom
fix/auth-login-form-freeze
Dec 8, 2025
Merged

fix(auth): ログインページフリーズ解消とProviders分離#773
t3-nico merged 3 commits intomainfrom
fix/auth-login-form-freeze

Conversation

@t3-nico
Copy link
Copy Markdown
Collaborator

@t3-nico t3-nico commented Dec 8, 2025

Summary

  • ログインページ(/auth/login)のフリーズを解消
  • Next.jsベストプラクティスに沿ってProvidersをRoute Group別に分離
  • 認証ページがDB/API接続障害時でも正常に動作するように改善

Changes

フリーズ解消

  • useAuthStore.initialize() に5秒タイムアウトを追加
  • Supabase接続が遅延/失敗してもUIがブロックされない

Providers分離(Next.js Best Practice)

  • RootLayout: フォント/CSS/Analyticsのみ(Providersを削除)
  • (app)Layout: フルProviders(認証必須ページ用)
  • (auth)Layout: PublicProviders(軽量、Theme/Tooltipのみ)
  • legal/Layout: PublicProviders(軽量)

コード整理

  • providers.tsx: isPublicPage 条件分岐を削除
  • RealtimeProvider: 公開ページ判定を削除
  • PublicProviders.tsx: 新規作成(軽量Provider)

Test plan

  • /ja/auth/login - ログインページが表示・動作するか
  • /ja/auth/signup - サインアップページが表示・動作するか
  • /ja/legal/security - 法的文書ページが表示されるか
  • ログイン後、/ja/calendar 等が正常に動作するか
  • DB接続なしでも認証ページが表示されるか

🤖 Generated with Claude Code

t3-nico and others added 2 commits December 8, 2025 12:07
問題:
- ログインページ(/auth/login)が完全にフリーズして操作不能になる
- Supabase接続やtRPC初期化が認証ページでもブロッキング実行されていた

解決策:
- Providersで認証ページ検出し軽量モードで動作(ThemeとTooltipのみ)
- useAuthStoreのinitializeに5秒タイムアウト追加
- RealtimeProviderで認証ページではRealtime購読をスキップ
- LoginFormからtRPC/reCAPTCHA依存を削除
- SignupFormのpwned password checkをオプショナル化

テスト:
- LoginForm: 10テスト追加
- SignupForm: 16テスト追加

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Next.jsベストプラクティスに沿い、Providersを各Route Groupで分離。
認証ページがDB/API接続障害時でも動作するようになった。

変更内容:
- RootLayout: Providersを削除、フォント/CSS/Analyticsのみに
- (app)Layout: フルProviders(認証必須ページ用)
- (auth)Layout: PublicProviders(軽量、Theme/Tooltipのみ)
- legal/Layout: PublicProviders(軽量)
- providers.tsx: isPublicPage条件分岐を削除
- RealtimeProvider: 公開ページ判定を削除
- PublicProviders: 新規作成(軽量Provider)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel bot commented Dec 8, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
boxlog-app Ready Ready Preview Comment Dec 8, 2025 3:36am

@github-actions github-actions bot added size:xl ~1週間 area:frontend フロントエンド tech:nextjs Next.js area:auth 認証機能 tech:vitest Vitest tech:zustand Zustand scope:component コンポーネント scope:hook フック scope:route ルーティング scope:store 状態管理ストア type:bug バグ修正 labels Dec 8, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Dec 8, 2025

📦 Bundle Size Check

✅ Bundle size check completed. See workflow logs for details.

🔗 View Details

@github-actions
Copy link
Copy Markdown

github-actions bot commented Dec 8, 2025

🛡️ Security Audit Summary

Check Status
npm Audit success
Security Full Check success

🎉 All security checks passed!

🤖 BoxLog Security Audit Pipeline

@github-actions
Copy link
Copy Markdown

github-actions bot commented Dec 8, 2025

🌐 E2E Browser Tests Summary

Browser Status
All Browsers success

Tested Browsers

  • ✅ Chrome (Chromium)
  • ✅ Firefox

🎉 All browser tests passed! Ready to merge.

🤖 BoxLog E2E Pipeline

Providers分離後、ルートレベルのnot-found.tsxとerror.tsxで
NextIntlClientProviderが利用できなくなったため、
静的テキストに変更。

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions bot commented Dec 8, 2025

🚪 Quality Gate Summary

Check Status
Lint success
TypeScript success
Tests success
Build success
Accessibility success
Heavy Checks success
Docs success

🔧 Please fix the issues above.

🤖 BoxLog CI/CD Pipeline

@t3-nico t3-nico merged commit 180debb into main Dec 8, 2025
22 checks passed
@t3-nico t3-nico deleted the fix/auth-login-form-freeze branch December 8, 2025 03:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:auth 認証機能 area:frontend フロントエンド scope:component コンポーネント scope:hook フック scope:route ルーティング scope:store 状態管理ストア size:xl ~1週間 tech:nextjs Next.js tech:vitest Vitest tech:zustand Zustand type:bug バグ修正

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant