anchor.diff:        future: getColorFuture,
         builder: (context, snapshot) {
           // Load in cached color if it's cached to prevent the transition
  -        Color? color = backgroundColorCache[widget.user.userId!];
  +        Color? color = backgroundColorCache[
  +            '${widget.user.userId!}:${widget.user.username}'];
   
           if (snapshot.connectionState == ConnectionState.done &&
               snapshot.data != null) {
  -          backgroundColorCache[widget.user.userId!] = snapshot.data as Color;
  +          backgroundColorCache[
  +                  '${widget.user.userId!}:${widget.user.username}'] =
  +              snapshot.data as Color;
             color = snapshot.data as Color;
           }
   
  
positive.code:                         ),
                  ),
                  Positioned.fill(
                    child: Padding(
                      padding: const EdgeInsets.all(8.0),
                      child: Row(
                        children: [
                          UserIcon(user: widget.user),
                          const Gap(8),
                          Expanded(
                            child: UserDetails(user: widget.user),
                          ),
                        ],
                      ),
                    ),
                  ),
  
negative.code: import 'user_details.dart';
  import 'user_icon.dart';
  
  Map<String, Color?> backgroundColorCache = {};
  
  class UserCard extends StatefulWidget {
    final UserModel user;
  