From 6a3b2fee23ea68fbdaae4150899d136f8bd83c90 Mon Sep 17 00:00:00 2001 From: Parnic Date: Sun, 3 Dec 2023 00:11:15 -0600 Subject: [PATCH] Fix failure to check last leaderboard on first start --- main.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index 1ce0453..6d84d03 100644 --- a/main.go +++ b/main.go @@ -133,6 +133,8 @@ func main() { return } + defer func() { lastBody = currBody }() + lastRead = time.Now().Unix() jsonBytes, marshalErr := json.Marshal(map[string]any{"last_read": lastRead, "last_body": string(currBody)}) if marshalErr != nil { @@ -144,6 +146,10 @@ func main() { } } + if len(lastBody) == 0 { + return + } + lastLeaderboard, lastLeaderboardErr := buildLeaderboard(lastBody) if lastLeaderboardErr != nil { log.Println("Error building leaderboard from cached body:", lastLeaderboardErr) @@ -305,7 +311,7 @@ func buildLeaderboard(body []byte) (leaderboardData, error) { var leaderboard leaderboardData marshalErr := json.Unmarshal(body, &leaderboard) if marshalErr != nil { - return leaderboard, fmt.Errorf("error unmarshaling string into leaderboardData: %w", marshalErr) + return leaderboard, fmt.Errorf("error unmarshaling string `%s` into leaderboardData: %w", string(body), marshalErr) } jsonObj, parseErr := fastjson.ParseBytes(body)