From 9a40ffec812254d09f23ef307781fb0d1c3d9570 Mon Sep 17 00:00:00 2001 From: Marc Rejohn Castillano Date: Sun, 27 Sep 2026 21:59:01 +0800 Subject: [PATCH] fix(programmer): move clock ticker watch to dashboard parent NowWorkingCard was watching clockTickerProvider but received pre-computed Duration values from ProgrammerDashboard, which never rebuilt on ticks. Move ref.watch(clockTickerProvider) to ProgrammerDashboard.build() so the parent rebuilds every 30 s and passes fresh durations to the card. Remove the now-unused clockTickerProvider watch (and its import) from NowWorkingCard. Co-Authored-By: claude-flow --- lib/screens/programmer_tasks/dashboard/now_working_card.dart | 4 ---- .../programmer_tasks/dashboard/programmer_dashboard.dart | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/screens/programmer_tasks/dashboard/now_working_card.dart b/lib/screens/programmer_tasks/dashboard/now_working_card.dart index 14e55ec4..54aebc21 100644 --- a/lib/screens/programmer_tasks/dashboard/now_working_card.dart +++ b/lib/screens/programmer_tasks/dashboard/now_working_card.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../../models/programmer_task.model.dart'; -import '../../../providers/programmer_day_data_provider.dart'; import '../../../providers/programmer_tasks_provider.dart'; import '../../../utils/programmer_task_ledger.dart'; import '../../../widgets/m3_card.dart'; @@ -37,9 +36,6 @@ class NowWorkingCard extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { - // Subscribe to the clock so durations re-render every 30 s. - ref.watch(clockTickerProvider); - return M3Card.elevated( child: Padding( padding: const EdgeInsets.all(16), diff --git a/lib/screens/programmer_tasks/dashboard/programmer_dashboard.dart b/lib/screens/programmer_tasks/dashboard/programmer_dashboard.dart index 3f8c408b..7214088c 100644 --- a/lib/screens/programmer_tasks/dashboard/programmer_dashboard.dart +++ b/lib/screens/programmer_tasks/dashboard/programmer_dashboard.dart @@ -24,6 +24,9 @@ class ProgrammerDashboard extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { + // Drive 30-second rebuilds so duration values stay fresh. + ref.watch(clockTickerProvider); + final tasksAsync = ref.watch(programmerTasksProvider); final runStates = ref.watch(programmerRunStatesProvider); final todayKey = ref.watch(todayKeyProvider);