feat(auth): Improve user fetching with caching and background refresh

This commit is contained in:
cogwheel0
2025-11-24 17:43:05 +05:30
parent 5d4843c368
commit 8f390b0d2d
5 changed files with 213 additions and 22 deletions

View File

@@ -16,7 +16,6 @@ import '../providers/chat_providers.dart';
import '../../../core/utils/debug_logger.dart';
import '../../../core/utils/user_display_name.dart';
import '../../../core/utils/model_icon_utils.dart';
import '../../auth/providers/unified_auth_providers.dart';
import '../../../core/utils/android_assistant_handler.dart';
import '../widgets/modern_chat_input.dart';
import '../widgets/user_message_bubble.dart';
@@ -1128,8 +1127,7 @@ class _ChatPageState extends ConsumerState<ChatPage> {
data: (user) => user,
orElse: () => null,
);
final authUser = ref.watch(currentUserProvider2);
final user = userFromProfile ?? authUser;
final user = userFromProfile;
String? greetingName;
if (user != null) {
final derived = deriveUserDisplayName(user, fallback: '').trim();

View File

@@ -17,7 +17,6 @@ import '../../../shared/widgets/themed_dialogs.dart';
import 'package:conduit/l10n/app_localizations.dart';
import '../../../core/utils/user_display_name.dart';
import '../../../core/utils/model_icon_utils.dart';
import '../../auth/providers/unified_auth_providers.dart';
import '../../../core/utils/user_avatar_utils.dart';
import '../../../shared/utils/conversation_context_menu.dart';
import '../../../shared/widgets/user_avatar.dart';
@@ -1483,8 +1482,7 @@ class _ChatsDrawerState extends ConsumerState<ChatsDrawer> {
data: (u) => u,
orElse: () => null,
);
final authUser = ref.watch(currentUserProvider2);
final user = userFromProfile ?? authUser;
final user = userFromProfile;
final api = ref.watch(apiServiceProvider);
String initialFor(String name) {

View File

@@ -8,7 +8,6 @@ import '../../../core/providers/app_providers.dart';
import '../../../core/utils/user_display_name.dart';
import '../../../shared/theme/theme_extensions.dart';
import '../../../shared/widgets/sheet_handle.dart';
import '../../auth/providers/unified_auth_providers.dart';
class OnboardingSheet extends ConsumerStatefulWidget {
const OnboardingSheet({super.key});
@@ -73,8 +72,7 @@ class _OnboardingSheetState extends ConsumerState<OnboardingSheet> {
data: (user) => user,
orElse: () => null,
);
final authUser = ref.watch(currentUserProvider2);
final user = userFromProfile ?? authUser;
final user = userFromProfile;
final greetingName = deriveUserDisplayName(user);
final pages = _buildPages(l10n, greetingName);
final pageCount = pages.length;