From 6cb35ae01ec84916a89dd392ab78825e152406b7 Mon Sep 17 00:00:00 2001
From: 21pages <pages21@163.com>
Date: Tue, 13 Jun 2023 10:49:22 +0800
Subject: [PATCH] fix strategy serde

Signed-off-by: 21pages <pages21@163.com>
---
 src/hbbs_http/sync.rs | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/hbbs_http/sync.rs b/src/hbbs_http/sync.rs
index cd7f95208..251436aa7 100644
--- a/src/hbbs_http/sync.rs
+++ b/src/hbbs_http/sync.rs
@@ -1,13 +1,13 @@
 use std::{collections::HashMap, sync::Mutex, time::Duration};
 
+#[cfg(not(any(target_os = "ios")))]
+use crate::Connection;
 use hbb_common::{
     config::{Config, LocalConfig},
     tokio::{self, sync::broadcast, time::Instant},
 };
 use serde::{Deserialize, Serialize};
 use serde_json::{json, Value};
-#[cfg(not(any(target_os = "ios")))]
-use crate::Connection;
 
 const TIME_HEARTBEAT: Duration = Duration::from_secs(30);
 const TIME_CONN: Duration = Duration::from_secs(3);
@@ -36,7 +36,9 @@ fn start_hbbs_sync() -> broadcast::Sender<Vec<i32>> {
 
 #[derive(Debug, Serialize, Deserialize)]
 pub struct StrategyOptions {
+    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
     pub config_options: HashMap<String, String>,
+    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
     pub extra: HashMap<String, String>,
 }