@@ -84,19 +84,58 @@ for name in $CONTAINERS; do
8484done
8585
8686if [[ " $TDARR_MODE " == " native" ]]; then
87+ tdarr_server_label=" "
88+ tdarr_node_label=" "
89+ for candidate in com.media-stack.tdarr.server; do
90+ if launchctl print " gui/$UID /$candidate " > /dev/null 2>&1 ; then
91+ tdarr_server_label=" $candidate "
92+ break
93+ fi
94+ done
95+ if [[ -z " $tdarr_server_label " ]]; then
96+ tdarr_server_label=" $( launchctl list 2> /dev/null | awk ' NR>1 {print $3}' | grep -E ' \.tdarr\.server$' | head -1 || true) "
97+ fi
98+
99+ for candidate in com.media-stack.tdarr.node; do
100+ if launchctl print " gui/$UID /$candidate " > /dev/null 2>&1 ; then
101+ tdarr_node_label=" $candidate "
102+ break
103+ fi
104+ done
105+ if [[ -z " $tdarr_node_label " ]]; then
106+ tdarr_node_label=" $( launchctl list 2> /dev/null | awk ' NR>1 {print $3}' | grep -E ' \.tdarr\.node$' | head -1 || true) "
107+ fi
108+
87109 tdarr_ok=true
88- if ! launchctl print " gui/ $UID /com.media-stack.tdarr.server " > /dev/null 2>&1 ; then
110+ if [[ -z " $tdarr_server_label " ]] ; then
89111 tdarr_ok=false
90112 log " WARN: tdarr-server launchd job missing. Attempting load..."
91- launchctl load " $HOME /Library/LaunchAgents/com.media-stack.tdarr.server.plist" >> " $LOG " 2>&1 || true
92- launchctl kickstart -k " gui/$UID /com.media-stack.tdarr.server" >> " $LOG " 2>&1 || true
113+ if [[ -f " $HOME /Library/LaunchAgents/com.media-stack.tdarr.server.plist" ]]; then
114+ server_plist=" $HOME /Library/LaunchAgents/com.media-stack.tdarr.server.plist"
115+ else
116+ server_plist=" $( ls " $HOME /Library/LaunchAgents/" * .tdarr.server.plist 2> /dev/null | head -1 || true) "
117+ fi
118+ if [[ -n " ${server_plist:- } " ]]; then
119+ tdarr_server_label=" $( basename " $server_plist " .plist) "
120+ launchctl load " $server_plist " >> " $LOG " 2>&1 || true
121+ launchctl kickstart -k " gui/$UID /$tdarr_server_label " >> " $LOG " 2>&1 || true
122+ fi
93123 (( HEALED++ ))
94124 fi
95- if ! launchctl print " gui/$UID /com.media-stack.tdarr.node" > /dev/null 2>&1 ; then
125+
126+ if [[ -z " $tdarr_node_label " ]]; then
96127 tdarr_ok=false
97128 log " WARN: tdarr-node launchd job missing. Attempting load..."
98- launchctl load " $HOME /Library/LaunchAgents/com.media-stack.tdarr.node.plist" >> " $LOG " 2>&1 || true
99- launchctl kickstart -k " gui/$UID /com.media-stack.tdarr.node" >> " $LOG " 2>&1 || true
129+ if [[ -f " $HOME /Library/LaunchAgents/com.media-stack.tdarr.node.plist" ]]; then
130+ node_plist=" $HOME /Library/LaunchAgents/com.media-stack.tdarr.node.plist"
131+ else
132+ node_plist=" $( ls " $HOME /Library/LaunchAgents/" * .tdarr.node.plist 2> /dev/null | head -1 || true) "
133+ fi
134+ if [[ -n " ${node_plist:- } " ]]; then
135+ tdarr_node_label=" $( basename " $node_plist " .plist) "
136+ launchctl load " $node_plist " >> " $LOG " 2>&1 || true
137+ launchctl kickstart -k " gui/$UID /$tdarr_node_label " >> " $LOG " 2>&1 || true
138+ fi
100139 (( HEALED++ ))
101140 fi
102141
@@ -107,9 +146,13 @@ if [[ "$TDARR_MODE" == "native" ]]; then
107146 fi
108147 else
109148 log " WARN: Tdarr UI check failed (HTTP $tdarr_http ). Restarting tdarr launchd jobs..."
110- launchctl kickstart -k " gui/$UID /com.media-stack.tdarr.server" >> " $LOG " 2>&1 || true
149+ if [[ -n " $tdarr_server_label " ]]; then
150+ launchctl kickstart -k " gui/$UID /$tdarr_server_label " >> " $LOG " 2>&1 || true
151+ fi
111152 sleep 3
112- launchctl kickstart -k " gui/$UID /com.media-stack.tdarr.node" >> " $LOG " 2>&1 || true
153+ if [[ -n " $tdarr_node_label " ]]; then
154+ launchctl kickstart -k " gui/$UID /$tdarr_node_label " >> " $LOG " 2>&1 || true
155+ fi
113156 (( HEALED++ ))
114157 fi
115158fi
0 commit comments