diff --git a/CHANGELOG.md b/CHANGELOG.md index e247a9b2f..d49bcbd6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,22 @@ ## Unreleased +* Better incoming call system integration +* Calls are not experimental anymore and don't need to be manually enabled +* Allow mini-apps to play audio without user interaction * Mark chats as unread (long tap a chat and select the corresponding option from the three-dot-menu) + +## v2.49.0 +2026-04 + * Fix file sharing to certain apps (e.g. Material Files, etc.) +* Fix problem with calls when microphone permission is not granted +* Fix taking pictures and videos in devices with SD cards +* Fix flipped orientation for some images +* Fix: avoid empty contact request chats when using invite links in a multi-device setup * Remove proxy toggle from profile editing to avoid confusion +* Updated translations +* Update to core 2.49.0 ## v2.48.0 2026-03 diff --git a/build.gradle b/build.gradle index 408b3182d..e9acd1d2c 100644 --- a/build.gradle +++ b/build.gradle @@ -28,8 +28,8 @@ android { useLibrary 'org.apache.http.legacy' defaultConfig { - versionCode 746 - versionName "2.48.0" + versionCode 747 + versionName "2.49.0" applicationId "com.b44t.messenger" multiDexEnabled true diff --git a/flake.lock b/flake.lock index 457cd5257..055b65dea 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1756239746, - "narHash": "sha256-0ibN685tT+u/Nbmbrrq9G3mRUzct2Votyv/a7Wwv26s=", + "lastModified": 1775939535, + "narHash": "sha256-Zq1U7Vhw5ctvhJQy+3ShqIv7Mplf3XkgJY+QJnhfUGQ=", "owner": "tadfisher", "repo": "android-nixpkgs", - "rev": "256631d162ec883b2341ee59621516e1f65f0f6b", + "rev": "d2e16192309bf3101e4998ffa62e914819dee077", "type": "github" }, "original": { @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1741473158, - "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=", + "lastModified": 1768818222, + "narHash": "sha256-460jc0+CZfyaO8+w8JNtlClB2n4ui1RbHfPTLkpwhU8=", "owner": "numtide", "repo": "devshell", - "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0", + "rev": "255a2b1725a20d060f566e4755dbf571bbbb5f76", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756125398, - "narHash": "sha256-XexyKZpf46cMiO5Vbj+dWSAXOnr285GHsMch8FBoHbc=", + "lastModified": 1775710090, + "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5", + "rev": "4c1018dae018162ec878d42fec712642d214fdfa", "type": "github" }, "original": { @@ -95,11 +95,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1756159630, - "narHash": "sha256-ohMvsjtSVdT/bruXf5ClBh8ZYXRmD4krmjKrXhEvwMg=", + "lastModified": 1775823930, + "narHash": "sha256-ALT447J7FcxP/97J01A/gp/hgdO5lXRsm+zLMt+gIjc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "84c256e42600cb0fdf25763b48d28df2f25a0c8b", + "rev": "8c11f88bb9573a10a7d6bf87161ef08455ac70b9", "type": "github" }, "original": { @@ -138,11 +138,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1763347184, - "narHash": "sha256-6QH8hpCYJxifvyHEYg+Da0BotUn03BwLIvYo3JAxuqQ=", + "lastModified": 1775877051, + "narHash": "sha256-wpSQm2PD/w4uRo2wb8utk0b5hOBkkg/CZ1xICY+qB7M=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "08895cce80433978d5bfd668efa41c5e24578cbd", + "rev": "08b4f3633471874c8894632ade1b78d75dbda002", "type": "github" }, "original": { diff --git a/jni/deltachat-core-rust b/jni/deltachat-core-rust index 24b21c058..dab7ca19f 160000 --- a/jni/deltachat-core-rust +++ b/jni/deltachat-core-rust @@ -1 +1 @@ -Subproject commit 24b21c058842e3f15cfb4558385bf8977d0ed739 +Subproject commit dab7ca19fec91fe2462cb70eb52ec407343b4b2d diff --git a/src/foss/AndroidManifest.xml b/src/foss/AndroidManifest.xml index b55a093e9..f81ce6d34 100644 --- a/src/foss/AndroidManifest.xml +++ b/src/foss/AndroidManifest.xml @@ -5,7 +5,6 @@ - + diff --git a/src/main/assets/help/cs/help.html b/src/main/assets/help/cs/help.html index 6314f9bc5..3158693f1 100644 --- a/src/main/assets/help/cs/help.html +++ b/src/main/assets/help/cs/help.html @@ -1578,7 +1578,7 @@ See here for the full
  • 2023 March, Cure53 analyzed both the transport encryption of Delta Chat’s network connections and a reproducible mail server setup as -recommended on this site. +recommended on this site. You can read more about the audit on our blog or read the full report here.

  • diff --git a/src/main/assets/help/de/help.html b/src/main/assets/help/de/help.html index e307292c1..2e6259bb9 100644 --- a/src/main/assets/help/de/help.html +++ b/src/main/assets/help/de/help.html @@ -1468,7 +1468,7 @@ Weitere Informationen findest du in unserem Blogbeitrag über hier für die vollständige Hintergrundgeschichte.

  • -

    Im März 2023 analysierte Cure53 sowohl die Transportverschlüsselung von Delta Chats Netzwerkverbindungen als auch das reproduzierbare Mailserver-Setup wie auf dieser Seite empfohlen. Du kannst mehr über das Audit in unserem Blog lesen oder du liest den vollständigen Bericht hier.

    +

    Im März 2023 analysierte Cure53 sowohl die Transportverschlüsselung von Delta Chats Netzwerkverbindungen als auch das reproduzierbare Mailserver-Setup wie auf dieser Seite empfohlen. Du kannst mehr über das Audit in unserem Blog lesen oder du liest den vollständigen Bericht hier.

  • Im Jahr 2020 analysierte Include Security Delta Chats Rust core, IMAP,SMTP, und TLS Bibliotheken. diff --git a/src/main/assets/help/en/help.html b/src/main/assets/help/en/help.html index 290de6c8d..ac19dec24 100644 --- a/src/main/assets/help/en/help.html +++ b/src/main/assets/help/en/help.html @@ -1578,7 +1578,7 @@ See here for the full

  • 2023 March, Cure53 analyzed both the transport encryption of Delta Chat’s network connections and a reproducible mail server setup as -recommended on this site. +recommended on this site. You can read more about the audit on our blog or read the full report here.

  • diff --git a/src/main/assets/help/es/help.html b/src/main/assets/help/es/help.html index e0dc2c395..557cb90c6 100644 --- a/src/main/assets/help/es/help.html +++ b/src/main/assets/help/es/help.html @@ -105,8 +105,7 @@ -

    Delta Chat is a reliable, decentralized and secure instant messaging app, -available for mobile and desktop platforms.

    +

    Delta Chat es una aplicación de mensajería instantánea confiable, descentralizada y segura, disponible para dispositivos móviles y computadoras de escritorio.

    • @@ -1567,7 +1566,7 @@ See here for the full
    • 2023 March, Cure53 analyzed both the transport encryption of Delta Chat’s network connections and a reproducible mail server setup as -recommended on this site. +recommended on this site. You can read more about the audit on our blog or read the full report here.

    • diff --git a/src/main/assets/help/eu/help.html b/src/main/assets/help/eu/help.html new file mode 100644 index 000000000..e76a56007 --- /dev/null +++ b/src/main/assets/help/eu/help.html @@ -0,0 +1,1760 @@ + + + + + +

      + + + Zer da Delta Chat? + + +

      + +

      Delta Chat bat-bateko mezularitzako app bat da, fidagarria, deszentralizatua eta segurua, +eta plataforma mugikorretan eta mahaigainekoetan erabil daiteke.

      + + + +

      + + + Nola aurkitu dezaket jendea, txateatzeko? + + +

      + +

      Lehenik eta behin, kontuan izan Delta Chat mezularitza pribatuko zerbitzu bat dela. +Ez dago bilaketa publikorik, zuk erabakitzen duzu nor diren zure kontaktuak.

      + +
        +
      • +

        Lagunarekin edo senidearekin aurrez aurre bazaude, +ukitu QR kodearen ikonoa +hasierako pantailan. +Orain, zure solaskideak QR irudi hori eskaneatu behar du +bere Delta Chat aplikazioarekin.

        +
      • +
      • +

        Urrunetik kontaktatzeko, +pantaila horretan bertan +sakatu “Esteka” botoia, aukeratu “Kopiatu” edo “Partekatu”, eta bidali gonbidapen-esteka +beste txat pribatu baten bidez.

        +
      • +
      + +

      Orain, itxaron pixka bat, konexioa ezarri arte.

      + +
        +
      • +

        Bi aldeak online bazaudete, laster txat bat ikusiko duzue +eta elkarri mezuak modu seguruan bidaltzen hasi ahalko zarete.

        +
      • +
      • +

        Bi aldeetako bat offline badago edo konexio kaskarra badu, +konexioa berrezarritakoan sortuko da txateatzeko aukera.

        +
      • +
      + +

      Zorionak! +Hemendik aurrera muturretik muturrerako zifratzea automatikoki erabiliko duzu kontaktu honekin. +Taldeetan elkar gehitzen baduzue, kide guztien artean muturretik muturrerako zifratzea ezarriko da.

      + +

      + + + Zergatik dago txat bat “Eskaera” gisa markatuta? + + +

      + +

      Mezularitza-aplikazio pribatua denez, +ezin dizu edonork idatzi; zure QR kodea edo gonbidapen-esteka partekatu diezun lagun edo senideek besterik ez.

      + +

      Gerta daiteke zure lagunek zure kontaktua beste lagun batzuekin partekatzea, +eta hori Eskaera moduan agertuko da.

      + +
        +
      • +

        Erantzun ahal izateko, lehenbizi onartu egin behar duzu.

        +
      • +
      • +

        Oraingoz pertsona horrekin txateatu nahi ez baduzu, ezabatu dezakezu.

        +
      • +
      • +

        Eskaera bat ezabatzen duzunean, kontaktu horrek gerora bidalitako mezuak ere +mezu-eskaera bezala agertuko dira; beraz, iritziz aldatzeko aukera izango duzu. Benetan pertsona horren mezurik +jaso nahi ez baduzu, kontuan izan blokeatu ditzakezula.

        +
      • +
      + +

      + + + Nola jar ditzaket nire bi lagun elkarren artean harremanetan? + + +

      + +

      Gehitu lagunetako baten kontaktua bestearen txatean, botoi hauek erabiliz: Paperclip Eranskina → Kontaktua. +Aurkezpena egiteko mezutxo bat idaztea ere badaukazu.

      + +

      Hori egindakoan, bigarrenak txartel bat jasoko du +eta, sakatutakoan, lehenengo kontaktuarekin txateatzen hasi ahalko da.

      + +

      + + + Zer dira profilak edo kontuak? Zer egin behar dut profil batetik beste batera aldatzeko? + + +

      + +

      Profila (edo kontua) izen bat, argazki edo irudi bat eta mezuak zifratzeko bestelako informazio gehigarri bat dira. +Profila zure gailuan (edo gailuetan) bakarrik dago, +eta zerbitzaria mezuak birbidaltzeko bakarrik erabiltzen du.

      + +

      Delta Chat lehenbiziko aldiz instalatutakoan, lehen profil edo kontu bat sortzen da.

      + +

      Gero, pantailaren goialdean ezkerreko izkinan zure profilaren irudia ukituta, kontua aldatu +edo kontua gehitu dezakezu.

      + +

      Agian profil desberdinak erabili nahi dituzu jarduera politikoetarako, lagun eta familiakoetarako, eta lanekoetarako.

      + +

      Eta beharbada ikasi nahi duzu nola erabili profil edo kontu bera zenbait gailutan.

      + +

      + + + Nork ikus dezake nire profileko argazkia? + + +

      + +

      Kontua konfiguratzean, profileko argazki edo irudi bat jartzeko aukera duzu. Zure kontaktuei idatzitakoan, +edo QR kode baten bidez gehitutakoan, zure profileko argazki gisa ikusiko dute automatikoki.

      + +

      Pribatutasun-arrazoiengatik, inork ez du zure profileko argazkia ikusiko +zuk haiei mezu bat idatzi arte.

      + +

      + + + Jar dezaket biografia/egoera Delta Chaten? + + +

      + +

      Bai, +jar dezakezu, honela: Ezarpenak → Profila → Sinaduraren testua. +Kontaktu bati mezu bat bidaltzen diozunean, +hark zure kontaktuko datuak begiratutakoan ikusiko du.

      + +

      + + + Zer da txatak finkatzea, mututzea eta artxibatzea? + + +

      + +

      Txatak antolatzeko tresnak dira, eta honela erabil ditzakezu:

      + +
        +
      • +

        Finkatu txatak, zerrendan goian egotea nahi baduzu. Txat gogokoenetara beti azkar iristeko erabil dezakezu, edo aldi baterako, zerbait ez ahazteko.

        +
      • +
      • +

        Mututu txatak, horien jakinarazpenik jaso nahi ez baduzu. Txat bat mututzen duzunean, leku horretan bertan geratzen da, baina finkatu ere egin dezakezu.

        +
      • +
      • +

        Artxibatu txatak, zure txaten zerrendan ikusi nahi ez badituzu. +Txatak artxibatu eta gero ere eskuratzeko modua duzu txat-zerrendaren goialdean edo bilaketa eginda, +eta marka hau izaten dute: Artxibatuta

        +
      • +
      • +

        Artxibatuta dagoen txat batera mezu berri bat iristen denean, mutututa ez badago, artxibotik irtengo da eta zure txaten zerrendan agertuko da berriro. +Mutututako txatek artxibatuta jarraitzen dute zuk eskuz artxibotik atera arte.

        +
      • +
      + +

      Funtzio horiek erabiltzeko, mahaigainekoan, egin klik eskuineko botoiarekin zerrendako txatean; mugikorrean, berriz, eduki sakatuta txata edo erabili menua.

      + +

      + + + Zer dira “Gordetako mezuak”? + + +

      + +

      Mezuak erraz aurkitzeko eta gogoratzeko erabil dezakezun txat bat da Gordetako mezuak.

      + +
        +
      • +

        Edozein txatetan, eduki sakatuta mezua edo egin klik eskuineko botoiarekin gainean, eta hautatu Gorde.

        +
      • +
      • +

        Gordetako mezuek +Saved icon +ikurraren marka izaten dute denbora-zigiluaren alboan.

        +
      • +
      • +

        Txat bat gorde ondoren, “Gordetako mezuak” txata irekitzen baduzu, hantxe ikusiko duzu. +Mezuaren alboan dagoen Arrow-right icon ukituta, +jatorrizko mezura joango zara, jatorrizko txatera.

        +
      • +
      • +

        Bestalde, ohar pertsonalak idazteko ere erabil dezakezu “Gordetako mezuak”: ireki txata, eta idatzi zerbait, gehitu argazki edo ahots-mezu bat…

        +
      • +
      • +

        “Gordetako mezuak” sinkronizatu egiten direnez, oso baliagarriak izan daitezke gailuen artean datuak transferitzeko.

        +
      • +
      + +

      Mezuak gordeta geratzen dira, baita gerora editatu edo ezabatuz gero ere, +bai igorleak hala egin duenean, bai gailutik mezuak ezabatzea aukeratuta dagoenean, bai beste txat batzuetatik mezuak desagertzea aukeratuta dagoenean.

      + +

      + + + Zer esan nahi du puntu berdeak? + + +

      + +

      Baliteke batzuetan puntu berde bat +ikustea kontaktu baten abatarraren alboan. +Horrek esan nahi du duela gutxi ikusi duzula, azken 10 minutuetan, +adibidez, mezu bat edo irakurragiria bidali dizulako.

      + +

      Beraz, ez du adierazten denbora errealeko online-egoera, +eta besteek ere ez dute beti ikusiko zu online zauden.

      + +

      + + + Zer esan nahi dute bidalitako mezuen alboko egiaztapen-markek? + + +

      + +
        +
      • +

        Marka bat : +esan nahi du mezua behar bezala bidali dela errelera.

        +
      • +
      • +

        Bi marka : +adierazten du zure kontaktuak mezua irakurri duela.

        +
      • +
      + +

      Taldeetan bigarren egiaztapen-markak esan nahi du gutxienez taldeko kide batek mezua irakurri duela.

      + +

      Dena den, bigarren marka hori ikusteko, ezinbestekoa da bai zuk eta bai mezua irakurri duten hartzaileetako batek gutxienez +gaituta edukitzea Ezarpenak → Txatak → Irakurragiriak.

      + +

      + + + Mezuak bidali ondoren ezabatzea edo akatsak zuzentzea + + +

      + +
        +
      • +

        Mezu bat bidali ondoren testua editatu nahi baduzu, +egin klik eskuineko botoiarekin gainean edo eduki sakatuta mezua eta hautatu Editatu +edo Edit icon.

        +
      • +
      • +

        Nahi gabe mezu bat bidali duzula-eta ezabatu nahi baduzu, +joan menura, eta hautatu Ezabatu eta, gero, Ezabatu denontzat.

        +
      • +
      + +

      Editatutako mezuetan “Editatu egin da” jarriko du denbora-zigiluaren alboan; +ezabatutako mezuek, aldiz, ez dute arrastorik utziko txatean, desagertu egingo dira besterik gabe. +Ez da jakinarazpenik bidaltzen, eta ez dago denbora-mugarik.

      + +

      Kontuan izan gerta litekeela txateko kideek hala ere jatorrizko mezua jasotzea, +eta erantzun izana, edo birbidali, gorde, pantaila-argazkia egin edo beste moduren batean kopiatu.

      + +

      + + + Nola kudeatzen da multimediaren kalitatea? + + +

      + +

      Irudiak, bideoak, fitxategiak, ahots-mezuak eta abar, botoi hauek erabiliz bidal daitezke: Paperclip Eranskina +edo Microphone Ahots-mezua.

      + +
        +
      • +

        Lehenespenez, konprimatu egiten dira, bidalketa azkar eta eraginkorra bermatzeko; horrela, gainera, erabiltzaile guztien datu- eta biltegiratze-mugak errespetatzeko. Hori ezin hobea da eguneroko komunikaziorako.

        +
      • +
      • +

        Konektibitate kaskarragoko lekuetan, are gehiago konprimatzea aukeratu dezakezu, honela: Ezarpenak → Txatak → Bidalitako multimediaren kalitatea.

        +
      • +
      • +

        Multimedia-fitxategiren bat jatorrizko kalitatean bidali beharra baldin badaukazu, erabili aukera hau txatean: Paperclip Eranskina → Fitxategia. Mesedez, erabili modu hori ahal den gutxiena; izan ere, jatorrizko fitxategiak bidaliz, datu-kontsumoa nabarmen handitzen da, bai zuretzat eta bai txateko hartzaile guztientzat.

        +
      • +
      + +

      + + + Zer da mezuen desagerpena? + + +

      + +

      Edozein txaten ezarpenetan +“mezuen desagerpena” gaitu dezakezu, +txateko leihoaren goialdeko eskuineko izkinan, +eta 5 minututik urtebetera bitarteko +tartea aukeratu.

      + +

      Ezarpen hori desgaitu arte, +txat horretako kide bakoitzaren Delta Chat aplikazioak +mezuak ezabatuko ditu +aukeratutako denbora-tartea igarotakoan, +hartzaileak Delta Chaten mezua aurrenekoz +ikusten duenetik zenbatzen hasita. +Mezuak zerbitzarietan nahiz +aplikazioan bertan +ezabatzen dira.

      + +

      Kontuan izan mezuak benetan desagertzeaz fidatu +ahalko zarela baldin eta solaskideekin fidatzen bazara; +asmo gaiztoko norbaitek mezuak gorde, kopiatu, birbidali +edo pantaila-argazki bidez jaso ditzake ezabatu aurretik.

      + +

      Bestalde, +txateko norbaitek Delta Chat desinstalatzen badu, +baliteke mezuak (edonola ere zifratuta daude) haren zerbitzaritik ezabatzeko denbora gehiago behar izatea.

      + +

      + + + Zer gertatzen da “Ezabatu mezuak gailutik” gaitzen badut? + + +

      + +

      Zure gailuan biltegiratzeko lekua aurreztu nahi baduzu, ezarpenetan +mezu zaharrak automatikoki ezaba daitezela gaitzea da aukera bat.

      + +

      Horretarako, joan hona: Ezarpenak → Txatak → Ezabatu mezuak gailutik. +Zenbait denbora-tarte dituzu aukeran, “ordubete eta gero”-tik hasi eta +“urtebete eta gero”-raino; horrela, mezu guztiak zure gailutik ezabatuko dira +denbora-tarte hori igarotakoan.

      + +

      + + + Zer egin behar dut nire txateko profila edo kontua ezabatzeko? + + +

      + +

      Txateko profil edo kontu bat baino gehiago erabiltzen baduzu, +banan-banan ezaba ditzakezu, profilak hautatzeko goiko menutik (Android-en eta iOS-en) +edo alboko barran eskuineko botoiarekin klik eginda (mahaigaineko aplikazioan). +Txat-profilak ezabatu diren gailuan bertan bakarrik ezabatzen dira. +Beste gailuetan normal funtzionatzen jarraituko dute.

      + +

      Lehenetsitako txat-profil bakarra erabiltzen baduzu, aski duzu aplikazioa desinstalatuta. +Hori eginda, txateko zerbitzarian profil horri lotuta dauden kontaktuko datu guztiak automatikoki ezabatuko dira. +Informazio gehiago nahi baduzu, kontsultatu nine.testrun.org-en helbideak ezabatzearen orria +edo zuk aukeratutako 3.en txat-zerbitzariena.

      + +

      + + + Taldeak + + +

      + +

      Zenbait pertsonak modu pribatuan eta eskubide berberekin elkarrekin txateatzeko aukera ematen dute taldeek.

      + +

      Edonork +aldatu ditzake taldearen izena edo abatarra, +kideak gehitu edo ezabatu, +ezarpen gisa mezuen desagerpena gaitu, +eta norberaren mezuak ezabatu kide guztien gailuetatik.

      + +

      Kide guztiek eskubide berberak dituztenez, konfiantzazko lagun eta senideen artean funtzionatzen dute ondoen taldeek.

      + +

      + + + Nola sortu talde bat + + +

      + +
        +
      • +

        Hautatu Txat berria eta, gero, Talde berria.

        +
      • +
      • +

        Hurrengo pantailan, hautatu taldeko kideak eta idatzi taldearen izena. Gainera, taldearen abatarra ere hautatu dezakezu hor.

        +
      • +
      • +

        Taldean lehenengo mezua idatzi bezain laster, kide guztiek taldearen berri jakingo dute eta zerbait erantzun ahalko dute (zuk zerbait idatzi arte, ikustezina izango da beste kideentzat).

        +
      • +
      + +

      + + + Nola gehitu edo ezabatu kideak + + +

      + +

      Taldeko kide guztiek eskubide berberak dituzte. +Beraz, edonork ezaba dezake edozein kide, edo kide berriak gehitu.

      + +
        +
      • +

        Kideak gehitu edo ezabatu nahi badituzu, ukitu txatean taldearen izena, eta hautatu nor gehitu edo ezabatu nahi duzun.

        +
      • +
      • +

        Kide hori oraindik zure kontaktu-zerrendan ez badago, baina aurrez aurre bazaudete, +erakutsi QR kodea. +Solaskideak zure QR kodea eskaneatu behar du bere Delta Chat aplikazioarekin. +Horretarako, ukitu dezala hasierako pantailan.

        +
      • +
      • +

        Kide berri bat urrutitik gehitzeko, +klikatu “Kopiatu” edo “Partekatu”, eta bidali gonbidapen-esteka +kide berriari, beste txat pribatu baten bidez.

        +
      • +
      + +

      QR kodeen eta gonbidapen-esteken bidez ere gehitu daitezke kideak. +Dena den, taldeak konfiantzazko jendearentzat direnez, hobeto da, ahal dela, publikoki ez partekatzea.

      + +

      + + + Neure burua ezabatu dut nahi gabe. + + +

      + +

      Orain taldeko kide ez zarenez, ezin duzu zeure burua berriro taldean gehitu. +Ez kezkatu, ordea, badu konponbidea eta: eskatu taldeko beste kide bati, txat normal baten bidez, zu berriro taldean sartzeko.

      + +

      + + + Ez dut talde bateko mezurik gehiago jaso nahi. + + +

      + +
        +
      • Ezabatu zeure burua kideen zerrendatik, edo ezabatu txat osoa. +Geroago berriro taldean sartu nahi baduzu, eskatu taldeko beste kide bati zu berriro taldean gehitzeko.
      • +
      + +

      Beste aukera bat taldea mututzea da; hori hautatzen baduzu, taldeko mezu guztiak jasoko dituzu +eta taldean idazten jarraitu ahalko duzu, baina mezuen jakinarazpenik ez duzu jasoko.

      + +

      + + + Nola klonatu talde bat + + +

      + +

      Agian talderen bat bikoiztea komeni zaizu, zerbaiti buruz aparte hitz egiteko +edo kide batzuk kanpo uzteko, haiek ohartu gabe. Horretarako:

      + +
        +
      • +

        Ireki taldearen profila eta ukitu Klonatu txata (Android/iOS), +edo egin klik eskuineko botoiarekin taldearen gainean, txaten zerrendan (mahaigainekoa).

        +
      • +
      • +

        Idatzi izen berria, aukeratu abatar bat eta doitu kideen zerrenda, beharrezkoa bada.

        +
      • +
      + +

      Talde berri hori jatorrizkotik guztiz apartekoa da; +jatorrizkoak lehen bezala jarraituko du.

      + +

      + + + Zenbat kide izan ditzake talde batek? + + +

      + +

      Ez dago muga tekniko zorrotzik, +baina ez da komeni 150 baino gehiago izatea.

      + +

      Zenbat eta talde handiagoa izan, errazagoa da sozialki ezegonkorra bihurtzea eta hierarkia behar izatea. +Delta Chat eskubide berberekin txateatzeko aukera ematen duen mezularitza pribatuko zerbitzu bat da. +Informazio gehiago nahi baduzu, kontsultatu Dunbarren zenbakia.

      + +

      + + + Txat barruko aplikazioak + + +

      + +

      Txat batera aplikazioak bidal ditzakezu: jokoak, editoreak, inkestak eta bestelako tresna batzuk. +Mezularitza hutsa baino askoz gauza zabalagoa bihurtzen du horrek Delta Chat.

      + +

      + + + Non lortu ditzaket txat barruko aplikazioak? + + +

      + +
        +
      • +

        Txat batean zaudela, sakatu Paperclip Eranskina → Aplikazioa

        +
      • +
      • +

        Beste aukera bat zuk aplikazio bat sortzea da eta, gero, eranstea: Paperclip Eranskina → Fitxategia

        +
      • +
      + +

      + + + Zenbateraino dira pribatuak txat barruko aplikazioak? + + +

      + +
        +
      • +

        Txat barruko aplikazioek ezin dute ez daturik bidali Internetera ez ezer deskargatu.

        +
      • +
      • +

        Txat barruko aplikazio batek txatean bertan bakarrik trukatu ditzake datuak, +eta solaskideen gailuetan kopiak egingo ditu. Horretarako izan ezik, Internetetik +guztiz isolatuta dago.

        +
      • +
      • +

        Zure txatak nolako pribatutasuna, halakoa du txat barruko aplikazioak: +txateatzeko zure solaskideez fidatzen bazara, fida zaitezke txat barruko aplikazioaz ere.

        +
      • +
      • +

        Horrek beste zerbait ere esan nahi du: web-estekak bezalaxe, ez zenuke ireki behar fidagarria ez zaizun inongo kontakturen aplikaziorik.

        +
      • +
      + +

      + + + Nola sortu ditzaket txat barruko aplikazioak? + + +

      + + + +

      + + + Bat-bateko mezuak eta push jakinarazpenak + + +

      + +

      + + + Zer dira push jakinarazpenak? Nola jaso ditzaket bat-bateko mezuak? + + +

      + +

      Push jakinarazpenak Appleren eta Googleren “Push zerbitzuek” bidaltzen dituzte +erabiltzailearen gailura, Delta Chat aplikazioak aktibo ez egon arren atzeko planoan mezuak +jaso ahal izan ditzan eta, halakorik badago, erabiltzailearen telefonoan jakinarazpenak erakutsi.

      + +

      Push jakinarazpenak txatmail-errele guztietan dabiltza:

      + +
        +
      • +

        iOS gailuetan, Appleren push zerbitzuekin integratuta.

        +
      • +
      • +

        Android gailuetan, Googleren FCM push zerbitzuarekin integratuta, +baita telefonoan Googleren kode jabedunaren ordez +microG darabilten gailuetan ere.

        +
      • +
      + +

      + + + Aktibatuta al daude push jakinarazpenak iOS gailuetan? Badago beste modurik? + + +

      + +

      Bai, Delta Chatek automatikoki push jakinarazpenak erabiltzen ditu txatmaileko profiletarako. +Eta ez, Appleren telefonoetan ez dago bat-bateko mezuen bidalketa ziurtatzeko beste modurik, +Appleren gailuek ez baitute uzten Delta Chat atzeko planoan datuetara iristea. +iOS erabiltzaileei push jakinarazpenak automatikoki aktibatzen zaizkie, +Delta Chaten push jakinarazpenetarako sistemak, pribatutasuna babestearren, +Appleri ez diolako erakusten daturik Applek lehendik ez duenik.

      + +

      + + + Gaituta al daude edo beharrezkoak al dira push jakinarazpenak Android gailuetan? + + +

      + +

      “Push zerbitzua” baldin badago, Delta Chatek push jakinarazpenak aktibatzen ditu, +txatmaileko erabiltzaile guztiek mezuak berehala jaso ditzaten.

      + +

      Delta Chaten ezarpenetan, “Jakinarazpenak” ataleko “Berehalako bidalketak” +azpiatalean, hauek aukeratu ditzakezu (txat-profil guztiei eragingo die):

      + +
        +
      • +

        Erabili atzeko planoko konexioa: push zerbitzurik erabiltzen ez baduzu, +hau aukeratuta, “Optimizatu bateriaren erabilera” desgaitu egingo da +Delta Chatentzat, eta atzeko planoan mezuak deskargatu ahalko ditu horrela. +Dena den, gerta liteke zenbait minututik zenbait ordurainoko atzerapenez +jasotzea. Izan ere, Android gailuen fabrikatzaile batzuek aplikazioak erabat +murrizten dituzte (ikusi dontkillmyapp.com) +eta baliteke jasotako mezuak Delta Chatek ez erakustea zuk eskuz +aplikazioa berriro ireki arte.

        +
      • +
      • +

        Behartu atzeko planoko konexioa: aurreko aukerak baliatu ezin badituzu, +edo “berehalako bidalketa” lortzen ez badute, hauxe da aukera alternatiboa. +Hau aktibatutakoan, telefonoan jakinarazpen iraunkorra sortuko zaizu; +baliteke Android telefono berrienetan “minifikatuta” agertzea.

        +
      • +
      + +

      “Atzeko planoko konexioa” baliatzeko bi modu horiek energiaren aldetik eraginkorrak dira +eta segurtasun osoz probatu ditzakezu mezuak atzerapen handiz iristen badira.

      + +

      + + + Zenbateraino dira pribatuak Delta Chaten push jakinarazpenak? + + +

      + +

      Delta Chaten push jakinarazpenen funtzioak informazio pribatua filtratzea eragozten du. +Ez dio ematen profileko daturik, ez IP helbiderik, ez mezuen edukirik (ezta zifratuta ere), +push jakinarazpenak bidaltzeko tartean dagoen ezein sistemari.

      + +

      Honela bidaltzen dituzte Delta Chat aplikazioek push jakinarazpenak:

      + +
        +
      • +

        Delta Chat aplikazio batek “gailu-token” bat lortzen du modu lokalean, +zifratu egiten du, eta txatmail-zerbitzarian gorde.

        +
      • +
      • +

        Txatmail-zerbitzari batek Delta Chateko erabiltzaile batentzako mezu bat +jasotzen duenean, gailu-tokena zifratuta birbidaltzen du Delta Chaten jakinarazpenen proxy zentralera.

        +
      • +
      • +

        Delta Chaten jakinarazpenen proxy zentralak gailu-tokena deszifratzen du, +eta dagokion push zerbitzura birbidaltzen du (Apple, Google, etab.), +Delta Chaten erabiltzaileen IP helbiderik ez profil-daturik jakin gabe.

        +
      • +
      • +

        Push zerbitzu zentralak (Apple, Google, etab.) +zure gailuan Delta Chat aplikazioa aktibatzen du, +atzeko planoan mezu berririk badagoen ikusteko. +Aktibatzen ari den gailuaren profil-daturik ez daki. +Appleren edo Googleren push zerbitzu zentralek ez dute inoiz ikusten +ez profil-daturik (ez igorlearenak, ez hartzailearenak), ez mezuen edukirik (ezta zifratuta ere).

        +
      • +
      + +

      Delta Chaten jakinarazpenen proxy zentrala txikia da eta Rusten inplementatuta dago osorik; +gailu-tokenak Apple, Google eta abarrek prozesatu bezain laster ahazten ditu, +eta normalean milisegundotan gertatzen da hori.

      + +

      Azpimarratzekoa da gailu-tokena aplikaziotik jakinarazpenen proxyra bitartean +zifratzen dela, baina ez doala sinatuta. +Beraz, jakinarazpenen proxyak ez du inoiz ikusten profileko daturik, ez IP helbiderik, +ez erabiltzailearen gailuarekin (tokena) lotutako identitate kriptografikoko informaziorik.

      + +

      Pribatutasuna lortzeko diseinu orokor hori dela-eta, norbaitek txatmail-zerbitzari bat +hartuko balu ere, edo Delta Chaten jakinarazpenen proxy zentrala osorik hartuta ere, +sekula ez da agerian geratuko informazio pribaturik push zerbitzuek lehendik ez dutenik.

      + +

      + + + Zergatik integratzen da Delta Chat Appleren eta Googleren push jakinarazpenen zerbitzu zentralizatu eta jabedunekin? + + +

      + +

      Delta Chat mezularitza-aplikazio deszentralizatua, doakoa eta kode irekikoa da, +zerbitzaria modu librean hautatzeko aukera ematen du, baina gure nahia erabiltzaileek +“berehalako bidalketa”-z erraz gozatzea da, esperientzia WhatsApp, Signal edo +Telegramen dutenaren antzekoa izatea, hasieratik erabiltzaile aditu edo +garatzaileen mailako gai zail samarrei aurre egin behar izan gabe.

      + +

      Kontuan izan: Delta Chaten push jakinarazpenen sistema txikia da eta pribatutasuna zaintzen du, +eta txat-zerbitzari guztietara mezuak berehala bidaltzea lortzen du hala; +guri baimena eskatu beharrik gabe zeuk konfiguratzea daukazun zerbitzarira ere bai, hala nahi baduzu. +Ongi etorri txatmail-erreleen sare elkarreragingarriaren boterera! :)

      + +

      + + + Gailu asko + + +

      + +

      + + + Erabil al dezaket Delta Chat zenbait gailutan aldi berean? + + +

      + +

      Bai, profil edo kontu bera gailu batean baino gehiagotan erabil dezakezu:

      + +
        +
      • +

        Ziurtatu bi gailuak wifi edo sare berera konektatuta daudela.

        +
      • +
      • +

        Lehenengo gailuan, joan Ezarpenak → Gehitu bigarren gailua atalera, desblokeatu pantaila beharrezkoa bada, +eta itxaron pixka bat QR kode bat azaldu arte.

        +
      • +
      • +

        Beste gailuan, instalatu Delta Chat.

        +
      • +
      • +

        Bigarren gailu horretan, ireki Delta Chat, hautatu Gehitu bigarren gailu gisa, eta eskaneatu lehenengo gailuko QR kodea.

        +
      • +
      • +

        Segundo gutxiren buruan transferentzia hasi beharko litzateke, eta, hori gertatu bitartean, +nola doan ageriko da bi gailuetan. Itxaron bietan amaitu arte.

        +
      • +
      + +

      Beste mezularitza-aplikazio askotan ez bezala, Delta Chaten, +transferentzia ondo egin ondoren, bi gailuak guztiz independenteak dira. +Ez du zertan gailu batek aktibo egon besteak funtzionatzeko.

      + +

      + + + Arazoak nola konpondu + + +

      + +
        +
      • +

        Egiaztatu bi gailuak wifi edo sare berera konektatuta daudela.

        +
      • +
      • +

        Windows-en, joan “Kontrol-panela / Sarea eta Internet” atalera, +eta ziurtatu Sare pribatua dagoela hautatuta “Sare-profil mota” gisa +(transferentzia egin eta gero, lehen bezala jar dezakezu).

        +
      • +
      • +

        iOS-en, ziurtatu baduela baimena: “Sistemaren ezarpenak / Aplikazioak / Delta Chat / Sare lokala”.

        +
      • +
      • +

        macOS-en, gaitu “Sistemaren ezarpenak / Pribatutasuna eta segurtasuna / Sare lokala / Delta Chat”.

        +
      • +
      • +

        Baliteke zure sistemak “suebaki pertsonal bat” izatea, +eta horrek arazoak eragin ohi ditu (Windows-en, batez ere). +Desaktibatu suebaki pertsonala Delta Chatentzat bi gailuetan, eta saiatu berriro.

        +
      • +
      • +

        Baliteke gonbidatuen sareak bi gailuak konektatu daitezen galaraztea. +Ahal bada, erabili gonbidatuena ez den beste sare bat.

        +
      • +
      • +

        Bi gailuak sare berera konektatuta egonda ere oraindik arazoak badituzu, +saiatu hau egiten: aktibatu gailu bat sarbide-puntu mugikor gisa, +eta konektatu wifi-sare horretara beste mugikorra.

        +
      • +
      • +

        Ziurtatu bigarren gailuan badagoela nahikoa leku.

        +
      • +
      • +

        Transferentzia hasi bada, ziurtatu bi gailuak aktibo daudela eta ez direla lokartzen. +Ez irten Delta Chatetik. +(aplikazioak bigarren planoan funtziona dezan ahalegina egiten dugu, baina sistemek aplikazioak itxi ohi dituzte, zoritxarrez).

        +
      • +
      • +

        Hasi duzu saioa Delta Chaten bigarren gailuan? +Profil bat baino gehiago erabil ditzakezu gailu bakoitzean; +beste profil bat gehitzea besterik ez duzu.

        +
      • +
      • +

        Oraindik arazoak badituzu, edo QR kode bat eskaneatu ezin baduzu, +saiatu transferentzia eskuz egiten, hurrengo atalean azalduko dugun bezala.

        +
      • +
      + +

      + + + Transferentzia eskuz egitea + + +

      + +

      Aurreko atalean azaldu bezala “Gehitu bigarren gailua” ataletik lortu ez bada bakarrik erabili beharko litzateke metodo hau.

      + +
        +
      • +

        Lehenengo gailuan, joan Ezarpenak → Txatak → Esportatu babeskopia atalera. +Sartu pantaila desblokeatzeko zure PINa, diseinua edo pasahitza. Gero, sakatu +“Esportatu”. Babeskopiaren fitxategia zure gailuan gordeko da. Orain, +beste gailura eraman behar duzu.

        +
      • +
      • +

        Bigarren gailuan, hautatu Badut profila → Berrezarri babeskopiatik. +iOS badarabilzu eta arazoak badituzu, +gida hau baliagarria izango zaizu.

        +
      • +
      + +

      Lortu duzu. Bi gailuak sinkronizatuta daude, eta biak erabil ditzakezu +zure kontaktuekin muturretik muturrera zifratutako mezuak bidali eta jasotzeko.

      + +

      + + + Delta Chaten web-bezerorik sortzeko asmorik bai? + + +

      + +
        +
      • Oraintxe sortzeko asmorik ez dugu, baina aurretiazko ideia batzuk, bai.
      • +
      • Delta Chaten web-bezeroa ateratzeko bizpahiru aukera daude, baina +lan handi samarra izango lukete denek. Oraingoz, gure ahalegina bertsio egonkorrak +lortzea izan da, jatorrizko aplikazio gisa egon daitezen aplikazio-denda guztietan +(Google Play/iOS/Windows/macOS/Linux).
      • +
      • Lantokian-edo darabilzun ordenagailuan softwarea instalatzeko baimenik ez duzula-eta +web-bezeroa behar baduzu, Windows Desktop Client eramangarria erabil dezakezu, +edo Linuxerako AppImage. Hemen aurkituko dituzu: +get.delta.chat.
      • +
      + +

      + + + Aurreratua + + +

      + +

      + + + Ezaugarri esperimentalak + + +

      + +

      Ezarpenak → Aurreratua → Ezaugarri esperimentalak atalera joaten bazara, +oraintxe lantzen ari garen funtzioak probatzeko aukera izango duzu.

      + +

      Baliteke ezaugarri horiek ezegonkorrak izatea eta gerora aldatzea edo kentzea.

      + +

      Informazio gehiago lortu edo iruzkinak egin nahi badituzu, +sartu foroan.

      + +

      + + + Zer dira erreleak? + + +

      + +

      Zure gailua konexiorik gabe dagoela-eta mezuak aldi baterako gordetzeko erabiltzen dira erreleak. +Zerbitzari txiki eta merkeak dira, eta +ez dute gordetzen taldeen egoera, zure izena eta abatarra edo era horretako daturik; +hori guztia zure gailuan bakarrik dago. Erreleak hainbat +talde eta pertsonak kudeatzen dituzte.

      + +

      Besterik adierazi ezean, aplikazioa instalatutakoan, automatikoki +errele bat konfiguratzen da; beraz, ez duzu horretaz kezkatu beharrik. +Dena den, nahi baduzu, hemen konfigura ditzakezu erreleak: +Ezarpenak → Aurreratua → Erreleak.

      + +
        +
      • +

        Errele bat gehitu nahi baduzu, eskaneatu haren QR kodea; +zerrenda honetan ezagun batzuk daude: chatmail.at/relays. +Errele bat baino gehiago badituzu, mezuak guztietatik jasoko dituzu. +Mezu bat bidaltzen diezunean, zure kontaktuek automatikoki ikasten dute oraingo erreleak zein diren

        +
      • +
      • +

        Sakatu errele baten gainean, bidaltzeko erabilia gisa konfiguratzeko.

        +
      • +
      • +

        Errele bat ezabatzen baduzu, +gerta liteke errele hori bakarrik ezagutzen duten zure kontaktuak zurekin komunikatu ezin izatea zuk haiei mezu bat bidali arte. +Hori ez gertatzeko eta bitartean kontaktuek zu lokalizatu ahal izateko, berehala ezabatu beharrean hautatu Ezkutatu kontaktuetatik konfirmatzeko elkarrizketa-koadroan.

        +
      • +
      • +

        Ezkutuan jarritako errele bat berriro erakusteko, sakatu gainean.

        +
      • +
      + +

      Informazio gehiago lortu eta erreleen geroko aukeren berri +jakin nahi baduzu, irakurri eztabaidak foroan.

      + +

      + + + Erabil dezaket posta elektronikoko helbide klasiko bat Delta Chaten? + + +

      + +

      Bai, baina betiere eposta-helbide hori txatmail-bezeroek bakarrik erabiltzen badute.

      + +

      Ezin da eposta-helbide bera erabili txatmailekoak ez diren aplikazioetan, +ezta web bidezko posta-bezeroetan ere, arrazoi hauengatik:

      + +
        +
      • +

        Txatmailekoak ez diren aplikazioek, gehien-gehienek, erabiltzaileei ez diete automatikoki +muturretik muturrerako zifratzea eskaintzen epostan; txatmail-aplikazioek eta erreleek, +aldiz, modu orokortuan aplikatzen dituzte muturretik muturrerako zifratzea eta +segurtasun-estandarrak.

        +
      • +
      • +

        Txatmailekoak ez diren aplikazioek mezuak luzaroan gordetzeko erabiltzen dituzte +eposta-zerbitzariak; txatmail-bezeroek, aldiz, mezu iragankorrak berehala bidaltzeko.

        +
      • +
      • +

        Posta elektronikoko konfigurazio klasiko askotarikoei euskarria emateko, +garapen- eta mantenu-lan handia egin beharko litzateke, eta horrek zaildu +egingo luke epostan oinarritutako mezularitza sendoagoa, fidagarriagoa +eta bizkorragoa izan dadin lortzeko bidea.

        +
      • +
      + +

      + + + Nola konfigura dezaket txat-profil bat errele gisa eposta-helbide klasiko bat erabiliz? + + +

      + +

      Lehenik eta behin, mesedez, ez erabili eposta-helbide klasiko bera txatmailekoak ez diren +eposta klasikoko aplikazioetan, non eta ez zauden prest borrokan aritzeko sarrerako ontzian +sartuko diren mezu zifratuekin, jakinarazpen bikoiztuekin, nahi gabe ezabatutako mezu elektronikoekin +eta halako arazotxoekin.

      + +

      Txateatzeko eposta-helbide bat konfiguratu nahi baduzu, joan hona: Gehitu kontua → Sortu kontu berria → +Erabili beste zerbitzari bat → Erabili eposta klasikoa errele gisa. +Kontuan izan eposta klasikoaren hornitzaileek normalean ez dituztela onartzen push jakinarazpenak +eta bestelako muga batzuk ere badituztela; ikusi hornitzaileen deskribapen orokorra. +Txatmailek sarrerako ontzi lehenetsia errele bezala erabiltzen du; ziurtatu hornitzailearen konfigurazioan ere hala dagoela. +Txat-profil batek eposta klasikoko helbidea darabilenean, zifratu gabeko mezuak bidali eta jaso ditzake; +horrelako mezuek, bai eta mezu horiek dauden txatek, epostaren ikonoazren marka izaten dute: +email.

      + +

      + + + Delta Chaterako neure zerbitzaria kudeatu nahi dut. Zer gomendatzen didazue? + + +

      + +

      Ondo badabil, edozein eposta-zerbitzarik balioko dizu, +non eta zure erabiltzaileen gailuek ez dituzten behar Googleren edo Appleren push jakinarazpenak ondo ibiltzeko.

      + +

      Gure gomendioa normalean zera da, txatmaileko errele bat konfiguratzea. +Txatmaila komunitate zabal batek sustatutako proiektua da; horren barruan daude +bai erreleak konfiguratzea eta bai muina garatzea Rusten, +zeinak zerbitzua ematen baitie txatmail-bezeroei (Delta Chat bezero ezagunena da).

      + +

      + + + Zer da Delta Chateko garatzaileei estatistikak bidaltzea? + + +

      + +

      Zure laguntzarekin Delta Chat hobetu nahi dugu. +Horregatik, Androiderako Delta Chat baldin baduzu, +erabilera-estatistika anonimoak bidali nahi dituzun galdetzen dizu.

      + +

      Hemen gaitu edo desgaitu dezakezu aukera hori: +Ezarpenak → Aurreratua → Bidali estatistikak Delta Chateko garatzaileei.

      + +

      Gaitzen baduzu, astean behin automatikoki +estatistikak bidaliko zaizkio bot bati.

      + +

      Gai hauei buruzko estatistikak interesatzen zaizkigu, adibidez:

      + +
        +
      • +

        Zenbat kontaktu sartzen dira QR kodea aurrez aurre eskaneatuz?

        +
      • +
      • +

        Delta Chaten zer bertsio ari dira erabiltzen?

        +
      • +
      • +

        Zer errore gertatzen zaizkie erabiltzaileei?

        +
      • +
      + +

      Ez dugu bilduko zuri buruzko informazio pertsonal identifikagarririk.

      + +

      + + + Xehetasun teknikoak jakin nahi ditut. Informazio gehiago ematerik bai? + + +

      + +

      Jo ezazu Delta Chatek darabiltzan estandarrak orrira.

      + +

      + + + Zifratzea eta segurtasuna + + +

      + +

      + + + Zer estandar darabiltza muturretik muturrera zifratzeko? + + +

      + +

      Delta Chatek OpenPGP estandarraren azpimultzo seguru bat darabil +automatikoki muturretik muturrera zifratzeko, protokolo hauen bidez:

      + +
        +
      • +

        Secure-Join, +zifratze-konfigurazioaren informazioa trukatzeko, QR kodeak eskaneatuz edo gonbidapen-esteken bidez.

        +
      • +
      • +

        Autocrypt, talde-txat bateko kide guztien artean eta kontaktuen artean +muturretik muturrerako zifratzea automatikoki ezartzeko.

        +
      • +
      • +

        Autocrypt v2 2026an inplementatu nahi da guztiz, +eta eraso kuantikoei aurre egiteko zifratzea eta konfidentzialtasun aurreratua ekarriko ditu.

        +
      • +
      • +

        Txat batean kontaktu bat partekatuta +hartzaileek muturretik muturrerako zifratzea erabil dezakete kontaktu horrekin.

        +
      • +
      + +

      Delta Chatek ez du inongo OpenPGP gako-zerbitzarirekin daturik kontsultatzen, argitaratzen edo elkarreraginik izaten.

      + +

      + + + Nola jakin dezaket mezuak muturretik muturrera zifratuta dauden? + + +

      + +

      Delta Chateko mezu guztiak lehenespenez muturretik muturrera zifratuta daude. +Delta Chat 2 bertsioko serieak atera zirenetik (2025eko uztaila) +muturretik muturrera zifratutako mezuek jada ez daramate giltzarrapoaren ikonorik, +ez bestelako ezein markarik.

      + +

      + + + Jarraitu dezaket muturretik muturrera zifratu gabeko mezuak bidaltzen? + + +

      + +

      Txatmail-errele lehenetsiak erabiltzen ari bazara, +ezinezkoa da muturretik muturrera zifratu gabeko mezurik jaso edo bidaltzea.

      + +

      Aldiz, eposta klasikoko zerbitzariak erabiltzen ari bazara, +muturretik muturrera zifratutako nahiz zifratu gabeko mezuak bidali eta jaso ditzakezu. +Muturretik muturrera zifratu gabeko mezuek epostaren ikonoaren marka izaten dute: +email.

      + +

      + + + Zer esan nahi du kontaktu baten profilean egiaztapen-marka berdea egoteak? + + +

      + +

      Kontaktuetako profil batzuek egiaztapen-marka berdea +green checkmark +edukiko dute, eta testu hau idatzita: “Halakok egiaztatuta”. +Marka berdea edukitzeak esan nahi du kontaktu horrek zurekin aurrez aurre QR kodea eskaneatu duela +edo egiaztapen-marka duen beste norbaitek egiaztatu duela. +Egiaztatzeko horiek automatikoki gertatzen dira taldeetan kideak gehitutakoan. +Norbaitek egiaztatze-marka duen beste norbait talde batean gehitzen duenean, eta taldeko kide guztiek egiaztatze-marka badute, +gehitu duen kide hori egiaztatzaile bihurtzen da. +Kontaktu baten profilera jo, eta “Halakok egiaztatuta” testua behin eta berriz sakatzen baduzu, +aurrez aurre QR kodea eskaneatu zenuen pertsonarenganaino iritsiko zara.

      + +

      “Muturretik muturrerako zifratze bermatuari” buruzko informazio zehatzagoa nahi baduzu, +kontsultatu Secure-Join protokoloak +eta irakurri, zehazki, “Talde egiaztatuak” atala; izen tekniko horrexekin deitzen zaie +guk hemen “marka berdekoak” edo “muturretik muturrerako zifratze bermatukoak” deritzegun txatei.

      + +

      + + + Muturretik muturrera zifratuta al daude eranskinak (argazkiak, fitxategiak, audioak, etab.)? + + +

      + +

      Bai.

      + +

      Mezu bat “muturretik muturrera zifratuta” dagoela esaten dugunean, +mezua osorik zifratuta dagoela adierazten ari gara beti; +horren barruan sartzen dira fitxategi erantsiak +eta fitxategien metadatuak (fitxategi-izenak, adibidez).

      + +

      + + + Segurua al da OpenPGP? + + +

      + +

      Bai, Delta Chatek OpenPGP-ren azpimultzo seguru bat darabil, +eta mezuak osorik behar bezala zifratuta eta sinatuta egon behar du horretarako. +Adibidez, “Sinadura bereiziak” ez dira segurutzat hartzen.

      + +

      OpenPGP ez da berez ez-segurua. +OpenPGP-ri buruz aipatzen diren segurtasun-arazo gehienak +tresnak edo aplikazioak (edo biak) oker inplementatzearen edo gaizki erabiltzearen ondorio dira. +Oso garrantzitsua da ondo bereiztea OpenPGP (IETF-ren zifratze-estandarra) +eta GnuPG edo GPG (OpenPGP inplementatzeko komando-lerro bidezko tresna). +OpenPGP-ri egindako kritika asko GnuPG-ri buruzkoak dira, eta Delta Chatek ez du hori inoiz erabili. +Horren ordez, Delta Chatek rPGP darabil, Rusten idatzitako +OpenPGP-ren inplementazioa; “pgp” pakete independente gisa eskuragarri dago, +eta 2019an eta 2024an auditatu zuten segurtasun aldetik.

      + +

      Gure helburua zera da, beste OpenPGP-garatzaile batzuekin batera +segurtasun-ezaugarriak hobetzen jarraitzea, +IETF-ren OpenPGP Crypto-Refresh berria +inplementatuta, zorionez 2023ko udan hartua.

      + +

      + + + Did you consider using alternatives to OpenPGP for end-to-end-encryption? + + +

      + +

      Yes, we are following efforts like MLS +but adopting them would mean breaking end-to-end encryption interoperability. +So it would not be a light decision to take +and there must be tangible improvements for users.

      + +

      Delta Chat takes a holistic “usable security” approach +and works with a wide range of activist groupings as well as +renowned researchers such as TeamUSEC +to improve actual user outcomes against security threats. +The wire protocol and standard for establishing end-to-end encryption is +only one part of “user outcomes”, +see also our answers to device-seizure +and message-metadata questions.

      + +

      + + + Is Delta Chat vulnerable to EFAIL? + + +

      + +

      No, Delta Chat never was vulnerable to EFAIL +because its OpenPGP implementation rPGP +uses Modification Detection Code when encrypting messages +and returns an error +if the Modification Detection Code is incorrect.

      + +

      Delta Chat also never was vulnerable to the “Direct Exfiltration” EFAIL attack +because it only decrypts multipart/encrypted messages +which contain exactly one encrypted and signed part, +as defined by the Autocrypt Level 1 specification.

      + +

      + + + Epostaren ikonoaz markatuta dauden mezuak Interneten agerian geratzen dira? + + +

      + +

      Eposta-mezu klasikoak bidaltzen edo jasotzen dituzunean (eposta klasikoko zerbitzari bat erabiliz), +muturretik muturrera zifratu gabeak izanda ere mezu horiek babestuta daude telefonia-konpainietatik +(mugikorra nahiz kable bidezkoa); ezin dituzte eposta-mezu horiek irakurri ez aldatu. +Eposta-hornitzaileek, ordea, bai; zure hornitzaileak nahiz mezuaren hartzailearenak zure mezuak +irakurri, aztertu edo aldatu ditzake, baita mezuan erantsitako fitxategiak ere.

      + +

      Delta Chatek lehenespenez TLS zifratze zorrotza darabil, +eta zure gailuaren eta eposta-hornitzailearen arteko konexioak babestuta geratzen dira. +Delta Chaten TLS-erabilera osoari segurtasun-auditoria independenteak egin zaizkio. +Gainera, zure eposta-hornitzailearen eta hartzailearenaren arteko konexioa ere zifratuta egon ohi da garraio osoan. +Erabilitako eposta-zerbitzariek MTA-STS onartzen badute, +garraio-zifratzea aplikatuko da eposta-hornitzaileen artean, eta, kasu horretan, +Delta Chateko mezuak ez dira inoiz testu sinple gisa Interneten agerian geratuko, +ezta muturretik muturrera zifratuta ez badaude ere.

      + +

      + + + Nola babesten ditu Delta Chatek mezuen metadatuak? + + +

      + +

      Gainerako mezularitza-aplikazio gehienak ez bezala, +Delta Chaten aplikazioek ez dute gordetzen kontaktuei edo taldeei buruzko metadaturik zerbitzarietan, +ezta zifratuta ere. Kontrara, taldeen metadatu guztiak muturretik muturrera zifratzen dira +eta azken erabiltzaileen gailuetan bakarrik gordetzen dira.

      + +

      Beraz, zerbitzariek hau bakarrik ikus dezakete:

      + +
        +
      • Igorlearen eta hartzailearen helbideak, lehenespenez ausaz sortuak.
      • +
      • Mezuaren tamaina.
      • +
      + +

      Mezu, kontaktu eta taldeen gainerako metadatuak muturretik muturrera zifratutako mezu-zatian daude.

      + +

      + + + Zer egin dezaket metadatuak eta kontaktuak babesteko gailua besteren batek bereganatzeko arriskutik? + + +

      + +

      Bai metadatuak biltzen dituzten zerbitzarietatik babesteko, +bai besteren batek gure gailua hartzeko arriskutik babesteko, +txat-profilak txatmail-erreleak erabiliz sortzea gomendatzen dugu, +bidalketak egiteko helbideak ausaz sortuak izango direlako. +Kontuan izan Delta Chaten aplikazioek, plataforma guztietan, +profil edo kontu anitzeko modua onartzen dutela; beraz, zure profil “nagusia” ez ezik, +egoera bakoitzerako beste profil espezifiko batzuk ere erraz erabil ditzakezu, +segurtasun osoz jakinda datu guztiak, metadatuak barne, ezabatu egingo direla. +Gainera, gailua besteren batek hartzen badu, epe laburrerako profil edo kontuak darabiltzaten +txat-kontaktuak ezin izango dira erraz identifikatu.

      + +

      + + + Nork ikusten du nire IP helbidea? + + +

      + +

      Erabiltzen duzun erreleak zure IP helbidea jakin behar du, +eta, batzuetan, baita zure kontaktuen gailuena ere; adibidez, +kontaktu horiekin deiak egiten badituzu edo +aplikazioak erabiltzen badituzu.

      + +

      IP helbideak ezinbestekoak dira konektibitaterako eta eraginkortasunerako. +Ez dira gordetzen, ez argitara ematen. +Kontuan izan IP helbidea ez dela mezularitzako zerbitzuei-eta eman ohi zaiena +bezalako helbide zehatz bat; askoz orokorragoa da, eta askotan eskualdea edo +herrialdea baizik ez du identifikatzen.

      + +

      Internetek eta beste mezularitza-aplikazioek horrela funtzionatzen dutenez, +ez dugu horren gaineko bestelako aukerarik eskaintzen, ez galderarik egiten.

      + +

      Uste baduzu zure IP helbidea jakiteak zure segurtasuna edo pribatutasuna +arriskuan jar ditzakeela, zera gomendatuko genizuke, VPN bat erabiltzea, +sistema blokeatzeko moduarekin batera. Zure sistemako aplikazio guztietan +alternatibak bilatzeak segurtasun-zuloak utziko ditu; adibidez, esteka batean klik egindakoan, +IP helbideak agerian geratzen zaizkie hirugarren ezezagunei, eta +hori askoz arriskutsuagoa da.

      + +

      + + + Ba al du Delta Chatek “Ezkutuko igorlea” funtzioa? + + +

      + +

      Ez, oraindik ez.

      + +

      Signal mezularitza-aplikazioak 2018an “Ezkutuko igorlea” +sartu zuen, bere zerbitzari-azpiegiturak jakin ez dezan nork bidali dion mezu bat hartzaile-talde bati. +Hori bereziki garrantzitsua da, Signalen zerbitzariak kontu guztien telefono-zenbakia baitaki, +eta zenbaki hori nortasun-agiri bati lotuta dago.

      + +

      Txatmail-erreleek ez dute datu pribaturik eskatzen +(telefono-zenbakirik ere ez), baina hala eta guztiz ere izan liteke komenigarria +helbideen arteko metadatu erlazionalak babestea. +Ez dugu uste arazo handirik egongo denik bidalketa zifraturako behin baliatzeko +ausazko helbideak erabiltzeko, baina horren ezarpena lehentasun izatea ez da erabaki oraindik.

      + +

      + + + Does Delta Chat support Perfect Forward Secrecy? + + +

      + +

      Not yet, but it’s coming with Autocrypt v2.

      + +

      Delta Chat today doesn’t support Perfect Forward Secrecy (PFS). +This means that if your private decryption key is leaked, +and someone has collected your prior in-transit messages, +they will be able to decrypt and read them using the leaked decryption key. +Note that Forward Secrecy only increases security if you delete messages. +Otherwise, someone obtaining your decryption keys +is typically also able to get all your non-deleted messages +and doesn’t even need to decrypt any previously collected messages.

      + +

      Autocrypt v2, scheduled for full implementation in 2026, +will provide reliable deletion (forward secrecy) through automatic key rotation. +This approach is specified in the Autocrypt v2 OpenPGP Certificates draft.

      + +

      + + + Does Delta Chat support Post-Quantum-Cryptography? + + +

      + +

      Not yet, but it’s coming with Autocrypt v2.

      + +

      Autocrypt v2, scheduled for full implementation in 2026, +will bring post-quantum resistant encryption to protect against quantum computer attacks. +Delta Chat uses the Rust OpenPGP library rPGP +which supports the latest IETF Post-Quantum-Cryptography OpenPGP draft. +The implementation is specified in the Autocrypt v2 OpenPGP Certificates draft.

      + +

      + + + Nola egiazta dezaket gailuan zifratze-informazioa? + + +

      + +

      Muturretik muturrerako zifratzearen egoera zure gailuan ikusi nahi baduzu, +sartu “Zifratzea” leihoan (Android/iOS-en, kontaktuaren profilean sartu eta menuan; +mahaigainekoan, kontaktuaren gainean eskuineko botoiarekin sakatuta). +Delta Chatek bi aztarna digital erakusten ditu hor. Zure gailuan ageri diren aztarnak +eta zure kontaktuarenean ageri direnak berdinak badira, konexioa segurua da.

      + +

      + + + Berrerabil dezaket nire oraingo gako pribatua? + + +

      + +

      Ez, ezin duzu.

      + +

      Delta Chatek OpenPGP gako seguruak sortzen ditu, Autocrypt 1.1 espezifikazioa betez. +Ez dugu gomendatzen gakoak eskuz kudeatzea, eta erabiltzaileei ez diegu eskaintzen horretarako aukera. +Segurtasun-auditoriak ahalik errazen egin ahal izatea ziurtatu nahi dugu; arduratu ahal izan daitezela +soil-soilik algoritmo kriptografiko frogatu gutxi batzuetan, eta ez OpenPGP bidez sortu daitezkeen +algoritmo mota guztien sorta zabalean. Zure OpenPGP gakoa atera nahi baduzu, +adituentzako metodoa baino ez dago: profilaren babeskopiaren tar fitxategi bateko +“keypairs” SQLite taulan bilatu behar duzu.

      + +

      + + + Auditatu al da Delta Chat inoiz modu independentean segurtasun-zuloak bilatzeko? + + +

      + +

      Bai, behin baino gehiagotan. +Delta Chati etengabe egiten zaizkio segurtasun-auditoria eta -azterketa independenteak. +Hona hemen zerrenda, ordena kronologikoan:

      + +
        +
      • +

        2024 December, an NLNET-commissioned Evaluation of +rPGP by Radically Open Security took place. +rPGP serves as the end-to-end encryption OpenPGP engine of Delta Chat. +Two advisories were released related to the findings of this audit:

        + + + +

        The issues outlined in these advisories have been fixed and are part of Delta Chat +releases on all appstores since December 2024.

        +
      • +
      • +

        2024 March, we received a deep security analysis from the Applied Cryptography +research group at ETH Zuerich and addressed all raised issues. +See our blog post about Hardening Guaranteed End-to-End encryption for more detailed information and the +Cryptographic Analysis of Delta Chat +research paper published afterwards.

        +
      • +
      • +

        2023 April, we fixed security and privacy issues with the “web +apps shared in a chat” feature, related to failures of sandboxing +especially with Chromium. We subsequently got an independent security +audit from Cure53 and all issues found were fixed in the 1.36 app series released in April 2023. +See here for the full background story on end-to-end security in the web.

        +
      • +
      • +

        2023 March, Cure53 analyzed both the transport encryption of +Delta Chat’s network connections and a reproducible mail server setup as +recommended on this site. +You can read more about the audit on our blog +or read the full report here.

        +
      • +
      • +

        2020, Include Security analyzed Delta +Chat’s Rust core, +IMAP, +SMTP, and +TLS libraries. +It did not find any critical or high-severity issues. +The report raised a few medium-severity weaknesses - +they are no threat to Delta Chat users on their own +because they depend on the environment in which Delta Chat is used. +For usability and compatibility reasons, +we can not mitigate all of them +and decided to provide security recommendations to threatened users. +You can read the full report here.

        +
      • +
      • +

        2019, Include Security analyzed Delta +Chat’s PGP and +RSA libraries. +It found no critical issues, +but two high-severity issues that we subsequently fixed. +It also revealed one medium-severity and some less severe issues, +but there was no way to exploit these vulnerabilities in the Delta Chat implementation. +Some of them we nevertheless fixed since the audit was concluded. +You can read the full report here.

        +
      • +
      + +

      + + + Saski-naskia + + +

      + +

      + + + Zer baimen behar ditu Delta Chatek? + + +

      + +

      Funtzio batzuetarako, zenbait baimen behar dira; +adibidez, QR gonbidapen-kodea eskaneatu nahi baduzu, +kamera erabiltzeko baimena eman beharko duzu.

      + +

      Xehetasunak jakiteko, kontsultatu pribatutasun-politika.

      + +

      + + + Non lortu dezakete Delta Chat nire lagunek? + + +

      + +

      Plataforma nagusi guztietarako eta bigarren mailako batzuetarako lortu daiteke Delta Chat:

      + + + +

      + + + Nola finantzatzen da Delta Chaten garapena? + + +

      + +

      Delta Chatek ez du jasotzen arrisku-kapitalik, ez dauka zorrik, +eta ez dauka gainean inoren presiorik sekulako irabaziak lortzeko, +ez erabiltzaile, lagun eta senideak iragarleei saltzeko (edo okerragorako). +Nahiago dugu finantziazio-iturri publikoak erabili, orain arte EB eta AEBkoak, +mezularitza-ekosistema deszentralizatu eta askotariko bat sustatzeko, +kode irekiko garapen komunitario libretan oinarritua.

      + +

      Zehazki, Delta Chaten garapenak iturri hauen bidez finantzatu dira orain arte, +ordena kronologikoan:

      + +
        +
      • +

        2023an eta 2024an Next Generation Internet (NGI) programarako +hautatu gintuzten webxdc PUSH lanagatik, +beste proiektu batzuk garatzen diharduten bazkide kolaboratzaileekin batera: +webxdc evolve, +webxdc XMPP, +DeltaTouch eta +DeltaTauri. +Proiektu horiek guztiak partzialki amaituta daude, eta 2025 hasieran osatuko dira.

        +
      • +
      • +

        2021ean EBren finantziazio berri bat jaso genuen, Next-Generation-Internet-ekin lotutako +bi proposamenetarako: EPPD - email provider portability directory (~97.000 euro) eta AEAP - email address porting (~90.000 euro). Horri esker, profil anitzeko moduan bateragarritasun hobea lortu zen, QR bidez kontaktuen eta taldeen konfigurazioa hobetu zen, eta hobekuntza asko egin ziren sareko funtzioetan plataforma guztietan.

        +
      • +
      • +

        2019-2020an NLnet fundazioak 46.000 euroko dirulaguntza +eman zigun Rust/Python loturak osatzeko eta txatbot-ekosistema bat agian jartzeko.

        +
      • +
      • +

        Open Technology Fund-ek lehen dirulaguntza bat +eman zigun 2018/2019 aldirako (~200.000 dolar). Tarte horretan, Androiderako aplikazioa +nahiko hobetu genuen, eta mahaigaineko aplikazioaren lehenengo beta bertsioa argitaratu +genuen. Gainera, giza eskubideen testuinguruan erabiltzaileak duen esperientziari buruzko ikerketan +funtzionalitate berriak garatzearen oinarri izan zen(ikusi Beharren idenfifikazioa eta giza eskubideak. Azken txostena. +2019-2020an emandako bigarren dirulaguntzari esker (~300.000 dolar), +Delta/iOS bertsioak argitaratu genituen, gure liburutegi nagusia Rustera bihurtu, +eta plataforma guztietarako funtzio berriak eskaini.

        +
      • +
      • +

        EBren NEXTLEAP proiektuak talde egiaztatuen +ikerketa eta inplementazioa finantzatu zuen, bai eta kontaktu-protokoloen +ezarpena ere, 2017an eta 2018an, eta Autocrypt bidez +muturretik muturrerako zifratzea integratzen lagundu zuen.

        +
      • +
      • +

        Batzuetan pertsona partikularrek egindako dohaintza puntualak +jasotzen ditugu. 2021ean, adibidez, oso eskuzabala den norbaitek +4.000 euroko transferentzia egin zigun, kontzeptuan hau jarrita: +“Jarraitu lan ona egiten!”. 💜 +Diru hori garapenarekin lotutako bilerak finantzatzeko erabiltzen dugu, +edo aurreikusi ezin diren eta funts publikoekin nekez ordaindu daitezkeen +ustekabeko gastuak estaltzeko. Dohaintza gehiago jasotzea lagungarri zaigu, +esandakoaz gain, independenteago izateko eta kolaboratzaile-komunitate gisa +epe luzera gure bideragarritasuna bermatzeko.

        +
      • +
      + + + +
        +
      • Azkenik, baina ez horregatik garrantzi gutxiagokoa, esan beharrekoa da +zenbait aditu eta zale porrokatu pro bono aritu eta aritzen direla +Delta Chaten garapenetan laguntzen, dirurik batere jaso gabe, +edo oso gutxiren truke. Haiek gabe, Delta Chat ez legoke gaur dagoen tokian, +ezta hurre ere.
      • +
      + +

      Aipatutako finantziazio hori nagusiki merlinux GmbH-k kudeatzen du, +Friburgon (Alemania), eta mundu osoko dozenatik gora kolaboratzaileren artean banatzen da.

      + +

      Diruz edo bestela nola lagundu dezakezun jakiteko, +mesedez, kontsultatu Delta Chaten laguntzeko bideak. +Eskerrik asko!

      + + + + + \ No newline at end of file diff --git a/src/main/assets/help/fr/help.html b/src/main/assets/help/fr/help.html index ca05321ce..d61bc7e09 100644 --- a/src/main/assets/help/fr/help.html +++ b/src/main/assets/help/fr/help.html @@ -1483,7 +1483,7 @@ research paper published afterwards.

      Vous trouverez ici un article de fond complet à propos de la sécurité du chiffrement de bout-en-bout sur internet.

    • -

      Début 2023, Cure53 a analysé le chiffrement d’acheminement des connexions réseau de Delta Chat et testé une configuration de serveur de courriel reproductible, telle que recommandée sur ce site. +

      Début 2023, Cure53 a analysé le chiffrement d’acheminement des connexions réseau de Delta Chat et testé une configuration de serveur de courriel reproductible, telle que recommandée sur ce site. Vous trouverez plus d’informations sur cet audit sur notre blog ou dans le rapport complet ici.

    • diff --git a/src/main/assets/help/id/help.html b/src/main/assets/help/id/help.html index 1556406ea..1116900a4 100644 --- a/src/main/assets/help/id/help.html +++ b/src/main/assets/help/id/help.html @@ -1578,7 +1578,7 @@ See here for the full
    • 2023 March, Cure53 analyzed both the transport encryption of Delta Chat’s network connections and a reproducible mail server setup as -recommended on this site. +recommended on this site. You can read more about the audit on our blog or read the full report here.

    • diff --git a/src/main/assets/help/it/help.html b/src/main/assets/help/it/help.html index 6f67f7501..94a53dcbc 100644 --- a/src/main/assets/help/it/help.html +++ b/src/main/assets/help/it/help.html @@ -1566,7 +1566,7 @@ Vedi qui per la stori
    • A partire dal 2023, Cure53 ha analizzato sia la crittografia del trasporto delle Connessioni di rete di Delta Chat e una configurazione del server di posta riproducibile come -consigliato su questo sito. +consigliato su questo sito. Puoi leggere ulteriori informazioni sull’audit sul nostro blog o leggere il rapporto completo qui.

    • diff --git a/src/main/assets/help/nl/help.html b/src/main/assets/help/nl/help.html index 6c7d7db8e..3ef7fe807 100644 --- a/src/main/assets/help/nl/help.html +++ b/src/main/assets/help/nl/help.html @@ -1572,7 +1572,7 @@ Lees hier het volledi
    • Aan het begin van 2023 heeft Cure53 de transportversleuteling van Delta Chats netwerkverbindingen getest, evenals de e-mailserveropzet zoals -beschreven op onze site. +beschreven op onze site. Meer informatie over deze test is te lezen op ons blog of in het volledige verslag.

    • diff --git a/src/main/assets/help/pl/help.html b/src/main/assets/help/pl/help.html index 8473a1cda..997bacdff 100644 --- a/src/main/assets/help/pl/help.html +++ b/src/main/assets/help/pl/help.html @@ -1413,7 +1413,7 @@ od najnowszych do najstarszych:

      W kwietniu 2023 r. naprawiliśmy problemy z bezpieczeństwem i prywatnością w funkcji „aplikacje internetowe udostępniane na czacie”, związane z awariami piaskownicy, szczególnie w przypadku Chromium. Następnie przeprowadziliśmy niezależny audyt bezpieczeństwa od Cure53 i wszystkie wykryte problemy zostały naprawione w aplikacji z serii 1.36 wydanej w kwietniu 2023 r. Pełną historię bezpieczeństwa end-to-end w sieci można znaleźć tutaj.

    • -

      W marcu 2023 r. firma Cure53 przeanalizowała zarówno szyfrowanie transportu połączeń sieciowych Delta Chat, jak i powtarzalną konfigurację serwera pocztowego zgodnie z zaleceniami na tej stronie. Możesz przeczytać więcej o audycie na naszym blogu lub przeczytać pełny raport tutaj.

      +

      W marcu 2023 r. firma Cure53 przeanalizowała zarówno szyfrowanie transportu połączeń sieciowych Delta Chat, jak i powtarzalną konfigurację serwera pocztowego zgodnie z zaleceniami na tej stronie. Możesz przeczytać więcej o audycie na naszym blogu lub przeczytać pełny raport tutaj.

    • W 2020 r. firma Include Security przeanalizowała biblioteki Rust core, IMAP, SMTP i TLS Delta Chat. Nie znalazła żadnych problemów krytycznych ani poważnych. W raporcie zwrócono uwagę na kilka słabych punktów o średniej wadze – same w sobie nie stanowią zagrożenia dla użytkowników Delta Chat, ponieważ zależą od środowiska, w którym używany jest Delta Chat. Ze względu na użyteczność i kompatybilność nie możemy złagodzić wszystkich z nich i zdecydowaliśmy się przedstawić zalecenia dotyczące bezpieczeństwa zagrożonym użytkownikom. Pełny raport można przeczytać tutaj.

      diff --git a/src/main/assets/help/pt/help.html b/src/main/assets/help/pt/help.html index ae4a3f239..bd667217e 100644 --- a/src/main/assets/help/pt/help.html +++ b/src/main/assets/help/pt/help.html @@ -1573,7 +1573,7 @@ See here for the full
    • 2023 March, Cure53 analyzed both the transport encryption of Delta Chat’s network connections and a reproducible mail server setup as -recommended on this site. +recommended on this site. You can read more about the audit on our blog or read the full report here.

    • diff --git a/src/main/assets/help/ru/help.html b/src/main/assets/help/ru/help.html index c325c2436..2da5808fc 100644 --- a/src/main/assets/help/ru/help.html +++ b/src/main/assets/help/ru/help.html @@ -1571,11 +1571,10 @@ Applied Cryptography в ETH Цюрихе и устранили все выявл См. здесь полную информацию о безопасности сквозного шифрования в Интернете.

    • -

      В Марте 2023 года, Cure53 проанализировал как протокол защиты транспортного уровня -сетевого соединения Delta Chat, так и воспроизводимую установку почтового сервера, -рекомендуемую на этом сайте. -Подробнее об аудите можно узнать в нашем блоге -или прочитать полный отчёт здесь.

      +

      В марте 2023 года компания Cure53 провела анализ шифрования транспортного уровня сетевых соединений Delta Chat, а также проверку воспроизводимой конфигурации почтового сервера, +рекомендованной на этом сайте. +Подробнее об аудите можно узнать в нашем блоге, +а полный отчет доступен по этой ссылке.

    • 2020 год, Include Security проанализировала Delta diff --git a/src/main/assets/help/sk/help.html b/src/main/assets/help/sk/help.html index 49f49120a..4604840d1 100644 --- a/src/main/assets/help/sk/help.html +++ b/src/main/assets/help/sk/help.html @@ -1578,7 +1578,7 @@ See here for the full

    • 2023 March, Cure53 analyzed both the transport encryption of Delta Chat’s network connections and a reproducible mail server setup as -recommended on this site. +recommended on this site. You can read more about the audit on our blog or read the full report here.

    • diff --git a/src/main/assets/help/sq/help.html b/src/main/assets/help/sq/help.html index fa404d227..8f956e5af 100644 --- a/src/main/assets/help/sq/help.html +++ b/src/main/assets/help/sq/help.html @@ -1581,7 +1581,7 @@ Shihni këtu, për sh
    • Në fillim të 2023-it, Cure53 analizoi qoftë fshehtëzimin e transporteve për lidhje rrjeti të Delta Chat-it, qoftë një formësim të riprodhueshëm -shërbyesi poste si të rekomanduarin në këtë sajt. +shërbyesi poste si të rekomanduarin në këtë sajt. Mund të lexoni më tepër rreth auditimit në blogun tonë, ose të lexoni raportin e plotë këtu.

    • diff --git a/src/main/assets/help/uk/help.html b/src/main/assets/help/uk/help.html index ecfb38280..3516877d9 100644 --- a/src/main/assets/help/uk/help.html +++ b/src/main/assets/help/uk/help.html @@ -1391,7 +1391,7 @@ you need to look it up in the “keypairs” SQLite table of a profile backup ta

      Починаючи з 2023 року, ми виправили проблеми з безпекою та конфіденційністю у функції “веб застосунків, що поширені у чаті”, пов’язані зі збоями в роботі пісочниці особливо в Chromium. Згодом ми отримали незалежний аудит безпеки аудит безпеки від Cure53, і всі знайдені проблеми були виправлені в серії додатків 1.36, випущених у квітні 2023 року. Повну історію про наскрізну безпеку в Інтернеті дивіться тут.

    • -

      Починаючи з 2023 року Cure53 проаналізував транспортне шифрування мережевих з’єднань Delta Chat і відтворюване налаштування поштового сервера як рекомендовано на цьому сайті. Ви можете прочитати більше про аудит у нашому блозі або прочитайте повний звіт тут.

      +

      Починаючи з 2023 року Cure53 проаналізував транспортне шифрування мережевих з’єднань Delta Chat і відтворюване налаштування поштового сервера як рекомендовано на цьому сайті. Ви можете прочитати більше про аудит у нашому блозі або прочитайте повний звіт тут.

    • У 2020 році Include Security проаналізувала Rust-ядро Delta Chat і бібліотеки IMAP, SMTP та TLS. Він не виявив критичних або серйозних проблем. У звіті виявлено кілька слабких місць середнього ступеня тяжкості – вони самі по собі не становлять загрози для користувачів Delta Chat оскільки вони залежать від середовища, у якому використовується Delta Chat. З міркувань зручності використання та сумісності ми не можемо пом’якшити їх усі тому вирішили надати рекомендації щодо безпеки користувачам, яким загрожує небезпека. Ви можете прочитати повний звіт тут.

      diff --git a/src/main/assets/help/zh_CN/help.html b/src/main/assets/help/zh_CN/help.html index ba79c4b3d..8bb76913c 100644 --- a/src/main/assets/help/zh_CN/help.html +++ b/src/main/assets/help/zh_CN/help.html @@ -1557,7 +1557,7 @@ Delta Chat 长期接受第三方独立机构的安全审计与漏洞分析,
    • 2023 年 3 月,Cure53 分析了 Delta Chat 网络连接的传输加密和一个可重现的邮件服务器设置,如 -本网站 推荐的那样。 +本网站 推荐的那样。 你可以在 我们的博客 上阅读有关审计的更多信息 ,或在此处阅读 完整报告。

    • diff --git a/src/main/java/chat/delta/rpc/Rpc.java b/src/main/java/chat/delta/rpc/Rpc.java index 7e3f50d53..d5b825d5a 100644 --- a/src/main/java/chat/delta/rpc/Rpc.java +++ b/src/main/java/chat/delta/rpc/Rpc.java @@ -396,7 +396,7 @@ public class Rpc { } /** - * Gets messages to be processed by the bot and returns their IDs. + * (deprecated) Gets messages to be processed by the bot and returns their IDs. *

      * Only messages with database ID higher than `last_msg_id` config value * are returned. After processing the messages, the bot should @@ -404,6 +404,13 @@ public class Rpc { * or manually updating the value to avoid getting already * processed messages. *

      + * Deprecated 2026-04: This returns the message's id as soon as the first part arrives, + * even if it is not fully downloaded yet. + * The bot needs to wait for the message to be fully downloaded. + * Since this is usually not the desired behavior, + * bots should instead use the #DC_EVENT_INCOMING_MSG / [`types::events::EventType::IncomingMsg`] + * event for getting notified about new messages. + *

      * [`markseen_msgs`]: Self::markseen_msgs */ public java.util.List getNextMsgs(Integer accountId) throws RpcException { @@ -411,7 +418,7 @@ public class Rpc { } /** - * Waits for messages to be processed by the bot and returns their IDs. + * (deprecated) Waits for messages to be processed by the bot and returns their IDs. *

      * This function is similar to [`get_next_msgs`], * but waits for internal new message notification before returning. @@ -422,6 +429,13 @@ public class Rpc { * To shutdown the bot, stopping I/O can be used to interrupt * pending or next `wait_next_msgs` call. *

      + * Deprecated 2026-04: This returns the message's id as soon as the first part arrives, + * even if it is not fully downloaded yet. + * The bot needs to wait for the message to be fully downloaded. + * Since this is usually not the desired behavior, + * bots should instead use the #DC_EVENT_INCOMING_MSG / [`types::events::EventType::IncomingMsg`] + * event for getting notified about new messages. + *

      * [`get_next_msgs`]: Self::get_next_msgs */ public java.util.List waitNextMsgs(Integer accountId) throws RpcException { diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java b/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java index 9f1102697..6eff54cf5 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java @@ -534,8 +534,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity menu.findItem(R.id.menu_start_call) .setVisible( - Prefs.isCallsEnabled(this) - && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O + Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && dcChat.canSend() && dcChat.isEncrypted() && !dcChat.isSelfTalk() diff --git a/src/main/java/org/thoughtcrime/securesms/WebxdcActivity.java b/src/main/java/org/thoughtcrime/securesms/WebxdcActivity.java index 1504b98fc..7a2e15fee 100644 --- a/src/main/java/org/thoughtcrime/securesms/WebxdcActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/WebxdcActivity.java @@ -227,6 +227,7 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); + webSettings.setMediaPlaybackRequiresUserGesture(false); webSettings.setAllowFileAccess(false); webSettings.setBlockNetworkLoads(!internetAccess); webSettings.setAllowContentAccess(false); diff --git a/src/main/java/org/thoughtcrime/securesms/calls/CallActivity.java b/src/main/java/org/thoughtcrime/securesms/calls/CallActivity.java index ea0004e0c..e5605499e 100644 --- a/src/main/java/org/thoughtcrime/securesms/calls/CallActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/calls/CallActivity.java @@ -52,7 +52,8 @@ import org.webrtc.VideoTrack; public class CallActivity extends AppCompatActivity { private static final String TAG = CallActivity.class.getSimpleName(); - private static final int PERMISSION_REQUEST_CODE = 1001; + private static final int MIC_PERMISSION_REQUEST_CODE = 1001; + private static final int CAMERA_PERMISSION_REQUEST_CODE = 1002; public static final String ACTION_ANSWER_CALL = BuildConfig.APPLICATION_ID + ".ANSWER_CALL"; public static final String ACTION_DECLINE_CALL = BuildConfig.APPLICATION_ID + ".DECLINE_CALL"; @@ -94,10 +95,30 @@ public class CallActivity extends AppCompatActivity { private PowerManager.WakeLock proximityWakeLock; + // States + private boolean awaitingPermissionResult = false; + private boolean pausedWhileAwaitingPermission = false; + private boolean intentHandled = false; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + // Destructive actions need nothing + String action = getIntent() != null ? getIntent().getAction() : null; + if (ACTION_DECLINE_CALL.equals(action)) { + Log.d(TAG, "Handling DECLINE_CALL action from notification"); + CallCoordinator.getInstance(getApplication()).declineCall(); + finish(); + return; + } + if (ACTION_HANGUP_CALL.equals(action)) { + Log.d(TAG, "Handling HANGUP_CALL action from notification"); + CallCoordinator.getInstance(getApplication()).hangUp(); + finish(); + return; + } + setContentView(R.layout.activity_call); setupWindowFlags(); @@ -108,11 +129,6 @@ public class CallActivity extends AppCompatActivity { initializeProximityWakeLock(); - if (!hasRequiredPermissions()) { - requestRequiredPermissions(); - return; - } - // PiP listener addOnPictureInPictureModeChangedListener( pipModeInfo -> { @@ -139,47 +155,74 @@ public class CallActivity extends AppCompatActivity { initializeViewModel(); + // Intent handling needs permissions + if (!hasMicrophonePermission()) { + awaitingPermissionResult = true; + ActivityCompat.requestPermissions( + this, new String[] {Manifest.permission.RECORD_AUDIO}, MIC_PERMISSION_REQUEST_CODE); + return; + } + + if (shouldRequestCameraPermission()) { + awaitingPermissionResult = true; + ActivityCompat.requestPermissions( + this, new String[] {Manifest.permission.CAMERA}, CAMERA_PERMISSION_REQUEST_CODE); + return; + } + handleIntents(getIntent()); + intentHandled = true; } private void handleIntents(Intent intent) { - if (intent == null || viewModel == null) { + if (intent == null) { return; } CallCoordinator coordinator = CallCoordinator.getInstance(getApplication()); - if (!coordinator.hasActiveCall()) { - Log.e(TAG, "No active call exists, cannot proceed"); - Toast.makeText(this, "No active call", Toast.LENGTH_SHORT).show(); - finish(); - return; - } - String action = intent.getAction(); Log.d(TAG, "handleIntents: action=" + action); - // Handle notification actions - if (ACTION_ANSWER_CALL.equals(action)) { - Log.d(TAG, "Handling ANSWER_CALL action from notification"); - viewModel.handleNotificationAnswer(); - return; - } - + // Destructive actions without ViewModel if (ACTION_DECLINE_CALL.equals(action)) { - Log.d(TAG, "Handling DECLINE_CALL action from notification"); - viewModel.handleNotificationDecline(); + Log.d(TAG, "Handling DECLINE_CALL action"); + if (viewModel != null) { + viewModel.handleNotificationDecline(); + } else { + coordinator.declineCall(); + } finish(); return; } if (ACTION_HANGUP_CALL.equals(action)) { - Log.d(TAG, "Handling HANGUP_CALL action from notification"); - viewModel.handleNotificationHangup(); + Log.d(TAG, "Handling HANGUP_CALL action"); + if (viewModel != null) { + viewModel.handleNotificationHangup(); + } else { + coordinator.hangUp(); + } finish(); return; } + if (viewModel == null) { + return; + } + + if (!coordinator.hasActiveCall()) { + Log.e(TAG, "No active call exists, cannot proceed"); + finish(); + return; + } + + if (ACTION_ANSWER_CALL.equals(action)) { + Log.d(TAG, "Handling ANSWER_CALL action from notification"); + viewModel.handleNotificationAnswer(); + return; + } + if (coordinator.hasOngoingCall()) { Log.d(TAG, "Resuming existing call"); } else if (!coordinator.isIncomingCall()) { @@ -783,18 +826,46 @@ public class CallActivity extends AppCompatActivity { // Permissions - private boolean hasRequiredPermissions() { - return ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) - == PackageManager.PERMISSION_GRANTED - && ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) - == PackageManager.PERMISSION_GRANTED; + private boolean hasMicrophonePermission() { + return ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) + == PackageManager.PERMISSION_GRANTED; } - private void requestRequiredPermissions() { - ActivityCompat.requestPermissions( - this, - new String[] {Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO}, - PERMISSION_REQUEST_CODE); + private boolean hasCameraPermission() { + return ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) + == PackageManager.PERMISSION_GRANTED; + } + + private boolean shouldRequestCameraPermission() { + CallCoordinator coordinator = CallCoordinator.getInstance(getApplication()); + return coordinator.isStartsWithVideo() && !hasCameraPermission(); + } + + private void handleMicPermissionDenied() { + Toast.makeText(this, R.string.call_requires_mic_permission, Toast.LENGTH_LONG).show(); + + CallCoordinator coordinator = CallCoordinator.getInstance(getApplication()); + if (coordinator.hasActiveCall() + && coordinator.isIncomingCall() + && !coordinator.hasOngoingCall()) { + coordinator.declineCall(); + } + + finish(); + } + + private void proceedAfterPermissions() { + if (intentHandled) return; + + if (shouldRequestCameraPermission()) { + awaitingPermissionResult = true; + ActivityCompat.requestPermissions( + this, new String[] {Manifest.permission.CAMERA}, CAMERA_PERMISSION_REQUEST_CODE); + return; + } + + handleIntents(getIntent()); + intentHandled = true; } @Override @@ -802,38 +873,34 @@ public class CallActivity extends AppCompatActivity { int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); - if (requestCode == PERMISSION_REQUEST_CODE) { - boolean microphoneGranted = false; - boolean cameraGranted = false; + awaitingPermissionResult = false; + pausedWhileAwaitingPermission = false; - for (int i = 0; i < permissions.length; i++) { - if (permissions[i].equals(Manifest.permission.RECORD_AUDIO)) { - microphoneGranted = (grantResults[i] == PackageManager.PERMISSION_GRANTED); - } else if (permissions[i].equals(Manifest.permission.CAMERA)) { - cameraGranted = (grantResults[i] == PackageManager.PERMISSION_GRANTED); - } - } + CallCoordinator coordinator = CallCoordinator.getInstance(getApplication()); - if (!microphoneGranted) { - Toast.makeText(this, "Microphone permission is required for calls", Toast.LENGTH_LONG) - .show(); - finish(); + if (requestCode == MIC_PERMISSION_REQUEST_CODE) { + boolean micGranted = + grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED; + + if (!micGranted) { + handleMicPermissionDenied(); return; } - CallCoordinator coordinator = CallCoordinator.getInstance(getApplication()); + } else if (requestCode == CAMERA_PERMISSION_REQUEST_CODE) { + boolean cameraGranted = + grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED; - if (!cameraGranted && coordinator.isStartsWithVideo()) { + if (!cameraGranted) { Log.w(TAG, "Camera permission denied, switching to audio-only"); Toast.makeText( this, "Starting audio-only call (camera permission denied)", Toast.LENGTH_SHORT) .show(); coordinator.setStartsWithVideo(false); } - - initializeViewModel(); - handleIntents(getIntent()); } + + proceedAfterPermissions(); } // Picture-in-Picture @@ -842,6 +909,11 @@ public class CallActivity extends AppCompatActivity { public void onUserLeaveHint() { super.onUserLeaveHint(); + // Do not finish activity when a permission request is pending + if (awaitingPermissionResult) { + return; + } + // Enter PiP mode when user presses home button during active call if (viewModel != null) { CallViewModel.CallState state = viewModel.getCallState().getValue(); @@ -899,12 +971,44 @@ public class CallActivity extends AppCompatActivity { protected void onPause() { super.onPause(); + if (awaitingPermissionResult) { + pausedWhileAwaitingPermission = true; + } + if (proximityWakeLock != null && proximityWakeLock.isHeld()) { proximityWakeLock.release(); Log.d(TAG, "Proximity wake lock released in onDestroy"); } } + @Override + protected void onResume() { + super.onResume(); + + // Fallback for Android 16 bug: onRequestPermissionsResult not called + if (awaitingPermissionResult && pausedWhileAwaitingPermission) { + Log.w(TAG, "Permission result callback not received, handling in onResume"); + + awaitingPermissionResult = false; + pausedWhileAwaitingPermission = false; + + if (!hasMicrophonePermission()) { + handleMicPermissionDenied(); + return; + } + + // Mic was granted without callback + if (shouldRequestCameraPermission()) { + awaitingPermissionResult = true; + ActivityCompat.requestPermissions( + this, new String[] {Manifest.permission.CAMERA}, CAMERA_PERMISSION_REQUEST_CODE); + return; + } + + proceedAfterPermissions(); + } + } + @Override protected void onDestroy() { super.onDestroy(); diff --git a/src/main/java/org/thoughtcrime/securesms/calls/CallCoordinator.java b/src/main/java/org/thoughtcrime/securesms/calls/CallCoordinator.java index eb346a406..cfe90ba21 100644 --- a/src/main/java/org/thoughtcrime/securesms/calls/CallCoordinator.java +++ b/src/main/java/org/thoughtcrime/securesms/calls/CallCoordinator.java @@ -527,22 +527,7 @@ public class CallCoordinator implements DcEventCenter.DcEventDelegate { return; } - // Check microphone and camera permissions - if (!hasMicrophonePermission()) { - Log.e(TAG, "Microphone permission not granted"); - Intent intent = new Intent(appContext, CallActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); - appContext.startActivity(intent); - notificationManager.cancel(NOTIFICATION_ID_CALL); - return; - } - - if (startsWithVideo && !hasCameraPermission()) { - Log.w(TAG, "Camera permission not granted"); - startsWithVideo = false; - } - - // Launch CallActivity with answer action + // Launch CallActivity Intent intent = new Intent(appContext, CallActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); appContext.startActivity(intent); @@ -1218,7 +1203,7 @@ public class CallCoordinator implements DcEventCenter.DcEventDelegate { return; } - // Check camera and microphone permissions + // Check microphone permission if (!hasMicrophonePermission()) { Log.e(TAG, "Microphone permission not granted"); @@ -1228,11 +1213,6 @@ public class CallCoordinator implements DcEventCenter.DcEventDelegate { return; } - if (startsWithVideo && !hasCameraPermission()) { - Log.w(TAG, "Camera permission not granted, will start audio-only"); - startsWithVideo = false; - } - resetLiveDataForNewCall(); this.activeCallId = -1; // Placeholder call ID for Intent @@ -1378,10 +1358,8 @@ public class CallCoordinator implements DcEventCenter.DcEventDelegate { } // Check full screen intent permission on Android 14+ - boolean canUseFullScreen = false; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { - canUseFullScreen = canUseFullScreenIntent(); - if (!canUseFullScreen) { + if (!canUseFullScreenIntent()) { Log.w(TAG, "Full screen intent permission not granted, notification will appear normally"); } } @@ -1422,7 +1400,7 @@ public class CallCoordinator implements DcEventCenter.DcEventDelegate { PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); Notification.Builder builder; - if (canUseFullScreen && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { // Android 12+, CallStyle Person caller = new Person.Builder().setName(callerName).setIcon(callerIcon).setImportant(true).build(); diff --git a/src/main/java/org/thoughtcrime/securesms/calls/CallService.java b/src/main/java/org/thoughtcrime/securesms/calls/CallService.java index bf7ad6336..fb90eda48 100644 --- a/src/main/java/org/thoughtcrime/securesms/calls/CallService.java +++ b/src/main/java/org/thoughtcrime/securesms/calls/CallService.java @@ -142,17 +142,13 @@ public class CallService extends Service implements WebRTCClient.Callbacks { return; } - // Check permissions - boolean hasMicrophone = callCoordinator.hasMicrophonePermission(); - boolean hasCamera = callCoordinator.hasCameraPermission(); - - if (!hasMicrophone) { + if (!callCoordinator.hasMicrophonePermission()) { Log.e(TAG, "Microphone permission not granted, cannot start call"); callCoordinator.reportError("Microphone permission is required for calls"); return; } - boolean startsWithVideo = callCoordinator.isStartsWithVideo() && hasCamera; + boolean startsWithVideo = callCoordinator.isStartsWithVideo(); Log.d(TAG, "Creating media stream with video: " + startsWithVideo); @@ -172,8 +168,10 @@ public class CallService extends Service implements WebRTCClient.Callbacks { VideoTrack localTrack = stream.videoTracks.get(0); callCoordinator.updateLocalVideoTrack(localTrack); } else { - Log.w(TAG, "Camera unavailable, call will be audio-only"); - callCoordinator.reportError("Camera unavailable, using audio only"); + Log.w(TAG, "No video track in stream, call will be audio-only"); + if (startsWithVideo) { + callCoordinator.reportError("Camera unavailable, using audio only"); + } callCoordinator.setVideoEnabled(false); } @@ -183,7 +181,9 @@ public class CallService extends Service implements WebRTCClient.Callbacks { @Override public void onError(String error) { Log.e(TAG, "Failed to setup media: " + error); - callCoordinator.reportError("Camera/microphone error: " + error); + if (startsWithVideo) { + callCoordinator.reportError("Camera/microphone error: " + error); + } callCoordinator.setVideoEnabled(false); } }); diff --git a/src/main/java/org/thoughtcrime/securesms/calls/MediaStreamManager.java b/src/main/java/org/thoughtcrime/securesms/calls/MediaStreamManager.java index 91696f784..7f1a174a9 100644 --- a/src/main/java/org/thoughtcrime/securesms/calls/MediaStreamManager.java +++ b/src/main/java/org/thoughtcrime/securesms/calls/MediaStreamManager.java @@ -1,11 +1,14 @@ package org.thoughtcrime.securesms.calls; +import android.Manifest; import android.content.Context; +import android.content.pm.PackageManager; import android.os.Build; import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; +import androidx.core.content.ContextCompat; import org.thoughtcrime.securesms.EglUtils; import org.webrtc.AudioSource; import org.webrtc.AudioTrack; @@ -93,6 +96,12 @@ public class MediaStreamManager { @Nullable private VideoCapturer createVideoCapturer() { + if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) + != PackageManager.PERMISSION_GRANTED) { + Log.w(TAG, "Camera permission not granted"); + return null; + } + Camera2Enumerator enumerator = new Camera2Enumerator(context); // Try front camera first diff --git a/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java b/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java index 8279442e4..109c6e3e8 100644 --- a/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java @@ -187,24 +187,6 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment }); } - Preference callsEnabled = this.findPreference("pref_calls_enabled"); - if (callsEnabled != null) { - callsEnabled.setOnPreferenceChangeListener( - (preference, newValue) -> { - if ((Boolean) newValue) { - new AlertDialog.Builder(requireActivity()) - .setTitle("Thanks for helping to debug \"Calls\"!") - .setMessage( - "• You can now debug calls using the \"phone\" icon in one-to-one-chats\n\n" - + "• The experiment is about making decentralised calls work and reliable at all, not about options or UI. We're happy about focused feedback at support.delta.chat\n\n") - .setCancelable(false) - .setPositiveButton(R.string.ok, null) - .show(); - } - return true; - }); - } - selfReportingCheckbox = this.findPreference("pref_stats_sending"); if (selfReportingCheckbox != null) { selfReportingCheckbox.setOnPreferenceChangeListener( diff --git a/src/main/java/org/thoughtcrime/securesms/providers/PersistentBlobProvider.java b/src/main/java/org/thoughtcrime/securesms/providers/PersistentBlobProvider.java index 7da633627..a57b5335f 100644 --- a/src/main/java/org/thoughtcrime/securesms/providers/PersistentBlobProvider.java +++ b/src/main/java/org/thoughtcrime/securesms/providers/PersistentBlobProvider.java @@ -208,7 +208,6 @@ public class PersistentBlobProvider { return getFile(context, ContentUris.parseId(uri)).delete(); } - //noinspection SimplifiableIfStatement if (isExternalBlobUri(context, uri)) { return new File(uri.getPath()).delete(); } @@ -287,6 +286,20 @@ public class PersistentBlobProvider { private static @NonNull File getExternalDir(Context context) throws IOException { File externalDir = context.getExternalCacheDir(); + + if (externalDir != null) { + try { + FileProviderUtil.getUriFor(context, new File(externalDir, "test")); + } catch (IllegalArgumentException e) { + Log.w( + TAG, + "External cache dir not resolvable by FileProvider, " + + "falling back to internal cache", + e); + externalDir = null; + } + } + if (externalDir == null) { externalDir = context.getCacheDir(); } diff --git a/src/main/java/org/thoughtcrime/securesms/util/Prefs.java b/src/main/java/org/thoughtcrime/securesms/util/Prefs.java index e94d01bd1..b7916e0d7 100644 --- a/src/main/java/org/thoughtcrime/securesms/util/Prefs.java +++ b/src/main/java/org/thoughtcrime/securesms/util/Prefs.java @@ -202,10 +202,6 @@ public class Prefs { return getBooleanPreference(context, "pref_new_broadcast_list", false); } - public static boolean isCallsEnabled(Context context) { - return getBooleanPreference(context, "pref_calls_enabled", false); - } - // ringtone public static @NonNull Uri getNotificationRingtone(Context context) { diff --git a/src/main/res/values-bg/strings.xml b/src/main/res/values-bg/strings.xml index 83434f72c..bd65f6fdb 100644 --- a/src/main/res/values-bg/strings.xml +++ b/src/main/res/values-bg/strings.xml @@ -615,10 +615,6 @@ До %1$s, повечето от които изображения с по-лошо качество До %1$s, повечето от които изображения с балансирано качество Неуспешно сваляне - - %1$s съобщение - - Сваляне на максимално наличното до %1$s Избор на изображение за профила Изберете новото изображение за профила си Изтриване на изображението на профила diff --git a/src/main/res/values-bqi/strings.xml b/src/main/res/values-bqi/strings.xml index 6e4ff4dc2..ee859595e 100644 --- a/src/main/res/values-bqi/strings.xml +++ b/src/main/res/values-bqi/strings.xml @@ -397,8 +397,6 @@ پوی تا سقف %1$s - - پیوم %1$s پسند شؽوات پوروفایل پاک کردن شؽوات پوروفایل آلشت پوروفایل diff --git a/src/main/res/values-ca/strings.xml b/src/main/res/values-ca/strings.xml index 4edc8906a..2c437753c 100644 --- a/src/main/res/values-ca/strings.xml +++ b/src/main/res/values-ca/strings.xml @@ -814,10 +814,6 @@ Fins a %1$s, les imatges de pitjor qualitat Fins a %1$s, imatges de qualitat la majoria de vegades. La baixada ha fallat - - %1$s missatge - - Baixa el màxim disponible fins a %1$s Trieu la imatge de perfil Trieu la imatge nova de perfil Esborra la imatge del perfil diff --git a/src/main/res/values-cs/strings.xml b/src/main/res/values-cs/strings.xml index d98365522..b6880f389 100644 --- a/src/main/res/values-cs/strings.xml +++ b/src/main/res/values-cs/strings.xml @@ -788,10 +788,6 @@ Do %1$s, většina obrázků horší kvality Do %1$s, většina obrázků vyvážené kvality Stahování selhalo - - %1$s zpráva - - Stahovat dostupné maximum do %1$s Vybrat profilový obrázek Vyberte si svůj nový profilový obrázek Smazat profilový obrázek diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml index 13c1cf9ae..84460f651 100644 --- a/src/main/res/values-de/strings.xml +++ b/src/main/res/values-de/strings.xml @@ -814,10 +814,6 @@ Bis zu %1$s, die meisten Bilder schlechter Qualität Bis zu %1$s, die meisten Bilder ausgewogener Qualität Download gescheitert - - %1$s Nachricht - - Download max. verfügbar bis %1$s Profilbild auswählen Wählen dein Profilbild aus Profilbild löschen diff --git a/src/main/res/values-el/strings.xml b/src/main/res/values-el/strings.xml index d096f405e..466139d2c 100644 --- a/src/main/res/values-el/strings.xml +++ b/src/main/res/values-el/strings.xml @@ -526,10 +526,6 @@ Έως και %1$s, τις περισσότερες εικόνες χειρότερης ποιότητας Έως %1$s, εικόνες πιο ισορροπημένης ποιότητας Αποτυχία Λήψης - - %1$s μήνυμα - - Μέγιστη διαθέσιμη λήψη μέχρι %1$s Επιλογή Εικόνας Προφίλ Επιλογή Νέας Εικόνας Προφίλ Διαγραφή Εικόνας Προφίλ diff --git a/src/main/res/values-es/strings.xml b/src/main/res/values-es/strings.xml index dfdcd2597..a40ec869d 100644 --- a/src/main/res/values-es/strings.xml +++ b/src/main/res/values-es/strings.xml @@ -627,7 +627,7 @@ Ya tengo un perfil - Usar correo-e clásico como Retransmisor + Usar correo electrónico como Retransmisor Tu perfil @@ -831,10 +831,6 @@ Hasta %1$s, la mayoría de imágenes de peor calidad Hasta %1$s, la mayoría de imágenes de calidad balanceada Descarga fallida - - Mensaje de %1$s - - Descarga disponible hasta %1$s Seleccionar imagen de perfil Seleccionar tu nueva imagen de perfil Borrar imagen de perfil diff --git a/src/main/res/values-et/strings.xml b/src/main/res/values-et/strings.xml index 47722d95f..859325b63 100644 --- a/src/main/res/values-et/strings.xml +++ b/src/main/res/values-et/strings.xml @@ -669,6 +669,8 @@ Kasutatud saatmiseks Peida kontaktidest Peidetud kontaktidest + + Sõnumid saavad kõik alusühendused (edastusserverid).\n\n⚠️ Kui muudad siin midagi, siis palun kontrolli, et kõikides sinu seadmetes on kasutusel vähemalt versioon 2.47.0. Vastasel juhul võivad vanema tarkvaraga seadmetes jääta sõnumid saabumata. Kas lisad selle alusühenduse (edastusserveri)? Skaneeritud QR-koodis pole korrektset alusühendust (edastusserverid) @@ -812,10 +814,6 @@ Suurusega kuni %1$s, üldjuhul kehva kvaliteediga pildid Suurusega kuni %1$s, üldjuhul mõistliku kvaliteediga pildid Allalaadimine ei õnnestunud - - Sõnum suurusega %1$s - - Allalaadimise ülempiir on saadaval kuni %1$s Vali profiilipilt Vali oma uus profiilipilt Kustuta profiilipilt diff --git a/src/main/res/values-eu/strings.xml b/src/main/res/values-eu/strings.xml index db4717ccc..4895696d2 100644 --- a/src/main/res/values-eu/strings.xml +++ b/src/main/res/values-eu/strings.xml @@ -113,7 +113,7 @@ Azken astea Azken hilabetea - %1$s-n ikusi da azken + Azken aldiz begiratua: %1$s Azken aldiz begiratua %1$s Azken aldiz begiratzea: ezezaguna @@ -669,6 +669,8 @@ Bidaltzeko erabilita Ezkutatu kontaktuetatik Kontaktuetatik ezkutatuta + + Mezuak errele guztietan jasotzen dira.\n\n⚠️ Hemen zerbait aldatzen baduzu, ziurtatu zure gailu guztiek gutxienez 2.47.0 bertsioa dutela. Bestela, gailu zaharragoek mezuak gal ditzakete. Gehitu errelea? Eskaneatutako QR kodeak ez dauka baliozko errelerik. @@ -812,10 +814,6 @@ %1$s arte: kalitate txarreneko irudiak %1$s arte: kalitate orekatueneko irudiak Deskargak huts egin du - - %1$s mezu - - Deskargatu eskuragarri dagoen gehienezkoa %1$s arte Aukeratu abatarra Aukeratu zure abatar berria Ezabatu abatarra diff --git a/src/main/res/values-fa/strings.xml b/src/main/res/values-fa/strings.xml index c037de7c9..7c28ee4d4 100644 --- a/src/main/res/values-fa/strings.xml +++ b/src/main/res/values-fa/strings.xml @@ -770,10 +770,6 @@ تا سقف %1$s، بدترین کیفیت تصویر تا سقف %1$s، متعادل‌ترین کیفیت تصویر بارگیری ناموفق - - پیام %1$s - - سقف دانلود تا %1$s فعال خواهد بود انتخاب تصویر نمایه تصویر نمایهٔ جدیدتان را برگزینید حذف تصویر نمایه diff --git a/src/main/res/values-fi/strings.xml b/src/main/res/values-fi/strings.xml index f735a107c..8135f9830 100644 --- a/src/main/res/values-fi/strings.xml +++ b/src/main/res/values-fi/strings.xml @@ -619,10 +619,6 @@ Korkeintaan %1$s, suurin osa alhaisen laadun kuvista Korkeintaan %1$s, suurin osa tasapainoisen laadun kuvista Lataus epäonnistui - - %1$s viesti - - Latauksen yläraja saatavilla %1$s asti Valitse profiilikuva Valitse uusi profiilikuvasi Poista profiilikuva diff --git a/src/main/res/values-fr/strings.xml b/src/main/res/values-fr/strings.xml index 3e01f0945..577fa03cb 100644 --- a/src/main/res/values-fr/strings.xml +++ b/src/main/res/values-fr/strings.xml @@ -829,10 +829,6 @@ Jusqu\'à %1$s, plus basse qualité d\'image Jusqu\'à %1$s, qualité d\'image la plus équilibrée Échec du téléchargement - - %1$s message - - Télécharger le plus possible jusqu\'à %1$s Sélectionnez l\'image de profil Sélectionnez votre nouvelle image de profil Supprimer l\'image de profil diff --git a/src/main/res/values-gl/strings.xml b/src/main/res/values-gl/strings.xml index 32bb1cba2..53fe820d8 100644 --- a/src/main/res/values-gl/strings.xml +++ b/src/main/res/values-gl/strings.xml @@ -713,10 +713,6 @@ Ata %1$s, a maioría de imaxes da menor calidade Ata %1$s, a maioría de imaxes de calidade media Fallou a descarga - - %1$s mensaxe - - Descarga o máximo dispoñible ata %1$s Elixe imaxe de perfil Elixe a túa nova imaxe de perfil Elimina a imaxe de perfil diff --git a/src/main/res/values-hu/strings.xml b/src/main/res/values-hu/strings.xml index dd906306e..7e2ae47af 100644 --- a/src/main/res/values-hu/strings.xml +++ b/src/main/res/values-hu/strings.xml @@ -744,10 +744,6 @@ Legfeljebb %1$s, leginkább rosszabb minőségű kép Legfeljebb %1$s, leginkább kiegyensúlyozatabb minőségű kép Sikertelen letöltés - - %1$s üzenet - - Letöltés maximum ennyi ideig visszamenőleg: %1$s Profilkép kiválasztása Válassza ki az új profilképet Profilkép törlése diff --git a/src/main/res/values-it/strings.xml b/src/main/res/values-it/strings.xml index deb45fa40..23a2d8311 100644 --- a/src/main/res/values-it/strings.xml +++ b/src/main/res/values-it/strings.xml @@ -831,10 +831,6 @@ Fino a %1$s, immagini di qualità peggiore Fino a %1$s, immagini di qualità più equilibrata Scaricamento fallito - - %1$s messaggio - - Scaricamento disponibile massimo fino a %1$s Seleziona Immagine Profilo Seleziona la tua nuova immagine profilo Elimina Immagine Profilo diff --git a/src/main/res/values-kab/strings.xml b/src/main/res/values-kab/strings.xml index a22996350..80f88ac29 100644 --- a/src/main/res/values-kab/strings.xml +++ b/src/main/res/values-kab/strings.xml @@ -810,10 +810,6 @@ Arma d %1$s, tugniwin n tɣara n diri maḍi Arma d %1$s, tugniwin n tɣara yemneknayen Asader ur yeddi ara - - Izen %1$s - - Sader-d afellay i yellan alamma d %1$s Fren tugna n umaɣnu Fren tugna-ik·im tamaynut n umaɣnu Kkes tugna n umaɣnu diff --git a/src/main/res/values-ko/strings.xml b/src/main/res/values-ko/strings.xml index 40b1a3e2b..d30383bb2 100644 --- a/src/main/res/values-ko/strings.xml +++ b/src/main/res/values-ko/strings.xml @@ -502,10 +502,6 @@ %1$s까지 다운로드 실패 - - %1$s 메시지 - - %1$s까지 최대 다운로드 가능 프로필 이미지 선택 새로운 프로필 이미지 선택 프로필 이미지 삭제 diff --git a/src/main/res/values-lt/strings.xml b/src/main/res/values-lt/strings.xml index 4246b9a46..49359ba04 100644 --- a/src/main/res/values-lt/strings.xml +++ b/src/main/res/values-lt/strings.xml @@ -720,8 +720,6 @@ Iki %1$s, iš esmės, blogos kokybės paveikslus Iki %1$s, iš esmės, subalansuotos kokybės paveikslus Atsiuntimas nepavyko - - %1$s žinutė Pasirinkti profilio nuotrauką Pasirinkite naują profilio nuotrauką Ištrinti profilio nuotrauką diff --git a/src/main/res/values-nl/strings.xml b/src/main/res/values-nl/strings.xml index c3ad3771c..d6b8e4c62 100644 --- a/src/main/res/values-nl/strings.xml +++ b/src/main/res/values-nl/strings.xml @@ -814,10 +814,6 @@ Tot %1$s - lage afbeeldingskwaliteit Tot %1$s - redelijke afbeeldingskwaliteit Het downloaden is mislukt - - %1$s bericht - - Maximaal downloaden tot en met een aantal van %1$s Profielfoto kiezen Kies een nieuwe profielfoto Profielfoto verwijderen diff --git a/src/main/res/values-pl/strings.xml b/src/main/res/values-pl/strings.xml index f2fa789f0..153d7c959 100644 --- a/src/main/res/values-pl/strings.xml +++ b/src/main/res/values-pl/strings.xml @@ -800,10 +800,6 @@ Do %1$s, większ. obrazów gorszej jakości Do %1$s, obrazy zrównoważonej jakości Pobieranie nie udane - - Wiadomość %1$s - - Maksymalna ilość do pobrania dostępna do %1$s Wybierz zdjęcie profilowe Wybierz nowe zdjęcie profilowe Usuń zdjęcie profilowe diff --git a/src/main/res/values-pt-rBR/strings.xml b/src/main/res/values-pt-rBR/strings.xml index b50f2b407..30808d23d 100644 --- a/src/main/res/values-pt-rBR/strings.xml +++ b/src/main/res/values-pt-rBR/strings.xml @@ -585,10 +585,6 @@ Até %1$s, imagens de pior qualidade Até %1$s, imagens de qualidade equilibrada Falha no Download - - Mensagem de %1$s - - Descarregamento máximo disponível até %1$s Selecione a imagem do perfil Selecione sua nova imagem do perfil Excluir imagem do perfil diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml index 32449b310..4de5a0de9 100644 --- a/src/main/res/values-ru/strings.xml +++ b/src/main/res/values-ru/strings.xml @@ -600,13 +600,13 @@ Это позволяет создать QR-код, который можно отсканировать на втором устройстве, чтобы скопировать профиль.\n\nУбедитесь, что посторонние лица или камеры не могут видеть следующий экран. Установите Delta Chat на другом устройстве (https://get.delta.chat) - Запустите Delta Chat, выберите \"У меня уже есть профиль / Добавить как второе устройство\" и отсканируйте код, показанный здесь + Запустите Delta Chat, нажмите \"У меня уже есть профиль / Добавить как второе устройство\" и отсканируйте показанный здесь код Отсканируйте, чтобы настроить второе устройство для %1$s Добавить как второе устройство - На первом устройстве запустите Delta Chat, откройте \"Настройки / Добавить второе устройство\" и отсканируйте показанный там код + На первом устройстве запустите Delta Chat, перейдите в \"Настройки / Добавить второе устройство\" и отсканируйте показанный там код Скопировать профиль с другого устройства на это устройство? - Профиль, который вы хотите импортировать, создан в более новой версии Delta Chat. Чтобы продолжить настройку второго устройства, пожалуйста, обновите это устройство до последней версии Delta Chat. + Профиль, который вы хотите импортировать, создан в более новой версии Delta Chat.\n\nЧтобы продолжить настройку второго устройства, пожалуйста, обновите это устройство до последней версии Delta Chat. Прервать настройку второго устройства? Это сделает недействительным QR-код, скопированный в буфер обмена. ℹ️ Профиль перенесен на ваше второе устройство. @@ -668,7 +668,7 @@ Безопасный децентрализованный чат Сканировать код приглашения Войти - Эта авторизация предназначена для опытных пользователей:\n\n• Не используйте адрес, который вы уже используете в другом приложении.\n\n• Обычный почтовый сервер позволяет вести чаты без сквозного шифрования, что отмечено значком почты. + Этот способ входа предназначен для опытных пользователей:\n\n• Не используйте адрес, который вы уже используете в другом приложении.\n\n• Обычный почтовый сервер позволяет вести чаты без сквозного шифрования, (такие чаты помечаются значком конверта). Входящие Имя пользователя IMAP Сервер IMAP @@ -704,7 +704,7 @@ Скрыть из контактов Скрыт из контактов - Сообщения поступают на все релеи.\n\n⚠️ Если вы что-либо измените здесь, убедитесь, что все ваши устройства работают как минимум на версии 2.47.0. В противном случае старые устройства могут пропускать сообщения. + Сообщения поступают на все релеи.\n\n⚠️ Если вы измените какие-либо настройки в этом разделе, убедитесь, что на всех ваших устройствах установлена версия Delta Chat не ниже 2.47.0. В противном случае старые версии могут не получать сообщения. Добавить этот релей? Отсканированный QR-код не содержит корректный релей. @@ -746,7 +746,7 @@ Отправить %1$d файла(ов) в \"%2$s\"? Отправить %1$d файл(ов) в %2$d чата(ов)? - (Отправка нескольких видео приведет к их отправке в исходном виде, что может потребовать значительного объема данных. Чтобы уменьшить размер файлов и сэкономить трафик, отправляйте каждое видео в отдельном сообщении.) + (Отправка нескольких видео приведет к их отправке в исходном виде, что может потребовать значительного объема данных. Чтобы уменьшить размер файлов и сэкономить трафик, отправляйте каждое видео в отдельном сообщении) Отправить текст в %1$d чата(ов)?\n\n\"%2$s\" Общий доступ прерван из-за отсутствия необходимых разрешений. @@ -764,7 +764,7 @@ Отправка по Enter Нажатие клавиши Enter отправит текстовые сообщения Качество отправляемых медиафайлов - Чтобы отправить файлы в оригинальном качестве, прикрепляйте их как \"Файл\". Это потребует больше трафика для вас и ваших получателей. + Чтобы отправить файлы в исходном качестве, прикрепляйте их как \"Файл\". Это потребует больше трафика для вас и ваших получателей. Сбалансированное Низкое качество, малый размер Вибрация @@ -813,7 +813,7 @@ Другое Резервное копирование Резервное копирование чатов на внешний носитель - Резервная копия поможет вам восстановить данные на этом или на другом устройстве.\n\nРезервная копия содержит все сообщения, контакты и чаты, а также параметры сквозного шифрования Autocrypt. Храните файл резервной копии в безопасном месте или удалите его как можно скорее. + Резервная копия поможет вам восстановить данные на этом или на другом устройстве.\n\nРезервная копия содержит все сообщения, контакты и чаты, а также параметры сквозного шифрования Autocrypt. Храните файл резервной копии в безопасном месте или удалите его при первой возможности. Экспортировать профиль Экспорт всех %1$d профилей @@ -826,8 +826,8 @@ Если вы измените этот параметр, убедитесь, что ваш сервер и другие клиенты настроены соответствующим образом.\n\nВ противном случае, всё может перестать работать. Режим нескольких устройств - Синхронизируйте свои сообщения с другими устройствами. Автоматически включается при добавлении второго устройства - Режим нескольких устройств должен быть включен при использовании одного и того же профиля на нескольких устройствах. Отключайте эту настройку, только если вы удалили этот профиль со всех остальных устройств.\n\nОтключение режима нескольких устройств при использовании профиля на нескольких устройствах приведет к пропуску сообщений и другим проблемам. + Синхронизируйте свои сообщения с другими устройствами. Функция включается автоматически при добавлении второго устройства + Режим нескольких устройств должен быть включен, если вы используете один и тот же профиль на нескольких устройствах. Отключайте эту настройку, только если вы удалили этот профиль со всех остальных устройств.\n\nОтключение режима нескольких устройств при использовании профиля на нескольких устройствах приведет к потере сообщений и возникновению других проблем. Автоперемещение в папку DeltaChat Загружать только из папки DeltaChat Показывать обычную почту @@ -848,10 +848,6 @@ До %1$s, изображения плохого качества До %1$s, изображения среднего качества Загрузка не удалась - - %1$s сообщение - - Максимальная загрузка доступна до %1$s Выбрать изображение профиля Выбрать новое изображение профиля Удалить изображение профиля @@ -860,7 +856,7 @@ Отправить статистику разработчикам Delta Chat Хотите помочь улучшить Delta Chat и поддержать исследования, отправляя еженедельную анонимную статистику использования?\n\n👉 Нажмите здесь...👈 Хотите помочь улучшить Delta Chat и поддержать исследования, отправляя еженедельную анонимную статистику использования? - Спасибо! Вы всегда можете отключить отправку в разделе \"Настройки -> Дополнительно\"\n\nУ вас есть 5 минут, чтобы принять участие в научном исследовании по безопасности Delta Chat? + Спасибо! Вы всегда можете отключить отправку в разделе \"Настройки -> Дополнительно\"\n\nУ вас есть 5 минут, чтобы принять участие в исследовании безопасности Delta Chat? Отправка статистики уже включена.\n\nВы хотите отключить её? Отключить Продолжить отправку @@ -893,7 +889,7 @@ Удалять сообщения с устройства Удалять сообщения с сервера - Вы хотите удалить %1$d сообщений сейчас и все новые сообщения \"%2$s\" в дальнейшем?\n\n• Это относится ко всем медиафайлам\n\n• Сообщения будут удалены, независимо от того, были ли они просмотрены или нет.\n\n• \"Сохранённые сообщения\" будут пропущены при локальном удалении + Вы хотите удалить %1$d сообщений сейчас и все новые сообщения \"%2$s\" в дальнейшем?\n\n• Это действие затронет все медиафайлы\n\n• Сообщения будут удалены, независимо от того, были ли они прочитаны или нет.\n\n• \"Сохранённые сообщения\" не будут удалены с устройства Вы хотите удалить %1$d сообщений сейчас и все новые сообщения \"%2$s\" в дальнейшем?\n\n⚠️ Это относится ко всем электронным письмам, медиафайлам и \"Сохранённым сообщениям\" во всех папках на сервере.\n\n⚠️ Не используйте эту функцию, если хотите сохранить данные на сервере или если вы используете обычные клиенты электронной почты @@ -1015,9 +1011,9 @@ Текст из QR-кода:\n\n%1$s URL из QR-кода:\n\n%1$s Отпечаток - Этот QR-код можно отсканировать, чтобы связаться с вами.\n\nВы можете сбросить его и тогда существующий QR-код или ссылка-приглашение перестанут работать - Этот QR-код можно отсканировать, чтобы присоединиться к группе \"%1$s\".\n\nВы можете сбросить его и тогда существующий QR-код или ссылка-приглашение перестанут работать - Этот QR-код могут сканировать другие пользователи для присоединения к каналу \"%1$s\".\n\nВы можете сбросить его, чтобы существующий QR-код или пригласительная ссылка перестали работать. + Этот QR-код можно отсканировать, чтобы связаться с вами.\n\nВы можете сбросить его и тогда существующий QR-код или ссылка-приглашение перестанут работать. + Этот QR-код можно отсканировать, чтобы присоединиться к группе \"%1$s\".\n\nВы можете сбросить его и тогда существующий QR-код или ссылка-приглашение перестанут работать. + Этот QR-код можно отсканировать, чтобы присоединиться к каналу \"%1$s\".\n\nВы можете сбросить его и тогда существующий QR-код или ссылка-приглашение перестанут работать. Сбросить QR-код Этот QR-код был сброшен и больше не работает. Активировать QR-код @@ -1034,7 +1030,7 @@ Отсканируйте, чтобы начать чат с %1$s Нет соединения с интернетом, невозможно выполнить настройку QR-кода. Создать новый профиль на \"%1$s\" и авторизоваться? - Укажите имя, которое будут видеть ваши контакты. Также можно установить изображение профиля. + Укажите имя, которое будут видеть ваши контакты. Вы также можете установить изображение профиля. Введите имя. Отсканированный QR-код не может быть использован для создания нового профиля. @@ -1076,12 +1072,12 @@ Требуется разрешение Продолжить - Чтобы делать фотографии, снимать видео, откройте настройки приложения, выберите \"Разрешения\" и включите \"Камера\". + Чтобы делать фотографии, снимать видео, откройте настройки приложения, выберите \"Разрешения\" и включите доступ к \"Камере\". - Чтобы отправлять аудиосообщения, откройте настройки приложения, выберите \"Разрешения\" или \"Конфиденциальность и безопасность\" и включите \"Микрофон\". - Чтобы получать или отправлять файлы, откройте настройки приложения, выберите \"Разрешения\" и включите \"Хранилище\". - Чтобы прикрепить местоположение, откройте настройки приложения, выберите \"Разрешения\" и включите \"Местоположение\". - Для получения уведомлений, перейдите в \"Настройки системы / Приложения / Delta Chat\" и включите \"Уведомления\". + Чтобы отправлять аудиосообщения, откройте настройки приложения, выберите \"Разрешения\" или \"Конфиденциальность и безопасность\" и включите доступ к \"Микрофону\". + Чтобы получать или отправлять файлы, откройте настройки приложения, выберите \"Разрешения\" и включите доступ к \"Хранилищу\". + Чтобы прикрепить местоположение, откройте настройки приложения, выберите \"Разрешения\" и включите доступ к \"Местоположению\". + Для получения уведомлений, перейдите в \"Настройки системы / Приложения / Delta Chat\" и включите доступ к \"Уведомлениям\". Нарисуйте где угодно, чтобы размыть @@ -1166,11 +1162,11 @@ Профиль не настроен. Аудиофайл не может быть воспроизведён. - Чтобы делать фотографии, снимать видео и использовать сканер QR-кодов, откройте системные настройки и включите \"Камера\". + Чтобы делать фотографии, снимать видео и использовать сканер QR-кодов, откройте системные настройки и включите доступ к \"Камере\". Открыть настройки Импорт контактов устройства - Чтобы переписываться с контактами из вашей адресной книги, откройте \"Настройки\" и включите \"Контакты\". + Чтобы переписываться с контактами из вашей адресной книги, откройте \"Настройки\" и включите доступ к \"Контактам\". Отключено в Delta Chat. Отключено в системных настройках @@ -1212,5 +1208,5 @@ Вы уже разрешили Delta Chat получать сообщения в фоновом режиме.\n\nЕсли сообщения все равно не приходят в фоновом режиме, также проверьте настройки вашей системы. - Что нового?\n\n💯 Сквозное шифрование стало постоянной и надёжной функцией. 🔒 Замков больше нет!\n\n✉️ Обычные письма без сквозного шифрования помечены значком конверта\n\n😻 Обновлённый экран профиля для всех контактов\n\n🔲 Новая кнопка быстрого доступа к приложениям, используемым в чате\n\n❤️ Поддержите нас финансово, чтобы мы сохранили независимость и продолжали вносить улучшения: %1$s + Что нового?\n\n💯 Сквозное шифрование стало постоянной и надёжной функцией. Значки замков 🔒 убраны!\n\n✉️ Обычные письма без сквозного шифрования помечены значком конверта\n\n😻 Обновлённый экран профиля для всех контактов\n\n🔲 Новая кнопка быстрого доступа к приложениям, используемым в чате\n\n❤️ Пожалуйста, сделайте пожертвование, чтобы помочь нам сохранить независимость и продолжать работу над улучшениями: %1$s diff --git a/src/main/res/values-sk/strings.xml b/src/main/res/values-sk/strings.xml index 42a59fd88..c031aed04 100644 --- a/src/main/res/values-sk/strings.xml +++ b/src/main/res/values-sk/strings.xml @@ -705,10 +705,6 @@ Až do %1$s, väčšina obrázkov v horšej kvalite Až do %1$s, väčšina obrázkov vo vyváženej kvalite Sťahovanie zlyhalo - - %1$s správa - - Maximálny počet stiahnutí k dispozícii do %1$s Vyberte profilový obrázok Vyberte svoj nový profilový obrázok Odstrániť profilový obrázok diff --git a/src/main/res/values-sq/strings.xml b/src/main/res/values-sq/strings.xml index efd10caeb..bebda7c9d 100644 --- a/src/main/res/values-sq/strings.xml +++ b/src/main/res/values-sq/strings.xml @@ -809,10 +809,6 @@ Deri në %1$s, figura me cilësinë më të dobët Deri në %1$s, figurat me cilësinë më të baraspeshuar Shkarkimi dështoi - - Mesazh %1$s - - Shkarko maksimumin e mundshëm deri më %1$s Përzgjidhni Figurë Profili Përzgjidhni figurën tuaj të re të profilit Fshini Figurën e Profilit diff --git a/src/main/res/values-sr/strings.xml b/src/main/res/values-sr/strings.xml index 09a49df34..7ed5a0129 100644 --- a/src/main/res/values-sr/strings.xml +++ b/src/main/res/values-sr/strings.xml @@ -582,10 +582,6 @@ Повећано на %1$s, најлошији квалитет слика Повећано на %1$s, уравнотежен квалитет слика Преузимање није успело - - %1$s поруке - - Преузмите максимално доступно до %1$s Изабери слику за профил Изаберите нову слику за ваш профил Избриши слику профила diff --git a/src/main/res/values-sv/strings.xml b/src/main/res/values-sv/strings.xml index 7ae2b8a17..948e905b4 100644 --- a/src/main/res/values-sv/strings.xml +++ b/src/main/res/values-sv/strings.xml @@ -796,10 +796,6 @@ Upp till %1$s, sämst bildkvalitet Upp till %1$s, balanserad bildkvalitet Nerladdning misslyckades - - %1$s meddelande - - Ladda ner max tillgängligt till %1$s Välj profilbild Välj din nya profilbild Ta bort profilbild diff --git a/src/main/res/values-tr/strings.xml b/src/main/res/values-tr/strings.xml index f3211b815..bbad29126 100644 --- a/src/main/res/values-tr/strings.xml +++ b/src/main/res/values-tr/strings.xml @@ -814,10 +814,6 @@ %1$s kadar, en kötü kaliteli görseller %1$s kadar, en dengeli kaliteli görseller İndirme başarısız - - %1$s ileti - - İndirme en fazla %1$s zamanına kadar kullanılabilir Profil Görseli Seç Yeni profil görselinizi seçin Profil Görselini Sil diff --git a/src/main/res/values-uk/strings.xml b/src/main/res/values-uk/strings.xml index 55930c57c..656fc2c24 100644 --- a/src/main/res/values-uk/strings.xml +++ b/src/main/res/values-uk/strings.xml @@ -801,10 +801,6 @@ До %1$s, зображення найгіршої якості До %1$s, найбільш збалансована якість зображень Не вдалося завантажити - - Повідомлення розміром %1$s\' - - Доступний для завантаження максимум до %1$s Вибрати зображення профілю Вибрати ваше нове зображення профілю Видалити зображення профілю diff --git a/src/main/res/values-vi/strings.xml b/src/main/res/values-vi/strings.xml index 03e23a654..14632a016 100644 --- a/src/main/res/values-vi/strings.xml +++ b/src/main/res/values-vi/strings.xml @@ -573,10 +573,6 @@ Lên đến %1$s, hầu hết các hình ảnh có chất lượng kém hơn Lên đến %1$s, hình ảnh có chất lượng cân bằng nhất Tải xuống không thành công - - %1$s tin nhắn - - Tải xuống tối đa có sẵn cho đến %1$s Chọn ảnh hồ sơ Chọn hình ảnh hồ sơ mới của bạn Xóa ảnh hồ sơ diff --git a/src/main/res/values-zh-rCN/strings.xml b/src/main/res/values-zh-rCN/strings.xml index 88d3c7266..ab7730081 100644 --- a/src/main/res/values-zh-rCN/strings.xml +++ b/src/main/res/values-zh-rCN/strings.xml @@ -652,6 +652,8 @@ 用于发送 对联系人隐藏 已对联系人隐藏 + + 在所有中继上均已收到消息。\n\n⚠️ 如果您在此处进行任何更改,请确保所有设备至少运行 2.47.0 版本。否则,较旧的设备可能会错过消息。 添加此中继? 扫描的二维码不包含有效的中继。 @@ -795,10 +797,6 @@ %1$s 以下,最差的图像质量 %1$s 以下,均衡的图像质量 下载失败 - - %1$s 消息 - - 下载最晚于 %1$s 前可用 选择个人资料图片 选择新的个人资料图片 删除个人资料图片 diff --git a/src/main/res/values-zh-rTW/strings.xml b/src/main/res/values-zh-rTW/strings.xml index 8513fc107..cb095fada 100644 --- a/src/main/res/values-zh-rTW/strings.xml +++ b/src/main/res/values-zh-rTW/strings.xml @@ -791,10 +791,6 @@ %1$s以下,最差品質的圖像 %1$s以下,品質平衡的圖像 下載失敗 - - %1$s 訊息 - - 下載有效期至%1$s 選擇大頭貼 選擇新的大頭貼 刪除大頭貼 diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index ab9087853..61bebeb4f 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -178,7 +178,9 @@ Sticker Add to Sticker Collection + To add stickers, tap "Open Sticker Folder", create a subfolder for your sticker pack, and drag image and sticker files there + Open Sticker Folder Add this sticker to your collection? Delete this sticker? @@ -420,6 +422,7 @@ Missed call Already in a call Call answered on another device + Microphone permission is required for calls diff --git a/src/main/res/xml/file_provider_paths.xml b/src/main/res/xml/file_provider_paths.xml index 756ab2df7..24364ad9b 100644 --- a/src/main/res/xml/file_provider_paths.xml +++ b/src/main/res/xml/file_provider_paths.xml @@ -1,5 +1,9 @@ + + diff --git a/src/main/res/xml/preferences_advanced.xml b/src/main/res/xml/preferences_advanced.xml index 3d78bce6a..a3fc3d617 100644 --- a/src/main/res/xml/preferences_advanced.xml +++ b/src/main/res/xml/preferences_advanced.xml @@ -30,11 +30,6 @@ android:summary="@string/pref_experimental_features_explain" android:selectable="false" /> - -