fix: delete hub tracked item on unpublish
diff --git a/erpnext/hub_node/api.py b/erpnext/hub_node/api.py
index b260417..42f9000 100644
--- a/erpnext/hub_node/api.py
+++ b/erpnext/hub_node/api.py
@@ -144,27 +144,17 @@
 			'hub_category': item.get('hub_category'),
 			'image_list': item.get('image_list')
 		}
-		if frappe.db.exists('Hub Tracked Item', item_code):
-			items_to_update.append(item)
-			hub_tracked_item = frappe.get_doc('Hub Tracked Item', item_code)
-			hub_tracked_item.update(hub_dict)
-			hub_tracked_item.save()
-		else:
-			frappe.get_doc(hub_dict).insert(ignore_if_duplicate=True)
+		frappe.get_doc(hub_dict).insert(ignore_if_duplicate=True)
 
-	items_to_publish = list(filter(lambda x: x not in items_to_update, items_to_publish))
-	new_items = map_fields(items_to_publish)
-	existing_items = map_fields(items_to_update)
+	items = map_fields(items_to_publish)
 
 	try:
-		item_sync_preprocess(len(new_items+existing_items))
-		convert_relative_image_urls_to_absolute(new_items)
-		convert_relative_image_urls_to_absolute(existing_items)
+		item_sync_preprocess(len(items))
+		convert_relative_image_urls_to_absolute(items)
 
 		# TODO: Publish Progress
 		connection = get_hub_connection()
-		connection.insert_many(new_items)
-		connection.bulk_update(existing_items)
+		connection.insert_many(items)
 
 		item_sync_postprocess()
 	except Exception as e:
@@ -180,6 +170,7 @@
 
 	if response:
 		frappe.db.set_value('Item', item_code, 'publish_in_hub', 0)
+		frappe.delete_doc('Hub Tracked Item', item_code)
 	else:
 		frappe.throw(_('Unable to update remote activity'))