toaster
diff --git a/app_dart/lib/src/request_handlers/get_presubmit_guard.dart b/app_dart/lib/src/request_handlers/get_presubmit_guard.dart
index 5bec07b..74a93c1 100644
--- a/app_dart/lib/src/request_handlers/get_presubmit_guard.dart
+++ b/app_dart/lib/src/request_handlers/get_presubmit_guard.dart
@@ -166,16 +166,14 @@
     );
 
     var checkRunId = -1;
-    if (ciStagings.isNotEmpty) {
-      final guardJsonStr = ciStagings.first.checkRunGuard;
-      if (guardJsonStr.isNotEmpty) {
-        try {
-          // Try to extract the check-run id from the json string.
-          final guardJson = jsonDecode(guardJsonStr) as Map<String, Object?>;
-          checkRunId = guardJson['id'] as int? ?? 0;
-        } catch (_) {
-          // ignore
-        }
+    final guardJsonStr = ciStagings.first.checkRunGuard;
+    if (guardJsonStr.isNotEmpty) {
+      try {
+        // Try to extract the check-run id from the json string.
+        final guardJson = jsonDecode(guardJsonStr) as Map<String, Object?>;
+        checkRunId = guardJson['id'] as int? ?? 0;
+      } catch (_) {
+        // ignore
       }
     }
 
@@ -198,9 +196,9 @@
         for (final g in ciStagings)
           rpc_model.PresubmitGuardStage(
             name: g.stage?.name ?? 'unknown',
-            createdAt: g.createTime != null
-                ? DateTime.parse(g.createTime!).millisecondsSinceEpoch
-                : 0,
+            createdAt:
+                DateTime.tryParse(g.createTime ?? '')?.millisecondsSinceEpoch ??
+                0,
             jobs: {
               for (final MapEntry(:key, :value) in g.checkRuns.entries)
                 key: _taskStatusFromConclusion(value),