From d1f0b76c1ab6fa7981b27ec1809a9fe8bb1b9e7e Mon Sep 17 00:00:00 2001 From: souravson1 Date: Mon, 23 Feb 2026 16:44:25 +0530 Subject: [PATCH 1/3] Remove Unwanted Options From Context Menu --- .../src/components/message/Message.tsx | 78 ++----------------- 1 file changed, 5 insertions(+), 73 deletions(-) diff --git a/packages/frontend/src/components/message/Message.tsx b/packages/frontend/src/components/message/Message.tsx index bcfcea2d..2cc14532 100644 --- a/packages/frontend/src/components/message/Message.tsx +++ b/packages/frontend/src/components/message/Message.tsx @@ -431,53 +431,6 @@ async function buildContextMenu( action: openForwardDialog.bind(null, openDialog, message), rightIcon: 'forward', }, - // Recall message - showRecallMsg && { - label: tx('recall_message'), - action: async () => { - const response = await runtime.PrivittySendMessage('sendEvent', { - event_type: 'initAccessRevokeRequest', - event_data: { - chat_id: String(chat?.id), - file_path: message?.file, - }, - }) - - // ✅ Parse ONLY ONCE - const parsed = - typeof response === 'string' ? JSON.parse(response) : response - - const pdu: string | undefined = parsed?.result?.data?.pdu - - if (!pdu) { - throw new Error('PDU not returned from initAccessRevokeRequest') - } - - const MESSAGE_DEFAULT: T.MessageData = { - file: null, - filename: null, - viewtype: null, - html: null, - location: null, - overrideSenderName: null, - quotedMessageId: null, - quotedText: null, - text: null, - } - const messageR: Partial = { - text: pdu, - file: undefined, - filename: undefined, - quotedMessageId: null, - viewtype: 'Text', - } - - await BackendRemote.rpc.sendMsg(accountId, chat?.id || 0, { - ...MESSAGE_DEFAULT, - ...messageR, - }) - }, - }, // Send emoji reaction showSendReaction && { label: tx('react'), @@ -512,11 +465,6 @@ async function buildContextMenu( }, rightIcon: 'bookmark-filled', }, - // Save attachment as - showAttachmentOptions && { - label: tx('save_as'), - action: onDownload.bind(null, message), - }, // copy link link !== '' && isLink && { @@ -525,7 +473,7 @@ async function buildContextMenu( rightIcon: 'link', }, // copy item (selection or all text) - text !== '' && copy_item, + text !== '' && !message.file && copy_item, // Copy image showCopyImage && { label: tx('menu_copy_image_to_clipboard'), @@ -542,14 +490,6 @@ async function buildContextMenu( runtime.writeClipboardText(message.videochatUrl as string), rightIcon: 'link', }, - // Open Attachment - showAttachmentOptions && - showRecallMsg && - message.viewType !== 'Webxdc' && - isGenericAttachment(message.fileMime) && { - label: tx('open_attachment'), - action: openAttachmentInShell.bind(null, message), - }, // Save Sticker to sticker collection message.viewType === 'Sticker' && { label: tx('add_to_sticker_collection'), @@ -560,14 +500,6 @@ async function buildContextMenu( tx('saved') ), }, - // Resend Message - showResend && - showRecallMsg && { - label: tx('resend'), - action: () => { - BackendRemote.rpc.resendMessages(selectedAccountId(), [message.id]) - }, - }, // Webxdc Info message: jump to app message Boolean(isWebxdcInfo && message.parentId) && { label: tx('show_app_in_chat'), @@ -665,7 +597,7 @@ function getPrivittyStatusLabel(status: PrivittyStatus | null): string | null { case 'requested': return 'Access Requested' case 'expired': - return null // hidden; expiry label shown instead + return 'Access Expired' // hidden; expiry label shown instead case 'revoked': return 'Access revoked' case 'denied': @@ -1641,20 +1573,20 @@ export default function Message(props: { style={{ margin: 0, fontSize: 12, - color: privittyStatusColor, + color: direction === 'outgoing' ? '#ffffff' : privittyStatusColor, }} > {privittyStatusLabel}

)} {/* "Access Until:" — shown for active and expired when expiry is set */} - {(privittyStatus === 'active' || privittyStatus === 'expired') && + {(privittyStatus === 'active') && privittyExpiryTime != null && (

Access Until: {formatExpiryTime(privittyExpiryTime)} From e8f6ee1d2797cb2322b2406d4fab601a0e88a7c3 Mon Sep 17 00:00:00 2001 From: souravson1 Date: Mon, 23 Feb 2026 17:59:38 +0530 Subject: [PATCH 2/3] Styling FileAccessStatusList Dialog and Buttons --- .../dialogs/FileAccessStatusDialog.tsx | 35 ++++++++----------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/packages/frontend/src/components/dialogs/FileAccessStatusDialog.tsx b/packages/frontend/src/components/dialogs/FileAccessStatusDialog.tsx index 2f871def..2f71144f 100644 --- a/packages/frontend/src/components/dialogs/FileAccessStatusDialog.tsx +++ b/packages/frontend/src/components/dialogs/FileAccessStatusDialog.tsx @@ -206,10 +206,10 @@ export default function FileAccessStatusDialog({

- + @@ -240,8 +240,8 @@ export default function FileAccessStatusDialog({
- - + +
@@ -390,9 +390,8 @@ export default function FileAccessStatusDialog({ } const getDisplayFileName = (): string => { - if (fileName) return fileName - if (filePath) return basename(filePath) - return 'File' + const name = fileName || (filePath ? basename(filePath) : 'File') + return name.replace(/\.prv$/, '') } const UserCard = ({ @@ -423,7 +422,7 @@ export default function FileAccessStatusDialog({ alignItems: 'center', padding: '12px 16px', borderBottom: '1px solid #e0e0e0', - backgroundColor: '#fff', + backgroundColor: 'transparent', opacity: isRevoked ? 0.6 : 1, }} > @@ -434,7 +433,6 @@ export default function FileAccessStatusDialog({ height: '40px', borderRadius: '50%', backgroundColor: '#4a4a4a', - color: '#fff', display: 'flex', alignItems: 'center', justifyContent: 'center', @@ -453,7 +451,6 @@ export default function FileAccessStatusDialog({ style={{ fontSize: '15px', fontWeight: '500', - color: '#000', marginBottom: '4px', }} > @@ -463,7 +460,6 @@ export default function FileAccessStatusDialog({
-
+
{getDisplayFileName()}
@@ -582,7 +578,7 @@ export default function FileAccessStatusDialog({ )} {!loading && !error && ( -
+
{/* Shared section */} {sharedUsers.length > 0 && (
@@ -591,16 +587,15 @@ export default function FileAccessStatusDialog({ padding: '12px 20px', fontSize: '14px', fontWeight: '600', - color: '#666', textTransform: 'uppercase', letterSpacing: '0.5px', borderBottom: '1px solid #e0e0e0', - backgroundColor: '#fff', + backgroundColor: 'transparent', }} > Shared
-
+
{sharedUsers.map((user, index) => ( 0 ? '1px solid #e0e0e0' : 'none', borderBottom: '1px solid #e0e0e0', - backgroundColor: '#fff', + backgroundColor: 'transparent', }} > Forwarded
-
+
{forwardedUsers.map((user, index) => ( No access data available From ac920166754309a2de58f05d1c4026870ec0f2b2 Mon Sep 17 00:00:00 2001 From: souravson1 Date: Tue, 24 Feb 2026 10:48:15 +0530 Subject: [PATCH 3/3] Styling FileAccessStatusList Dialog and Buttons merged conflicts Bug: #55 Test: Verified above desktop changes with android device --- _locales/ar.xml | 4 +- _locales/az.xml | 22 +++--- _locales/bg.xml | 22 +++--- _locales/en.xml | 38 ++++----- .../dialogs/FileAccessStatusDialog.tsx | 11 ++- .../src/components/message/Message.tsx | 78 +------------------ 6 files changed, 54 insertions(+), 121 deletions(-) diff --git a/_locales/ar.xml b/_locales/ar.xml index 07b1eb1b..d1c335f9 100644 --- a/_locales/ar.xml +++ b/_locales/ar.xml @@ -1,7 +1,7 @@ - Delta Chat + Privitty Chat موافق إلغاء نعم @@ -186,7 +186,7 @@ السمة اللغة استخدام الرموز التعبيرية بالنظام - Delta Chat تعطيل الرموز التعبيرية المدمجة في + Privitty Chat تعطيل الرموز التعبيرية المدمجة في المحادثات أصوات خلال الدردش أخرى diff --git a/_locales/az.xml b/_locales/az.xml index c3127d11..d44bade3 100644 --- a/_locales/az.xml +++ b/_locales/az.xml @@ -1,7 +1,7 @@ - Delta Chat + Privitty Chat OK Imtina Bəli @@ -202,7 +202,7 @@ %d yeni messaj %d yeni messaj - Başqalarının bu qrup daxilində cavab verməsinə imkan verən ilk mesajı yaradın. \n\n• Bütün üzvlər Delta Chat istifadə etsələr daha yaxşıdır. \n\n• İlk mesajı çatdırmaq bir müddət ala bilər. + Başqalarının bu qrup daxilində cavab verməsinə imkan verən ilk mesajı yaradın. \n\n• Bütün üzvlər Privitty Chat istifadə etsələr daha yaxşıdır. \n\n• İlk mesajı çatdırmaq bir müddət ala bilər. Ləğv etmək üçün sürüşdürün Bir səsli mesajı yazmaq üçün toxunun və saxlayın, göndərmək üçün buraxın Qutu boşdur.\nYeni çata başlamaq üçün \"+\" işarəsinə toxunun. @@ -245,7 +245,7 @@ Serverinə daxil ol Mövcud e-mail hesabı ilə daxil olun Məlum elektron poçt provayderləri üçün əlavə parametrlər avtomatik olaraq quraşdırılır. Bəzən IMAP-ın web məkanında aktiv olması lazımdır. Yardım üçün e-poçt provayderinizə və ya dostlarınıza müraciət edin. - Delta Chat serverləri yoxdur, məlumatlarınız cihazınızda qalır! + Privitty Chat serverləri yoxdur, məlumatlarınız cihazınızda qalır! Gələn IMAP logini IMAP server @@ -259,7 +259,7 @@ SMTP təhlükəsizliyi Yetkiləndirmə metodu Sadələşdirilmiş tənzimləmə ilə davam edirsiniz? - Daxil edilmiş e-poçt ünvanı sadələşdirilmiş bir quraşdırma (OAuth2) dəstəkləyir. \n\nNövbəti addımda Delta Chat e-poçt tətbiqinizlə söhbət etməyə icazə verin. \n\n Delta Chat serverləri, cihazınızda qalır! + Daxil edilmiş e-poçt ünvanı sadələşdirilmiş bir quraşdırma (OAuth2) dəstəkləyir. \n\nNövbəti addımda Privitty Chat e-poçt tətbiqinizlə söhbət etməyə icazə verin. \n\n Privitty Chat serverləri, cihazınızda qalır! Sertifikat yoxlanmaları Xahiş edirik düzgün bir e-poçt ünvanı daxil et Xahiş edirik, düzgün bir server / IP ünvanı daxil et @@ -316,7 +316,7 @@ Bildirişlər aradan qaldırılırsa, başqalarının oxuduğu bildirişləri görə bilməyəcəksiniz. Açar edarəetməsi Sistem emojisini istifadə edin - Emoji Delta chat üçün daxili dəstəyi bağlayın. + Emoji Privitty chat üçün daxili dəstəyi bağlayın. Çatlar Çatda olan səslər Log-a bax @@ -343,7 +343,7 @@ Bu seçimi ləğv etsəniz, serverinizin və digər müştərilərinizin müvafiq olaraq konfiqurasiya olunduğundan əmin olun. \n\nAyrıca şeylər işləməyəcəkdir. Göndərilmişlərin qovluğunu izləyin Özünə kopya göndər - DeltaChat qovluğuna avtomatik keçid + PrivittyChat qovluğuna avtomatik keçid Çat söhbətləri Daxil olanlar qovluğunun yığılmaması üçün taşınır Klassik e-poçtları göstər Xeyir, ancaq çatlar @@ -413,11 +413,11 @@ İzin tələb olunur Davam edin - Delta Chat şəkillər və ya video çəkmək üçün kamera icazə tələb edir, lakin bu, əbədi imtina edilmişdir. Proqramın sistem ayarlarına gedib \"İcazələr\"-i seçin və \"kamera\" izni verin. + Privitty Chat şəkillər və ya video çəkmək üçün kamera icazə tələb edir, lakin bu, əbədi imtina edilmişdir. Proqramın sistem ayarlarına gedib \"İcazələr\"-i seçin və \"kamera\" izni verin. - Delta Chat yer əlavə etmək üçün yer icazə tələb edir, lakin daimi olaraq rədd edilmişdir. \"İcazələr\"-i seçin və\"Yerləşmə\" izni verin. - Delta Chat, fotoşəkilləri, videoları və ya səsləri əlavə etmək və ya ixrac etmək üçün saxlama icazəsini tələb edir, lakin bu daimi olaraq rədd edildi. Xahiş edirik tətbiq ayarları menyusuna davam edin, \"İzinlər\" seçin və \"Yaddaş\" funksiyasını aktivləşdirin. - Delta Chat yer əlavə etmək üçün yer icazə tələb edir, lakin daimi olaraq rədd edilmişdir. \"İcazələr\"-i seçin və\"Yerləşmə\" izni verin. + Privitty Chat yer əlavə etmək üçün yer icazə tələb edir, lakin daimi olaraq rədd edilmişdir. \"İcazələr\"-i seçin və\"Yerləşmə\" izni verin. + Privitty Chat, fotoşəkilləri, videoları və ya səsləri əlavə etmək və ya ixrac etmək üçün saxlama icazəsini tələb edir, lakin bu daimi olaraq rədd edildi. Xahiş edirik tətbiq ayarları menyusuna davam edin, \"İzinlər\" seçin və \"Yaddaş\" funksiyasını aktivləşdirin. + Privitty Chat yer əlavə etmək üçün yer icazə tələb edir, lakin daimi olaraq rədd edilmişdir. \"İcazələr\"-i seçin və\"Yerləşmə\" izni verin. Şifrələnmiş mesaj @@ -454,5 +454,5 @@ Loq mələfini açın Loq-faylı açın - Delta Chat arxa fonda mesajları almaq üçün bura toxunun. + Privitty Chat arxa fonda mesajları almaq üçün bura toxunun. diff --git a/_locales/bg.xml b/_locales/bg.xml index 43fe5dc0..cab4b630 100644 --- a/_locales/bg.xml +++ b/_locales/bg.xml @@ -1,7 +1,7 @@ - Delta Chat + Privitty Chat OK Отказ Изчистване на търсенето @@ -42,7 +42,7 @@ Деархивиране Изключване на звука Изчезващи съобщения - Приложимо за всички членове на този чат, ако използват Delta Chat; в противен случай те пак могат да копират, записват и препращат съобщения или да използват други клиенти за електронна поща. + Приложимо за всички членове на този чат, ако използват Privitty Chat; в противен случай те пак могат да копират, записват и препращат съобщения или да използват други клиенти за електронна поща. Записване Чат Медия @@ -318,7 +318,7 @@ Докоснете, за да отворите Сървър за видеочат Вашият сървър за видеочат - + Примери: https://meet.jit.si/$ROOM или basicwebrtc:https://вашият-сървър Ако настройката е разрешена, можете да започвате видеочат от всеки чат. Изисква съвместимо приложение или браузър и от двете страни. Да се използва ли \"%1$s\" за поканване на други към видеочатове?\n\nСлед като тази настройка бъде зададена, ще можете да започвате видеочат от всеки чат. Тя ще замени предишната настройка за видеочатове, ако има такава. @@ -482,9 +482,9 @@ Добавяне на допълнително устройство Уверете се, че и двете устройства са свързани към една и съща Wi-Fi или друга мрежа Ще бъде създаден QR код, чрез сканиране на който другото устройство може да копира акаунта. - Инсталирайте Delta Chat на другото Ви устройство (https://get.delta.chat) + Инсталирайте Privitty Chat на другото Ви устройство (https://get.Privitty.chat) - Стартирайте Delta Chat, докоснете \"Добавяне като допълнително устройство\" и сканирайте кода, показан тук + Стартирайте Privitty Chat, докоснете \"Добавяне като допълнително устройство\" и сканирайте кода, показан тук Сканирайте, за да установите допълнително устройство за %1$s Добавяне като допълнително устройство @@ -557,7 +557,7 @@ Влизане във Вашия акаунт за електронна поща Влизане със съществуващ акаунт за електронна поща За известните доставчици на електронна поща допълнителните настройки се попълват автоматично. Понякога е необходимо да се разреши IMAP в уеб настройките. Потърсете помощ от Вашия доставчик на електронна поща или приятели. - Delta Chat няма сървъри, Вашите данни стоят на Вашето устройство. + Privitty Chat няма сървъри, Вашите данни стоят на Вашето устройство. Входящи Име за влизане на IMAP IMAP сървър @@ -571,7 +571,7 @@ Сигурност на SMTP връзката Метод за оторизация Да се продължи ли с опростената настройка? - Въведеният адрес за електронна поща поддържа опростена настройка (OAuth 2.0).\n\nНа следващата стъпка, моля позволете на Delta Chat да действа в качеството си на избраното от Вас приложение за чат върху електронна поща.\n\nDelta Chat няма сървъри, Вашите данни стоят на Вашето устройство. + Въведеният адрес за електронна поща поддържа опростена настройка (OAuth 2.0).\n\nНа следващата стъпка, моля позволете на Privitty Chat да действа в качеството си на избраното от Вас приложение за чат върху електронна поща.\n\nPrivitty Chat няма сървъри, Вашите данни стоят на Вашето устройство. Проверки на сертификатите Моля, въведете валиден адрес за електронна поща Моля, въведете валиден адрес / IP адрес на сървър @@ -653,7 +653,7 @@ Криптиране Управление на ключове Да се използва Emoji на системата - Изключване на вградената поддръжка за Emoji на Delta Chat + Изключване на вградената поддръжка за Emoji на Privitty Chat Прочитане на системната адресна книга Да се предлага създаване на чатове с контакти от адресната книга. За някои доставчици е необходимо първо да се настрои криптиране от край до край. Чатове @@ -688,10 +688,10 @@ Да бъде наблюдавана папката \"Изпратени\" Изпращане на копие до себе си Изисква се, когато този акант се използва на повече от едно устройство. - Автоматично преместване в папката DeltaChat + Автоматично преместване в папката PrivittyChat Разговорите са преместени, за да се избегне претрупване на папката \"Входящи\" - Да се извлича само от папката DeltaChat - Другите папки да не бъдат взимани под внимание. Изисква Вашият сървър да премества чат съобщенията в папката DeltaChat. + Да се извлича само от папката PrivittyChat + Другите папки да не бъдат взимани под внимание. Изисква Вашият сървър да премества чат съобщенията в папката PrivittyChat. Да се показват класически e-mail съобщения Не, само чатове За приетите контакти diff --git a/_locales/en.xml b/_locales/en.xml index baf71cfd..28efd9cf 100644 --- a/_locales/en.xml +++ b/_locales/en.xml @@ -363,7 +363,7 @@ Tap to Open Video Chat Instance Your Video Chat Instance - + Example: https://your-server.org/$ROOM If enabled, you can start a video chat from each chat. Requires a compatible app or a browser on both ends. Use \"%1$s\" to invite others to video chats?\n\nOnce set, you can start a video chat from each chat. This replaces any previous setting for video chats. @@ -547,9 +547,9 @@ Add Second Device Make sure both devices are on the same Wi-Fi or network This creates a QR code that the second device can scan to copy the profile.\n\nMake sure no unwanted observer or camera can see the following screen. - Install Delta Chat on your other device (https://get.delta.chat) + Install Privitty Chat on your other device (https://get.Privitty.chat) - Start Delta Chat, tap “I Already Have a Profile / Add as Second Device” and scan the code shown here + Start Privitty Chat, tap “I Already Have a Profile / Add as Second Device” and scan the code shown here Scan to set up second device for %1$s Add as Second Device @@ -943,7 +943,7 @@ Messages are guaranteed to be end-to-end encrypted from now on. Tap to learn more. It is now guaranteed that all messages in this chat are end-to-end encrypted.\n\nEnd-to-end encryption keeps messages private between you and your chat partners. Not even servers, providers or relays can read them. %1$s sent a message from another device. Tap to learn more. - End-to-end encryption cannot be guaranteed anymore, likely because %1$s reinstalled Delta Chat or sent a message from another device.\n\nYou may meet them in person and scan their QR code again to reestablish guaranteed end-to-end encryption. + End-to-end encryption cannot be guaranteed anymore, likely because %1$s reinstalled Privitty Chat or sent a message from another device.\n\nYou may meet them in person and scan their QR code again to reestablish guaranteed end-to-end encryption. ⚠️ %1$s requires end-to-end encryption which is not setup for this chat yet. Tap to learn more. To establish end-to-end-encryption, you may meet contacts in person and scan their QR Code to introduce them. Learn More @@ -953,7 +953,7 @@ ⚠️ Your provider\'s storage is about to run out: %1$s%% are already used.\n\nYou may not be able to receive messages if storage is full.\n\n👉 Please check if you can delete old data in the provider\'s web interface and consider enabling \"Settings / Chats and Media / Delete Old Messages\". You can check your current storage usage anytime at \"Settings / Connectivity\". ⚠️ Date or time on your device seems to be inaccurate (%1$s).\n\nAdjust your clock ⏰🔧 to ensure your messages are received correctly. - ⚠️ Your Delta Chat version might be outdated.\n\nThis may cause problems because your chat partners use newer versions - and you are missing the latest features 😳\nPlease check https://get.delta.chat or your app store for updates. + ⚠️ Your Privitty Chat version might be outdated.\n\nThis may cause problems because your chat partners use newer versions - and you are missing the latest features 😳\nPlease check https://get.Privitty.chat or your app store for updates. Unlock to continue @@ -1042,7 +1042,7 @@ To send audio messages, go to system or app settings, select "Permissions" or "Privacy & Security", and enable \"Microphone\". To receive or send files, go to the app settings, select \"Permissions\", and enable \"Storage\". To attach a location, go to the app settings, select \"Permissions\", and enable \"Location\". - To receive notifications, go to \"System Settings / Apps / Delta Chat\" and enable \"Notifications\". + To receive notifications, go to \"System Settings / Apps / Privitty Chat\" and enable \"Notifications\". Draw anywhere to blur @@ -1141,7 +1141,7 @@ Import device contacts To chat with contacts from your device open Settings and enable \"Contacts\". - Disabled in Delta Chat + Disabled in Privitty Chat Disabled in system settings \"Background App Refresh\" disabled in system settings @@ -1156,20 +1156,20 @@ Shortcuts - Use Delta Chat\'s \"Add to Widget\" to add items + Use Privitty Chat\'s \"Add to Widget\" to add items Remove from Widget Add to Widget - Delta Chat uses your camera to take and send photos and videos and to scan QR codes. - Delta Chat uses your contacts to show a list of addresses you can write to. Delta Chat has no server, your contacts are not sent anywhere. - Delta Chat needs permission to share your location for the timespan you have enabled location sharing. - Delta Chat needs permission to share your location for the timespan you have enabled location sharing. - Delta Chat uses your microphone to record and send voice messages and videos with sound. - Delta Chat will let you choose which photos from your library to send. - Delta Chat wants to save images to your photo library. - Delta Chat can use Face ID to protect your local profile, backup creation and second device setup. + Privitty Chat uses your camera to take and send photos and videos and to scan QR codes. + Privitty Chat uses your contacts to show a list of addresses you can write to. Privitty Chat has no server, your contacts are not sent anywhere. + Privitty Chat needs permission to share your location for the timespan you have enabled location sharing. + Privitty Chat needs permission to share your location for the timespan you have enabled location sharing. + Privitty Chat uses your microphone to record and send voice messages and videos with sound. + Privitty Chat will let you choose which photos from your library to send. + Privitty Chat wants to save images to your photo library. + Privitty Chat can use Face ID to protect your local profile, backup creation and second device setup. @@ -1179,10 +1179,10 @@ Force Background Connection Causes a permanent notification - To maintain connection and receive messages in the background, ignore battery optimizations in the next step.\n\nDelta Chat uses few resources and takes care not to drain your battery. + To maintain connection and receive messages in the background, ignore battery optimizations in the next step.\n\nPrivitty Chat uses few resources and takes care not to drain your battery. - Tap here to receive messages while Delta Chat is in the background. - You already allowed Delta Chat to receive messages in the background.\n\nIf messages still do not arrive in background, please also check your system settings. + Tap here to receive messages while Privitty Chat is in the background. + You already allowed Privitty Chat to receive messages in the background.\n\nIf messages still do not arrive in background, please also check your system settings. What\'s new?\n\n❤️‍🔥 New emojis picker with more emoji\n\n🎮 Enhanced in-chat apps: Get notifications and open supporting apps in context, i.e. open an added calendar entry directly\n\n👍 Get notified about reactions to your messages\n\n... 🛠️ FIXES and EVEN MORE at %1$s diff --git a/packages/frontend/src/components/dialogs/FileAccessStatusDialog.tsx b/packages/frontend/src/components/dialogs/FileAccessStatusDialog.tsx index 2f71144f..d13e91ae 100644 --- a/packages/frontend/src/components/dialogs/FileAccessStatusDialog.tsx +++ b/packages/frontend/src/components/dialogs/FileAccessStatusDialog.tsx @@ -390,8 +390,15 @@ export default function FileAccessStatusDialog({ } const getDisplayFileName = (): string => { - const name = fileName || (filePath ? basename(filePath) : 'File') - return name.replace(/\.prv$/, '') + let rawName = 'File' + + if (typeof fileName === 'string' && fileName.trim()) { + rawName = fileName + } else if (filePath) { + rawName = basename(filePath) + } + + return rawName.replace(/\.prv$/, '') } const UserCard = ({ diff --git a/packages/frontend/src/components/message/Message.tsx b/packages/frontend/src/components/message/Message.tsx index 2cc14532..5ff1223d 100644 --- a/packages/frontend/src/components/message/Message.tsx +++ b/packages/frontend/src/components/message/Message.tsx @@ -13,8 +13,6 @@ import { C, T } from '@deltachat/jsonrpc-client' import MessageBody from './MessageBody' import MessageMetaData, { isMediaWithoutText } from './MessageMetaData' import { - onDownload, - openAttachmentInShell, openForwardDialog, openMessageInfo, setQuoteInDraft, @@ -25,7 +23,6 @@ import { enterEditMessageMode, } from './messageFunctions' import Attachment from '../attachment/messageAttachment' -import { isGenericAttachment, isImage } from '../attachment/Attachment' import { runtime } from '@deltachat-desktop/runtime-interface' import { AvatarFromContact } from '../Avatar' import { ConversationType } from './MessageList' @@ -246,32 +243,6 @@ const ForwardedTitle = ({ ) } -async function showFileRecall(message: T.Message): Promise { - if ( - message.file && - message.fileName && - message.fromId === C.DC_CONTACT_ID_SELF && - !message.isForwarded - ) { - const response = await runtime.PrivittySendMessage('sendEvent', { - event_type: 'getFileAccessStatus', - event_data: { - chat_id: String(message.chatId), - file_path: message.file, - }, - }) - const jsonresp = JSON.parse(response) - if (jsonresp?.result?.data?.status === 'active') { - return Promise.resolve(true) - } else { - console.log('file cannot be recalled:') - } - return Promise.resolve(false) - } else { - return Promise.resolve(false) - } -} - async function showFileForward(message: T.Message): Promise { if (message.file && message.fileName) { if (message.fromId === C.DC_CONTACT_ID_SELF) { @@ -384,9 +355,7 @@ async function buildContextMenu( copy_item = false } - const showAttachmentOptions = !!message.file const showCopyImage = !!message.file && message.viewType === 'Image' - const showResend = message.sender.id === C.DC_CONTACT_ID_SELF // Do not show "reply" in read-only chats const showReply = chat.canSend @@ -403,7 +372,6 @@ async function buildContextMenu( // Do not show "react" for system messages const showSendReaction = showReactionsUi(message, chat) const showForward: boolean = await showFileForward(message) - const showRecallMsg: boolean = await showFileRecall(message) // Only show in groups, don't show on info messages or outgoing messages const showReplyPrivately = @@ -466,7 +434,7 @@ async function buildContextMenu( rightIcon: 'bookmark-filled', }, // copy link - link !== '' && + link !== '' && !message.file && isLink && { label: tx('menu_copy_link_to_clipboard'), action: () => runtime.writeClipboardText(link), @@ -737,47 +705,6 @@ async function getPrivittyReplacementTextForFirstTwo( } function getPrivittyReplacementText(message: T.Message): string { - if (message.isPrivittyMessage) { - if (message.subject.indexOf('new_peer_add') !== -1) { - message.text = - 'Establishing guaranteed full control over your shared data, please wait ...' - } else if ( - message.subject.indexOf('new_group_add') !== -1 || - message.subject.indexOf('new_group_concluded') !== -1 - ) { - message.text = - 'This group is Privitty secure—take control and revoke data anytime.' - } else if ( - message.subject.indexOf('new_peer_complete') !== -1 || - message.subject.indexOf('new_peer_conclude') !== -1 - ) { - message.text = - 'You are Privitty secure—take control and revoke data anytime.' - } else if (message.subject.indexOf('forward_add_request') !== -1) { - message.text = 'A file has been forwarded to you.' - } else if (message.subject.indexOf('OTSP_SENT') !== -1) { - message.text = 'You granted viewing access.' - } else if ( - message.subject.indexOf('SPLITKEYS_REQUEST') !== -1 || - message.subject.indexOf('SPLITKEYS_REQUESTING') !== -1 - ) { - message.text = 'Requesting access from the owner ...' - } else if (message.subject.indexOf('SPLITKEYS_RESPONSE') !== -1) { - message.text = 'Granted access.' - } else if (message.subject.indexOf('SPLITKEYS_REVOKED') !== -1) { - message.text = 'You revoked access' - } else if (message.subject.indexOf('SPLITKEYS_DELETED') !== -1) { - message.text = 'Requesting for a deleted message' - } else if (message.subject.indexOf('SPLITKEYS_UNDO_REVOKED') !== -1) { - message.text = 'You Undo revoke' - } else if ( - message.subject.indexOf('relay_message') !== -1 || - message.subject.indexOf('relay_request') !== -1 || - message.subject.indexOf('relay_response') !== -1 - ) { - message.text = 'relay_message' - } - } return message.text || '' } @@ -1013,7 +940,6 @@ export default function Message(props: { MouseEvent > ) => { - if (message.isPrivittyMessage) return event.preventDefault() // prevent default runtime context menu from opening const chat = await BackendRemote.rpc.getFullChatById( accountId, @@ -1142,7 +1068,7 @@ export default function Message(props: { // set message width which is used by reaction component // to adapt the number of visible reactions if ( - (message.fileMime && isImage(message.fileMime)) || + (message.fileMime) || window.innerWidth < 900 ) { // image messages have a defined width