Compare commits

..

1 Commits

Author SHA1 Message Date
Tobias Fella
fc890b6799 Add upload-to-sentry action 2025-01-27 19:36:17 +01:00
17 changed files with 289 additions and 113 deletions

View File

@@ -27,7 +27,7 @@
"name": "kirigamiaddons",
"config-opts": [ "-DBUILD_TESTING=OFF" ],
"buildsystem": "cmake-ninja",
"sources": [ { "type": "git", "url": "https://invent.kde.org/libraries/kirigami-addons.git", "tag": "v1.7.0" } ]
"sources": [ { "type": "git", "url": "https://invent.kde.org/libraries/kirigami-addons.git", "commit": "34d311219e8b7209746a98b3a29b91ded05ff936" } ]
},
{
"name": "kquickimageeditor",

View File

@@ -66,6 +66,8 @@ if (QT_KNOWN_POLICY_QTP0004)
qt_policy(SET QTP0004 NEW)
endif ()
find_package(sentry REQUIRED)
find_package(KF6 ${KF_MIN_VERSION} COMPONENTS Kirigami I18n Notifications Config CoreAddons Sonnet ItemModels IconThemes ColorScheme)
set_package_properties(KF6 PROPERTIES
TYPE REQUIRED

View File

@@ -473,7 +473,6 @@
<content_attribute id="social-chat">intense</content_attribute>
</content_rating>
<releases>
<release version="24.12.2" date="2025-02-06"/>
<release version="24.12.1" date="2025-01-09"/>
<release version="24.12.0" date="2024-12-12"/>
<release version="24.08.3" date="2024-11-07"/>

View File

@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-01-26 00:41+0000\n"
"PO-Revision-Date: 2025-01-28 19:08+0400\n"
"PO-Revision-Date: 2025-01-23 16:35+0400\n"
"Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
"Language-Team: ar\n"
"Language: ar\n"
@@ -3008,16 +3008,18 @@ msgid "Successfully verified device **%1**"
msgstr "نجح في تَثَبّت من جهاز **%1**"
#: src/qml/KeyVerificationDialog.qml:161
#, kde-format
#, fuzzy, kde-format
#| msgid "The session verification timed out."
msgctxt "@info"
msgid "Choose a verification method to continue"
msgstr "اختر طريقة التحقق للمتابعة"
msgstr "انتهت مهلة جلسة التثبيت."
#: src/qml/KeyVerificationDialog.qml:165
#, kde-format
#, fuzzy, kde-format
#| msgid "Emoji Verification"
msgctxt "@action:button"
msgid "Emoji Verification"
msgstr "التثبت بواسطة الرموز التعبيرية"
msgstr "تَثَبّت من الصور التعبيرية"
#: src/qml/LocationChooser.qml:22
#, kde-format
@@ -5948,7 +5950,7 @@ msgstr "هذه الرسالة مشفرة ولم يشارك المرسل المف
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "اجلب أحداث أكثر"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#, kde-format

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-01-26 00:41+0000\n"
"PO-Revision-Date: 2025-01-26 10:39+0100\n"
"PO-Revision-Date: 2025-01-21 10:12+0100\n"
"Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
"Language: ca@valencia\n"
@@ -3021,13 +3021,15 @@ msgid "Successfully verified device **%1**"
msgstr "Dispositiu **%1** verificat correctament"
#: src/qml/KeyVerificationDialog.qml:161
#, kde-format
#, fuzzy, kde-format
#| msgid "The session verification timed out."
msgctxt "@info"
msgid "Choose a verification method to continue"
msgstr "Seleccioneu un mètode de verificació per a continuar"
msgstr "La verificació de la sessió ha vençut."
#: src/qml/KeyVerificationDialog.qml:165
#, kde-format
#, fuzzy, kde-format
#| msgid "Emoji Verification"
msgctxt "@action:button"
msgid "Emoji Verification"
msgstr "Verificació dels emoji"
@@ -6009,7 +6011,7 @@ msgstr ""
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Recupera més esdeveniments"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#, kde-format
@@ -6173,3 +6175,6 @@ msgstr "Mostra"
#, kde-format
msgid "Quit"
msgstr "Ix"
#~ msgid "Compare a set of emoji on both devices"
#~ msgstr "Compara un conjunt d'emoji en els dos dispositius"

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-01-26 00:41+0000\n"
"PO-Revision-Date: 2025-01-27 09:24+0100\n"
"PO-Revision-Date: 2025-01-22 09:23+0100\n"
"Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
"Language-Team: French <French <kde-francophone@kde.org>>\n"
"Language: fr\n"
@@ -3026,13 +3026,15 @@ msgid "Successfully verified device **%1**"
msgstr "Périphérique **%1** vérifié avec succès"
#: src/qml/KeyVerificationDialog.qml:161
#, kde-format
#, fuzzy, kde-format
#| msgid "The session verification timed out."
msgctxt "@info"
msgid "Choose a verification method to continue"
msgstr "Sélectionner une méthode de vérification pour continuer"
msgstr "La vérification de session a expiré."
#: src/qml/KeyVerificationDialog.qml:165
#, kde-format
#, fuzzy, kde-format
#| msgid "Emoji Verification"
msgctxt "@action:button"
msgid "Emoji Verification"
msgstr "Vérification des émoticônes"
@@ -6029,7 +6031,7 @@ msgstr ""
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Rechercher plus d'évènements"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#, kde-format

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-01-26 00:41+0000\n"
"PO-Revision-Date: 2025-01-27 11:24+0100\n"
"PO-Revision-Date: 2025-01-21 10:14+0100\n"
"Last-Translator: giovanni <g.sora@tiscali.it>\n"
"Language-Team: Interlingua <kde-i18n-doc@kde.org>\n"
"Language: ia\n"
@@ -3013,13 +3013,15 @@ msgid "Successfully verified device **%1**"
msgstr "Dispositivo **%1** verificato con successo"
#: src/qml/KeyVerificationDialog.qml:161
#, kde-format
#, fuzzy, kde-format
#| msgid "The session verification timed out."
msgctxt "@info"
msgid "Choose a verification method to continue"
msgstr "Selige un methodo de verification per continuar"
msgstr "Le verification de session terminava."
#: src/qml/KeyVerificationDialog.qml:165
#, kde-format
#, fuzzy, kde-format
#| msgid "Emoji Verification"
msgctxt "@action:button"
msgid "Emoji Verification"
msgstr "Veification de Emoji"
@@ -5994,7 +5996,7 @@ msgstr ""
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "TRova plus eventos"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#, kde-format

View File

@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-01-26 00:41+0000\n"
"PO-Revision-Date: 2025-01-26 11:02+0100\n"
"PO-Revision-Date: 2025-01-13 17:47+0100\n"
"Last-Translator: Vincenzo Reale <smart2128vr@gmail.com>\n"
"Language-Team: Italian <kde-i18n-it@kde.org>\n"
"Language: it\n"
@@ -2014,9 +2014,10 @@ msgid "Reply"
msgstr "Rispondi"
#: src/notificationsmanager.cpp:246
#, kde-format
#, fuzzy, kde-format
#| msgid "Reply"
msgid "Reply…"
msgstr "Rispondi"
msgstr "Rispondi"
#: src/notificationsmanager.cpp:305
#, kde-format
@@ -2736,7 +2737,8 @@ msgid "Configure NeoChat…"
msgstr "Configura NeoChat…"
#: src/qml/GlobalMenu.qml:25
#, kde-format
#, fuzzy, kde-format
#| msgid "Configure NeoChat…"
msgctxt "menu"
msgid "Configure NeoChat…"
msgstr "Configura NeoChat…"
@@ -3022,13 +3024,15 @@ msgid "Successfully verified device **%1**"
msgstr "Dispositivo **%1** verificato correttamente"
#: src/qml/KeyVerificationDialog.qml:161
#, kde-format
#, fuzzy, kde-format
#| msgid "The session verification timed out."
msgctxt "@info"
msgid "Choose a verification method to continue"
msgstr "Scegli un metodo di verifica per continuare"
msgstr "La verifica della sessione è scaduta."
#: src/qml/KeyVerificationDialog.qml:165
#, kde-format
#, fuzzy, kde-format
#| msgid "Emoji Verification"
msgctxt "@action:button"
msgid "Emoji Verification"
msgstr "Verifica emoji"
@@ -3174,9 +3178,10 @@ msgid "Search for '%1'"
msgstr "Cerca «%1»"
#: src/qml/MessageDelegateContextMenu.qml:127
#, kde-format
#, fuzzy, kde-format
#| msgid "Configure Web Shortcuts..."
msgid "Configure Web Shortcuts…"
msgstr "Configura le scorciatoie web"
msgstr "Configura le scorciatoie web..."
#: src/qml/MessageSourceSheet.qml:46
#, kde-format
@@ -3458,16 +3463,18 @@ msgid "Show locations for this room"
msgstr "Mostra le posizioni per questa stanza"
#: src/qml/RoomInformation.qml:137
#, kde-format
#, fuzzy, kde-format
#| msgid "Find messages…"
msgctxt "@action:button"
msgid "Pinned messages"
msgstr "Messaggi appuntati"
msgstr "Trova messaggi..."
#: src/qml/RoomInformation.qml:146 src/qml/RoomPinnedMessagesPage.qml:23
#, kde-format
#, fuzzy, kde-format
#| msgid "Direct Messages"
msgctxt "@title"
msgid "Pinned Messages"
msgstr "Messaggi appuntati"
msgstr "Messaggi diretti"
#: src/qml/RoomInformation.qml:154 src/qml/SpaceHomePage.qml:65
#, kde-format
@@ -3569,10 +3576,12 @@ msgid "Message Source"
msgstr "Sorgente del messaggio"
#: src/qml/RoomPinnedMessagesPage.qml:46
#, kde-format
#, fuzzy, kde-format
#| msgctxt "As in sorting rooms with the most unread messages higher"
#| msgid "Most Unread Messages"
msgctxt "@info:placeholder"
msgid "No Pinned Messages"
msgstr "Nessun messaggio appuntato"
msgstr "Più messaggi non letti"
#: src/qml/RoomSearchPage.qml:26
#, kde-format
@@ -3948,12 +3957,14 @@ msgid "Account Details"
msgstr "Dettagli dell'account"
#: src/qml/UserDetailDialog.qml:83
#, kde-format
#, fuzzy, kde-format
#| msgctxt "Notification type"
#| msgid "Invites to a room"
msgctxt "@info"
msgid "One mutual room"
msgid_plural "%1 mutual rooms"
msgstr[0] "Una stanza comune"
msgstr[1] "%1 stanze comuni"
msgstr[0] "Inviti a una stanza"
msgstr[1] "Inviti a una stanza"
#: src/qml/UserDetailDialog.qml:126
#, kde-format
@@ -4408,31 +4419,36 @@ msgid "Password"
msgstr "Password"
#: src/settings/AccountEditorPage.qml:159
#, kde-format
#, fuzzy, kde-format
#| msgid "Your server doesn't support changing your password"
msgctxt "@info"
msgid "Your server doesn't support changing your password"
msgstr "Il tuo server non supporta la modifica della password"
#: src/settings/AccountEditorPage.qml:166
#, kde-format
#, fuzzy, kde-format
#| msgid "Current Password:"
msgctxt "@label:textbox"
msgid "Current Password:"
msgstr "Password attuale:"
#: src/settings/AccountEditorPage.qml:173
#, kde-format
#, fuzzy, kde-format
#| msgid "New Password:"
msgctxt "@label:textbox"
msgid "New Password:"
msgstr "Nuova password:"
#: src/settings/AccountEditorPage.qml:180
#, kde-format
#, fuzzy, kde-format
#| msgid "Confirm new Password:"
msgctxt "@label:textbox"
msgid "Confirm new Password:"
msgstr "Conferma la nuova password:"
#: src/settings/AccountEditorPage.qml:185
#, kde-format
#, fuzzy, kde-format
#| msgid "Passwords don't match"
msgctxt "@info"
msgid "Passwords don't match"
msgstr "Le password non corrispondono"
@@ -4478,19 +4494,23 @@ msgid "Deactivate Account"
msgstr "Disattiva account"
#: src/settings/AccountEditorPage.qml:272
#, kde-format
#, fuzzy, kde-format
#| msgid "Password changed successfully"
msgctxt "@info"
msgid "Password changed successfully"
msgstr "Password modificata correttamente"
#: src/settings/AccountEditorPage.qml:275
#, kde-format
#, fuzzy, kde-format
#| msgctxt "@info"
#| msgid "Invalid passphrase"
msgctxt "@info"
msgid "Invalid password"
msgstr "Password non valida"
msgstr "Frase segreta non valida"
#: src/settings/AccountEditorPage.qml:278
#, kde-format
#, fuzzy, kde-format
#| msgid "Unknown problem while trying to change password"
msgctxt "@info"
msgid "Unknown problem while trying to change password"
msgstr "Problema sconosciuto durante il tentativo di cambiare la password"
@@ -5185,7 +5205,7 @@ msgstr "Il tuo server non supporta questa impostazione."
#, kde-format
msgctxt "@option:check"
msgid "Turn on encryption in new chats"
msgstr "Attiva la cifratura nelle nuove chat"
msgstr ""
#: src/settings/NeoChatSecurityPage.qml:75
#, kde-format
@@ -5193,8 +5213,6 @@ msgctxt "@info"
msgid ""
"If enabled, NeoChat will use encryption when starting new direct messages."
msgstr ""
"Se abilitata, NeoChat utilizzerà la cifratura quando si avviano nuovi "
"messaggi diretti."
#: src/settings/NeoChatSecurityPage.qml:85
#, kde-format
@@ -5604,25 +5622,28 @@ msgstr "Seleziona la nuova versione"
#, kde-format
msgctxt "@info"
msgid "Customize your profile only for this room."
msgstr "Personalizza il tuo profilo solo per questa stanza."
msgstr ""
#: src/settings/RoomProfile.qml:38
#, kde-format
#, fuzzy, kde-format
#| msgid "Display Name:"
msgctxt "@label:textbox"
msgid "Display Name"
msgstr "Nome visualizzato"
msgstr "Nome visualizzato:"
#: src/settings/RoomProfile.qml:48
#, kde-format
#, fuzzy, kde-format
#| msgid "Save"
msgctxt "@action:button Save profile"
msgid "Save"
msgstr "Salva"
#: src/settings/RoomProfile.qml:54
#, kde-format
#, fuzzy, kde-format
#| msgid "System Default"
msgctxt "@action:button"
msgid "Reset to Default"
msgstr "Ripristina predefiniti"
msgstr "Impostazioni predefinite di sistema"
#: src/settings/RoomSecurityPage.qml:18
#, kde-format
@@ -5796,10 +5817,11 @@ msgid "Permissions"
msgstr "Permessi"
#: src/settings/RoomSettingsView.qml:84
#, kde-format
#, fuzzy, kde-format
#| msgid "a file"
msgctxt "@title"
msgid "Profile"
msgstr "Profilo"
msgstr "un file"
#: src/settings/RoomSortParameterDialog.qml:16
#, kde-format
@@ -6011,7 +6033,7 @@ msgstr ""
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Recupera altri eventi"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#, kde-format

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-01-26 00:41+0000\n"
"PO-Revision-Date: 2025-02-01 12:08+0100\n"
"PO-Revision-Date: 2025-01-04 07:47+0100\n"
"Last-Translator: Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>\n"
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
"Language: pl\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 24.12.1\n"
"X-Generator: Lokalize 24.12.0\n"
#: src/chatbar/AttachDialog.qml:29
#, kde-format
@@ -2010,9 +2010,10 @@ msgid "Reply"
msgstr "Odpowiedz"
#: src/notificationsmanager.cpp:246
#, kde-format
#, fuzzy, kde-format
#| msgid "Reply"
msgid "Reply…"
msgstr "Odpowiedz"
msgstr "Odpowiedz"
#: src/notificationsmanager.cpp:305
#, kde-format
@@ -2210,13 +2211,13 @@ msgstr "Hasło"
#, kde-format
msgctxt "@label:checkbox"
msgid "Erase Data"
msgstr "Wymaż dane"
msgstr ""
#: src/qml/ConfirmDeactivateAccountDialog.qml:34
#, kde-format
msgctxt "@info"
msgid "Request your server to delete as much user data as possible."
msgstr "Poproś swój serwer, aby usunął tyle danych użytkownika ile to możliwe."
msgstr ""
#: src/qml/ConfirmDeactivateAccountDialog.qml:43
#, kde-format
@@ -2729,7 +2730,8 @@ msgid "Configure NeoChat…"
msgstr "Ustawienia NeoChata…"
#: src/qml/GlobalMenu.qml:25
#, kde-format
#, fuzzy, kde-format
#| msgid "Configure NeoChat…"
msgctxt "menu"
msgid "Configure NeoChat…"
msgstr "Ustawienia NeoChata…"
@@ -3015,13 +3017,15 @@ msgid "Successfully verified device **%1**"
msgstr "Pomyślnie sprawdzono urządzenie **%1**"
#: src/qml/KeyVerificationDialog.qml:161
#, kde-format
#, fuzzy, kde-format
#| msgid "The session verification timed out."
msgctxt "@info"
msgid "Choose a verification method to continue"
msgstr "Wybierz sposób potwierdzenia, aby kontynuować"
msgstr "Przekroczono czas na sprawdzenie posiedzenia."
#: src/qml/KeyVerificationDialog.qml:165
#, kde-format
#, fuzzy, kde-format
#| msgid "Emoji Verification"
msgctxt "@action:button"
msgid "Emoji Verification"
msgstr "Sprawdzenie emoji"
@@ -3167,9 +3171,10 @@ msgid "Search for '%1'"
msgstr "Poszukaj '%1'"
#: src/qml/MessageDelegateContextMenu.qml:127
#, kde-format
#, fuzzy, kde-format
#| msgid "Configure Web Shortcuts..."
msgid "Configure Web Shortcuts…"
msgstr "Ustawienia skrótów sieciowych"
msgstr "Ustawienia skrótów sieciowych..."
#: src/qml/MessageSourceSheet.qml:46
#, kde-format
@@ -3450,16 +3455,18 @@ msgid "Show locations for this room"
msgstr "Pokaż miejsca dla tego pokoju"
#: src/qml/RoomInformation.qml:137
#, kde-format
#, fuzzy, kde-format
#| msgid "Find messages…"
msgctxt "@action:button"
msgid "Pinned messages"
msgstr "Przypięte wiadomości"
msgstr "Poszukaj wiadomości"
#: src/qml/RoomInformation.qml:146 src/qml/RoomPinnedMessagesPage.qml:23
#, kde-format
#, fuzzy, kde-format
#| msgid "Direct Messages"
msgctxt "@title"
msgid "Pinned Messages"
msgstr "Przypięte wiadomości"
msgstr "Bezpośrednie wiadomości"
#: src/qml/RoomInformation.qml:154 src/qml/SpaceHomePage.qml:65
#, kde-format
@@ -3562,10 +3569,12 @@ msgid "Message Source"
msgstr "Źródło wiadomości"
#: src/qml/RoomPinnedMessagesPage.qml:46
#, kde-format
#, fuzzy, kde-format
#| msgctxt "As in sorting rooms with the most unread messages higher"
#| msgid "Most Unread Messages"
msgctxt "@info:placeholder"
msgid "No Pinned Messages"
msgstr "Brak przypiętych wiadomości"
msgstr "Najwięcej nieprzeczytanych wiadomości"
#: src/qml/RoomSearchPage.qml:26
#, kde-format
@@ -3850,10 +3859,11 @@ msgid "Load your encrypted messages"
msgstr "Wczytaj swoje zaszyfrowane wiadomości"
#: src/qml/UnlockSSSSDialog.qml:38
#, kde-format
#, fuzzy, kde-format
#| msgid "Encryption key"
msgctxt "@info:status"
msgid "Encryption keys restored."
msgstr "Przywrócono klucze szyfrujące."
msgstr "Klucz szyfrujący"
#: src/qml/UnlockSSSSDialog.qml:50
#, kde-format
@@ -3942,13 +3952,15 @@ msgid "Account Details"
msgstr "Szczegóły konta"
#: src/qml/UserDetailDialog.qml:83
#, kde-format
#, fuzzy, kde-format
#| msgctxt "Notification type"
#| msgid "Invites to a room"
msgctxt "@info"
msgid "One mutual room"
msgid_plural "%1 mutual rooms"
msgstr[0] "Jeden wspólny pokój"
msgstr[1] "%1 wspólne pokoje"
msgstr[2] "%1 wspólnych pokoi"
msgstr[0] "Zaprasza do pokoju"
msgstr[1] "Zaprasza do pokoju"
msgstr[2] "Zaprasza do pokoju"
#: src/qml/UserDetailDialog.qml:126
#, kde-format
@@ -4394,31 +4406,36 @@ msgid "Password"
msgstr "Hasło"
#: src/settings/AccountEditorPage.qml:159
#, kde-format
#, fuzzy, kde-format
#| msgid "Your server doesn't support changing your password"
msgctxt "@info"
msgid "Your server doesn't support changing your password"
msgstr "Twój serwer nie obsługuje zmieniania twojego hasła"
#: src/settings/AccountEditorPage.qml:166
#, kde-format
#, fuzzy, kde-format
#| msgid "Current Password:"
msgctxt "@label:textbox"
msgid "Current Password:"
msgstr "Obecne hasło:"
#: src/settings/AccountEditorPage.qml:173
#, kde-format
#, fuzzy, kde-format
#| msgid "New Password:"
msgctxt "@label:textbox"
msgid "New Password:"
msgstr "Nowe hasło:"
#: src/settings/AccountEditorPage.qml:180
#, kde-format
#, fuzzy, kde-format
#| msgid "Confirm new Password:"
msgctxt "@label:textbox"
msgid "Confirm new Password:"
msgstr "Nowe hasło jeszcze raz:"
#: src/settings/AccountEditorPage.qml:185
#, kde-format
#, fuzzy, kde-format
#| msgid "Passwords don't match"
msgctxt "@info"
msgid "Passwords don't match"
msgstr "Hasła nie są sobie równe"
@@ -4464,19 +4481,23 @@ msgid "Deactivate Account"
msgstr "Wyłącz konto"
#: src/settings/AccountEditorPage.qml:272
#, kde-format
#, fuzzy, kde-format
#| msgid "Password changed successfully"
msgctxt "@info"
msgid "Password changed successfully"
msgstr "Pomyślnie zmieniono hasło"
msgstr "Hasło zmieniono pomyślnie"
#: src/settings/AccountEditorPage.qml:275
#, kde-format
#, fuzzy, kde-format
#| msgctxt "@info"
#| msgid "Invalid passphrase"
msgctxt "@info"
msgid "Invalid password"
msgstr "Nieprawidłowe hasło"
#: src/settings/AccountEditorPage.qml:278
#, kde-format
#, fuzzy, kde-format
#| msgid "Unknown problem while trying to change password"
msgctxt "@info"
msgid "Unknown problem while trying to change password"
msgstr "Wystąpił nieznany problem podczas próby zmiany hasła"
@@ -5169,7 +5190,7 @@ msgstr "Twój serwer nie obsługuje tego ustawienia."
#, kde-format
msgctxt "@option:check"
msgid "Turn on encryption in new chats"
msgstr "Włącz szyfrowanie w nowych rozmowach"
msgstr ""
#: src/settings/NeoChatSecurityPage.qml:75
#, kde-format
@@ -5177,8 +5198,6 @@ msgctxt "@info"
msgid ""
"If enabled, NeoChat will use encryption when starting new direct messages."
msgstr ""
"Gdy włączone, to NeoChat będzie szyfrował nowozaczynane wiadomości "
"bezpośrednie."
#: src/settings/NeoChatSecurityPage.qml:85
#, kde-format
@@ -5582,25 +5601,28 @@ msgstr "Wybierz nową wersję"
#, kde-format
msgctxt "@info"
msgid "Customize your profile only for this room."
msgstr "Dostosuj swój profil tylko dla tego pokoju."
msgstr ""
#: src/settings/RoomProfile.qml:38
#, kde-format
#, fuzzy, kde-format
#| msgid "Display Name:"
msgctxt "@label:textbox"
msgid "Display Name"
msgstr "Wyświetlana nazwa"
msgstr "Wyświetlana nazwa:"
#: src/settings/RoomProfile.qml:48
#, kde-format
#, fuzzy, kde-format
#| msgid "Save"
msgctxt "@action:button Save profile"
msgid "Save"
msgstr "Zapisz"
#: src/settings/RoomProfile.qml:54
#, kde-format
#, fuzzy, kde-format
#| msgid "System Default"
msgctxt "@action:button"
msgid "Reset to Default"
msgstr "Przywróć domyślne"
msgstr "Domyślny systemowy"
#: src/settings/RoomSecurityPage.qml:18
#, kde-format
@@ -5769,10 +5791,11 @@ msgid "Permissions"
msgstr "Uprawnienia"
#: src/settings/RoomSettingsView.qml:84
#, kde-format
#, fuzzy, kde-format
#| msgid "a file"
msgctxt "@title"
msgid "Profile"
msgstr "Profil"
msgstr "plik"
#: src/settings/RoomSortParameterDialog.qml:16
#, kde-format
@@ -5986,7 +6009,7 @@ msgstr ""
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Pobierz więcej wydarzeń"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#, kde-format

View File

@@ -198,6 +198,8 @@ add_library(neochat STATIC
models/pinnedmessagemodel.h
models/commonroomsmodel.cpp
models/commonroomsmodel.h
sentryintegration.cpp
sentryintegration.h
)
set_source_files_properties(qml/OsmLocationPlugin.qml PROPERTIES
@@ -298,6 +300,7 @@ ecm_add_qml_module(neochat URI org.kde.neochat GENERATE_PLUGIN_SOURCE
qml/HoverLinkIndicator.qml
qml/AvatarNotification.qml
qml/ReasonDialog.qml
qml/SendLogsDialog.qml
DEPENDENCIES
QtCore
QtQuick
@@ -430,6 +433,7 @@ target_link_libraries(neochat PUBLIC
cmark::cmark
QCoro::Core
QCoro::Network
sentry::sentry
)
if (TARGET KF6::Crash)

View File

@@ -50,6 +50,7 @@
#include "controller.h"
#include "logger.h"
#include "roommanager.h"
#include "sentryintegration.h"
#include "sharehandler.h"
#include "windowcontroller.h"
@@ -174,6 +175,8 @@ int main(int argc, char *argv[])
KCrash::initialize();
#endif
Sentry::instance();
initLogging();
Connection::setEncryptionDefault(true);

View File

@@ -27,20 +27,24 @@ void TimelineMessageModel::connectNewRoom()
}
connect(m_room, &Room::aboutToAddNewMessages, this, [this](RoomEventsRange events) {
for (auto &&event : events) {
Q_EMIT newEventAdded(event.get());
}
m_initialized = true;
beginInsertRows({}, timelineServerIndex(), timelineServerIndex() + int(events.size()) - 1);
});
connect(m_room, &Room::aboutToAddHistoricalMessages, this, [this](RoomEventsRange events) {
for (auto &event : events) {
Q_EMIT newEventAdded(event.get());
}
if (rowCount() > 0) {
rowBelowInserted = rowCount() - 1; // See #312
}
m_initialized = true;
beginInsertRows({}, rowCount(), rowCount() + int(events.size()) - 1);
});
connect(m_room, &Room::addedMessages, this, [this](int lowest, int biggest) {
if (m_initialized) {
for (int i = lowest; i == biggest; ++i) {
const auto event = m_room->findInTimeline(i)->event();
Q_EMIT newEventAdded(event);
}
endInsertRows();
}
if (!m_lastReadEventIndex.isValid()) {

View File

@@ -91,12 +91,21 @@ KirigamiComponents.ConvergentContextMenu {
enabled: Controller.csSupported
}
QQC2.Action {
text: i18nc("@action:inmenu", "Do Sentry Things")
onTriggered: root.window.pageStack.pushDialogLayer(Qt.createComponent("org.kde.neochat", "SendLogsDialog"), {}, {
title: i18nc("@title:window", "Send Logs")
})
}
QQC2.Action {
text: i18n("Logout")
icon.name: "im-kick-user"
onTriggered: confirmLogoutDialogComponent.createObject(QQC2.ApplicationWindow.window.overlay).open()
}
readonly property Component confirmLogoutDialogComponent: ConfirmLogoutDialog {
connection: root.connection
}

View File

@@ -0,0 +1,36 @@
// SPDX-FileCopyrightText: 2025 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
import QtQuick
import QtQuick.Controls as QQC2
import QtQuick.Layouts
import org.kde.kirigami as Kirigami
import org.kde.kirigamiaddons.formcard as FormCard
import org.kde.neochat
FormCard.FormCardPage {
id: root
title: i18nc("@title:dialog", "Upload Logs")
FormCard.FormTextDelegate {
text: i18nc("@info", "Uploading NeoChat's logs can help with finding bugs in the app. After uploading the logs, a token will be shown which identifies the file you have uploaded. Please add this token when creating a bug report for your problem. Uploaded logs are only accessible to KDE developers and will never contain secret data.");
textItem.wrapMode: Text.Wrap
}
FormCard.FormTextAreaDelegate {
id: description
label: i18nc("@label", "Description")
placeholderText: i18nc("@info:placeholder", "Things are not working")
}
QQC2.DialogButtonBox {
QQC2.Button {
text: i18nc("@action:button", "Upload")
//TODO icon
}
standardButtons: QQC2.DialogButtonBox.Cancel
}
}

35
src/sentryintegration.cpp Normal file
View File

@@ -0,0 +1,35 @@
// SPDX-FileCopyrightText: 2025 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
#include "sentryintegration.h"
#include <sentry.h>
using namespace Qt::Literals::StringLiterals;
Sentry &Sentry::instance()
{
static Sentry _instance;
return _instance;
}
Sentry::Sentry()
: QObject()
{
QString dsn = QStringLiteral("https://%1@crash-reports.kde.org/%2").arg("296a68fe1cf24ee79fafad735365d8d6"_L1, "18"_L1);
auto options = sentry_options_new();
sentry_options_set_dsn(options, dsn.toLatin1().data());
sentry_options_set_release(options, "neochat@TESTING");
sentry_options_set_debug(options, false);
sentry_options_add_attachment(options, "/home/tobias/.local/share/KDE/neochat/neochat.log.0");
sentry_init(options);
}
void Sentry::sendLogs()
{
auto event = sentry_value_new_message_event(SENTRY_LEVEL_INFO, "custom", "It works!");
auto uuid = sentry_capture_event(event);
auto str = (char *)malloc(37);
sentry_uuid_as_string(&uuid, str);
qWarning() << "sent logs" << str;
}

28
src/sentryintegration.h Normal file
View File

@@ -0,0 +1,28 @@
// SPDX-FileCopyrightText: 2025 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
#pragma once
#include <QObject>
#include <QQmlEngine>
#include <qqmlintegration.h>
class Sentry : public QObject
{
Q_OBJECT
QML_ELEMENT
QML_SINGLETON
public:
static Sentry &instance();
static Sentry *create(QQmlEngine *engine, QJSEngine *)
{
engine->setObjectOwnership(&instance(), QQmlEngine::CppOwnership);
return &instance();
}
Q_INVOKABLE void sendLogs();
private:
Sentry();
};

View File

@@ -289,7 +289,7 @@ TimelineDelegate {
AnchorChanges {
target: bubble
anchors.left: avatar.right
anchors.right: root.isThreaded ? parent.right : undefined
anchors.right: undefined
}
}
]