feat(chat): System-Hints in Bubbles ausblenden (Toggle in Settings)
Bridge fuegt User-Texten Praefixe in eckigen Klammern hinzu damit Brain Kontext hat — z.B. '[Stefans aktuelle GPS-Position: 53.0, 8.5. Nutze die nur wenn ...]' oder '[Hinweis: Stefan hat dich gerade unterbrochen...]'. Die landeten via chat_backup auch in der App-Bubble — Stefan sieht jeden Hint mit, hat nichts in der UI verloren. Fix: App-side stripSystemHints() filtert aufeinanderfolgende `[...]`- Bloecke am Textanfang inkl. Trennleerzeichen. Wird in renderMessage angewendet, default an (Hints versteckt). Toggle in Settings → Allgemein → 'Chat-Bubbles' kehrt's um falls Debug gewuenscht. Brain bekommt weiterhin den vollen Text — Bridge-Side unveraendert. Live-Toggle: Settings setzt aria_show_hints in AsyncStorage, ChatScreen re-liest alle 2s (gleicher Mechanismus wie tts_enabled etc.). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -131,6 +131,7 @@ const SettingsScreen: React.FC = () => {
|
||||
const [gpsEnabled, setGpsEnabled] = useState(false);
|
||||
const [gpsTracking, setGpsTracking] = useState(gpsTrackingService.isActive());
|
||||
const [backgroundMode, setBackgroundMode] = useState(true); // Default an
|
||||
const [showSystemHints, setShowSystemHints] = useState(false); // Default aus
|
||||
const [scannerVisible, setScannerVisible] = useState(false);
|
||||
const [logTab, setLogTab] = useState<LogTab>('live');
|
||||
const [logs, setLogs] = useState<LogEntry[]>([]);
|
||||
@@ -202,6 +203,10 @@ const SettingsScreen: React.FC = () => {
|
||||
// Default ist an — nur explicit 'false' deaktiviert
|
||||
setBackgroundMode(saved !== 'false');
|
||||
});
|
||||
AsyncStorage.getItem('aria_show_hints').then(saved => {
|
||||
// Default ist aus — nur explicit 'true' aktiviert
|
||||
setShowSystemHints(saved === 'true');
|
||||
});
|
||||
// gpsTrackingService status syncen + auf Aenderungen lauschen
|
||||
setGpsTracking(gpsTrackingService.isActive());
|
||||
const offGps = gpsTrackingService.onChange(setGpsTracking);
|
||||
@@ -616,6 +621,13 @@ const SettingsScreen: React.FC = () => {
|
||||
}
|
||||
}, []);
|
||||
|
||||
// --- System-Hints Toggle ---
|
||||
|
||||
const handleShowSystemHintsToggle = useCallback((value: boolean) => {
|
||||
setShowSystemHints(value);
|
||||
AsyncStorage.setItem('aria_show_hints', String(value)).catch(() => {});
|
||||
}, []);
|
||||
|
||||
// --- XTTS Voice ---
|
||||
|
||||
const selectVoice = useCallback((voiceName: string) => {
|
||||
@@ -1103,6 +1115,28 @@ const SettingsScreen: React.FC = () => {
|
||||
</View>
|
||||
</View>
|
||||
|
||||
{/* === Bubble-Anzeige === */}
|
||||
<Text style={styles.sectionTitle}>Chat-Bubbles</Text>
|
||||
<View style={styles.card}>
|
||||
<View style={styles.toggleRow}>
|
||||
<View style={styles.toggleInfo}>
|
||||
<Text style={styles.toggleLabel}>System-Hints in Bubbles anzeigen</Text>
|
||||
<Text style={styles.toggleHint}>
|
||||
Wenn aktiviert: GPS-Position, Barge-In-Hinweise und andere
|
||||
System-Praefixe in eckigen Klammern bleiben in der User-Bubble
|
||||
sichtbar (Debug). Standardmaessig versteckt — Brain bekommt sie
|
||||
trotzdem, sie sind nur fuer dich nicht relevant.
|
||||
</Text>
|
||||
</View>
|
||||
<Switch
|
||||
value={showSystemHints}
|
||||
onValueChange={handleShowSystemHintsToggle}
|
||||
trackColor={{ false: '#2A2A3E', true: '#0096FF' }}
|
||||
thumbColor={showSystemHints ? '#FFFFFF' : '#666680'}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
|
||||
{/* === Hintergrund-Modus === */}
|
||||
<Text style={styles.sectionTitle}>Hintergrund-Modus</Text>
|
||||
<View style={styles.card}>
|
||||
|
||||
Reference in New Issue
Block a user