mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-03 19:17:11 -05:00 
			
		
		
		
	fix(mobile): prevent unnecessary reload on multi user timeline (#17418)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									b87ba6865b
								
							
						
					
					
						commit
						b58a450152
					
				@ -1,5 +1,6 @@
 | 
				
			|||||||
import 'dart:async';
 | 
					import 'dart:async';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import 'package:collection/collection.dart';
 | 
				
			||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
 | 
					import 'package:hooks_riverpod/hooks_riverpod.dart';
 | 
				
			||||||
import 'package:immich_mobile/domain/models/user.model.dart';
 | 
					import 'package:immich_mobile/domain/models/user.model.dart';
 | 
				
			||||||
import 'package:immich_mobile/domain/services/user.service.dart';
 | 
					import 'package:immich_mobile/domain/services/user.service.dart';
 | 
				
			||||||
@ -36,10 +37,13 @@ final currentUserProvider =
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class TimelineUserIdsProvider extends StateNotifier<List<String>> {
 | 
					class TimelineUserIdsProvider extends StateNotifier<List<String>> {
 | 
				
			||||||
  TimelineUserIdsProvider(this._timelineService) : super([]) {
 | 
					  TimelineUserIdsProvider(this._timelineService) : super([]) {
 | 
				
			||||||
 | 
					    final listEquality = const ListEquality();
 | 
				
			||||||
    _timelineService.getTimelineUserIds().then((users) => state = users);
 | 
					    _timelineService.getTimelineUserIds().then((users) => state = users);
 | 
				
			||||||
    streamSub = _timelineService
 | 
					    streamSub = _timelineService.watchTimelineUserIds().listen((users) {
 | 
				
			||||||
        .watchTimelineUserIds()
 | 
					      if (!listEquality.equals(state, users)) {
 | 
				
			||||||
        .listen((users) => state = users);
 | 
					        state = users;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  late final StreamSubscription<List<String>> streamSub;
 | 
					  late final StreamSubscription<List<String>> streamSub;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user