Release v3.2.0: Major macOS compatibility improvements and bug fixes
### Major macOS Compatibility Improvements - Enhanced Docker Desktop installation and startup process for macOS - Fixed Docker authentication with macOS keychain integration - Resolved user directory issues - all directories now use actual user home instead of root - Fixed password generation issues with missing shuf command and encoding errors - Improved container creation with proper working directory context - Enhanced healthcheck monitoring, particularly for Jellyseerr service ### Bug Fixes - Fixed Docker Compose version warnings by removing obsolete version attribute - Resolved container startup issues with proper directory navigation - Fixed file permission issues for config and media directories - Enhanced cross-platform path handling functions - Improved error handling and user feedback throughout installation process ### Code Quality Improvements - Updated all version references to v3.2.0 - Enhanced documentation with macOS-specific improvements - Improved cross-platform compatibility across all components - Better error messages and troubleshooting guidance This release significantly improves the macOS user experience and resolves numerous compatibility issues that were preventing successful installation and operation on macOS systems. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+40
-2
@@ -2,7 +2,7 @@
|
||||
|
||||
# HOPS - Common Utility Functions
|
||||
# Shared functions for logging, error handling, and UI
|
||||
# Version: 3.1.0-beta
|
||||
# Version: 3.2.0
|
||||
|
||||
# Prevent multiple sourcing
|
||||
if [[ -n "${HOPS_COMMON_LOADED:-}" ]]; then
|
||||
@@ -101,7 +101,7 @@ show_hops_header() {
|
||||
local subtitle="$2"
|
||||
|
||||
if [[ -z "$version" ]]; then
|
||||
version="3.1.0"
|
||||
version="3.2.0"
|
||||
fi
|
||||
|
||||
clear
|
||||
@@ -266,4 +266,42 @@ get_available_port() {
|
||||
done
|
||||
|
||||
echo "$port"
|
||||
}
|
||||
|
||||
# Cross-platform shuffle function (alternative to shuf)
|
||||
shuffle_string() {
|
||||
local input_string="$1"
|
||||
local chars=()
|
||||
local i
|
||||
|
||||
# Convert string to array of characters
|
||||
for (( i=0; i<${#input_string}; i++ )); do
|
||||
chars+=("${input_string:$i:1}")
|
||||
done
|
||||
|
||||
# Fisher-Yates shuffle algorithm
|
||||
for (( i=${#chars[@]}-1; i>0; i-- )); do
|
||||
local j=$((RANDOM % (i+1)))
|
||||
local temp="${chars[i]}"
|
||||
chars[i]="${chars[j]}"
|
||||
chars[j]="$temp"
|
||||
done
|
||||
|
||||
# Convert back to string
|
||||
printf '%s' "${chars[@]}"
|
||||
}
|
||||
|
||||
# Cross-platform character generation (alternative to tr with better encoding)
|
||||
generate_chars() {
|
||||
local char_set="$1"
|
||||
local count="$2"
|
||||
local result=""
|
||||
local i
|
||||
|
||||
for (( i=0; i<count; i++ )); do
|
||||
local char_index=$((RANDOM % ${#char_set}))
|
||||
result+="${char_set:$char_index:1}"
|
||||
done
|
||||
|
||||
echo "$result"
|
||||
}
|
||||
Reference in New Issue
Block a user