feat(chat): Add filtering and sorting capabilities to ConversationList with filter_conversations() and sort_conversations() methods

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Claude Code 2026-03-28 21:13:48 -07:00
parent 4496e5af32
commit 45f92c67c1

View file

@ -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)