Why _on_area_body_entered() not triggered when body.disabled=false

Godot Version

v4.13

Question

i have a CharacterBody3D and an Area3D, when CharacterBody3D firstly entered Area3D, Area3D._on_area_body_entered() was triggered, then i switched CharacterBody3D.disable to true, Area3D._on_area_body_exited() was triggered. However then i switched CharacterBody3D.disable to false, Area3D._on_area_body_entered() was not triggered, why this function was not triggered normally?

  1. tower and enemy detect each other, logs:
entered EnemyAgent:<CharacterBody3D#36003906850>
entered Tower:<StaticBody3D#45063603583>
  1. tower destroyed, logs:
entered EnemyAgent:<CharacterBody3D#36003906850>
entered Tower:<StaticBody3D#45063603583>
step1 should be true, tower disabled = true
exitedTower:<StaticBody3D#45063603583>
  1. tower respwan, but enemy not detect tower

my code:

func _on_aware_area_body_entered(body):
	if body.is_in_group(enemy_type):
		enemy_list.append(body)
		print('entered ', body)


func _on_aware_area_body_exited(body):
	if body.is_in_group(enemy_type) and (body in enemy_list):
		enemy_list.erase(body)
		print('exited', body)

It seems to be a bug of Area3D, see Area3D does not detect body_entered on StaticBody3D and RigidBody3D · Issue #74300 · godotengine/godot · GitHub