merge: test/activation-e2e — Maestro activation E2E + mock opencode server (reviewed: APPROVE after fixes)

This commit is contained in:
engineer
2026-07-16 17:24:32 -07:00
10 changed files with 708 additions and 3 deletions

View File

@@ -22,7 +22,7 @@ export function TelemetryConsentModal({ visible, onAllow, onDecline }: Props) {
return (
<Modal visible={visible} transparent animationType="fade" statusBarTranslucent onRequestClose={onDecline}>
<View style={styles.overlay}>
<View style={[styles.card, isDark && styles.cardDark]}>
<View style={[styles.card, isDark && styles.cardDark]} testID="telemetry-consent-card">
{/* Icon */}
<View style={[styles.iconWrap, isDark && styles.iconWrapDark]}>
<Ionicons name="bug-outline" size={40} color="#3b82f6" />
@@ -56,6 +56,7 @@ export function TelemetryConsentModal({ visible, onAllow, onDecline }: Props) {
style={[styles.btn, styles.btnDecline, isDark && styles.btnDeclineDark]}
onPress={onDecline}
accessibilityLabel="No thanks, decline crash reporting"
testID="telemetry-decline-button"
>
<Text style={[styles.btnDeclineText, isDark && styles.btnDeclineTextDark]}>No thanks</Text>
</TouchableOpacity>
@@ -63,6 +64,7 @@ export function TelemetryConsentModal({ visible, onAllow, onDecline }: Props) {
style={[styles.btn, styles.btnAllow]}
onPress={onAllow}
accessibilityLabel="Allow anonymous crash reports"
testID="telemetry-allow-button"
>
<Text style={styles.btnAllowText}>Allow</Text>
</TouchableOpacity>

View File

@@ -39,6 +39,7 @@ export const MessageBubble = memo(
isUser && isDark && s.userDark,
!isUser && isDark && s.assistantDark,
]}
testID={`chat-bubble-${message.role}`}
>
{/* Role indicator */}
<View style={s.header}>