-1
package.json
-1
package.json
+14
-11
src/lib/media/manip.ts
+14
-11
src/lib/media/manip.ts
···
15
15
import * as MediaLibrary from 'expo-media-library'
16
16
import * as Sharing from 'expo-sharing'
17
17
import {Buffer} from 'buffer'
18
-
import {RNFetchBlob} from 'rn-fetch-blob'
19
18
20
19
import {POST_IMG_MAX} from '#/lib/constants'
21
20
import {logger} from '#/logger'
···
140
139
safeDeleteAsync(imagePath)
141
140
}
142
141
}
143
-
144
142
export async function saveVideoToMediaLibrary({uri}: {uri: string}) {
145
143
// download the file to cache
146
-
const downloadResponse = await RNFetchBlob.config({
147
-
fileCache: true,
148
-
})
149
-
.fetch('GET', uri)
144
+
const tempPath = createPath('tmp')
145
+
const downloadResumable = createDownloadResumable(uri, tempPath)
146
+
const downloadResult = await downloadResumable
147
+
.downloadAsync()
150
148
.catch(() => null)
151
-
if (downloadResponse == null) return false
152
-
let videoPath = downloadResponse.path()
153
-
let extension = mimeToExt(downloadResponse.respInfo.headers['content-type'])
154
-
videoPath = normalizePath(
155
-
await moveToPermanentPath(videoPath, '.' + extension),
149
+
150
+
if (downloadResult == null || downloadResult.status !== 200) {
151
+
return false
152
+
}
153
+
154
+
const contentType = downloadResult.headers['content-type']
155
+
const extension = mimeToExt(contentType)
156
+
157
+
const videoPath = normalizePath(
158
+
await moveToPermanentPath(downloadResult.uri, '.' + extension),
156
159
true,
157
160
)
158
161
+104
-48
yarn.lock
+104
-48
yarn.lock
···
184
184
uint8arrays "3.0.0"
185
185
zod "^3.23.8"
186
186
187
-
"@atproto/common-web@^0.4.3":
188
-
version "0.4.3"
189
-
resolved "https://registry.yarnpkg.com/@atproto/common-web/-/common-web-0.4.3.tgz#b4480220b5682db09da45f4ef906eb7619c838b5"
190
-
integrity sha512-nRDINmSe4VycJzPo6fP/hEltBcULFxt9Kw7fQk6405FyAWZiTluYHlXOnU7GkQfeUK44OENG1qFTBcmCJ7e8pg==
191
-
dependencies:
192
-
graphemer "^1.4.0"
193
-
multiformats "^9.9.0"
194
-
uint8arrays "3.0.0"
195
-
zod "^3.23.8"
196
-
197
187
"@atproto/common@0.1.0":
198
188
version "0.1.0"
199
189
resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.1.0.tgz#4216a8fef5b985ab62ac21252a0f8ca0f4a0f210"
···
327
317
multiformats "^9.9.0"
328
318
zod "^3.23.8"
329
319
330
-
<<<<<<< HEAD
331
320
"@atproto/lexicon@^0.5.0", "@atproto/lexicon@^0.5.1":
332
-
=======
333
-
"@atproto/lexicon@^0.5.1":
334
-
>>>>>>> upstream/main
335
321
version "0.5.1"
336
322
resolved "https://registry.yarnpkg.com/@atproto/lexicon/-/lexicon-0.5.1.tgz#e9b7d5c70dc5a38518a8069cd80fea77ab526947"
337
323
integrity sha512-y8AEtYmfgVl4fqFxqXAeGvhesiGkxiy3CWoJIfsFDDdTlZUC8DFnZrYhcqkIop3OlCkkljvpSJi1hbeC1tbi8A==
···
548
534
zod "^3.23.8"
549
535
550
536
"@atproto/xrpc@^0.7.4", "@atproto/xrpc@^0.7.5":
551
-
version "0.7.5"
552
-
resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.7.5.tgz#40cef1a657b5f28af8ebec9e3dac5872e58e88ea"
553
-
integrity sha512-MUYNn5d2hv8yVegRL0ccHvTHAVj5JSnW07bkbiaz96UH45lvYNRVwt44z+yYVnb0/mvBzyD3/ZQ55TRGt7fHkA==
554
-
dependencies:
555
-
"@atproto/lexicon" "^0.5.1"
556
-
zod "^3.23.8"
557
-
558
-
"@atproto/xrpc@^0.7.5":
559
537
version "0.7.5"
560
538
resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.7.5.tgz#40cef1a657b5f28af8ebec9e3dac5872e58e88ea"
561
539
integrity sha512-MUYNn5d2hv8yVegRL0ccHvTHAVj5JSnW07bkbiaz96UH45lvYNRVwt44z+yYVnb0/mvBzyD3/ZQ55TRGt7fHkA==
···
3576
3554
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
3577
3555
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
3578
3556
3557
+
"@bitdrift/react-native@^0.6.8":
3558
+
version "0.6.14"
3559
+
resolved "https://registry.yarnpkg.com/@bitdrift/react-native/-/react-native-0.6.14.tgz#8ad52323062f5b3b058a982384907a3912ca6e1f"
3560
+
integrity sha512-thZIjkosyi7mru7NAP3Ie4a/84EJPf1YROUCuZ81NWSJv+fWLvEp4KfuVCJj265bkdFgRVB/JIqKPhbiC16SMw==
3561
+
dependencies:
3562
+
"@expo/config-plugins" "^9.0.14"
3563
+
fast-json-stringify "^6.0.0"
3564
+
3579
3565
"@braintree/sanitize-url@^6.0.2":
3580
3566
version "6.0.4"
3581
3567
resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz#923ca57e173c6b232bbbb07347b1be982f03e783"
···
4067
4053
node-forge "^1.2.1"
4068
4054
nullthrows "^1.1.1"
4069
4055
4056
+
"@expo/config-plugins@^9.0.14":
4057
+
version "9.1.7"
4058
+
resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-9.1.7.tgz#cbaaf883c57cd236f157f26c03784adbe6ebf9ac"
4059
+
integrity sha512-8dJzOesaQS+8XuT49pdSHej1z6XG3x2fqN2O3v807ri8uhxm2N9P6+iZBn19xv9+7OxraOc2tH3nEIWE19Za0w==
4060
+
dependencies:
4061
+
"@expo/config-types" "^53.0.0"
4062
+
"@expo/json-file" "~9.1.3"
4063
+
"@expo/plist" "^0.3.3"
4064
+
"@expo/sdk-runtime-versions" "^1.0.0"
4065
+
chalk "^4.1.2"
4066
+
debug "^4.3.5"
4067
+
getenv "^1.0.0"
4068
+
glob "^10.4.2"
4069
+
resolve-from "^5.0.0"
4070
+
semver "^7.5.4"
4071
+
slash "^3.0.0"
4072
+
slugify "^1.6.6"
4073
+
xcode "^3.0.1"
4074
+
xml2js "0.6.0"
4075
+
4070
4076
"@expo/config-plugins@~54.0.1":
4071
4077
version "54.0.1"
4072
4078
resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-54.0.1.tgz#cf811b38c7cf6ee32c611265605683032bf13b48"
···
4087
4093
xcode "^3.0.1"
4088
4094
xml2js "0.6.0"
4089
4095
4096
+
"@expo/config-types@^53.0.0":
4097
+
version "53.0.5"
4098
+
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-53.0.5.tgz#bba7e0712c2c5b1d8963348d68ea96339f858db4"
4099
+
integrity sha512-kqZ0w44E+HEGBjy+Lpyn0BVL5UANg/tmNixxaRMLS6nf37YsDrLk2VMAmeKMMk5CKG0NmOdVv3ngeUjRQMsy9g==
4100
+
4090
4101
"@expo/config-types@^54.0.8":
4091
4102
version "54.0.8"
4092
4103
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-54.0.8.tgz#2aa1f96e0abad6a125d0ff1092b303280f7962e9"
···
4194
4205
"@babel/code-frame" "~7.10.4"
4195
4206
json5 "^2.2.3"
4196
4207
4208
+
"@expo/json-file@~9.1.3":
4209
+
version "9.1.5"
4210
+
resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-9.1.5.tgz#7d7b2dc4990dc2c2de69a571191aba984b7fb7ed"
4211
+
integrity sha512-prWBhLUlmcQtvN6Y7BpW2k9zXGd3ySa3R6rAguMJkp1z22nunLN64KYTUWfijFlprFoxm9r2VNnGkcbndAlgKA==
4212
+
dependencies:
4213
+
"@babel/code-frame" "~7.10.4"
4214
+
json5 "^2.2.3"
4215
+
4197
4216
"@expo/mcp-tunnel@~0.0.7":
4198
4217
version "0.0.8"
4199
4218
resolved "https://registry.yarnpkg.com/@expo/mcp-tunnel/-/mcp-tunnel-0.0.8.tgz#8c4fabec4e25e119998b22bd846e9d12435da4da"
···
4268
4287
ora "^3.4.0"
4269
4288
resolve-workspace-root "^2.0.0"
4270
4289
4290
+
"@expo/plist@^0.3.3":
4291
+
version "0.3.5"
4292
+
resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.3.5.tgz#11913c64951936101529cb26d7260ef16970fc31"
4293
+
integrity sha512-9RYVU1iGyCJ7vWfg3e7c/NVyMFs8wbl+dMWZphtFtsqyN9zppGREU3ctlD3i8KUE0sCUTVnLjCWr+VeUIDep2g==
4294
+
dependencies:
4295
+
"@xmldom/xmldom" "^0.8.8"
4296
+
base64-js "^1.2.3"
4297
+
xmlbuilder "^15.1.1"
4298
+
4271
4299
"@expo/plist@^0.4.7":
4272
4300
version "0.4.7"
4273
4301
resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.4.7.tgz#40fa796e93d5be0452ce72e5110e69c8ac915403"
···
4377
4405
resolved "https://registry.yarnpkg.com/@fastify/deepmerge/-/deepmerge-1.3.0.tgz#8116858108f0c7d9fd460d05a7d637a13fe3239a"
4378
4406
integrity sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==
4379
4407
4408
+
"@fastify/merge-json-schemas@^0.2.0":
4409
+
version "0.2.1"
4410
+
resolved "https://registry.yarnpkg.com/@fastify/merge-json-schemas/-/merge-json-schemas-0.2.1.tgz#3aa30d2f0c81a8ac5995b6d94ed4eaa2c3055824"
4411
+
integrity sha512-OA3KGBCy6KtIvLf8DINC5880o5iBlDX4SxzLQS8HorJAbqluzLRn80UXU0bxZn7UOFhFgpRJDasfwn9nG4FG4A==
4412
+
dependencies:
4413
+
dequal "^2.0.3"
4414
+
4380
4415
"@floating-ui/core@^1.0.0":
4381
4416
version "1.6.0"
4382
4417
resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1"
···
7999
8034
dependencies:
8000
8035
ajv "^8.0.0"
8001
8036
8037
+
ajv-formats@^3.0.1:
8038
+
version "3.0.1"
8039
+
resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-3.0.1.tgz#3d5dc762bca17679c3c2ea7e90ad6b7532309578"
8040
+
integrity sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==
8041
+
dependencies:
8042
+
ajv "^8.0.0"
8043
+
8002
8044
ajv-keywords@^3.5.2:
8003
8045
version "3.5.2"
8004
8046
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
···
8030
8072
json-schema-traverse "^1.0.0"
8031
8073
require-from-string "^2.0.2"
8032
8074
uri-js "^4.2.2"
8075
+
8076
+
ajv@^8.12.0:
8077
+
version "8.17.1"
8078
+
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6"
8079
+
integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
8080
+
dependencies:
8081
+
fast-deep-equal "^3.1.3"
8082
+
fast-uri "^3.0.1"
8083
+
json-schema-traverse "^1.0.0"
8084
+
require-from-string "^2.0.2"
8033
8085
8034
8086
anser@^1.4.9:
8035
8087
version "1.4.10"
···
8650
8702
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
8651
8703
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
8652
8704
8653
-
base-64@0.1.0:
8654
-
version "0.1.0"
8655
-
resolved "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz#780a99c84e7d600260361511c4877613bf24f6bb"
8656
-
integrity sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==
8657
-
8658
8705
base64-arraybuffer@^1.0.2:
8659
8706
version "1.0.2"
8660
8707
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#1c37589a7c4b0746e34bd1feb951da2df01c1bdc"
···
10063
10110
version "1.1.2"
10064
10111
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
10065
10112
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
10113
+
10114
+
dequal@^2.0.3:
10115
+
version "2.0.3"
10116
+
resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
10117
+
integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
10066
10118
10067
10119
destroy@1.2.0:
10068
10120
version "1.2.0"
···
11548
11600
fast-uri "^2.1.0"
11549
11601
rfdc "^1.2.0"
11550
11602
11603
+
fast-json-stringify@^6.0.0:
11604
+
version "6.1.1"
11605
+
resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-6.1.1.tgz#79163606431540582b50e992ab8cdb6c65df0529"
11606
+
integrity sha512-DbgptncYEXZqDUOEl4krff4mUiVrTZZVI7BBrQR/T3BqMj/eM1flTC1Uk2uUoLcWCxjT95xKulV/Lc6hhOZsBQ==
11607
+
dependencies:
11608
+
"@fastify/merge-json-schemas" "^0.2.0"
11609
+
ajv "^8.12.0"
11610
+
ajv-formats "^3.0.1"
11611
+
fast-uri "^3.0.0"
11612
+
json-schema-ref-resolver "^3.0.0"
11613
+
rfdc "^1.2.0"
11614
+
11551
11615
fast-levenshtein@^2.0.6:
11552
11616
version "2.0.6"
11553
11617
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
···
11574
11638
version "2.2.0"
11575
11639
resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-2.2.0.tgz#519a0f849bef714aad10e9753d69d8f758f7445a"
11576
11640
integrity sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg==
11641
+
11642
+
fast-uri@^3.0.0, fast-uri@^3.0.1:
11643
+
version "3.1.0"
11644
+
resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa"
11645
+
integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==
11577
11646
11578
11647
fast-xml-parser@4.2.5:
11579
11648
version "4.2.5"
···
12031
12100
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
12032
12101
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
12033
12102
12034
-
glob@7.0.6:
12035
-
version "7.0.6"
12036
-
resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a"
12037
-
integrity sha512-f8c0rE8JiCxpa52kWPAOa3ZaYEnzofDzCQLCn3Vdk0Z5OVLq3BsRFJI4S4ykpeVW6QMGBUkMeUpoEgWnMTnw5Q==
12038
-
dependencies:
12039
-
fs.realpath "^1.0.0"
12040
-
inflight "^1.0.4"
12041
-
inherits "2"
12042
-
minimatch "^3.0.2"
12043
-
once "^1.3.0"
12044
-
path-is-absolute "^1.0.0"
12045
-
12046
12103
glob@^10.3.10:
12047
12104
version "10.3.12"
12048
12105
resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.12.tgz#3a65c363c2e9998d220338e88a5f6ac97302960b"
···
13946
14003
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
13947
14004
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
13948
14005
14006
+
json-schema-ref-resolver@^3.0.0:
14007
+
version "3.0.0"
14008
+
resolved "https://registry.yarnpkg.com/json-schema-ref-resolver/-/json-schema-ref-resolver-3.0.0.tgz#28f6a410122cde9238762a5e9296faa38be28708"
14009
+
integrity sha512-hOrZIVL5jyYFjzk7+y7n5JDzGlU8rfWDuYyHwGa2WA8/pcmMHezp2xsVwxrebD/Q9t8Nc5DboieySDpCp4WG4A==
14010
+
dependencies:
14011
+
dequal "^2.0.3"
14012
+
13949
14013
json-schema-traverse@^0.4.1:
13950
14014
version "0.4.1"
13951
14015
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
···
15027
15091
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
15028
15092
integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
15029
15093
15030
-
minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
15094
+
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
15031
15095
version "3.1.2"
15032
15096
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
15033
15097
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
···
17756
17820
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
17757
17821
dependencies:
17758
17822
glob "^7.1.3"
17759
-
17760
-
rn-fetch-blob@^0.12.0:
17761
-
version "0.12.0"
17762
-
resolved "https://registry.yarnpkg.com/rn-fetch-blob/-/rn-fetch-blob-0.12.0.tgz#ec610d2f9b3f1065556b58ab9c106eeb256f3cba"
17763
-
integrity sha512-+QnR7AsJ14zqpVVUbzbtAjq0iI8c9tCg49tIoKO2ezjzRunN7YL6zFSFSWZm6d+mE/l9r+OeDM3jmb2tBb2WbA==
17764
-
dependencies:
17765
-
base-64 "0.1.0"
17766
-
glob "7.0.6"
17767
17823
17768
17824
roarr@^7.0.4:
17769
17825
version "7.15.1"