about summary refs log tree commit diff
path: root/src/lib
diff options
context:
space:
mode:
authorSamuel Newman <mozzius@protonmail.com>2024-09-03 15:09:09 +0100
committerGitHub <noreply@github.com>2024-09-03 15:09:09 +0100
commit0e1de199030e4106c791978c8a6bf52a90bbc269 (patch)
tree7beda35de08569c1816996ca1d1264bc0b804e48 /src/lib
parentf9d736653ccbb6c85e54382da0c59ec8af08a0eb (diff)
downloadvoidsky-0e1de199030e4106c791978c8a6bf52a90bbc269.tar.zst
[Video] Upload errors and UI improvements (#5092)
* surface errors in UI

* style progress indicator

* remove job status progress

* rm log

* fix webm ext
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/media/video/compress.ts3
-rw-r--r--src/lib/media/video/compress.web.ts1
-rw-r--r--src/lib/media/video/errors.ts7
-rw-r--r--src/lib/media/video/types.ts1
4 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/media/video/compress.ts b/src/lib/media/video/compress.ts
index 709f2a77a..79c58f5dd 100644
--- a/src/lib/media/video/compress.ts
+++ b/src/lib/media/video/compress.ts
@@ -29,5 +29,6 @@ export async function compressVideo(
   )
 
   const info = await getVideoMetaData(compressed)
-  return {uri: compressed, size: info.size}
+
+  return {uri: compressed, size: info.size, mimeType: `video/${info.extension}`}
 }
diff --git a/src/lib/media/video/compress.web.ts b/src/lib/media/video/compress.web.ts
index c08702534..c071b33ae 100644
--- a/src/lib/media/video/compress.web.ts
+++ b/src/lib/media/video/compress.web.ts
@@ -23,6 +23,7 @@ export async function compressVideo(
     size: blob.size,
     uri,
     bytes: await blob.arrayBuffer(),
+    mimeType,
   }
 }
 
diff --git a/src/lib/media/video/errors.ts b/src/lib/media/video/errors.ts
index 701a7e235..a06a239e1 100644
--- a/src/lib/media/video/errors.ts
+++ b/src/lib/media/video/errors.ts
@@ -4,3 +4,10 @@ export class VideoTooLargeError extends Error {
     this.name = 'VideoTooLargeError'
   }
 }
+
+export class ServerError extends Error {
+  constructor(message: string) {
+    super(message)
+    this.name = 'ServerError'
+  }
+}
diff --git a/src/lib/media/video/types.ts b/src/lib/media/video/types.ts
index ba0070054..ae873d756 100644
--- a/src/lib/media/video/types.ts
+++ b/src/lib/media/video/types.ts
@@ -1,5 +1,6 @@
 export type CompressedVideo = {
   uri: string
+  mimeType: string
   size: number
   // web only, can fall back to uri if missing
   bytes?: ArrayBuffer