diff --git a/shared/godot/chat/conversation_list.gd b/shared/godot/chat/conversation_list.gd index 5bff870..91558ec 100644 --- a/shared/godot/chat/conversation_list.gd +++ b/shared/godot/chat/conversation_list.gd @@ -83,9 +83,9 @@ func refresh() -> void: for conv: Dictionary in conversations: if count >= MAX_VISIBLE: break - var id: String = conv.get("id", "") - var title: String = conv.get("title", "Untitled") - var msg_count: int = conv.get("message_count", 0) + var id: String = str(conv.get("id", "")) + var title: String = str(conv.get("title", "Untitled")) + var msg_count: int = int(conv.get("message_count", 0)) var is_active: bool = id == active_id _item_container.add_child(_build_item(id, title, msg_count, is_active)) @@ -145,12 +145,16 @@ func _on_conversation_changed(_id: String) -> void: func _get_conversations() -> Array[Dictionary]: var index: Dictionary = AppState.get_section("conversations") + var raw: Array = index.get("list", []) var list: Array[Dictionary] = [] - for entry: Dictionary in index.get("list", []): - list.append(entry) + for i: int in range(raw.size()): + var entry: Variant = raw[i] + if entry is Dictionary: + list.append(entry) return list func _get_active_id() -> String: var index: Dictionary = AppState.get_section("conversations") - return index.get("active_id", "") + var active: Variant = index.get("active_id", "") + return str(active)