Skip to content

Commit

Permalink
fix: upload file/image and respect app settings (#2976)
Browse files Browse the repository at this point in the history
* fix: file upload preview state refresh when state changes

* fix: upload file/image and respect app settings

* fix: upload file/image and respect app settings

* fix: upload file/image and respect app settings
  • Loading branch information
khushal87 authored Feb 24, 2025
1 parent 9256498 commit aa2be37
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 5 deletions.
7 changes: 5 additions & 2 deletions package/expo-package/src/optionalDependencies/takePhoto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export const takePhoto = ImagePicker
...photo,
cancelled: false,
duration: photo.duration, // in milliseconds
name: 'video_recording_' + date + photo.uri.split('.').pop(),
name: 'video_recording_' + date + '.' + photo.uri.split('.').pop(),
size: photo.fileSize,
source: 'camera',
type: photo.mimeType,
Expand Down Expand Up @@ -91,9 +91,12 @@ export const takePhoto = ImagePicker
width: photo.width,
};
}

const clearFilter = new RegExp('[.:]', 'g');
const date = new Date().toISOString().replace(clearFilter, '_');
return {
cancelled: false,
mimeType: photo.mimeType,
name: 'image_' + date + '.' + photo.uri.split('.').pop(),
size: photo.fileSize,
source: 'camera',
type: photo.mimeType,
Expand Down
7 changes: 6 additions & 1 deletion package/native-package/src/optionalDependencies/takePhoto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ export const takePhoto = ImagePicker
...asset,
cancelled: false,
duration: asset.duration * 1000,
name: 'video_recording_' + date + asset.fileName.split('.').pop(),
mimeType: asset.type,
name: 'video_recording_' + date + '.' + asset.fileName.split('.').pop(),
size: asset.fileSize,
source: 'camera',
type: asset.type,
Expand Down Expand Up @@ -85,8 +86,12 @@ export const takePhoto = ImagePicker
width: asset.width,
};
}
const clearFilter = new RegExp('[.:]', 'g');
const date = new Date().toISOString().replace(clearFilter, '_');
return {
cancelled: false,
mimeType: asset.type,
name: 'video_recording_' + date + '.' + asset.fileName.split('.').pop(),
size: asset.size,
source: 'camera',
type: asset.type,
Expand Down
22 changes: 20 additions & 2 deletions package/src/contexts/messageInputContext/utils/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,16 @@ export const isUploadAllowed = ({ config, file }: CheckUploadPermissionsParams)
}

if (allowed_mime_types?.length) {
if (file.name) {
if (file.mimeType) {
const allowed = allowed_mime_types.some(
(mimeType: string) =>
file.mimeType && file.mimeType.toLowerCase() === mimeType.toLowerCase(),
);

if (!allowed) {
return false;
}
} else if (file.name) {
const fileMimeType = lookup(file.name) as string;
const allowed = allowed_mime_types.some(
(mimeType: string) => fileMimeType.toLowerCase() === mimeType.toLowerCase(),
Expand All @@ -57,7 +66,16 @@ export const isUploadAllowed = ({ config, file }: CheckUploadPermissionsParams)
}

if (blocked_mime_types?.length) {
if (file.name) {
if (file.mimeType) {
const blocked = blocked_mime_types.some(
(mimeType: string) =>
file.mimeType && file.mimeType.toLowerCase() === mimeType.toLowerCase(),
);

if (blocked) {
return false;
}
} else if (file.name) {
const fileMimeType = lookup(file.name) as string;
const blocked = blocked_mime_types.some(
(mimeType: string) => fileMimeType.toLowerCase() === mimeType.toLowerCase(),
Expand Down
1 change: 1 addition & 0 deletions package/src/types/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ export type Asset = {
uri: string;
width: number;
id?: string;
mimeType?: string;
originalUri?: string;
size?: number;
};
Expand Down

0 comments on commit aa2be37

Please # to comment.