From cc7d0893e79098d994f2aaea0ff82b9811d18b50 Mon Sep 17 00:00:00 2001 From: Reinaldo Neto <47038980+reinaldonetof@users.noreply.github.com> Date: Wed, 31 Jan 2024 16:06:07 -0300 Subject: [PATCH 1/6] fix: remove blocks when updating an old message (#5522) * fix: remove blocks when updating an old message * minior tweak, add to threadMessagesToUpdate * remove the comments --- app/lib/methods/updateMessages.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/lib/methods/updateMessages.ts b/app/lib/methods/updateMessages.ts index 6acbdce14..c8f9dc2b0 100644 --- a/app/lib/methods/updateMessages.ts +++ b/app/lib/methods/updateMessages.ts @@ -136,6 +136,9 @@ export default async function updateMessages({ try { return message.prepareUpdate( protectedFunction((m: TMessageModel) => { + if (newMessage && !newMessage?.blocks) { + newMessage.blocks = null; + } Object.assign(m, newMessage); }) ); @@ -160,6 +163,9 @@ export default async function updateMessages({ try { return threadMessage.prepareUpdate( protectedFunction((tm: TThreadMessageModel) => { + if (newThreadMessage && !newThreadMessage?.blocks) { + newThreadMessage.blocks = null; + } Object.assign(tm, newThreadMessage); if (threadMessage.tmid) { tm.rid = threadMessage.tmid; From 6907771bfef0df0449aa9dac2a90403abddc0de2 Mon Sep 17 00:00:00 2001 From: Amit giri <77196415+Amitlpu-840@users.noreply.github.com> Date: Thu, 1 Feb 2024 18:38:04 +0530 Subject: [PATCH 2/6] feat: add take a photo button in profile (#5524) * take new photo added for avatar * code optimization * Update app/views/ChangeAvatarView/index.tsx Co-authored-by: Gleidson Daniel Silva * improvements * Update .detoxrc.js * Update jest.config.js --------- Co-authored-by: Gleidson Daniel Silva --- .../ChangeAvatarView/ImagePicker.mock.ts | 27 ++++++++++++++++++- app/views/ChangeAvatarView/index.tsx | 15 ++++++++--- e2e/tests/assorted/15-change-avatar.spec.ts | 26 ++++++++++++++++++ 3 files changed, 64 insertions(+), 4 deletions(-) diff --git a/app/views/ChangeAvatarView/ImagePicker.mock.ts b/app/views/ChangeAvatarView/ImagePicker.mock.ts index e03679862..481338a92 100644 --- a/app/views/ChangeAvatarView/ImagePicker.mock.ts +++ b/app/views/ChangeAvatarView/ImagePicker.mock.ts @@ -31,6 +31,31 @@ export function openPicker(_options: any): Promise { }); } +export function openCamera(_options: any): Promise { + return Promise.resolve({ + exif: null, + filename: 'IMG_0007.PNG', + path: `/tmp/react-native-image-crop-picker/${random(20)}.jpg`, + height: 152, + width: 152, + data: mockImageRocketBase64, + modificationDate: null, + localIdentifier: 'CEEE9916-81FD-4544-9D86-7044DB6C4374/L0/001', + size: 5006, + sourceURL: `/tmp/react-native-image-crop-picker/${random(20)}.jpg`, + mime: 'image/jpeg', + cropRect: { + width: 152, + height: 152, + x: 134, + y: 0 + }, + duration: null, + creationDate: '1679327100' + }); +} + export default { - openPicker + openPicker, + openCamera }; diff --git a/app/views/ChangeAvatarView/index.tsx b/app/views/ChangeAvatarView/index.tsx index 9f8c65d54..abf2f7637 100644 --- a/app/views/ChangeAvatarView/index.tsx +++ b/app/views/ChangeAvatarView/index.tsx @@ -130,7 +130,7 @@ const ChangeAvatarView = () => { return navigation.goBack(); }; - const pickImage = async () => { + const pickImage = async (isCam = false) => { const options = { cropping: true, compressImageQuality: 0.8, @@ -138,10 +138,11 @@ const ChangeAvatarView = () => { cropperAvoidEmptySpaceAroundImage: false, cropperChooseText: I18n.t('Choose'), cropperCancelText: I18n.t('Cancel'), - includeBase64: true + includeBase64: true, + useFrontCamera: isCam }; try { - const response: Image = await ImagePicker.openPicker(options); + const response: Image = isCam === true ? await ImagePicker.openCamera(options) : await ImagePicker.openPicker(options); dispatchAvatar({ type: AvatarStateActions.CHANGE_AVATAR, payload: { url: response.path, data: `data:image/jpeg;base64,${response.data}`, service: 'upload' } @@ -217,6 +218,14 @@ const ChangeAvatarView = () => { } /> ) : null} +