about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/api/api-polyfill.ts8
-rw-r--r--src/view/com/composer/ComposePost.tsx12
2 files changed, 13 insertions, 7 deletions
diff --git a/src/lib/api/api-polyfill.ts b/src/lib/api/api-polyfill.ts
index 3b5ba7518..b7be6913a 100644
--- a/src/lib/api/api-polyfill.ts
+++ b/src/lib/api/api-polyfill.ts
@@ -1,7 +1,8 @@
 import AtpAgent from '@atproto/api'
 import RNFS from 'react-native-fs'
 
-const TIMEOUT = 10e3 // 10s
+const GET_TIMEOUT = 15e3 // 15s
+const POST_TIMEOUT = 60e3 // 60s
 
 export function doPolyfill() {
   AtpAgent.configure({fetch: fetchHandler})
@@ -43,7 +44,10 @@ async function fetchHandler(
   }
 
   const controller = new AbortController()
-  const to = setTimeout(() => controller.abort(), TIMEOUT)
+  const to = setTimeout(
+    () => controller.abort(),
+    reqMethod === 'post' ? POST_TIMEOUT : GET_TIMEOUT,
+  )
 
   const res = await fetch(reqUri, {
     method: reqMethod,
diff --git a/src/view/com/composer/ComposePost.tsx b/src/view/com/composer/ComposePost.tsx
index 0bfe07f55..e3befafff 100644
--- a/src/view/com/composer/ComposePost.tsx
+++ b/src/view/com/composer/ComposePost.tsx
@@ -293,11 +293,13 @@ export const ComposePost = observer(function ComposePost({
         imageCount: selectedPhotos.length,
       })
     } catch (e: any) {
-      setExtLink({
-        ...extLink,
-        isLoading: true,
-        localThumb: undefined,
-      } as apilib.ExternalEmbedDraft)
+      if (extLink) {
+        setExtLink({
+          ...extLink,
+          isLoading: true,
+          localThumb: undefined,
+        } as apilib.ExternalEmbedDraft)
+      }
       setError(cleanError(e.message))
       setIsProcessing(false)
       return