Compare commits

...

15 Commits
main ... 5.45.x

Author SHA1 Message Date
Fedor Indutnyy 4f4ee654e0 v5.45.1 2022-06-08 07:14:02 -07:00
Fedor Indutnyy 4a877cc2ff Update strings 2022-06-08 07:13:45 -07:00
automated-signal 29cdc0d3c2
Erased messages should not stall attachment jobs
Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
2022-06-07 15:38:02 -07:00
automated-signal a53c04645d
On Sender Key distribution message failure, don't update send status
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2022-06-03 09:31:47 -07:00
Scott Nonnenberg a78c0ce500 v5.45.0 2022-06-01 14:56:17 -07:00
Scott Nonnenberg 0574b8c4af Update strings 2022-06-01 14:45:54 -07:00
Scott Nonnenberg feb5e569f3
Ensure that untrusted conversations are always rendered in dialog 2022-06-01 14:32:40 -07:00
automated-signal 08360d150c
getMessagePropStatus: Move back to isOutgoing for in/out check
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2022-06-01 12:55:12 -07:00
Scott Nonnenberg b44dafe804
Send just sync message if we've already sent to all recipients 2022-06-01 11:40:52 -07:00
automated-signal 65f909dfd5
If group avatar is the same, but URL changed, capture that new URL
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2022-05-31 13:35:18 -07:00
automated-signal 3cc89eb6db
Sort groups you've left to the bottom of search
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2022-05-31 13:35:01 -07:00
automated-signal 110e596b38
Restore useful bubble for incoming messages with errors
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2022-05-31 10:34:10 -07:00
automated-signal 350f9019c2
Append 'password-store=basic' switch on startup
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2022-05-27 09:40:29 -07:00
automated-signal a79b1949e2
When floating loading spinner isn't visible, don't render it
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2022-05-26 13:28:19 -07:00
automated-signal 897fc509ee
Make that theme values are in the expected range
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2022-05-26 12:18:39 -07:00
55 changed files with 808 additions and 839 deletions

View File

@ -929,6 +929,10 @@
"message": "يجري التنزيل",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Download Full Message",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "تنزيل المرفقات",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "يحتوي هذا الإصدار على عدد من التعديلات الصغيرة وإصلاحات الأخطاء للحفاظ على تشغيل Signal بسلاسة.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "‫إن إصلاح العلل يتضمن تصحيح مشكلة كانت تجعل أحيانا الضغط على القوائم عسيرا.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamic audio indicators in group calls help you see if you're whispering, yelling, or just right.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "‫نخص ببالغ الامتنان المساهمين في البرامج مفتوحة المصدر كلا من $dsanders11$ و $yusufsahinhamza$ على مساهمتهما في هذه التحسينات.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Groups youve requested to join from your phone (via an invite link) will now show up on Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Got a spotty Wi-Fi connection? Not a problem, you can now retry downloading attachments.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Endirilir",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Tam mesajı endir",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Qoşmanı endir",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Bu versiya, Signal-ın problemsiz işləməsini təmin etmək üçün kiçik düzəltmələr və xəta düzəltmələri ehtiva edir.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Bəzən menyuya klikləməni çətinləşdirən problemin həlli də daxil olmaqla bir çox xətalar aradan qaldırılıb.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Qrup zənglərindəki dinamik səs göstəriciləri fısıldamanı, qışqırmanı görməyinizə kömək edir.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Bu təkmilləşdirməyə töhfə verən açıq mənbə töhfəçilərimiz $dsanders11$ və $yusufsahinhamza$-ya təşəkkürlər.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Telefonunuzdan (dəvət bağlantısı vasitəsilə) qoşulmaq üçün göndərdiyiniz tələblər artıq Masaüstündə görünəcək.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Wi-Fi bağlantınız zəifdir? Problem deyil, artıq qoşmaları yenidən endirməyə çalışa bilərsiniz.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Es baixa",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Descarrega el missatge complet",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Baixa l'adjunt",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Aquesta versió conté una sèrie de petites modificacions i correccions d'errors per tal que el Signal funcioni sense problemes.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Correccions d'errors, inclosa una solució a un problema que de vegades dificultava fer clic als menús.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Els indicadors d'àudio dinàmics de les trucades de grup us ajuden a veure si esteu xiuxiuejant, cridant o esteu bé.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Gràcies als nostres col·laboradors de codi obert $dsanders11$ i $yusufsahinhamza$ per contribuir a aquestes millores.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Els grups als quals heu sol·licitat afegir-vos des del telèfon (a través d'un enllaç d'invitació) es mostraran ara a l'escriptori.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Teniu una connexió Wi-Fi irregular? No és cap problema, ara podeu tornar a provar de baixar els fitxers adjunts.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Stahování",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Stáhnout celou zprávu",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Stáhnout přílohu",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Tato verze obsahuje řadu drobných úprav a oprav chyb, aby Signal fungoval hladce.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Opravy chyb včetně opravy problému, který někdy ztěžoval klikání na položky menu.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamické indikátory zvuku ve skupinových hovorech vám pomohou zjistit, zda šeptáte, křičíte nebo mluvíte tak akorát.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Díky našim open source přispěvatelům $dsanders11$ a $yusufsahinhamza$ za příspěvky do těchto vylepšení.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Skupiny, ke kterým jste se chtěli připojit z telefonu (prostřednictvím odkazu s pozvánkou), se nyní zobrazí v aplikaci pro počítače.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Máte poruchové připojení Wi-Fi? Žádný problém, nyní můžete stahování příloh zkusit znovu.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Yn Llwytho i Lawr",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Llwytho'r Neges Lawn i Lawr",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Llwytho Atodiad i Lawr",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Mae'r fersiwn hon yn cynnwys nifer o drydariadau bach a chywiriadau gwallau i gadw Signal yn rhedeg yn llyfn.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Mae'r gwelliannau'n cynnwys datrysiad i broblem a fyddai weithiau'n ei gwneud hi'n anodd clicio ar ddewislenni.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Mae dangosyddion sain deinamig mewn grŵp yn eich cynorthwyo i weld os ydych yn sibrwd, gwaedu neu'n iawn.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Diolch i'n cyfranwyr cod agored $dsanders11$ ac $yusufsahinhamza$ am gyfrannu at y gwelliannau hyn.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Bydd grwpiau rydych wedi gofyn i gael ymuno â nhw drwy eich ffôn (drwy ddolen gwahoddiad) nawr yn cael eu dangos yn Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Cysylltiad Wi-Fi gwan? Dim problem, gallwch nawr geisio llwytho i lawr atodiadau eto.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Henter",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Hent hele beskeden",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Hent vedhæftet fil",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Denne version indeholder en række småjusteringer og fejlrettelser som sikrer, at Signal kører problemfrit.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Fejlrettelser, herunder en rettelse af et problem, som nogle gange gjorde det svært at klikke på menuer. ",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamiske lydindikatorer i gruppeopkald hjælper dig med at se, om du hvisker, råber eller er lige tilpas.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Tak til vores open source-bidragsydere $dsanders11$ og $yusufsahinhamza$ for at bidrage med disse forbedringer.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Grupper, som du har anmodet om at deltage i fra din telefon (via et invitationslink), vises nu på Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Har du en ustabil Wi-Fi-forbindelse? Det er ikke noget problem, da du nu kan prøve at hente vedhæftede filer igen.",
"description": "Release notes for v5.45"
}
}

View File

@ -218,7 +218,7 @@
"description": "Shown as a header for non-pinned conversations in the left pane"
},
"archiveHelperText": {
"message": "Diese Unterhaltungen sind archiviert und erscheinen nur dann im Eingang, wenn neue Nachrichten eingehen.",
"message": "Diese Unterhaltungen sind archiviert und erscheinen nur dann wieder im Eingang, wenn für sie neue Nachrichten eingehen.",
"description": "Shown at the top of the archived conversations list in the left pane"
},
"noArchivedConversations": {
@ -234,7 +234,7 @@
"description": "Shown in menu for conversation, and marks conversation as unread"
},
"moveConversationToInbox": {
"message": "Rückgängig",
"message": "Dearchivieren",
"description": "Undoes Archive Conversation action, and moves archived conversation back to the main conversation list"
},
"pinConversation": {
@ -929,6 +929,10 @@
"message": "Wird heruntergeladen",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Ganze Nachricht herunterladen",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Anhang herunterladen",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -1534,7 +1538,7 @@
"description": "Button tooltip label for turning on the camera"
},
"calling__button--audio__label": {
"message": "Stummschalten",
"message": "Stumm­schalten",
"description": "Label under the audio button"
},
"calling__button--audio-disabled": {
@ -2758,7 +2762,7 @@
"description": "Shown in a message's bubble when the message has been deleted for everyone."
},
"message--giftBadge--unopened": {
"message": "Schaue dir diese Nachricht auf deinem Mobilgerät an, um diese zu öffnen",
"message": "Schau dir diese Nachricht auf deinem Mobilgerät an, um sie zu öffnen",
"description": "Shown in a message's bubble when you've received a gift badge from a contact"
},
"message--giftBadge--unopened--label": {
@ -2770,7 +2774,7 @@
"description": "Shown when you've clicked on an incoming gift badge you haven't yet redeemed"
},
"message--giftBadge--unopened--toast--outgoing": {
"message": "Nutze dein Mobilgerät, um dieses Geschenk anzusehen",
"message": "Nutze dein Mobilgerät, um dein Geschenk anzusehen",
"description": "Shown when you've clicked on an outgoing gift badge"
},
"message--giftBadge--preview--unopened": {
@ -3124,7 +3128,7 @@
"description": "Shown in the shortcuts guide"
},
"Keyboard--unarchive-conversation": {
"message": "Unterhaltung in Eingang verschieben",
"message": "Unterhaltung dearchivieren",
"description": "Shown in the shortcuts guide"
},
"Keyboard--search": {
@ -3296,7 +3300,7 @@
"description": "Shown in the calling keyboard shortcuts guide"
},
"Keyboard--hang-up": {
"message": "Auflegen",
"message": "Anruf beenden",
"description": "Shown in the calling keyboard shortcuts guide"
},
"close-popup": {
@ -7265,22 +7269,16 @@
"message": "Diese Version enthält eine Reihe kleinerer Optimierungen und Fehlerbehebungen, damit Signal weiterhin reibungslos funktioniert.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Fehlerkorrekturen einschließlich der Behebung eines Problems, das es manchmal schwierig machte, auf Menüs zu klicken.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamische Audioindikatoren in Gruppenanrufen helfen dir dabei festzustellen, ob du gerade flüsterst, schreist oder genau richtig bist.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Vielen Dank an unsere Mitwirkenden am Open-Source-Projekt $dsanders11$ und $yusufsahinhamza$, die zu diesen Verbesserungen beigetragen haben.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Gruppen, für die du eine Beitrittsanfrage von deinem Telefon (via eines Einladungslinks) gestellt hast, werden nun auch auf dem PC angezeigt.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Du hast eine lückenhafte WLAN-Verbindung? Kein Problem, du kannst ab jetzt versuchen, Anhänge erneut herunterzuladen.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Κατεβαίνει",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Λήψη ολόκληρου του μηνύματος",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Λήψη συνημμένου",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -2758,7 +2762,7 @@
"description": "Shown in a message's bubble when the message has been deleted for everyone."
},
"message--giftBadge--unopened": {
"message": "View this message on mobile to open it",
"message": "Δες αυτό το μήνυμα στο κινητό για να το ανοίξεις",
"description": "Shown in a message's bubble when you've received a gift badge from a contact"
},
"message--giftBadge--unopened--label": {
@ -2766,11 +2770,11 @@
"description": "Shown in a message's bubble when you've received a gift badge from a contact"
},
"message--giftBadge--unopened--toast--incoming": {
"message": "Check your phone to open gift",
"message": "Δες το τηλέφωνό σου για να ανοίξεις το δώρο",
"description": "Shown when you've clicked on an incoming gift badge you haven't yet redeemed"
},
"message--giftBadge--unopened--toast--outgoing": {
"message": "Check your phone to view your gift",
"message": "Δες το τηλέφωνό σου για να δεις το δώρο",
"description": "Shown when you've clicked on an outgoing gift badge"
},
"message--giftBadge--preview--unopened": {
@ -2778,15 +2782,15 @@
"description": "Shown to label the gift badge in notifications and the left pane"
},
"message--giftBadge--preview--redeemed": {
"message": "Εξαργύρωσες ένα δώρο έμβλημα",
"message": "Εξαργύρωσες ένα έμβλημα δώρο",
"description": "Shown to label the redeemed gift badge in notifications and the left pane"
},
"message--giftBadge--preview--sent": {
"message": "You sent a gift badge",
"message": "Έστειλες ένα έμβλημα δώρο",
"description": "Shown to label a gift badge you've sent in notifications and the left pane"
},
"message--giftBadge": {
"message": "Gift Badge",
"message": "Έμβλημα δώρο",
"description": "Shown to label the gift badge you've redeemed on another device"
},
"quote--giftBadge": {
@ -2794,7 +2798,7 @@
"description": "Shown to label a gift badge you've replied to"
},
"message--giftBadge--remaining--days": {
"message": "$days$ days remaining",
"message": "Απομένουν $days$ ημέρες",
"description": "Describes how long remains for the gift badge you've redeemed on another device (only rendered for days > 1)",
"placeholders": {
"days": {
@ -2804,7 +2808,7 @@
}
},
"message--giftBadge--remaining--hours": {
"message": "$hours$ hours remaining",
"message": "Απομένουν $hours$ ώρες",
"description": "Describes how long remains for the gift badge you've redeemed on another device (only rendered for hours > 1)",
"placeholders": {
"hours": {
@ -2814,7 +2818,7 @@
}
},
"message--giftBadge--remaining--minutes": {
"message": "$minutes$ minutes remaining",
"message": "Απομένουν $minutes$ λεπτά",
"description": "Describes how long remains for the gift badge you've redeemed on another device (only rendered for minutes > 1)",
"placeholders": {
"minutes": {
@ -2824,11 +2828,11 @@
}
},
"message--giftBadge--remaining--one-minute": {
"message": "1 minute remaining",
"message": "Απομένει 1 λεπτό",
"description": "Describes how long remains for the gift badge you've redeemed on another device"
},
"message--giftBadge--expired": {
"message": "Expired",
"message": "Έληξε",
"description": "Shows that a gift badge is expired"
},
"message--giftBadge--view": {
@ -2844,7 +2848,7 @@
"description": "The title of the outgoing gift badge detail dialog"
},
"modal--giftBadge--description": {
"message": "You've gifted a badge to $name$. When they accept, they'll be given a choice to show or hide their badge.",
"message": "Έκανες δώρο ένα έμβλημα στον/στην $name$. Όταν το αποδεχτεί, θα έχει την επιλογή να το εμφανίσει ή να το αποκρύψει.",
"description": "The description of the outgoing gift badge detail dialog",
"placeholders": {
"name": {
@ -3276,11 +3280,11 @@
"description": "Shown in the shortcuts guide"
},
"Keyboard--accept-video-call": {
"message": "Accept call with video",
"message": "Αποδοχή κλήσης με βίντεο",
"description": "Shown in the calling keyboard shortcuts guide"
},
"Keyboard--accept-audio-call": {
"message": "Accept call with audio",
"message": "Αποδοχή κλήσης με ήχο",
"description": "Shown in the calling keyboard shortcuts guide"
},
"Keyboard--start-audio-call": {
@ -7168,7 +7172,7 @@
"description": "Button label to reply to a story"
},
"StoryViewer__reply-group": {
"message": "Reply to Group",
"message": "Απάντηση στην ομάδα",
"description": "Button label to reply to a group story"
},
"StoryViewer__mute": {
@ -7236,7 +7240,7 @@
"description": "Title for replies to stories"
},
"Quote__story-reaction": {
"message": "Reacted to a story from $name$",
"message": "Αντέδρασε σε ιστορία του/της $name$",
"description": "Label for when a person reacts to a story",
"placeholders": {
"name": {
@ -7265,22 +7269,16 @@
"message": "Αυτή η έκδοση περιλαμβάνει διάφορες μικρές βελτιώσεις και αποσφαλματώσεις για να συνεχίσει το Signal να λειτουργεί ομαλά.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Διορθώσεις σφαλμάτων, συμπεριλαμβανομένης της διόρθωσης ενός προβλήματος που έκανε δύσκολο το κλικ στα μενού.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Οι δυναμικές ενδείξεις ήχου στις ομαδικές κλήσεις βοηθούν να δεις αν μιλάς πολύ χαμηλόφωνα, φωνάζοντας, ή σε καλή στάθμη.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Ευχαριστούμε τους συνεισφέροντες στον ανοιχτού κώδικα, $dsanders11$ και $yusufsahinhamza$, για τη συνεισφορά τους στις βελτιώσεις αυτές.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Οι ομάδες στις οποίες ζήτησες να μπεις από το τηλέφωνό σου (μέσω ενός συνδέσμου πρόσκλησης) θα εμφανίζονται πλέον στο Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Ασταθής σύνδεση Wi-Fi; Κανένα πρόβλημα, μπορείς πλέον να ξαναδοκιμάσεις τη λήψη συνημμένων.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Elŝutado",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Elŝuti la tutan mesaĝon",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Elŝuti kunsendaĵon",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Tiu versio enhavas kelkajn optimumaĵojn kaj riparetojn, por ke Signal plu funkciu bone.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Riparoj korektas problemon kun menuoj malfacile alklakeblaj.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Aŭd-indikiloj en grupalvoko helpas al vi vidi, se vi murmuras, krias aŭ parolas normale.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Dankon al niaj malfermit-kodaj kontribuantoj $dsanders11$ kaj $yusufsahinhamza$ pro tiuj plibonigoj.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "La grupoj, kiujn vi petis anigi ĉe via telefono (pere de invitoligilo), montriĝos en Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Ĉu vi havas nestabilan retkonekton? Tio ne plus estas problemo, vin povas nun reprovi elŝuti la kunsendaĵojn.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Descargando",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Descargar mensaje completo",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Descargar archivo adjunto",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Esta versión contiene un par de pequeñas mejoras para que Signal funcione sin problemas.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Reparación de fallos incluyendo uno que hacía casi imposible hacer clic en menús.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Indicador dinámico de audio en llamadas de grupo para comprobar quién susurra, grita o habla normalmente.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Gracias a nuestr@s colaborador@s $dsanders11$ y $yusufsahinhamza$ por contribuir con estas mejoras.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Ahora, los grupos a los que has solicitado unirte desde tu celular/móvil (vía enlace) se mostrarán en la aplicación de escritorio.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "¿Usas una conexión Wifi con problemas? No te preocupes: Ahora puedes reintentar la descarga de adjuntos.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Ladataan",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Lataa koko viesti",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Lataa liite",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Tämä versio sisältää useita pieniä parannuksia ja virhekorjauksia, jotka pitävät Signalin toiminnan sujuvana.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Virheenkorjauksia, mukaan lukien sen virheen korjaaminen joka teki joskus valikoiden klikkaamisesta hankalaa.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynaamiset ääni-indikaattorit ryhmäpuheluissa auttavat nyt sinua näkemään kuiskaatko, huudatko vai puhutko sopivalla äänenvoimakkuudella.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Kiitos vapaaehtoisille osallistujillemme $dsanders11$ ja $yusufsahinhamza$ heidän panoksestaan näihin parannuksiin.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Näet nyt myös työpöytäversiossa ryhmät, joihin olet pyytänyt liittymistä puhelimellasi.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Onko sinulla pykivä verkkoyhteys? Ei hätää, voit nyt käskyttää Signalin yrittämään liitteiden lataamista uudelleen.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Téléchargement",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Download Full Message",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Télécharger le fichier joint",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7168,7 +7172,7 @@
"description": "Button label to reply to a story"
},
"StoryViewer__reply-group": {
"message": "Reply to Group",
"message": "Répondre au groupe",
"description": "Button label to reply to a group story"
},
"StoryViewer__mute": {
@ -7236,7 +7240,7 @@
"description": "Title for replies to stories"
},
"Quote__story-reaction": {
"message": "Reacted to a story from $name$",
"message": "A réagi à une histoire de $name$",
"description": "Label for when a person reacts to a story",
"placeholders": {
"name": {
@ -7250,7 +7254,7 @@
"description": "Label for when a person reacts to your story"
},
"Quote__story-reaction--single": {
"message": "A réagi à une histoire",
"message": "A réagi à une histoire",
"description": "Used whenever we can't find a user's first name"
},
"Quote__story-unavailable": {
@ -7265,22 +7269,16 @@
"message": "Cette version contient un certain nombre de petits ajustements et de corrections de bogues pour assurer le bon fonctionnement de Signal.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Correction de bogues, notamment dun problème rendant parfois difficile de cliquer sur les menus.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamic audio indicators in group calls help you see if you're whispering, yelling, or just right.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Thanks to our open source contributors $dsanders11$ and $yusufsahinhamza$ for contributing to these improvements.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Groups youve requested to join from your phone (via an invite link) will now show up on Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Got a spotty Wi-Fi connection? Not a problem, you can now retry downloading attachments.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "מוריד",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "הורד הודעה מלאה",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "הורד צרופה",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "גרסה זו מכילה מספר של שפצורים קטנים ותיקוני תקלים כדי לשמור על Signal שירוץ באופן חלק.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "תיקוני תקלים כולל תיקון אל סוגייה שהקשתה לפעמים ללחוץ על תפריטים.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "מחווני שמע דינאמיים בשיחות קבוצתיות עוזרות לך לראות אם אתה לוחש, צורח, או פשוט צודק.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "תודה אל תורמי הקוד הפתוח שלנו $dsanders11$ וכן $yusufsahinhamza$ על תרומה אל השיפורים האלו.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "קבוצות שביקשת להצטרף אליהן מהטלפון שלך (באמצעות קישור הזמנה) יופיעו על שולחן עבודה.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "יש לך חיבור Wi-Fi בלתי יציב? אין בעיה, אתה יכול לנסות מחדש עכשיו להוריד צרופות.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Letöltés",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Teljes üzenet letöltése",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Csatolmány letöltése",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Ebbe a verzióba néhány kisebb újítás és hibajavítás került annak érdekében, hogy a Signal továbbra is gond nélkül fusson.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Orvosoltunk egy problémát, amikor a menüelemekre kattintás nem minden esetben működött.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "A csoporthívásokban megjelenő dinamikus hangerő indikátorok segítenek megállapítani, hogy épp suttogsz, üvöltesz, vagy pont jó a hangerőd.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Köszönjük a nyílt forrású hozzájárulásokat $dsanders11$ és $yusufsahinhamza$ felhasználóknak, akik közreműködtek számos hiba javításában.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Azok a csoportok, ahová telefonról kérted felvételedet (csoporthivatkozás használatával) mostantól megjelennek a Desktopban is.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Szakadozik a Wi-Fi? Nem gond, mostantól újraindíthatod a csatolmányok letöltését.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Mengunduh",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Download Full Message",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Unduh Lampiran",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -2828,7 +2832,7 @@
"description": "Describes how long remains for the gift badge you've redeemed on another device"
},
"message--giftBadge--expired": {
"message": "Expired",
"message": "Kadaluwarsa",
"description": "Shows that a gift badge is expired"
},
"message--giftBadge--view": {
@ -7246,11 +7250,11 @@
}
},
"Quote__story-reaction--yours": {
"message": "Reacted to your story",
"message": "Bereaksi terhadap cerita Anda",
"description": "Label for when a person reacts to your story"
},
"Quote__story-reaction--single": {
"message": "Reacted to a story",
"message": "Bereaksi terhadap sebuah cerita",
"description": "Used whenever we can't find a user's first name"
},
"Quote__story-unavailable": {
@ -7265,22 +7269,16 @@
"message": "Versi ini mengandung sejumlah perubahan kecil dan perbaikan bug agar Signal tetap berjalan lancar.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Bug fixes including a fix to an issue that would sometimes make it difficult to click on menus. ",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamic audio indicators in group calls help you see if you're whispering, yelling, or just right.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Thanks to our open source contributors $dsanders11$ and $yusufsahinhamza$ for contributing to these improvements.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Groups youve requested to join from your phone (via an invite link) will now show up on Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Got a spotty Wi-Fi connection? Not a problem, you can now retry downloading attachments.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Sæki gögn",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Sækja öll skilaboðin",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Sækja viðhengi",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -2758,7 +2762,7 @@
"description": "Shown in a message's bubble when the message has been deleted for everyone."
},
"message--giftBadge--unopened": {
"message": "View this message on mobile to open it",
"message": "Skoðaðu þessi skilaboð á farsíma til að opna þau",
"description": "Shown in a message's bubble when you've received a gift badge from a contact"
},
"message--giftBadge--unopened--label": {
@ -2766,11 +2770,11 @@
"description": "Shown in a message's bubble when you've received a gift badge from a contact"
},
"message--giftBadge--unopened--toast--incoming": {
"message": "Check your phone to open gift",
"message": "Athugaðu farsímann þinn til að opna gjöf",
"description": "Shown when you've clicked on an incoming gift badge you haven't yet redeemed"
},
"message--giftBadge--unopened--toast--outgoing": {
"message": "Check your phone to view your gift",
"message": "Athugaðu farsímann þinn til að skoða gjöfina þína",
"description": "Shown when you've clicked on an outgoing gift badge"
},
"message--giftBadge--preview--unopened": {
@ -3276,11 +3280,11 @@
"description": "Shown in the shortcuts guide"
},
"Keyboard--accept-video-call": {
"message": "Accept call with video",
"message": "Samþykkja símtal með myndmerki",
"description": "Shown in the calling keyboard shortcuts guide"
},
"Keyboard--accept-audio-call": {
"message": "Accept call with audio",
"message": "Samþykkja símtal með hljóði",
"description": "Shown in the calling keyboard shortcuts guide"
},
"Keyboard--start-audio-call": {
@ -7265,22 +7269,16 @@
"message": "Þessi útgáfa inniheldur nokkrar villuleiðréttingar og fínstillingar til að Signal keyri sem áreiðanlegast.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Villulagfæringar, meðal annars á vandamáli við að smella á valmyndir.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Gagnvirkir vísar í hópsamtölum gera þér kleift að sja hvort þú sért að hvísla, kalla eða tala eðlilega.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Þökk sé sjálfboðaliðunum $dsanders11$ og $yusufsahinhamza$ sem áttu stóran hlut í þessum endurbótum.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Hópar sem þú hefur beðið um inngöngu í á símanum þínum (með boðstengli) virtast núna í borðtölvuforritinu.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Got a spotty Wi-Fi connection? Not a problem, you can now retry downloading attachments.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Caricamento in corso",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Scarica messaggio completo",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Scarica allegato",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Questa versione contiene una serie di piccole modifiche e correzioni di bug per far funzionare Signal senza problemi.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Correzioni di bug, inclusa la correzione di un problema che a volte rendeva difficile cliccare sui menu. ",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Gli indicatori audio dinamici nelle chiamate di gruppo aiutano a capire se si sta sussurrando, urlando o se va tutto bene.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Grazie ai nostri collaboratori open source $dsanders11$ e $yusufsahinhamza$ per aver contribuito a questi miglioramenti.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "I gruppi a cui si è chiesto di partecipare dal telefono (tramite un link di invito) vengono ora visualizzati su Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "La connessione Wi-Fi è irregolare? Non è un problema, ora è possibile riprovare a scaricare gli allegati.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "ダウンロードしています",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "全文をダウンロード",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "添付ファイルをダウンロード",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -1074,7 +1078,7 @@
}
},
"cannotUpdateRequireManualDetail": {
"message": "Signal couldn't update. Visit $url$ to install it manually. Then, $support$ about this problem",
"message": "Signalをアップデートできませんでした。$url$から手動でインストールしてください。またこの問題を、$support$までお知らせください。",
"description": "Shown if a general error happened while trying to install update package and manual update is required",
"placeholders": {
"url": {
@ -7265,22 +7269,16 @@
"message": "Signalをスムーズに動作させるための微調整とバグ修正を行いました。",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "メニューがクリックしにくくなることがあるバグを修正しました。",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "グループ通話時のダイナミックオーディオインジケーターが登場!自分の声の大きさを確認できます。",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "コントリビューターである、$dsanders11$ と、 $yusufsahinhamza$、ありがとうございます!",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "自分が招待リンクを使ってスマートフォンから参加申請したグループが、デスクトップアプリにも表示されるようになりました。",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "添付ファイルのダウンロードを再試行できるようになりました。",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Atsisiunčiama",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Atsisiųsti visą žinutę",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Atsisiųsti priedą",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Šioje versijoje yra daug smulkių patobulinimų ir klaidų ištaisymų, kurie padės Signal sklandžiai veikti.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Klaidų pataisymas, skirtas išspręsti problemą, dėl kurios, kartais, būdavo sunku spustelėti ant meniu.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dinaminiai garso indikatoriai grupės skambučiuose padeda jums matyti, ar šnabždate, šaukiate, ar kalbate įprastai.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Dėkojame mūsų atvirojo kodo talkininkams $dsanders11$ ir $yusufsahinhamza$ už šių patobulinimų pateikimą.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Dabar, grupės, prie kurių pateikėte prašymą prisijungti naudodamiesi telefonu (per pakvietimo nuorodą), bus rodomos darbalaukio programoje.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Naudojatės prastu belaidžiu ryšiu? Ne problema, dabar, galite pakartotinai bandyti atsisiųsti priedus.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Преземам",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Download Full Message",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Преземи прилог",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -2836,7 +2840,7 @@
"description": "Shown when you've sent a gift badge to someone then opened it"
},
"message--giftBadge--redeemed": {
"message": "Redeemed",
"message": "Прифатено",
"description": "Shown when you've redeemed the gift badge on another device"
},
"modal--giftBadge--title": {
@ -7265,22 +7269,16 @@
"message": "This version contains a number of small tweaks and bug fixes to keep Signal running smoothly.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Bug fixes including a fix to an issue that would sometimes make it difficult to click on menus. ",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamic audio indicators in group calls help you see if you're whispering, yelling, or just right.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Thanks to our open source contributors $dsanders11$ and $yusufsahinhamza$ for contributing to these improvements.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Groups youve requested to join from your phone (via an invite link) will now show up on Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Got a spotty Wi-Fi connection? Not a problem, you can now retry downloading attachments.",
"description": "Release notes for v5.45"
}
}

View File

@ -564,7 +564,7 @@
"description": "Message shown to user in the media gallery when there are no messages with media attachments (images or video)"
},
"allMedia": {
"message": "Alle media",
"message": "Alle media uit dit gesprek",
"description": "Header for the media gallery"
},
"documents": {
@ -876,7 +876,7 @@
"description": ""
},
"typingAlt": {
"message": "Typ-animatie voor dit gesprek",
"message": "Animatie welke aangeeft dat iemand in dit gesprek aan het typen is",
"description": "Used as the 'title' attribute for the typing animation"
},
"contactInAddressBook": {
@ -929,6 +929,10 @@
"message": "Wordt gedownload",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Volledig bericht downloaden",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Bijlage downloaden",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -1126,7 +1130,7 @@
"description": ""
},
"delete": {
"message": "Afwijzen",
"message": "Wissen",
"description": ""
},
"accept": {
@ -1586,11 +1590,11 @@
"description": "Label in the calling lobby indicating that your camera is off"
},
"calling__pre-call-info--empty-group": {
"message": "Er is niemand behalve jij in dit gesprek",
"message": "Er is niemand in de groepsoproep. Klik op Oproep beginnen om een oproep te beginnen.",
"description": "Shown in the calling lobby to describe who is in the call"
},
"calling__pre-call-info--1-person-in-call": {
"message": "$first$ is aanwezig in deze oproep",
"message": "$first$ is aanwezig in de oproep. Klik op Aan oproep deelnemen om zelf deel te nemen.",
"description": "Shown in the calling lobby to describe who is in the call",
"placeholders": {
"first": {
@ -1600,11 +1604,11 @@
}
},
"calling__pre-call-info--another-device-in-call": {
"message": "Een van je andere apparaten neemt deel aan deze oproep",
"message": "Een van je andere apparaten neemt deel aan deze oproep. Klik op Aan oproep deelnemen om ook vanaf dit apparaat deel te nemen.",
"description": "Shown in the calling lobby to describe when it is just you"
},
"calling__pre-call-info--2-people-in-call": {
"message": "$first$ en $second$ zijn aanwezig in deze oproep",
"message": "$first$ en $second$ zijn aanwezig in deze oproep. Klik op Aan oproep deelnemen om zelf deel te nemen.",
"description": "Shown in the calling lobby to describe who is in the call",
"placeholders": {
"first": {
@ -1618,7 +1622,7 @@
}
},
"calling__pre-call-info--3-people-in-call": {
"message": "$first$, $second$ en $third$ zijn aanwezig in deze oproep",
"message": "$first$, $second$ en $third$ zijn aanwezig in deze oproep. Klik op Aan oproep deelnemen om zelf deel te nemen.",
"description": "Shown in the calling lobby to describe who is in the call",
"placeholders": {
"first": {
@ -1636,7 +1640,7 @@
}
},
"calling__pre-call-info--many-people-in-call": {
"message": ",$first$ $second$ en $others$ anderen zijn aanwezig in deze oproep",
"message": "$first$, $second$ en $others$ anderen zijn aanwezig in deze oproep. Klik op Aan oproep deelnemen om zelf deel te nemen.",
"description": "Shown in the calling lobby to describe who is in the call",
"placeholders": {
"first": {
@ -1664,7 +1668,7 @@
}
},
"calling__pre-call-info--will-ring-2": {
"message": "Signal belt $first$ en $second$",
"message": "Als je doorgaat zul je $first$ en $second$ bellen",
"description": "Shown in the calling lobby to describe who will be rang",
"placeholders": {
"first": {
@ -1678,7 +1682,7 @@
}
},
"calling__pre-call-info--will-ring-3": {
"message": "Signal belt $first$, $second$ en $third$",
"message": "Als je doorgaat zul je $first$, $second$ en $third$ bellen",
"description": "Shown in the calling lobby to describe who will be rang",
"placeholders": {
"first": {
@ -1696,7 +1700,7 @@
}
},
"calling__pre-call-info--will-ring-many": {
"message": "Signal belt $first$, $second$ en nog $others$ anderen",
"message": "Als je doorgaat zul je $first$, $second$ en nog $others$ anderen bellen",
"description": "Shown in the calling lobby to describe who will be rang",
"placeholders": {
"person": {
@ -1714,7 +1718,7 @@
}
},
"calling__pre-call-info--will-notify-1": {
"message": "$person$ zal een melding krijgen",
"message": "Als je doorgaat zal $person$ een melding krijgen",
"description": "Shown in the calling lobby to describe who will be notified",
"placeholders": {
"person": {
@ -1724,7 +1728,7 @@
}
},
"calling__pre-call-info--will-notify-2": {
"message": "$first$ en $second$ zullen een melding krijgen",
"message": "Als je doorgaat zullen $first$ en $second$ een melding krijgen",
"description": "Shown in the calling lobby to describe who will be notified",
"placeholders": {
"first": {
@ -1738,7 +1742,7 @@
}
},
"calling__pre-call-info--will-notify-3": {
"message": "$first$, $second$ en $third$ zullen een melding krijgen",
"message": "Als je doorgaat zullen $first$, $second$ en $third$ een melding krijgen",
"description": "Shown in the calling lobby to describe who will be notified",
"placeholders": {
"first": {
@ -1756,7 +1760,7 @@
}
},
"calling__pre-call-info--will-notify-many": {
"message": "$first$, $second$ en $others$ anderen zullen een melding krijgen",
"message": "Als je doorgaat zullen $first$, $second$ en $others$ anderen een melding krijgen",
"description": "Shown in the calling lobby to describe who will be notified",
"placeholders": {
"person": {
@ -1774,7 +1778,7 @@
}
},
"calling__in-this-call--zero": {
"message": "Er is niemand behalve jij in dit gesprek",
"message": "Er is niemand behalve jij in deze oproep",
"description": "Shown in the participants list to describe how many people are in the call"
},
"calling__in-this-call--one": {
@ -1900,11 +1904,11 @@
"description": "Header for permissions section of settings"
},
"mediaPermissionsDescription": {
"message": "Toestemming geven om de microfoon te gebruiken",
"message": "Ik geef Signal toestemming om mijn microfoon te gebruiken",
"description": "Description of the media permission description"
},
"mediaCameraPermissionsDescription": {
"message": "Toestemming geven om de camera te gebruiken",
"message": "Ik geef Signal toestemming om mijn camera te gebruiken",
"description": "Description of the media permission description"
},
"general": {
@ -1924,11 +1928,11 @@
"description": "Shown when the user disables spellcheck to indicate that they must restart Signal."
},
"SystemTraySetting__minimize-to-system-tray": {
"message": "Minimaliseer naar systeemvak in plaats van taakbalk",
"message": "Minimaliseer naar het systeemvak in plaats van de taakbalk",
"description": "In the settings, shown next to the checkbox option for minimizing to the system tray"
},
"SystemTraySetting__minimize-to-and-start-in-system-tray": {
"message": "Houd Signal geminimaliseerd naar systeemvak wanneer het wordt gestart",
"message": "Houd Signal geminimaliseerd naar het systeemvak wanneer het wordt gestart",
"description": "In the settings, shown next to the checkbox option for starting in the system tray"
},
"autoLaunchDescription": {
@ -1960,7 +1964,7 @@
"description": "Text of the button that deletes all data"
},
"deleteAllDataProgress": {
"message": "Verbinding wordt verbroken en alle gegevens worden gewist",
"message": "Aan het ontkoppelen en alle gegevens aan het wissen",
"description": "Message shown to user when app is disconnected and data deleted"
},
"deleteOldIndexedDBData": {
@ -2262,7 +2266,7 @@
}
},
"audioNotificationDescription": {
"message": "Meldingsgeluid afspelen",
"message": "Bij nieuwe meldingen geluid afspelen",
"description": "Description for audio notification setting"
},
"callRingtoneNotificationDescription": {
@ -3140,7 +3144,7 @@
"description": "Shown in the shortcuts guide"
},
"Keyboard--open-all-media-view": {
"message": "Alle media-scherm weergeven",
"message": "Alle media uit dit gesprek weergeven",
"description": "Shown in the shortcuts guide"
},
"Keyboard--open-emoji-chooser": {
@ -5554,7 +5558,7 @@
"description": "Shown in timeline when a group is upgraded and you were invited instead of added"
},
"GroupV1--Migration--invited--one": {
"message": "$contact$ niet toegevoegd worden aan de nieuwe-stijl groep en je hebt daarom een uitnodiging gekregen om opnieuw lid te worden.",
"message": "$contact$ kon niet toegevoegd worden aan de nieuwe-stijl groep en heeft daarom een uitnodiging gekregen om opnieuw lid te worden.",
"description": "Shown in timeline when a group is upgraded and one person was invited, instead of added",
"placeholders": {
"contact": {
@ -5650,7 +5654,7 @@
"description": "Displayed while checking if the contact is SMS-only"
},
"countMutedConversationsDescription": {
"message": "Gedempte gesprekken meetellen in badge-getal",
"message": "Berichten in gedempte gesprekken meetellen in het aantal ongelezen berichten",
"description": "Description for counting muted conversations in badge setting"
},
"ContactModal--message": {
@ -5758,7 +5762,7 @@
"description": "This is a button to leave a group"
},
"ConversationDetailsActions--block-group": {
"message": "Groep blokkeren en verlaten",
"message": "Groep blokkeren",
"description": "This is a button to block a group"
},
"ConversationDetailsActions--leave-group-must-choose-new-admin": {
@ -7172,7 +7176,7 @@
"description": "Button label to reply to a group story"
},
"StoryViewer__mute": {
"message": "Micro­foon dempen",
"message": "Meldingen dempen",
"description": "Aria label for muting stories"
},
"StoryViewer__unmute": {
@ -7265,22 +7269,16 @@
"message": "Deze versie bevat een aantal kleine foutoplossingen waardoor Signal voor nog meer mensen goed werkt.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Foutoplossingen, waaronder een oplossing voor een fout waarbij het soms moeilijk was op op menuknoppen te klikken.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Door audioniveau-indicatoren in groepsoproepen kun je zien wie degene is die fluistert en wie er schreeuwt.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Dank aan $dsanders11$ en $yusufsahinhamza$ voor hun hulp bij het schrijven van code voor deze verbeteringen.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Vanaf nu kun je de ook op Signal-desktop de groepen zien waarvoor je vanaf je telefoon hebt verzocht om lid te worden (via een groepsverwijzing). ",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Heb je een slechte wifi-verbinding? Geen probleem, want vanaf nu kun je het downloaden van bijlagen opnieuw proberen.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Pobieranie",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Pobierz pełną wiadomość.",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Pobierz załącznik",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Ta wersja zawiera wiele drobnych ulepszeń i poprawek błędów, zapewniających płynne działanie aplikacji Signal.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Poprawki błędów, w tym problemu powodującego czasem trudności z kliknięciem menu.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamiczne wskaźniki audio w rozmowach grupowych pomogą Ci sprawdzić czy szepczesz, krzyczysz, czy mówisz odpowiednio głośno.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Dziękujemy $dsanders11$ i $yusufsahinhamza$ za przyczynienie się do powstania tych poprawek.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Teraz w aplikacji Desktop będą widoczne grupy, o dołączenie do których poprosiłeś z telefonu (przez link do grupy).",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Kiepskie połączenie Wi-Fi? Nie ma problemu! Teraz możesz ponowić pobieranie załączników.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Baixando",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Baixar mensagem completa",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Baixar anexo",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Essa versão contém pequenos retoques e consertos no Signal para ele continuar funcionando confortavelmente.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Correção de erros, incluindo correção da falha que às vezes tornava difícil clicar em menus. ",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Os indicadores dinâmicos de áudio em chamadas de grupo ajudam a você perceber se está sussurrando, gritando ou em sintonia perfeita.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Agradecimentos para nossos colaboradores de código aberto $dsanders11$ e $yusufsahinhamza$ por contribuir para essas melhorias.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Os grupos nos quais você solicitou participação via seu telefone (através de um link de convite) agora aparecerão no Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Tem uma conexão Wi-Fi anormal? Não há problema, agora você pode baixar os anexos outra vez.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "A descarregar",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Download da mensagem inteira",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Descarregar anexo",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Esta versão contém um número de pequenas funcionalidades e correções de erros de forma a manter o Signal a correr suavemente.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Correção de erros incluindo uma correção para um problema que algumas vezes tornava difícil clicar em menus.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Os indicadores de áudio dinâmicos em chamadas em grupo ajudam-no a ver se você está a sussurrar, a gritar ou apenas correto.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Agradecemos aos nossos colaboradores de código aberto $dsanders11$ e $yusufsahinhamza$ por contribuírem para estas melhorias.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Os grupos que solicitou entrar a partir do seu telemóvel (através de um link de convite) agora aparecerão na área de trabalho.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Tem uma ligação Wi-Fi irregular? Não há problema, agora você pode tentar novamente fazer o download dos anexos.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Se descarcă",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Descarcă mesajul complet",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Descarcă atașamentul",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Această versiune conține o serie de mici modificări și remedieri ale unor erori pentru ca Signal să funcționeze fără probleme.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Remedieri de erori, printre care și o eroare ce făcea dificilă uneori folosirea meniurilor.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Am adăugat indicatori audio în apelurile de grup pentru a te ajuta să vezi dacă vorbești prea încet, prea tare sau perfect.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Mulțumim contribuitorilor noștri open-source $dsanders11$ și $yusufsahinhamza$ pentru aportul lor la aceste îmbunătățiri.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Grupurile către care ai trimis cerere de înscriere de pe telefon (folosind linkul grupului) vor apărea acum și în Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Ai o conexiune Wi-Fi instabilă? Acum nu mai este o problemă, deoarece acum vei putea încerca din nou descărcarea atașamentelor.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Скачивание",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Скачать полное сообщение",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Загрузить вложение",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Эта версия содержит несколько небольших изменений и исправлений ошибок.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Исправления ошибок, включающие исправление проблемы, из-за которой было иногда сложно нажимать на меню.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Динамические индикаторы аудио в групповых звонках помогают вам понять, шепчите вы, кричите или говорите в самый раз.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Благодарим наших разработчиков открытого исходного кода $dsanders11$ и $yusufsahinhamza$ за помощь в этих улучшениях.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Группы, в которых вы отправили запрос на присоединение со своего телефона (с помощью ссылки на группу) теперь показываются в Signal Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Плохое соединение Wi-Fi? Не проблема, теперь вы можете заново пробовать скачивать вложения.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Sťahujem",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Stiahnite si celú správu",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Stiahnuť prílohu",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Táto verzia obsahuje množstvo drobných vylepšení a opráv chýb, ktoré zaisťujú bezproblémový chod systému Signal.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Opravy chýb vrátane opravy problému, ktorý niekedy sťažoval klikanie na ponuky.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamické zvukové indikátory v skupinových hovoroch vám pomôžu zistiť, či šepkáte, kričíte alebo je akurát.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Ďakujeme našim open source prispievateľom $dsanders11$ a $yusufsahinhamza$ za to, že prispeli k týmto zlepšeniam.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Skupiny, o ktoré ste požiadali zo svojho telefónu (prostredníctvom odkazu na pozvánku), sa teraz zobrazia na pracovnej ploche.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Máte poruchové pripojenie Wi-Fi? Nie je problém, teraz môžete znova skúsiť stiahnuť prílohy.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Prenašam",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Prenos celotnega sporočila",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Prenesi priponko",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Ta različica vsebuje majhne spremembe in popravke, ki omogočajo, da Signal teče brez težav.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Bug fixes including a fix to an issue that would sometimes make it difficult to click on menus. ",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamic audio indicators in group calls help you see if you're whispering, yelling, or just right.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Thanks to our open source contributors $dsanders11$ and $yusufsahinhamza$ for contributing to these improvements.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Groups youve requested to join from your phone (via an invite link) will now show up on Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Got a spotty Wi-Fi connection? Not a problem, you can now retry downloading attachments.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Po shkarkohet",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Download Full Message",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Shkarko Bashkëngjitjen",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Ky version përmban një numër përimtimesh të vockla dhe ndreqje të metash për ta mbajtur të rrjedhshme punën e Signal-it.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Ndreqje të metash, përfshi një ndreqje për një problem që ndonjëherë e bënte të vështirë të klikohej te menutë ",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamic audio indicators in group calls help you see if you're whispering, yelling, or just right.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Falënderime për kontribuesit tanë në burimin e hapët$dsanders11$ dhe $yusufsahinhamza$, për sjelljen e këtyre përmirësimeve.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Groups youve requested to join from your phone (via an invite link) will now show up on Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Got a spotty Wi-Fi connection? Not a problem, you can now retry downloading attachments.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Преузимам",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Преузети целу поруку",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Преузми прилог",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -2794,7 +2798,7 @@
"description": "Shown to label a gift badge you've replied to"
},
"message--giftBadge--remaining--days": {
"message": "$days$ days remaining",
"message": "Остало $days$ дана",
"description": "Describes how long remains for the gift badge you've redeemed on another device (only rendered for days > 1)",
"placeholders": {
"days": {
@ -7265,22 +7269,16 @@
"message": "This version contains a number of small tweaks and bug fixes to keep Signal running smoothly.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Bug fixes including a fix to an issue that would sometimes make it difficult to click on menus. ",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamic audio indicators in group calls help you see if you're whispering, yelling, or just right.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Хвала нашим сарадницима отвореног кода $dsanders11$ и $yusufsahinhamza$ за допринос овим побољшањима.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Groups youve requested to join from your phone (via an invite link) will now show up on Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Got a spotty Wi-Fi connection? Not a problem, you can now retry downloading attachments.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Hämtar",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Download Full Message",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Hämta bilaga",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Den här versionen innehåller ett antal små justeringar och felrättningar för att Signal ska fungera smidigt.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Felrättningar inklusive en korrigering av ett problem som ibland skulle göra det svårt att klicka på menyer.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Dynamic audio indicators in group calls help you see if you're whispering, yelling, or just right.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Tack till våra bidragsgivare $dsanders11$ och $yusufsahinhamza$ för att de har bidragit till dessa förbättringar med öppen källkod.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Groups youve requested to join from your phone (via an invite link) will now show up on Desktop.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Got a spotty Wi-Fi connection? Not a problem, you can now retry downloading attachments.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "İndiriliyor",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Tüm İletiyi İndir",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Eklentiyi İndir",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Bu sürüm Signal'in sorunsuz çalışması için gereken bir takım küçük düzeltme ve hata gidermelerini içerir.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Bazen menülere tıklamayı zorlaştıran bir soruna yönelik düzeltme de dahil olmak üzere hata düzeltmeleri içerir.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Grup aramalarındaki dinamik sesli göstergeler, fısıldaşıp konuşmadığınızı, bağırıp çağırmadığınızı veya tam olarak haklı olup olmadığınızı görmenize yardımcı olur.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Bu iyileştirmelere katkıda bulundukları için açık kaynak katılımcılarımız $dsanders11$ ve $yusufsahinhamza$'ya teşekkür ederiz.",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Telefonunuzdan (davet bağlantısı aracılığıyla) katılmayı talep ettiğiniz gruplar artık Masaüstünde gösterilecek.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Kesintili bir Wi-Fi bağlantınız mı var? Sorun değil, artık ekleri indirmeyi yeniden deneyebilirsiniz.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "Завантаження",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "Завантажити повідомлення повністю",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "Завантажити вкладення",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "Ця версія містить ряд невеликих налаштувань і виправлень помилок для забезпечення безперебійної роботи Signal.",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "Виправлення помилок, зокрема помилки, яка інколи призводила до важкостей з клацанням на меню.",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "Динамічні індикатори у групових викликах допоможуть вам зрозуміти коли ви шепочете, галасуєте або нормально розмовляєте.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "Дякуємо нашим внескодавцям спільноти відкритого вихідного коду — $dsanders11$ та $yusufsahinhamza$ — за їхній внесок у ці покращення. ",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "Групи, запит до яких ви надіслали з телефону (використав посилання-запрошення), відтепер показуватимуться у версії для комп'ютера.",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "Користуєтесь мінливим Wi-Fi підключенням? Жодних проблем, відтепер ви можете перезапускати завантаження додатків.",
"description": "Release notes for v5.45"
}
}

View File

@ -929,6 +929,10 @@
"message": "下載中…",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadFullMessage": {
"message": "下載完整的訊息",
"description": "Shown in the message bubble while a long message attachment is not downloaded"
},
"downloadAttachment": {
"message": "下載附件",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
@ -7265,22 +7269,16 @@
"message": "此版本包含許多小調整和錯誤修復,以維持 Signal 穩定運作。",
"description": "Release notes for releases that only include bug fixes"
},
"WhatsNew__v5.40--1": {
"message": "錯誤修復,包括修復有時難以點擊選單的問題。",
"description": "Release notes for v5.40"
"WhatsNew__v5.45--1": {
"message": "群組通話中的動態音訊指示器可幫助你查看你是在竊竊私語、大喊大叫還是恰到好處。",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.40--2": {
"message": "感謝我們的開源貢獻者$dsanders11$ 及 $yusufsahinhamza$為這些改進做出了貢獻。",
"description": "Release notes for v5.40",
"placeholders": {
"dsanders11": {
"content": "$1",
"example": "dsanders11"
},
"yusufsahinhamza": {
"content": "$2",
"example": "yusufsahinhamza"
}
}
"WhatsNew__v5.45--2": {
"message": "你透過手機請求加入的群組(透過邀請連結)現在將顯示在電腦上。",
"description": "Release notes for v5.45"
},
"WhatsNew__v5.45--3": {
"message": "有個不穩定的 Wi-Fi 訊號連接? 這不是問題,你現在可以重試下載附件。",
"description": "Release notes for v5.45"
}
}

View File

@ -253,8 +253,12 @@ async function getThemeSetting({
const json = await sql.sqlCall('getItemById', ['theme-setting']);
// Default to `system` if setting doesn't exist yet
const slowValue = json ? json.value : 'system';
// Default to `system` if setting doesn't exist or is invalid
const setting: unknown = json?.value;
const slowValue =
setting === 'light' || setting === 'dark' || setting === 'system'
? setting
: 'system';
ephemeralConfig.set('theme-setting', slowValue);
@ -1462,6 +1466,9 @@ function getAppLocale(): string {
// Signal doesn't really use media keys so we set this switch here to unblock
// them so that other apps can use them if they need to.
app.commandLine.appendSwitch('disable-features', 'HardwareMediaKeyHandling');
if (OS.isLinux()) {
app.commandLine.appendSwitch('password-store', 'basic');
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.

View File

@ -4,7 +4,7 @@
"description": "Private messaging from your desktop",
"desktopName": "signal.desktop",
"repository": "https://github.com/signalapp/Signal-Desktop.git",
"version": "5.45.0-beta.1",
"version": "5.45.1",
"license": "AGPL-3.0-only",
"author": {
"name": "Signal Messenger, LLC",

View File

@ -25,14 +25,5 @@
@include timeline-floating-header-node;
margin-top: 12px;
padding: 6px;
&--visible {
opacity: 1;
}
&--hidden {
opacity: 0;
transition: opacity 0.25s ease-out 0.3s;
}
}
}

View File

@ -7,12 +7,12 @@ import { noop } from 'lodash';
import classNames from 'classnames';
import type { VideoFrameSource } from 'ringrtc';
import type {
ActiveCallStateType,
SetLocalAudioType,
SetLocalPreviewType,
SetLocalVideoType,
SetRendererCanvasType,
} from '../state/ducks/calling';
import { isInSpeakerView } from '../state/selectors/calling';
import { Avatar } from './Avatar';
import { CallingHeader } from './CallingHeader';
import { CallingPreCallInfo, RingMode } from './CallingPreCallInfo';
@ -25,6 +25,7 @@ import type {
} from '../types/Calling';
import {
CallMode,
CallViewMode,
CallState,
GroupCallConnectionState,
GroupCallJoinState,
@ -77,6 +78,15 @@ type DirectCallHeaderMessagePropsType = {
joinedAt?: number;
};
export const isInSpeakerView = (
call: Pick<ActiveCallStateType, 'viewMode'> | undefined
): boolean => {
return Boolean(
call?.viewMode === CallViewMode.Presentation ||
call?.viewMode === CallViewMode.Speaker
);
};
function DirectCallHeaderMessage({
callState,
i18n,

View File

@ -0,0 +1,41 @@
// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
import { storiesOf } from '@storybook/react';
import { isBoolean } from 'lodash';
import { boolean } from '@storybook/addon-knobs';
import { setupI18n } from '../../util/setupI18n';
import enMessages from '../../../_locales/en/messages.json';
import type { PropsType } from './TimelineFloatingHeader';
import { TimelineFloatingHeader } from './TimelineFloatingHeader';
const i18n = setupI18n('en', enMessages);
function booleanOr(value: boolean | undefined, defaultValue: boolean): boolean {
return isBoolean(value) ? value : defaultValue;
}
const createProps = (overrideProps: Partial<PropsType> = {}): PropsType => ({
isLoading: boolean('isLoading', booleanOr(overrideProps.isLoading, false)),
style: overrideProps.style,
visible: boolean('visible', booleanOr(overrideProps.visible, false)),
i18n,
timestamp: overrideProps.timestamp || Date.now(),
});
const stories = storiesOf('Components/TimelineFloatingHeader', module);
stories.add('Visible', () => {
return <TimelineFloatingHeader {...createProps({ visible: true })} />;
});
stories.add('Loading', () => {
return (
<TimelineFloatingHeader
{...createProps({ visible: true, isLoading: true })}
/>
);
});

View File

@ -4,29 +4,67 @@
import classNames from 'classnames';
import type { CSSProperties, ReactElement } from 'react';
import React, { useEffect, useState } from 'react';
import { animated, useSpring } from '@react-spring/web';
import type { LocalizerType } from '../../types/Util';
import { TimelineDateHeader } from './TimelineDateHeader';
import { Spinner } from '../Spinner';
export type PropsType = Readonly<{
i18n: LocalizerType;
isLoading: boolean;
style?: CSSProperties;
timestamp: number;
visible: boolean;
}>;
export const TimelineFloatingHeader = ({
i18n,
isLoading,
style,
timestamp,
visible,
}: Readonly<{
i18n: LocalizerType;
isLoading: boolean;
style?: CSSProperties;
timestamp: number;
visible: boolean;
}>): ReactElement => {
}: PropsType): ReactElement => {
const [hasRendered, setHasRendered] = useState(false);
const [showSpinner, setShowSpinner] = useState(isLoading);
useEffect(() => {
setHasRendered(true);
}, []);
const [spinnerStyles, spinnerSpringRef] = useSpring(
() => ({
delay: 300,
duration: 250,
from: { opacity: 1 },
to: { opacity: 0 },
onRest: {
opacity: ({ value }) => {
if (value === 0) {
setShowSpinner(false);
}
},
},
}),
[isLoading]
);
useEffect(() => {
if (isLoading) {
spinnerSpringRef.stop();
spinnerSpringRef.set({ opacity: 1 });
setShowSpinner(true);
}
if (!isLoading && showSpinner) {
spinnerSpringRef.start();
}
if (!isLoading && !showSpinner) {
spinnerSpringRef.stop();
}
}, [isLoading, showSpinner, spinnerSpringRef]);
return (
<div
className={classNames(
@ -38,16 +76,14 @@ export const TimelineFloatingHeader = ({
style={style}
>
<TimelineDateHeader floating i18n={i18n} timestamp={timestamp} />
<div
className={classNames(
'TimelineFloatingHeader__spinner-container',
`TimelineFloatingHeader__spinner-container--${
isLoading ? 'visible' : 'hidden'
}`
)}
>
<Spinner direction="on-background" size="20px" svgSize="small" />
</div>
{showSpinner && (
<animated.div
className="TimelineFloatingHeader__spinner-container"
style={spinnerStyles}
>
<Spinner direction="on-background" size="20px" svgSize="small" />
</animated.div>
)}
</div>
);
};

View File

@ -20,7 +20,7 @@ import { useRestoreFocus } from '../../../../hooks/useRestoreFocus';
import { missingCaseError } from '../../../../util/missingCaseError';
import type { LookupConversationWithoutUuidActionsType } from '../../../../util/lookupConversationWithoutUuid';
import { parseAndFormatPhoneNumber } from '../../../../util/libphonenumberInstance';
import { filterAndSortConversationsByTitle } from '../../../../util/filterAndSortConversations';
import { filterAndSortConversationsByRecent } from '../../../../util/filterAndSortConversations';
import type { ConversationType } from '../../../../state/ducks/conversations';
import type { PreferredBadgeSelectorType } from '../../../../state/selectors/badges';
import type {
@ -114,13 +114,13 @@ export const ChooseGroupMembersModal: FunctionComponent<PropsType> = ({
const canContinue = Boolean(selectedContacts.length);
const [filteredContacts, setFilteredContacts] = useState(
filterAndSortConversationsByTitle(candidateContacts, '', regionCode)
filterAndSortConversationsByRecent(candidateContacts, '', regionCode)
);
const normalizedSearchTerm = searchTerm.trim();
useEffect(() => {
const timeout = setTimeout(() => {
setFilteredContacts(
filterAndSortConversationsByTitle(
filterAndSortConversationsByRecent(
candidateContacts,
normalizedSearchTerm,
regionCode

View File

@ -5065,21 +5065,27 @@ export async function applyNewAvatar(
const data = await decryptGroupAvatar(newAvatar, result.secretParams);
const hash = computeHash(data);
if (result.avatar && result.avatar.path && result.avatar.hash !== hash) {
await window.Signal.Migrations.deleteAttachmentData(result.avatar.path);
result.avatar = undefined;
}
if (!result.avatar) {
const path = await window.Signal.Migrations.writeNewAttachmentData(
data
if (result.avatar?.hash === hash) {
log.info(
`applyNewAvatar/${logId}: Hash is the same, but url was different. Saving new url.`
);
result.avatar = {
...result.avatar,
url: newAvatar,
path,
hash,
};
return;
}
if (result.avatar) {
await window.Signal.Migrations.deleteAttachmentData(result.avatar.path);
}
const path = await window.Signal.Migrations.writeNewAttachmentData(data);
result.avatar = {
url: newAvatar,
path,
hash,
};
}
} catch (error) {
log.warn(

View File

@ -108,6 +108,7 @@ export async function sendNormalMessage(
const {
allRecipientIdentifiers,
recipientIdentifiersWithoutMe,
sentRecipientIdentifiers,
untrustedConversationIds,
} = getMessageRecipients({
message,
@ -150,9 +151,13 @@ export async function sendNormalMessage(
let messageSendPromise: Promise<CallbackResultType | void>;
if (recipientIdentifiersWithoutMe.length === 0) {
if (!isMe(conversation.attributes) && !isGroup(conversation.attributes)) {
if (
!isMe(conversation.attributes) &&
!isGroup(conversation.attributes) &&
sentRecipientIdentifiers.length === 0
) {
log.info(
'No recipients, but we are not sending to ourselves or to group. Failing job.'
'No recipients; not sending to ourselves or to group, and no successful sends. Failing job.'
);
markMessageFailed(message, [new Error('No valid recipients')]);
return;
@ -334,20 +339,18 @@ function getMessageRecipients({
}>): {
allRecipientIdentifiers: Array<string>;
recipientIdentifiersWithoutMe: Array<string>;
sentRecipientIdentifiers: Array<string>;
untrustedConversationIds: Array<string>;
} {
const allRecipientIdentifiers: Array<string> = [];
const recipientIdentifiersWithoutMe: Array<string> = [];
const untrustedConversationIds: Array<string> = [];
const sentRecipientIdentifiers: Array<string> = [];
const currentConversationRecipients = conversation.getMemberConversationIds();
Object.entries(message.get('sendStateByConversationId') || {}).forEach(
([recipientConversationId, sendState]) => {
if (isSent(sendState.status)) {
return;
}
const recipient = window.ConversationController.get(
recipientConversationId
);
@ -377,6 +380,11 @@ function getMessageRecipients({
return;
}
if (isSent(sendState.status)) {
sentRecipientIdentifiers.push(recipientIdentifier);
return;
}
allRecipientIdentifiers.push(recipientIdentifier);
if (!isRecipientMe) {
recipientIdentifiersWithoutMe.push(recipientIdentifier);
@ -387,6 +395,7 @@ function getMessageRecipients({
return {
allRecipientIdentifiers,
recipientIdentifiersWithoutMe,
sentRecipientIdentifiers,
untrustedConversationIds,
};
}

View File

@ -286,12 +286,15 @@ async function _runJob(job?: AttachmentDownloadJobType): Promise<void> {
Errors.toLogFormat(error)
);
await _addAttachmentToMessage(
message,
_markAttachmentAsTransientError(attachment),
{ type, index }
);
await _finishJob(message, id);
try {
await _addAttachmentToMessage(
message,
_markAttachmentAsTransientError(attachment),
{ type, index }
);
} finally {
await _finishJob(message, id);
}
return;
}
@ -302,32 +305,35 @@ async function _runJob(job?: AttachmentDownloadJobType): Promise<void> {
Errors.toLogFormat(error)
);
// Remove `pending` flag from the attachment.
await _addAttachmentToMessage(
message,
{
...attachment,
downloadJobId: id,
},
{ type, index }
);
if (message) {
await saveMessage(message.attributes, {
ourUuid: window.textsecure.storage.user.getCheckedUuid().toString(),
});
try {
// Remove `pending` flag from the attachment.
await _addAttachmentToMessage(
message,
{
...attachment,
downloadJobId: id,
},
{ type, index }
);
if (message) {
await saveMessage(message.attributes, {
ourUuid: window.textsecure.storage.user.getCheckedUuid().toString(),
});
}
const failedJob = {
...job,
pending: 0,
attempts: currentAttempt,
timestamp:
Date.now() + (RETRY_BACKOFF[currentAttempt] || RETRY_BACKOFF[3]),
};
await saveAttachmentDownloadJob(failedJob);
} finally {
delete _activeAttachmentDownloadJobs[id];
_maybeStartJob();
}
const failedJob = {
...job,
pending: 0,
attempts: currentAttempt,
timestamp:
Date.now() + (RETRY_BACKOFF[currentAttempt] || RETRY_BACKOFF[3]),
};
await saveAttachmentDownloadJob(failedJob);
delete _activeAttachmentDownloadJobs[id];
_maybeStartJob();
}
}

View File

@ -1401,7 +1401,13 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
...(this.get('sendStateByConversationId') || {}),
};
const sendIsNotFinal =
'sendIsNotFinal' in result.value && result.value.sendIsNotFinal;
const sendIsFinal = !sendIsNotFinal;
// Capture successful sends
const successfulIdentifiers: Array<string> =
sendIsFinal &&
'successfulIdentifiers' in result.value &&
Array.isArray(result.value.successfulIdentifiers)
? result.value.successfulIdentifiers
@ -1435,9 +1441,11 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
}
});
// Integrate sends via sealed sender
const previousUnidentifiedDeliveries =
this.get('unidentifiedDeliveries') || [];
const newUnidentifiedDeliveries =
sendIsFinal &&
'unidentifiedDeliveries' in result.value &&
Array.isArray(result.value.unidentifiedDeliveries)
? result.value.unidentifiedDeliveries
@ -1445,6 +1453,7 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
const promises: Array<Promise<unknown>> = [];
// Process errors
let errors: Array<CustomError>;
if (result.value instanceof SendMessageProtoError && result.value.errors) {
({ errors } = result.value);
@ -1467,7 +1476,7 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
window.ConversationController.get(error.identifier) ||
window.ConversationController.get(error.number);
if (conversation && !saveErrors) {
if (conversation && !saveErrors && sendIsFinal) {
const previousSendState = getOwn(
sendStateByConversationId,
conversation.id
@ -1581,6 +1590,7 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
this.set({
// This is the same as a normal send()
expirationStartTimestamp: Date.now(),
errors: [],
});
const result = await this.sendSyncMessage();
this.set({

View File

@ -1293,6 +1293,9 @@ function verifyConversationsStoppingSend(): ThunkAction<
conversationIdsStoppingSend.forEach(async conversationId => {
const conversation = window.ConversationController.get(conversationId);
if (!conversation) {
log.warn(
`verifyConversationsStoppingSend: Cannot verify missing conversation for conversationId ${conversationId}`
);
return;
}

View File

@ -31,7 +31,7 @@ import type { PropsDataType as TimelinePropsType } from '../../components/conver
import type { TimelineItemType } from '../../components/conversation/TimelineItem';
import { assert } from '../../util/assert';
import { isConversationUnregistered } from '../../util/isConversationUnregistered';
import { filterAndSortConversationsByTitle } from '../../util/filterAndSortConversations';
import { filterAndSortConversationsByRecent } from '../../util/filterAndSortConversations';
import type { ContactNameColorType } from '../../types/Colors';
import { ContactNameColors } from '../../types/Colors';
import type { AvatarDataType } from '../../types/Avatar';
@ -523,7 +523,7 @@ export const getFilteredComposeContacts = createSelector(
contacts: Array<ConversationType>,
regionCode: string | undefined
): Array<ConversationType> => {
return filterAndSortConversationsByTitle(contacts, searchTerm, regionCode);
return filterAndSortConversationsByRecent(contacts, searchTerm, regionCode);
}
);
@ -536,7 +536,7 @@ export const getFilteredComposeGroups = createSelector(
groups: Array<ConversationType>,
regionCode: string | undefined
): Array<ConversationType> => {
return filterAndSortConversationsByTitle(groups, searchTerm, regionCode);
return filterAndSortConversationsByRecent(groups, searchTerm, regionCode);
}
);
@ -544,7 +544,7 @@ export const getFilteredCandidateContactsForNewGroup = createSelector(
getCandidateContactsForNewGroup,
getNormalizedComposerConversationSearchTerm,
getRegionCode,
filterAndSortConversationsByTitle
filterAndSortConversationsByRecent
);
const getGroupCreationComposerState = createSelector(
@ -1027,20 +1027,15 @@ export const getConversationIdsStoppingSend = createSelector(
);
export const getConversationsStoppingSend = createSelector(
getConversationByIdSelector,
getConversationSelector,
getConversationIdsStoppingSend,
(
conversationSelector: (id: string) => undefined | ConversationType,
conversationSelector: GetConversationByIdType,
conversationIds: ReadonlyArray<string>
): Array<ConversationType> => {
const conversations = conversationIds
.map(conversationId => conversationSelector(conversationId))
.filter(isNotNil);
if (conversationIds.length !== conversations.length) {
log.warn(
`getConversationsStoppingSend: Started with ${conversationIds.length} items, ended up with ${conversations.length}.`
);
}
const conversations = conversationIds.map(conversationId =>
conversationSelector(conversationId)
);
return sortByTitle(conversations);
}
);

View File

@ -1372,7 +1372,7 @@ export function getMessagePropStatus(
ourConversationId: string | undefined
): LastMessageStatus | undefined {
if (!isOutgoing(message)) {
return undefined;
return hasErrors(message) ? 'error' : undefined;
}
if (getLastChallengeError(message)) {

View File

@ -965,10 +965,10 @@ describe('both/state/selectors/conversations', () => {
const ids = result.map(contact => contact.id);
assert.deepEqual(ids, [
'our-conversation-id',
'convo-1',
'convo-5',
'convo-6',
'our-conversation-id',
]);
});

View File

@ -4,90 +4,7 @@
import { assert } from 'chai';
import { getDefaultConversation } from '../helpers/getDefaultConversation';
import {
filterAndSortConversationsByTitle,
filterAndSortConversationsByRecent,
} from '../../util/filterAndSortConversations';
describe('filterAndSortConversationsByTitle', () => {
const conversations = [
getDefaultConversation({
title: '+16505551234',
e164: '+16505551234',
name: undefined,
profileName: undefined,
}),
getDefaultConversation({
name: 'Carlos Santana',
title: 'Carlos Santana',
e164: '+16505559876',
username: 'thisismyusername',
}),
getDefaultConversation({
name: 'Aaron Aardvark',
title: 'Aaron Aardvark',
}),
getDefaultConversation({
name: 'Belinda Beetle',
title: 'Belinda Beetle',
}),
getDefaultConversation({
name: 'Belinda Zephyr',
title: 'Belinda Zephyr',
}),
];
it('without a search term, sorts conversations by title (but puts no-name contacts at the bottom)', () => {
const titles = filterAndSortConversationsByTitle(
conversations,
'',
'US'
).map(contact => contact.title);
assert.deepEqual(titles, [
'Aaron Aardvark',
'Belinda Beetle',
'Belinda Zephyr',
'Carlos Santana',
'+16505551234',
]);
});
it('can search for contacts by title', () => {
const titles = filterAndSortConversationsByTitle(
conversations,
'belind',
'US'
).map(contact => contact.title);
assert.sameMembers(titles, ['Belinda Beetle', 'Belinda Zephyr']);
});
it('can search for contacts by phone number (and puts no-name contacts at the bottom)', () => {
const titles = filterAndSortConversationsByTitle(
conversations,
'650555',
'US'
).map(contact => contact.title);
assert.sameMembers(titles, ['Carlos Santana', '+16505551234']);
});
it('can search for contacts by formatted phone number (and puts no-name contacts at the bottom)', () => {
const titles = filterAndSortConversationsByTitle(
conversations,
'(650)555 12-34',
'US'
).map(contact => contact.title);
assert.sameMembers(titles, ['+16505551234']);
});
it('can search for contacts by username', () => {
const titles = filterAndSortConversationsByTitle(
conversations,
'thisis',
'US'
).map(contact => contact.title);
assert.sameMembers(titles, ['Carlos Santana']);
});
});
import { filterAndSortConversationsByRecent } from '../../util/filterAndSortConversations';
describe('filterAndSortConversationsByRecent', () => {
const conversations = [

View File

@ -351,12 +351,24 @@ describe('state/selectors/messages', () => {
...overrides,
});
it('returns undefined for incoming messages', () => {
it('returns undefined for incoming messages with no errors', () => {
const message = createMessage({ type: 'incoming' });
assert.isUndefined(getMessagePropStatus(message, ourConversationId));
});
it('returns "error" for incoming messages with errors', () => {
const message = createMessage({
type: 'incoming',
errors: [new Error('something went wrong')],
});
assert.strictEqual(
getMessagePropStatus(message, ourConversationId),
'error'
);
});
it('returns "paused" for messages with challenges', () => {
const challengeError: ShallowChallengeError = Object.assign(
new Error('a challenge'),

View File

@ -204,6 +204,8 @@ export class SendMessageProtoError extends Error implements CallbackResultType {
public readonly recipients?: Record<string, Array<number>>;
public readonly sendIsNotFinal?: boolean;
constructor({
successfulIdentifiers,
failoverIdentifiers,
@ -214,6 +216,7 @@ export class SendMessageProtoError extends Error implements CallbackResultType {
contentProto,
timestamp,
recipients,
sendIsNotFinal,
}: CallbackResultType) {
super(`SendMessageProtoError: ${SendMessageProtoError.getMessage(errors)}`);
@ -226,6 +229,7 @@ export class SendMessageProtoError extends Error implements CallbackResultType {
this.contentProto = contentProto;
this.timestamp = timestamp;
this.recipients = recipients;
this.sendIsNotFinal = sendIsNotFinal;
}
protected static getMessage(errors: CallbackResultType['errors']): string {

View File

@ -251,6 +251,10 @@ export interface CallbackResultType {
unidentifiedDeliveries?: Array<string>;
dataMessage?: Uint8Array;
// If this send is not the final step in a multi-step send, we shouldn't treat its
// results we would treat a one-step send.
sendIsNotFinal?: boolean;
// Fields necessary for send log save
contentHint?: number;
contentProto?: Uint8Array;

View File

@ -9,6 +9,7 @@ import { WEEK } from './durations';
// Fuse.js scores have order of 0.01
const ACTIVE_AT_SCORE_FACTOR = (1 / WEEK) * 0.01;
const LEFT_GROUP_PENALTY = 1;
const FUSE_OPTIONS: Fuse.IFuseOptions<ConversationType> = {
// A small-but-nonzero threshold lets us match parts of E164s better, and makes the
@ -42,8 +43,6 @@ const FUSE_OPTIONS: Fuse.IFuseOptions<ConversationType> = {
],
};
const collator = new Intl.Collator();
const cachedIndices = new WeakMap<
ReadonlyArray<ConversationType>,
Fuse<ConversationType>
@ -119,15 +118,19 @@ export function filterAndSortConversationsByRecent(
return searchConversations(conversations, searchTerm, regionCode)
.slice()
.sort((a, b) => {
const { activeAt: aActiveAt = 0 } = a.item;
const { activeAt: bActiveAt = 0 } = b.item;
const { activeAt: aActiveAt = 0, left: aLeft = false } = a.item;
const { activeAt: bActiveAt = 0, left: bLeft = false } = b.item;
// See: https://fusejs.io/api/options.html#includescore
// 0 score is a perfect match, 1 - complete mismatch
const aScore =
(now - aActiveAt) * ACTIVE_AT_SCORE_FACTOR + (a.score ?? 0);
(now - aActiveAt) * ACTIVE_AT_SCORE_FACTOR +
(a.score ?? 0) +
(aLeft ? LEFT_GROUP_PENALTY : 0);
const bScore =
(now - bActiveAt) * ACTIVE_AT_SCORE_FACTOR + (b.score ?? 0);
(now - bActiveAt) * ACTIVE_AT_SCORE_FACTOR +
(b.score ?? 0) +
(bLeft ? LEFT_GROUP_PENALTY : 0);
return aScore - bScore;
})
@ -142,33 +145,3 @@ export function filterAndSortConversationsByRecent(
return a.activeAt && !b.activeAt ? -1 : 1;
});
}
export function filterAndSortConversationsByTitle(
conversations: ReadonlyArray<ConversationType>,
searchTerm: string,
regionCode: string | undefined
): Array<ConversationType> {
if (searchTerm.length) {
return searchConversations(conversations, searchTerm, regionCode)
.slice()
.sort((a, b) => {
return (a.score ?? 0) - (b.score ?? 0);
})
.map(result => result.item);
}
return conversations.concat().sort((a, b) => {
const aHasName = hasName(a);
const bHasName = hasName(b);
if (aHasName === bHasName) {
return collator.compare(a.title, b.title);
}
return aHasName && !bHasName ? -1 : 1;
});
}
function hasName(contact: Readonly<ConversationType>): boolean {
return Boolean(contact.name || contact.profileName);
}

View File

@ -412,18 +412,31 @@ export async function sendToGroupViaSenderKey(options: {
newToMemberUuids.length
} members: ${JSON.stringify(newToMemberUuids)}`
);
await handleMessageSend(
window.textsecure.messaging.sendSenderKeyDistributionMessage(
{
contentHint: ContentHint.RESENDABLE,
distributionId,
groupId,
identifiers: newToMemberUuids,
},
sendOptions ? { ...sendOptions, online: false } : undefined
),
{ messageIds: [], sendType: 'senderKeyDistributionMessage' }
);
try {
await handleMessageSend(
window.textsecure.messaging.sendSenderKeyDistributionMessage(
{
contentHint: ContentHint.RESENDABLE,
distributionId,
groupId,
identifiers: newToMemberUuids,
},
sendOptions ? { ...sendOptions, online: false } : undefined
),
{ messageIds: [], sendType: 'senderKeyDistributionMessage' }
);
} catch (error) {
// If we partially fail to send the sender key distribution message (SKDM), we don't
// want the successful SKDM sends to be considered an overall success.
if (error instanceof SendMessageProtoError) {
throw new SendMessageProtoError({
...error,
sendIsNotFinal: true,
});
}
throw error;
}
// Update memberDevices with new devices
const updatedMemberDevices = [...memberDevices, ...newToMemberDevices];