fix: correctly initialize selectedReceivingFilesProvider

This commit is contained in:
Tien Do Nam
2026-08-04 13:12:03 +02:00
parent a6772e7c16
commit 039a08383a
4 changed files with 7 additions and 4 deletions
-3
View File
@@ -83,9 +83,6 @@ class _ReceivePageState extends State<ReceivePage> with Refena {
return ViewModelBuilder(
provider: (ref) => widget.vm,
onFirstFrame: (context, vm) {
ref.notifier(selectedReceivingFilesProvider).setFiles(vm.files);
},
dispose: (ref) {
ref.dispose(widget.vm);
unawaited(TaskbarHelper.clearProgressBar());
@@ -228,6 +228,8 @@ class ReceiveController {
);
});
server.ref.notifier(selectedReceivingFilesProvider).setFiles(files.values.toList());
// ignore: use_build_context_synchronously, unawaited_futures
Routerino.context.push(() => ReceivePage(receiveProvider));
}
@@ -4,6 +4,7 @@ import 'package:localsend_app/model/state/server/receive_session_state.dart';
import 'package:localsend_app/model/state/settings_state.dart';
import 'package:localsend_app/pages/receive_page.dart';
import 'package:localsend_app/provider/network/webrtc/signaling_provider.dart';
import 'package:localsend_app/provider/selection/selected_receiving_files_provider.dart';
import 'package:localsend_isolates/model/dto/file_dto.dart' as dart_model;
import 'package:localsend_isolates/model/session_status.dart';
import 'package:localsend_isolates/model/stored_security_context.dart';
@@ -125,6 +126,9 @@ class _AcceptOfferAction extends AsyncReduxAction<WebRTCReceiveService, WebRTCRe
);
});
// ignore: use_build_context_synchronously
Routerino.context.notifier(selectedReceivingFilesProvider).setFiles(convertedFiles);
// ignore: unawaited_futures, use_build_context_synchronously
Routerino.context.push(() => ReceivePage(vm));
@@ -7,7 +7,7 @@ import 'package:uuid/uuid.dart';
const _uuid = Uuid();
/// Manages files to be selected to receive.
/// Only alive during [ReceivePage], i.e. this provider gets disposed as soon as the actual file transfer begin.
/// Never disposed; it is re-seeded via [SelectedReceivingFilesNotifier.setFiles] before each [ReceivePage] is pushed.
/// Map: FileId -> FileName
final selectedReceivingFilesProvider = NotifierProvider<SelectedReceivingFilesNotifier, Map<String, String>>((ref) {
return SelectedReceivingFilesNotifier();