From 0f18c94faa70942698c9904e79d0985464458604 Mon Sep 17 00:00:00 2001 From: Eltrac Date: Fri, 21 Nov 2025 09:16:23 +0800 Subject: perf: write timestamp to cache file instead of relying on mtime --- brewcheck.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/brewcheck.go b/brewcheck.go index ac34786..d550db4 100644 --- a/brewcheck.go +++ b/brewcheck.go @@ -17,10 +17,10 @@ func EnsureBrewAvailable() { cache := filepath.Join(xdg.CacheHome, "wthis", "brew-checked") // 1. check if cache file exists and is fresh - if info, err := os.Stat(cache); err == nil { - if time.Since(info.ModTime()) < TTL { - return // recently verified that brew exists - } + data, _ := os.ReadFile(cache) + t, _ := time.Parse(time.RFC3339, string(data)) + if time.Since(t) < TTL { + return } // 2. otherwise, actually check @@ -33,5 +33,5 @@ func EnsureBrewAvailable() { // 3. write cache _ = os.MkdirAll(filepath.Dir(cache), 0o755) - _ = os.WriteFile(cache, []byte{}, 0o644) + _ = os.WriteFile(cache, []byte(time.Now().Format(time.RFC3339)), 0o644) } -- cgit v1.2.3