diff --git a/android/app/build.gradle b/android/app/build.gradle
index 0afc4d53adefb..5ce340e50016d 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -108,8 +108,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
- versionCode 1009001806
- versionName "9.0.18-6"
+ versionCode 1009001807
+ versionName "9.0.18-7"
// Supported language variants must be declared here to avoid from being removed during the compilation.
// This also helps us to not include unnecessary language variants in the APK.
resConfigs "en", "es"
diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist
index f94d8335e4ad5..d7b048b5aa737 100644
--- a/ios/NewExpensify/Info.plist
+++ b/ios/NewExpensify/Info.plist
@@ -40,7 +40,7 @@
CFBundleVersion
- 9.0.18.6
+ 9.0.18.7
FullStory
OrgId
diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist
index 4c231bbf6a741..3f4dcbc31cf2b 100644
--- a/ios/NewExpensifyTests/Info.plist
+++ b/ios/NewExpensifyTests/Info.plist
@@ -19,6 +19,6 @@
CFBundleSignature
????
CFBundleVersion
- 9.0.18.6
+ 9.0.18.7
diff --git a/ios/NotificationServiceExtension/Info.plist b/ios/NotificationServiceExtension/Info.plist
index c95fa5836e2f6..898c436e6e795 100644
--- a/ios/NotificationServiceExtension/Info.plist
+++ b/ios/NotificationServiceExtension/Info.plist
@@ -13,7 +13,7 @@
CFBundleShortVersionString
9.0.18
CFBundleVersion
- 9.0.18.6
+ 9.0.18.7
NSExtension
NSExtensionPointIdentifier
diff --git a/package-lock.json b/package-lock.json
index cfa485a462bfe..bda41337c734d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "new.expensify",
- "version": "9.0.18-6",
+ "version": "9.0.18-7",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "new.expensify",
- "version": "9.0.18-6",
+ "version": "9.0.18-7",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
diff --git a/package.json b/package.json
index d949efe9c58d5..fa9e3be6ac4f9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "new.expensify",
- "version": "9.0.18-6",
+ "version": "9.0.18-7",
"author": "Expensify, Inc.",
"homepage": "https://new.expensify.com",
"description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",
diff --git a/src/components/Composer/index.native.tsx b/src/components/Composer/index.native.tsx
index 4b791e8d10345..0d988e9e5c40f 100644
--- a/src/components/Composer/index.native.tsx
+++ b/src/components/Composer/index.native.tsx
@@ -1,9 +1,8 @@
import type {MarkdownStyle} from '@expensify/react-native-live-markdown';
import type {ForwardedRef} from 'react';
-import React, {useCallback, useEffect, useMemo, useRef} from 'react';
-import type {NativeSyntheticEvent, TextInput, TextInputPasteEventData} from 'react-native';
+import React, {useCallback, useMemo, useRef} from 'react';
+import type {TextInput} from 'react-native';
import {StyleSheet} from 'react-native';
-import type {FileObject} from '@components/AttachmentModal';
import type {AnimatedMarkdownTextInputRef} from '@components/RNMarkdownTextInput';
import RNMarkdownTextInput from '@components/RNMarkdownTextInput';
import useMarkdownStyle from '@hooks/useMarkdownStyle';
@@ -22,7 +21,6 @@ function Composer(
{
shouldClear = false,
onClear = () => {},
- onPasteFile = () => {},
isDisabled = false,
maxLines,
isComposerFullSize = false,
@@ -66,20 +64,6 @@ function Composer(
// eslint-disable-next-line react-compiler/react-compiler, react-hooks/exhaustive-deps
}, []);
- const pasteFile = useCallback(
- (e: NativeSyntheticEvent) => {
- const clipboardContent = e.nativeEvent.items[0];
- if (clipboardContent.type === 'text/plain') {
- return;
- }
- const fileURI = clipboardContent.data;
- const fileName = fileURI.split('/').pop();
- const file: FileObject = {uri: fileURI, name: fileName, type: clipboardContent.type};
- onPasteFile(file);
- },
- [onPasteFile],
- );
-
useEffect(() => {
if (!shouldClear) {
return;
@@ -108,7 +92,6 @@ function Composer(
/* eslint-disable-next-line react/jsx-props-no-spreading */
{...props}
readOnly={isDisabled}
- onPaste={pasteFile}
onBlur={(e) => {
if (!isFocused) {
// eslint-disable-next-line react-compiler/react-compiler
diff --git a/src/components/Composer/types.ts b/src/components/Composer/types.ts
index a2d0620212059..9c7a5a215c1c8 100644
--- a/src/components/Composer/types.ts
+++ b/src/components/Composer/types.ts
@@ -1,5 +1,4 @@
import type {NativeSyntheticEvent, StyleProp, TextInputProps, TextInputSelectionChangeEventData, TextStyle} from 'react-native';
-import type {FileObject} from '@components/AttachmentModal';
type TextSelection = {
start: number;
@@ -32,7 +31,7 @@ type ComposerProps = TextInputProps & {
onChangeText?: (numberOfLines: string) => void;
/** Callback method to handle pasting a file */
- onPasteFile?: (file: FileObject) => void;
+ onPasteFile?: (file: File) => void;
/** General styles to apply to the text input */
// eslint-disable-next-line react/forbid-prop-types
diff --git a/src/stories/Composer.stories.tsx b/src/stories/Composer.stories.tsx
index a92dc0e789a0b..805f2b4c74484 100644
--- a/src/stories/Composer.stories.tsx
+++ b/src/stories/Composer.stories.tsx
@@ -3,7 +3,6 @@ import type {Meta} from '@storybook/react';
import {ExpensiMark} from 'expensify-common';
import React, {useState} from 'react';
import {Image, View} from 'react-native';
-import type {FileObject} from '@components/AttachmentModal';
import Composer from '@components/Composer';
import type {ComposerProps} from '@components/Composer/types';
import RenderHTML from '@components/RenderHTML';
@@ -30,7 +29,7 @@ const parser = new ExpensiMark();
function Default(props: ComposerProps) {
const StyleUtils = useStyleUtils();
- const [pastedFile, setPastedFile] = useState(null);
+ const [pastedFile, setPastedFile] = useState(null);
const [comment, setComment] = useState(props.defaultValue);
const renderedHTML = parser.replace(comment ?? '');
@@ -54,7 +53,7 @@ function Default(props: ComposerProps) {
Rendered Comment
{!!renderedHTML && }
- {!!pastedFile && pastedFile instanceof File && (
+ {!!pastedFile && (