fix: invalidate agentDetailProvider using both profile ID and user ID to prevent stale cache after profile updates
This commit is contained in:
@@ -388,9 +388,16 @@ class _AgentEditProfileScreenState
|
||||
}
|
||||
|
||||
// Invalidate the agent detail provider so the dashboard refetches
|
||||
// field values after save (was showing stale cached data).
|
||||
// field values after save. The provider is keyed by agentProfileId
|
||||
// (NOT userId), so pull it from the profile payload we just loaded.
|
||||
final agentProfileId = data.profile['id'] as String?;
|
||||
if (agentProfileId != null && agentProfileId.isNotEmpty) {
|
||||
ref.invalidate(agentDetailProvider(agentProfileId));
|
||||
}
|
||||
// Also invalidate by userId as a fallback (covers any screen that
|
||||
// may key the provider by userId instead).
|
||||
final userId = ref.read(authProvider).user?.id;
|
||||
if (userId != null) {
|
||||
if (userId != null && userId != agentProfileId) {
|
||||
ref.invalidate(agentDetailProvider(userId));
|
||||
}
|
||||
ref.invalidate(_editProfileDataProvider);
|
||||
|
||||
Reference in New Issue
Block a user