fix(ios): close final release review blockers
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
|
||||
import { View, Text, TouchableOpacity, StyleSheet, useColorScheme, Modal, Linking } from "react-native"
|
||||
import { Ionicons } from "@expo/vector-icons"
|
||||
import { PRIVACY_POLICY_URL } from "../lib/links"
|
||||
|
||||
interface Props {
|
||||
visible: boolean
|
||||
@@ -45,9 +46,7 @@ export function TelemetryConsentModal({ visible, onAllow, onDecline }: Props) {
|
||||
</View>
|
||||
|
||||
{/* Privacy policy link */}
|
||||
<TouchableOpacity
|
||||
onPress={() => Linking.openURL("https://agentlabs.cc/opencode/privacy")}
|
||||
>
|
||||
<TouchableOpacity onPress={() => Linking.openURL(PRIVACY_POLICY_URL)}>
|
||||
<Text style={styles.privacyLink}>Read our full privacy policy</Text>
|
||||
</TouchableOpacity>
|
||||
|
||||
|
||||
1
src/lib/links.ts
Normal file
1
src/lib/links.ts
Normal file
@@ -0,0 +1 @@
|
||||
export const PRIVACY_POLICY_URL = "https://dzianisv.github.io/opencode-mobile/privacy/"
|
||||
@@ -232,7 +232,10 @@ export function createClient(config: ClientConfig) {
|
||||
try {
|
||||
yield JSON.parse(data)
|
||||
} catch (err) {
|
||||
console.warn("[SSE] Failed to parse event:", data.slice(0, 200), err)
|
||||
console.warn("[SSE] Failed to parse event", {
|
||||
length: data.length,
|
||||
error: err instanceof Error ? err.message : String(err),
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,6 +50,8 @@ export function initSentry() {
|
||||
return scrubEvent(event)
|
||||
},
|
||||
beforeBreadcrumb(crumb) {
|
||||
// Console output can contain malformed server payloads, prompts, or code.
|
||||
if (crumb.category === "console") return null
|
||||
if (crumb.data && typeof crumb.data === "object") {
|
||||
crumb.data = redactObject(crumb.data as Record<string, unknown>)
|
||||
}
|
||||
@@ -149,6 +151,7 @@ function scrubEvent<T extends Sentry.Event>(event: T): T {
|
||||
}
|
||||
}
|
||||
if (event.breadcrumbs) {
|
||||
event.breadcrumbs = event.breadcrumbs.filter((crumb) => crumb.category !== "console")
|
||||
for (const crumb of event.breadcrumbs) {
|
||||
if (typeof crumb.message === "string") crumb.message = redactString(crumb.message)
|
||||
if (crumb.data && typeof crumb.data === "object") {
|
||||
|
||||
Reference in New Issue
Block a user