fetch e2e proxy did directly

This commit is contained in:
Samuel Newman
2026-07-28 11:40:47 +03:00
parent ca484abdcf
commit 57e6b0dd7e
4 changed files with 32 additions and 25 deletions
+1
View File
@@ -152,6 +152,7 @@ echo "Metro bundle pre-warmed for $bundle_platform"
if [[ "$platform" == "android" ]]; then
phase "Configuring Android localhost routing"
adb -s "$device_id" reverse tcp:3000 tcp:3000
adb -s "$device_id" reverse tcp:1986 tcp:1986
adb -s "$device_id" reverse tcp:8081 tcp:8081
fi
+5 -4
View File
@@ -28,10 +28,11 @@ appId: xyz.blueskyweb.app
- back
- extendedWaitUntil:
visible:
id: e2eProxyHeaderInput
id: e2eConfigureProxy
timeout: 180000
- tapOn:
id: e2eProxyHeaderInput
- inputText: ${output.result}
- tapOn:
id: e2eConfigureProxy
- extendedWaitUntil:
visible:
id: e2eSignInAlice
timeout: 30000
+16 -1
View File
@@ -7,8 +7,23 @@ let server: TestPDS
// eslint-disable-next-line @typescript-eslint/no-misused-promises
createHTTPServer(async (req, res) => {
const url = parse(req.url || '/', true)
if (req.method === 'GET') {
if (!server) {
return res.writeHead(503).end()
}
return res
.writeHead(200, {
'content-type': 'application/json',
})
.end(
JSON.stringify({
pdsUrl: server.pdsUrl,
appviewDid: server.appviewDid,
}),
)
}
if (req.method !== 'POST') {
return res.writeHead(200).end()
return res.writeHead(405).end()
}
try {
console.log('Closing old server')
+10 -20
View File
@@ -1,5 +1,5 @@
import {useRef, useState} from 'react'
import {Keyboard, LogBox, Pressable, TextInput, View} from 'react-native'
import {useState} from 'react'
import {LogBox, Pressable, View} from 'react-native'
import {useQueryClient} from '@tanstack/react-query'
import {BLUESKY_PROXY_HEADER} from '#/lib/constants'
@@ -61,33 +61,23 @@ export function TestCtrls() {
)
setShowLoggedOut(false)
}
const proxyHeader = useRef('')
const configureProxy = () => {
const header = `${proxyHeader.current}#bsky_appview`
const configureProxy = async () => {
const res = await fetch('http://localhost:1986')
if (!res.ok) {
throw new Error(`Failed to load the E2E proxy DID: ${res.status}`)
}
const {appviewDid} = (await res.json()) as {appviewDid: string}
const header = `${appviewDid}#bsky_appview`
BLUESKY_PROXY_HEADER.set(header)
agent.configureProxy(header as any)
hasConfiguredProxy = true
setIsProxyConfigured(true)
Keyboard.dismiss()
}
return (
<View style={{position: 'absolute', top: 100, right: 0, zIndex: 100}}>
<TextInput
accessibilityLabel="Text input field"
accessibilityHint="Enter proxy header"
testID="e2eProxyHeaderInput"
onChangeText={val => {
proxyHeader.current = val
}}
autoComplete="off"
autoCorrect={false}
autoCapitalize="none"
onSubmitEditing={configureProxy}
style={BTN}
/>
<Pressable
testID="e2eConfigureProxy"
onPress={configureProxy}
onPress={() => void configureProxy()}
accessibilityRole="button"
style={BTN}
/>