From 3ac1f796ccd59ba504281e713c36b556dfd4b55d Mon Sep 17 00:00:00 2001 From: Developer Date: Fri, 20 Mar 2026 02:05:10 -0400 Subject: [PATCH] FIX: Revert for-loop in auto-clear to explicit if statements - for loop was causing slowdown in startup_detection() - Split into two explicit cache file checks instead - Maintains support for both .sysref and .sysref.beta - Restores instant startup speed --- launcher.sh | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/launcher.sh b/launcher.sh index 311f87a..0cfa08e 100755 --- a/launcher.sh +++ b/launcher.sh @@ -691,17 +691,18 @@ init_directories() { startup_detection() { # Auto-clear cache if toolkit files are newer (fresh git pull) # This ensures users always get fresh data after git updates - # Handle both production (.sysref) and dev (.sysref.beta) cache names - local cache_file - for cache_file in "$BASE_DIR/.sysref.beta" "$BASE_DIR/.sysref"; do - if [ -f "$cache_file" ] && [ -f "$BASE_DIR/launcher.sh" ]; then - # If launcher.sh is newer than cache, it means git just pulled updates - # and we should rebuild cache with current code - if [ "$BASE_DIR/launcher.sh" -nt "$cache_file" ]; then - rm -f "$cache_file" "${cache_file}.timestamp" 2>/dev/null || true - fi + if [ -f "$BASE_DIR/.sysref.beta" ] && [ -f "$BASE_DIR/launcher.sh" ]; then + if [ "$BASE_DIR/launcher.sh" -nt "$BASE_DIR/.sysref.beta" ]; then + rm -f "$BASE_DIR/.sysref.beta" "$BASE_DIR/.sysref.beta.timestamp" 2>/dev/null || true fi - done + fi + + # Also check production cache name for backward compatibility + if [ -f "$BASE_DIR/.sysref" ] && [ -f "$BASE_DIR/launcher.sh" ]; then + if [ "$BASE_DIR/launcher.sh" -nt "$BASE_DIR/.sysref" ]; then + rm -f "$BASE_DIR/.sysref" "$BASE_DIR/.sysref.timestamp" 2>/dev/null || true + fi + fi # Initialize system detection first (required for show_system_overview) if [ -z "${SYS_DETECTION_COMPLETE:-}" ]; then