feat: "ARIA hart neu starten"-Button (docker restart aria-core)

Zweiter Eskalations-Button neben dem Reparieren-Button — fuer Faelle
wo doctor --fix nicht reicht (Run alive aber haengt im Tool-Call).
Mit Confirmation-Dialog damit's nicht versehentlich gedrueckt wird.

Wege:
- App-Settings: Reparatur-Sektion, zwei Buttons (Reparieren + Hart neu)
- App-Thinking-Bubble: 🔧 + 🚨 + Abbrechen
- Diagnostic-Thinking-Indicator: 🔧 + 🚨 + Abbrechen
- Diagnostic-Server: POST /api/aria-restart → child_process exec
  `docker restart aria-core`
- Bridge: rvs aria_restart → HTTP zu Diagnostic

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-11 01:58:44 +02:00
parent 7f862ce1f4
commit 2dd4d38dce
6 changed files with 104 additions and 1 deletions
+23
View File
@@ -1306,6 +1306,29 @@ const SettingsScreen: React.FC = () => {
>
<Text style={[styles.clearButtonText, {color: '#FF9500'}]}>{'🔧 ARIA reparieren'}</Text>
</TouchableOpacity>
<Text style={[styles.toggleHint, {marginTop: 12}]}>
Wenn auch Reparieren nicht hilft Container hart neu starten.
ARIA ist dann ~15 Sekunden weg und kommt mit frischem State zurueck.
Laufende Anfragen gehen verloren.
</Text>
<TouchableOpacity
style={[styles.clearButton, {marginTop: 8, backgroundColor: 'rgba(255,59,48,0.15)'}]}
onPress={() => {
Alert.alert(
'ARIA hart neu starten?',
'Container-Restart (~15s). Laufende Anfragen gehen verloren.',
[
{ text: 'Abbrechen', style: 'cancel' },
{ text: 'Neu starten', style: 'destructive', onPress: () => {
rvs.send('aria_restart' as any, {});
ToastAndroid.show('Container-Restart angestossen…', ToastAndroid.LONG);
}},
],
);
}}
>
<Text style={[styles.clearButtonText, {color: '#FF3B30'}]}>{'🚨 ARIA hart neu starten'}</Text>
</TouchableOpacity>
</View>
</>)}