Per channel skeleton
This commit is contained in:
@@ -15,6 +15,7 @@ import 'supabase_provider.dart';
|
||||
import 'tickets_provider.dart';
|
||||
import 'user_offices_provider.dart';
|
||||
import 'stream_recovery.dart';
|
||||
import 'realtime_controller.dart';
|
||||
import '../utils/app_time.dart';
|
||||
|
||||
// Helper to insert activity log rows while sanitizing nulls and
|
||||
@@ -198,6 +199,8 @@ final tasksProvider = StreamProvider<List<Task>>((ref) {
|
||||
return data.cast<Map<String, dynamic>>().map(Task.fromMap).toList();
|
||||
},
|
||||
fromMap: Task.fromMap,
|
||||
channelName: 'tasks',
|
||||
onStatusChanged: ref.read(realtimeControllerProvider).handleChannelStatus,
|
||||
);
|
||||
|
||||
ref.onDispose(wrapper.dispose);
|
||||
@@ -446,6 +449,8 @@ final taskAssignmentsProvider = StreamProvider<List<TaskAssignment>>((ref) {
|
||||
return data.map(TaskAssignment.fromMap).toList();
|
||||
},
|
||||
fromMap: TaskAssignment.fromMap,
|
||||
channelName: 'task_assignments',
|
||||
onStatusChanged: ref.read(realtimeControllerProvider).handleChannelStatus,
|
||||
);
|
||||
|
||||
ref.onDispose(wrapper.dispose);
|
||||
@@ -472,6 +477,10 @@ final taskActivityLogsProvider =
|
||||
return data.map((r) => TaskActivityLog.fromMap(r)).toList();
|
||||
},
|
||||
fromMap: TaskActivityLog.fromMap,
|
||||
channelName: 'task_activity_logs:$taskId',
|
||||
onStatusChanged: ref
|
||||
.read(realtimeControllerProvider)
|
||||
.handleChannelStatus,
|
||||
);
|
||||
|
||||
ref.onDispose(wrapper.dispose);
|
||||
|
||||
Reference in New Issue
Block a user