From eececc09f5f48ab8666ebb15fef984be89ead664 Mon Sep 17 00:00:00 2001
From: Hugo Trentesaux <hugo@trentesaux.fr>
Date: Sat, 30 Nov 2024 12:42:45 +0100
Subject: [PATCH] in non-manual sealing and only here

---
 node/src/service.rs | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/node/src/service.rs b/node/src/service.rs
index b64b952d2..fb14fb678 100644
--- a/node/src/service.rs
+++ b/node/src/service.rs
@@ -503,15 +503,8 @@ where
                                     FullBackend,
                                 >(
                                     &*client, parent, distance_dir, &babe_owner_keys.clone()
-                                );
-                            // provides fallback when distance inherent data provider crashes
-                            let distance = match distance {
-                                Ok(distance) => distance,
-                                Err(e) => {
-                                    log::warn!("{:?}", e);
-                                    sp_distance::InherentDataProvider::new(None)
-                                }
-                            };
+                                )?;
+                            // in case of manual sealing, the distance is forced to succeed
                             Ok((timestamp, babe, distance))
                         }
                     },
@@ -557,7 +550,17 @@ where
                             FullBackend,
                         >(
                             &*client, parent, distance_dir, &babe_owner_keys.clone()
-                        )?;
+                        );
+
+                        // provides fallback when distance inherent data provider crashes
+                        // (only when sealing is not manual)
+                        let distance = match distance {
+                            Ok(distance) => distance,
+                            Err(e) => {
+                                log::warn!("{:?}", e);
+                                sp_distance::InherentDataProvider::new(None)
+                            }
+                        };
 
                         Ok((slot, timestamp, storage_proof, distance))
                     }
-- 
GitLab