From 05105e6fd1926a5326b30ba6bd28387215aa8320 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Fri, 22 Aug 2025 03:09:24 -0500 Subject: [PATCH] Revert "feat(playback): Create new, correct playback summary function" This reverts commit 6770c0ac1e68c1efa3019406377c4484869f7491. --- doPlayback.go | 47 ++++++++++++----------------------------------- 1 file changed, 12 insertions(+), 35 deletions(-) diff --git a/doPlayback.go b/doPlayback.go index 2f01c93..34a9557 100644 --- a/doPlayback.go +++ b/doPlayback.go @@ -2,53 +2,30 @@ package main import ( "fmt" - "os" - "go.wit.com/lib/protobuf/chatpb" "go.wit.com/log" ) -// doPlayback loads a specified log file and prints a one-line summary for each chat topic. -// If no filename is provided, it summarizes the current in-memory chat session. -func doPlayback(filename string) { - var playbackChats *chatpb.Chats - var err error - - // If a filename is provided, load that file. Otherwise, use the existing session. - if filename != "" { - log.Infof("Loading log file for playback: %s", filename) - data, err := os.ReadFile(filename) - if err != nil { - log.Fatalf("Failed to read playback file: %v", err) - } - playbackChats, err = chatpb.UnmarshalChatsTEXT(data) - if err != nil { - log.Fatalf("Failed to parse playback file: %v", err) - } - } else { - log.Info("No log file specified. Displaying summary of current conversation state.") - playbackChats = me.chats - } - - // Ensure all chats and entries have UUIDs before printing. - verifyUuids(playbackChats) - - fmt.Println("-------------------------------------------------") - log.Infof("Found %d chat topic(s).", len(playbackChats.GetChats())) +func doPlayback() { + log.Infof("Found %d chat topic(s) in the log.", len(me.chats.GetChats())) fmt.Println("-------------------------------------------------") - for _, chat := range playbackChats.GetChats() { + // Iterate through the top-level Chat messages, which are now named groups. + for _, chat := range me.chats.GetChats() { + + // Get the number of entries in the chat. entryCount := len(chat.GetEntries()) - var formattedTime string - // Use the chat's top-level ctime for the summary. - if ctime := chat.GetCtime(); ctime != nil { - t := ctime.AsTime() - formattedTime = t.Format("2006-01-02 15:04:05") + // Get the timestamp of the first entry to represent the chat's start time. + var formattedTime string + if entryCount > 0 && chat.GetEntries()[0].GetCtime() != nil { + t := chat.GetEntries()[0].GetCtime().AsTime() + formattedTime = t.Format("2006-01-02 15:04:05") // YYYY-MM-DD HH:MM:SS } else { formattedTime = "No Timestamp" } + // Print the formatted one-line summary. fmt.Printf("Topic: %-25s | Entries: %-4d | Started: %s | UUID: %s\n", chat.GetChatName(), entryCount,