diff --git a/lib/media/file-utils.js b/lib/media/file-utils.js
--- a/lib/media/file-utils.js
+++ b/lib/media/file-utils.js
@@ -94,15 +94,13 @@
   'video/mp4': {
     mediaType: 'video',
     extension: 'mp4',
-    // serverCanHandle set to false pending future video message progress
-    serverCanHandle: false,
+    serverCanHandle: true,
     serverTranscodesImage: false,
   },
   'video/quicktime': {
     mediaType: 'video',
     extension: 'mp4',
-    // serverCanHandle set to false pending future video message progress
-    serverCanHandle: false,
+    serverCanHandle: true,
     serverTranscodesImage: false,
   },
 });
diff --git a/lib/shared/messages/multimedia-message-spec.js b/lib/shared/messages/multimedia-message-spec.js
--- a/lib/shared/messages/multimedia-message-spec.js
+++ b/lib/shared/messages/multimedia-message-spec.js
@@ -204,8 +204,7 @@
         rawMessageInfo,
         platformDetails,
       );
-      // TODO figure out first native codeVersion supporting video playback
-      if (hasMinCodeVersion(platformDetails, 99999)) {
+      if (hasMinCodeVersion(platformDetails, 999)) {
         return shimmedRawMessageInfo;
       }
       const { id } = shimmedRawMessageInfo;
diff --git a/native/media/media-gallery-keyboard.react.js b/native/media/media-gallery-keyboard.react.js
--- a/native/media/media-gallery-keyboard.react.js
+++ b/native/media/media-gallery-keyboard.react.js
@@ -189,9 +189,7 @@
       } = await MediaLibrary.getAssetsAsync({
         first: 20,
         after,
-        // Include `MediaLibrary.MediaType.video` in `mediaType` array
-        // when working on video messages so videos show up in media gallery.
-        mediaType: [MediaLibrary.MediaType.photo],
+        mediaType: [MediaLibrary.MediaType.photo, MediaLibrary.MediaType.video],
       });
 
       let firstRemoved = false,