Handle invalid service URLs (#3908)
parent
165fdb7049
commit
31a8356aef
|
@ -47,6 +47,7 @@ export function MessagesScreen({navigation}: Props) {
|
|||
|
||||
// TEMP
|
||||
const {serviceUrl, setServiceUrl} = useDmServiceUrlStorage()
|
||||
const [serviceUrlValue, setServiceUrlValue] = useState(serviceUrl)
|
||||
const hasValidServiceUrl = useMemo(() => {
|
||||
const hash = sha256(serviceUrl)
|
||||
return (
|
||||
|
@ -136,13 +137,21 @@ export function MessagesScreen({navigation}: Props) {
|
|||
<TextField.LabelText>Service URL</TextField.LabelText>
|
||||
<TextField.Root>
|
||||
<TextField.Input
|
||||
value={serviceUrl}
|
||||
onChangeText={text => setServiceUrl(text)}
|
||||
value={serviceUrlValue}
|
||||
onChangeText={text => setServiceUrlValue(text)}
|
||||
autoCapitalize="none"
|
||||
keyboardType="url"
|
||||
label="https://"
|
||||
/>
|
||||
</TextField.Root>
|
||||
<Button
|
||||
label="Set Service URL"
|
||||
size="small"
|
||||
variant="solid"
|
||||
color="primary"
|
||||
onPress={() => setServiceUrl(serviceUrlValue)}>
|
||||
<ButtonText>Set</ButtonText>
|
||||
</Button>
|
||||
</View>
|
||||
</ScrollView>
|
||||
)
|
||||
|
|
|
@ -35,7 +35,14 @@ export function DmServiceUrlProvider({children}: {children: React.ReactNode}) {
|
|||
React.useEffect(() => {
|
||||
;(async () => {
|
||||
const v = await getItem()
|
||||
setServiceUrl(v ?? '')
|
||||
try {
|
||||
if (v) {
|
||||
new URL(v)
|
||||
setServiceUrl(v)
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Invalid service URL stored in async storage:', v)
|
||||
}
|
||||
})()
|
||||
}, [getItem])
|
||||
|
||||
|
|
Loading…
Reference in New Issue