From ac6c0b5c124d5b4089e0a0a1503962863fb2d1d0 Mon Sep 17 00:00:00 2001 From: Developer Date: Thu, 19 Mar 2026 22:37:46 -0400 Subject: [PATCH] FIX: Improve startup flow error handling and correctness CRITICAL: Library sourcing error handling - launcher.sh lines 21-25: Added error checks for all source commands - Each library now reports if it fails to load - Script exits with message instead of silent failure MEDIUM: init_directories error checking - launcher.sh lines 630-631: Added error handling for mkdir -p - Script now reports if directory creation fails - Better user feedback on initialization errors HIGH: Stderr redirect cleanup - run.sh line 14: Removed misplaced 2>/dev/null after closing bracket - launcher.sh lines 678, 694: Reordered redirects for clarity (read ... /dev/null instead of 2>/dev/null /dev/null - touch "$CONFIG_DIR/whitelist-user-agents.txt" 2>/dev/null + mkdir -p "$MODULES_DIR"/{security,website,performance,backup,diagnostics,maintenance,email} || { + echo "ERROR: Failed to create module directories"; return 1 + } + mkdir -p "$LIB_DIR" "$CONFIG_DIR" "$BASE_DIR/logs" || { + echo "ERROR: Failed to create base directories"; return 1 + } + touch "$CONFIG_DIR/whitelist-ips.txt" 2>/dev/null || true + touch "$CONFIG_DIR/whitelist-user-agents.txt" 2>/dev/null || true } startup_detection() { @@ -675,7 +679,7 @@ startup_detection() { echo "" # Read from terminal (use /dev/tty directly) - read -p "Press Enter to continue..." 2>/dev/null /dev/null /dev/null; then # No terminal available, return from function gracefully return 0 fi diff --git a/run.sh b/run.sh index 144713a..04769e9 100755 --- a/run.sh +++ b/run.sh @@ -11,7 +11,7 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Fix HISTFILE if set to non-existent path (prevents crashes on sourcing) if [ -n "$HISTFILE" ]; then HISTFILE_DIR="$(dirname "$HISTFILE" 2>/dev/null)" - if [ ! -d "$HISTFILE_DIR" ] 2>/dev/null; then + if [ ! -d "$HISTFILE_DIR" ]; then # Fallback to default history location export HISTFILE="$HOME/.bash_history" fi