mirror of
https://github.com/snikket-im/snikket-android.git
synced 2025-10-26 11:19:41 +00:00
Merge with Conversations @ 2.12.2
This commit is contained in:
commit
9d3eb1c19c
21
.tx/config
21
.tx/config
@ -1,21 +0,0 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
lang_map = af_ZA: af-rZA, am_ET: am-rET, ar_AE: ar-rAE, ar_BH: ar-rBH, ar_DZ: ar-rDZ, ar_EG: ar-rEG, ar_IQ: ar-rIQ, ar_JO: ar-rJO, ar_KW: ar-rKW, ar_LB: ar-rLB, ar_LY: ar-rLY, ar_MA: ar-rMA, ar_OM: ar-rOM, ar_QA: ar-rQA, ar_SA: ar-rSA, ar_SY: ar-rSY, ar_TN: ar-rTN, ar_YE: ar-rYE, arn_CL: arn-rCL, as_IN: as-rIN, az_AZ: az-rAZ, ba_RU: ba-rRU, be_BY: be-rBY, bg_BG: bg-rBG, bn_BD: bn-rBD, bn_IN: bn-rIN, bo_CN: bo-rCN, br_FR: br-rFR, bs_BA: bs-rBA, ca_ES: ca-rES, co_FR: co-rFR, cs_CZ: cs-rCZ, cy_GB: cy-rGB, da_DK: da-rDK, de_AT: de-rAT, de_CH: de-rCH, de_DE: de-rDE, de_LI: de-rLI, de_LU: de-rLU, dsb_DE: dsb-rDE, dv_MV: dv-rMV, el_GR: el-rGR, en_AU: en-rAU, en_BZ: en-rBZ, en_CA: en-rCA, en_GB: en-rGB, en_IE: en-rIE, en_IN: en-rIN, en_JM: en-rJM, en_MY: en-rMY, en_NZ: en-rNZ, en_PH: en-rPH, en_SG: en-rSG, en_TT: en-rTT, en_US: en-rUS, en_ZA: en-rZA, en_ZW: en-rZW, es_AR: es-rAR, es_BO: es-rBO, es_CL: es-rCL, es_CO: es-rCO, es_CR: es-rCR, es_DO: es-rDO, es_EC: es-rEC, es_ES: es-rES, es_GT: es-rGT, es_HN: es-rHN, es_MX: es-rMX, es_NI: es-rNI, es_PA: es-rPA, es_PE: es-rPE, es_PR: es-rPR, es_PY: es-rPY, es_SV: es-rSV, es_US: es-rUS, es_UY: es-rUY, es_VE: es-rVE, et_EE: et-rEE, eu_ES: eu-rES, fa_IR: fa-rIR, fi_FI: fi-rFI, fil_PH: fil-rPH, fo_FO: fo-rFO, fr_BE: fr-rBE, fr_CA: fr-rCA, fr_CH: fr-rCH, fr_FR: fr-rFR, fr_LU: fr-rLU, fr_MC: fr-rMC, fy_NL: fy-rNL, ga_IE: ga-rIE, gd_GB: gd-rGB, gl_ES: gl-rES, gsw_FR: gsw-rFR, gu_IN: gu-rIN, ha_NG: ha-rNG, hi_IN: hi-rIN, hr_BA: hr-rBA, hr_HR: hr-rHR, hsb_DE: hsb-rDE, hu_HU: hu-rHU, hy_AM: hy-rAM, id_ID: id-rID, ig_NG: ig-rNG, ii_CN: ii-rCN, is_IS: is-rIS, it_CH: it-rCH, it_IT: it-rIT, iu_CA: iu-rCA, ja_JP: ja-rJP, ka_GE: ka-rGE, kk_KZ: kk-rKZ, kl_GL: kl-rGL, km_KH: km-rKH, kn_IN: kn-rIN, ko_KR: ko-rKR, kok_IN: kok-rIN, ky_KG: ky-rKG, lb_LU: lb-rLU, lo_LA: lo-rLA, lt_LT: lt-rLT, lv_LV: lv-rLV, mi_NZ: mi-rNZ, mk_MK: mk-rMK, ml_IN: ml-rIN, mn_CN: mn-rCN, mn_MN: mn-rMN, moh_CA: moh-rCA, mr_IN: mr-rIN, ms_BN: ms-rBN, ms_MY: ms-rMY, mt_MT: mt-rMT, nb_NO: nb-rNO, ne_NP: ne-rNP, nl_BE: nl-rBE, nl_NL: nl-rNL, nn_NO: nn-rNO, nso_ZA: nso-rZA, oc_FR: oc-rFR, or_IN: or-rIN, pa_IN: pa-rIN, pl_PL: pl-rPL, prs_AF: prs-rAF, ps_AF: ps-rAF, pt_BR: pt-rBR, pt_PT: pt-rPT, qut_GT: qut-rGT, quz_BO: quz-rBO, quz_EC: quz-rEC, quz_PE: quz-rPE, rm_CH: rm-rCH, ro_RO: ro-rRO, ru_RU: ru-rRU, rw_RW: rw-rRW, sa_IN: sa-rIN, sah_RU: sah-rRU, se_FI: se-rFI, se_NO: se-rNO, se_SE: se-rSE, si_LK: si-rLK, sk_SK: sk-rSK, sl_SI: sl-rSI, sma_NO: sma-rNO, sma_SE: sma-rSE, smj_NO: smj-rNO, smj_SE: smj-rSE, smn_FI: smn-rFI, sms_FI: sms-rFI, sq_AL: sq-rAL, sr_BA: sr-rBA, sr_CS: sr-rCS, sr_ME: sr-rME, sr_RS: sr-rRS, sv_FI: sv-rFI, sv_SE: sv-rSE, sw_KE: sw-rKE, syr_SY: syr-rSY, ta_IN: ta-rIN, te_IN: te-rIN, tg_TJ: tg-rTJ, th_TH: th-rTH, tk_TM: tk-rTM, tn_ZA: tn-rZA, tr_TR: tr-rTR, tt_RU: tt-rRU, tzm_DZ: tzm-rDZ, ug_CN: ug-rCN, uk_UA: uk-rUA, ur_PK: ur-rPK, uz_UZ: uz-rUZ, vi_VN: vi-rVN, wo_SN: wo-rSN, xh_ZA: xh-rZA, yo_NG: yo-rNG, zh_CN: zh-rCN, zh_HK: zh-rHK, zh_MO: zh-rMO, zh_SG: zh-rSG, zh_TW: zh-rTW, zu_ZA: zu-rZA, no_NO: no-rNO, he_IL: iw-rIL, he: iw
|
||||
|
||||
[conversations.main-strings]
|
||||
file_filter = src/main/res/values-<lang>/strings.xml
|
||||
source_file = src/main/res/values/strings.xml
|
||||
source_lang = en
|
||||
|
||||
[conversations.quicksy-strings]
|
||||
file_filter = src/quicksy/res/values-<lang>/strings.xml
|
||||
source_file = src/quicksy/res/values/strings.xml
|
||||
source_lang = en
|
||||
type = ANDROID
|
||||
|
||||
[conversations.conversations-strings]
|
||||
file_filter = src/conversations/res/values-<lang>/strings.xml
|
||||
source_file = src/conversations/res/values/strings.xml
|
||||
source_lang = en
|
||||
type = ANDROID
|
||||
|
||||
80
CHANGELOG.md
80
CHANGELOG.md
@ -1,5 +1,85 @@
|
||||
# Changelog
|
||||
|
||||
### Version 2.12.2
|
||||
|
||||
* Increase corner radius on profile pictures
|
||||
|
||||
### Version 2.12.1
|
||||
|
||||
* Fix crash in UnifiedPush Distributor
|
||||
|
||||
### Version 2.12.0
|
||||
|
||||
* Integrate UnifiedPush Distributor to facilitate push messages to other UnifiedPush enabled apps like Tusky and Fedilab
|
||||
|
||||
### Version 2.11.3
|
||||
|
||||
* Fix messages getting resend when using SASL2
|
||||
* Fix black video between some devices
|
||||
* Fix crash on empty passwords
|
||||
|
||||
### Version 2.11.2
|
||||
|
||||
* Fixed regression in P2P file transfer
|
||||
|
||||
### Version 2.11.1
|
||||
|
||||
* Fix resend loop on servers that support only sm:2
|
||||
* Show 'Switch to video' only if other party supports video
|
||||
|
||||
### Version 2.11.0
|
||||
|
||||
* Implement Extensible SASL Profile, Bind 2.0 and Fast for faster reconnects
|
||||
* Implement Channel Binding
|
||||
* Add ability to switch from audio call to video call
|
||||
* Add ability to delete own avatar
|
||||
* Add notification for missed calls
|
||||
|
||||
### Version 2.10.10
|
||||
|
||||
* Minor bug fixes
|
||||
* Restore ability to call out via JMP and other services (Playstore version)
|
||||
|
||||
### Version 2.10.9
|
||||
|
||||
* Ask for Bluetooth permissions when making A/V calls (You can reject this if you don’t use Bluetooth headsets)
|
||||
* Fix bug when calling Movim
|
||||
|
||||
### Version 2.10.8
|
||||
|
||||
* Fix wrong avatar being shown for group chats
|
||||
|
||||
### Version 2.10.7
|
||||
|
||||
* always ask for battery optimizations opt-out
|
||||
* set local only flag on 'x connected accounts' notifications
|
||||
* Minor bug fixes
|
||||
|
||||
### Version 2.10.6
|
||||
|
||||
* Minor bug fixes
|
||||
|
||||
### Version 2.10.5
|
||||
|
||||
* Security: Stop downloading files that exceed advertised file size
|
||||
* Security: Limit POSH files to 10K
|
||||
|
||||
### Version 2.10.4
|
||||
|
||||
* Fix interaction with Google Maps Share Location Plugin
|
||||
* Remove footnote with regards to server fee
|
||||
|
||||
### Version 2.10.3
|
||||
|
||||
* Store files in location appropriate for Android 11
|
||||
* Attempt to reconnect call after network switch
|
||||
* Show caller JID and account JID in incoming call screen
|
||||
|
||||
### Version 2.10.2
|
||||
|
||||
* Fix crash when rendering some quotes
|
||||
* Fix crash in welcome screen
|
||||
|
||||
### Version 2.10.1
|
||||
|
||||
* Fix issue with some videos not being compressed
|
||||
|
||||
@ -6,9 +6,9 @@ This is the source code for the Snikket Android client.
|
||||
|
||||
Snikket for Android is based on [Conversations](https://conversations.im/) by Daniel Gultsch.
|
||||
|
||||
The official Conversations repository is available at: https://github.com/iNPUTmice/Conversations
|
||||
The official Conversations repository is available at: https://codeberg.org/iNPUTmice/Conversations
|
||||
|
||||
Copyright (c) 2014-2021 Daniel Gultsch and Snikket Community Interest Company.
|
||||
Copyright (c) 2014-2023 Daniel Gultsch and Snikket Community Interest Company.
|
||||
|
||||
Snikket and the Snikket logo are trademarks of Snikket Community Interest Company.
|
||||
|
||||
|
||||
266
art/render.rb
266
art/render.rb
@ -1,167 +1,157 @@
|
||||
#!/bin/env ruby
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'xml'
|
||||
|
||||
resolutions = {
|
||||
'mdpi' => 1,
|
||||
'hdpi' => 1.5,
|
||||
'xhdpi' => 2,
|
||||
'xxhdpi' => 3,
|
||||
'xxxhdpi' => 4,
|
||||
}
|
||||
'mdpi' => 1,
|
||||
'hdpi' => 1.5,
|
||||
'xhdpi' => 2,
|
||||
'xxhdpi' => 3,
|
||||
'xxxhdpi' => 4
|
||||
}
|
||||
|
||||
images = {
|
||||
'main_logo.svg' => ['conversations/main_logo', 200],
|
||||
'quicksy_main_logo.svg' => ['quicksy/main_logo', 200],
|
||||
'splash_logo.svg' => ['conversations/splash_logo', 144],
|
||||
'quicksy_splash_logo.svg' => ['quicksy/splash_logo', 144],
|
||||
'ic_search_black.svg' => ['ic_search_background_black', 144],
|
||||
'ic_search_white.svg' => ['ic_search_background_white', 144],
|
||||
'ic_no_results_white.svg' => ['ic_no_results_background_white', 144],
|
||||
'ic_no_results_black.svg' => ['ic_no_results_background_black', 144],
|
||||
'play_video_white.svg' => ['play_video_white', 128],
|
||||
'play_gif_white.svg' => ['play_gif_white', 128],
|
||||
'play_video_black.svg' => ['play_video_black', 128],
|
||||
'play_gif_black.svg' => ['play_gif_black', 128],
|
||||
'open_pdf_black.svg' => ['open_pdf_black', 128],
|
||||
'open_pdf_white.svg' => ['open_pdf_white', 128],
|
||||
'conversations_mono.svg' => ['conversations/ic_notification', 24],
|
||||
'quicksy_mono.svg' => ['quicksy/ic_notification', 24],
|
||||
'flip_camera_android-black-24dp.svg' => ['ic_flip_camera_android_black_24dp', 24],
|
||||
'ic_send_text_offline.svg' => ['ic_send_text_offline', 36],
|
||||
'ic_send_text_offline_white.svg' => ['ic_send_text_offline_white', 36],
|
||||
'ic_send_text_online.svg' => ['ic_send_text_online', 36],
|
||||
'ic_send_text_away.svg' => ['ic_send_text_away', 36],
|
||||
'ic_send_text_dnd.svg' => ['ic_send_text_dnd', 36],
|
||||
'ic_send_photo_online.svg' => ['ic_send_photo_online', 36],
|
||||
'ic_send_photo_offline.svg' => ['ic_send_photo_offline', 36],
|
||||
'ic_send_photo_offline_white.svg' => ['ic_send_photo_offline_white', 36],
|
||||
'ic_send_photo_away.svg' => ['ic_send_photo_away', 36],
|
||||
'ic_send_photo_dnd.svg' => ['ic_send_photo_dnd', 36],
|
||||
'ic_send_location_online.svg' => ['ic_send_location_online', 36],
|
||||
'ic_send_location_offline.svg' => ['ic_send_location_offline', 36],
|
||||
'ic_send_location_offline_white.svg' => ['ic_send_location_offline_white', 36],
|
||||
'ic_send_location_away.svg' => ['ic_send_location_away', 36],
|
||||
'ic_send_location_dnd.svg' => ['ic_send_location_dnd', 36],
|
||||
'ic_send_voice_online.svg' => ['ic_send_voice_online', 36],
|
||||
'ic_send_voice_offline.svg' => ['ic_send_voice_offline', 36],
|
||||
'ic_send_voice_offline_white.svg' => ['ic_send_voice_offline_white', 36],
|
||||
'ic_send_voice_away.svg' => ['ic_send_voice_away', 36],
|
||||
'ic_send_voice_dnd.svg' => ['ic_send_voice_dnd', 36],
|
||||
'ic_send_cancel_online.svg' => ['ic_send_cancel_online', 36],
|
||||
'ic_send_cancel_offline.svg' => ['ic_send_cancel_offline', 36],
|
||||
'ic_send_cancel_offline_white.svg' => ['ic_send_cancel_offline_white', 36],
|
||||
'ic_send_cancel_away.svg' => ['ic_send_cancel_away', 36],
|
||||
'ic_send_cancel_dnd.svg' => ['ic_send_cancel_dnd', 36],
|
||||
'ic_send_picture_online.svg' => ['ic_send_picture_online', 36],
|
||||
'ic_send_picture_offline.svg' => ['ic_send_picture_offline', 36],
|
||||
'ic_send_picture_offline_white.svg' => ['ic_send_picture_offline_white', 36],
|
||||
'ic_send_picture_away.svg' => ['ic_send_picture_away', 36],
|
||||
'ic_send_picture_dnd.svg' => ['ic_send_picture_dnd', 36],
|
||||
'ic_send_videocam_online.svg' => ['ic_send_videocam_online', 36],
|
||||
'ic_send_videocam_offline.svg' => ['ic_send_videocam_offline', 36],
|
||||
'ic_send_videocam_offline_white.svg' => ['ic_send_videocam_offline_white', 36],
|
||||
'ic_send_videocam_away.svg' => ['ic_send_videocam_away', 36],
|
||||
'ic_send_videocam_dnd.svg' => ['ic_send_videocam_dnd', 36],
|
||||
'ic_notifications_none_white80.svg' => ['ic_notifications_none_white80', 24],
|
||||
'ic_notifications_off_white80.svg' => ['ic_notifications_off_white80', 24],
|
||||
'ic_notifications_paused_white80.svg' => ['ic_notifications_paused_white80', 24],
|
||||
'ic_notifications_white80.svg' => ['ic_notifications_white80', 24],
|
||||
'ic_verified_fingerprint.svg' => ['ic_verified_fingerprint', 36],
|
||||
'qrcode-scan.svg' => ['ic_qr_code_scan_white_24dp', 24],
|
||||
'message_bubble_received.svg' => ['message_bubble_received.9', 0],
|
||||
'message_bubble_received_grey.svg' => ['message_bubble_received_grey.9', 0],
|
||||
'message_bubble_received_dark.svg' => ['message_bubble_received_dark.9', 0],
|
||||
'message_bubble_received_warning.svg' => ['message_bubble_received_warning.9', 0],
|
||||
'message_bubble_received_white.svg' => ['message_bubble_received_white.9', 0],
|
||||
'message_bubble_sent.svg' => ['message_bubble_sent.9', 0],
|
||||
'message_bubble_sent_grey.svg' => ['message_bubble_sent_grey.9', 0],
|
||||
'date_bubble_white.svg' => ['date_bubble_white.9', 0],
|
||||
'date_bubble_grey.svg' => ['date_bubble_grey.9', 0],
|
||||
'marker.svg' => ['marker', 0]
|
||||
}
|
||||
'main_logo.svg' => ['conversations/main_logo', 200],
|
||||
'quicksy_main_logo.svg' => ['quicksy/main_logo', 200],
|
||||
'splash_logo.svg' => ['conversations/splash_logo', 144],
|
||||
'quicksy_splash_logo.svg' => ['quicksy/splash_logo', 144],
|
||||
'ic_search_black.svg' => ['ic_search_background_black', 144],
|
||||
'ic_search_white.svg' => ['ic_search_background_white', 144],
|
||||
'ic_no_results_white.svg' => ['ic_no_results_background_white', 144],
|
||||
'ic_no_results_black.svg' => ['ic_no_results_background_black', 144],
|
||||
'play_video_white.svg' => ['play_video_white', 128],
|
||||
'play_gif_white.svg' => ['play_gif_white', 128],
|
||||
'play_video_black.svg' => ['play_video_black', 128],
|
||||
'play_gif_black.svg' => ['play_gif_black', 128],
|
||||
'open_pdf_black.svg' => ['open_pdf_black', 128],
|
||||
'open_pdf_white.svg' => ['open_pdf_white', 128],
|
||||
'conversations_mono.svg' => ['conversations/ic_notification', 24],
|
||||
'quicksy_mono.svg' => ['quicksy/ic_notification', 24],
|
||||
'flip_camera_android-black-24dp.svg' => ['ic_flip_camera_android_black_24dp', 24],
|
||||
'ic_send_text_offline.svg' => ['ic_send_text_offline', 36],
|
||||
'ic_send_text_offline_white.svg' => ['ic_send_text_offline_white', 36],
|
||||
'ic_send_text_online.svg' => ['ic_send_text_online', 36],
|
||||
'ic_send_text_away.svg' => ['ic_send_text_away', 36],
|
||||
'ic_send_text_dnd.svg' => ['ic_send_text_dnd', 36],
|
||||
'ic_send_photo_online.svg' => ['ic_send_photo_online', 36],
|
||||
'ic_send_photo_offline.svg' => ['ic_send_photo_offline', 36],
|
||||
'ic_send_photo_offline_white.svg' => ['ic_send_photo_offline_white', 36],
|
||||
'ic_send_photo_away.svg' => ['ic_send_photo_away', 36],
|
||||
'ic_send_photo_dnd.svg' => ['ic_send_photo_dnd', 36],
|
||||
'ic_send_location_online.svg' => ['ic_send_location_online', 36],
|
||||
'ic_send_location_offline.svg' => ['ic_send_location_offline', 36],
|
||||
'ic_send_location_offline_white.svg' => ['ic_send_location_offline_white', 36],
|
||||
'ic_send_location_away.svg' => ['ic_send_location_away', 36],
|
||||
'ic_send_location_dnd.svg' => ['ic_send_location_dnd', 36],
|
||||
'ic_send_voice_online.svg' => ['ic_send_voice_online', 36],
|
||||
'ic_send_voice_offline.svg' => ['ic_send_voice_offline', 36],
|
||||
'ic_send_voice_offline_white.svg' => ['ic_send_voice_offline_white', 36],
|
||||
'ic_send_voice_away.svg' => ['ic_send_voice_away', 36],
|
||||
'ic_send_voice_dnd.svg' => ['ic_send_voice_dnd', 36],
|
||||
'ic_send_cancel_online.svg' => ['ic_send_cancel_online', 36],
|
||||
'ic_send_cancel_offline.svg' => ['ic_send_cancel_offline', 36],
|
||||
'ic_send_cancel_offline_white.svg' => ['ic_send_cancel_offline_white', 36],
|
||||
'ic_send_cancel_away.svg' => ['ic_send_cancel_away', 36],
|
||||
'ic_send_cancel_dnd.svg' => ['ic_send_cancel_dnd', 36],
|
||||
'ic_send_picture_online.svg' => ['ic_send_picture_online', 36],
|
||||
'ic_send_picture_offline.svg' => ['ic_send_picture_offline', 36],
|
||||
'ic_send_picture_offline_white.svg' => ['ic_send_picture_offline_white', 36],
|
||||
'ic_send_picture_away.svg' => ['ic_send_picture_away', 36],
|
||||
'ic_send_picture_dnd.svg' => ['ic_send_picture_dnd', 36],
|
||||
'ic_send_videocam_online.svg' => ['ic_send_videocam_online', 36],
|
||||
'ic_send_videocam_offline.svg' => ['ic_send_videocam_offline', 36],
|
||||
'ic_send_videocam_offline_white.svg' => ['ic_send_videocam_offline_white', 36],
|
||||
'ic_send_videocam_away.svg' => ['ic_send_videocam_away', 36],
|
||||
'ic_send_videocam_dnd.svg' => ['ic_send_videocam_dnd', 36],
|
||||
'ic_notifications_none_white80.svg' => ['ic_notifications_none_white80', 24],
|
||||
'ic_notifications_off_white80.svg' => ['ic_notifications_off_white80', 24],
|
||||
'ic_notifications_paused_white80.svg' => ['ic_notifications_paused_white80', 24],
|
||||
'ic_notifications_white80.svg' => ['ic_notifications_white80', 24],
|
||||
'ic_verified_fingerprint.svg' => ['ic_verified_fingerprint', 36],
|
||||
'qrcode-scan.svg' => ['ic_qr_code_scan_white_24dp', 24],
|
||||
'message_bubble_received.svg' => ['message_bubble_received.9', 0],
|
||||
'message_bubble_received_grey.svg' => ['message_bubble_received_grey.9', 0],
|
||||
'message_bubble_received_dark.svg' => ['message_bubble_received_dark.9', 0],
|
||||
'message_bubble_received_warning.svg' => ['message_bubble_received_warning.9', 0],
|
||||
'message_bubble_received_white.svg' => ['message_bubble_received_white.9', 0],
|
||||
'message_bubble_sent.svg' => ['message_bubble_sent.9', 0],
|
||||
'message_bubble_sent_grey.svg' => ['message_bubble_sent_grey.9', 0],
|
||||
'date_bubble_white.svg' => ['date_bubble_white.9', 0],
|
||||
'date_bubble_grey.svg' => ['date_bubble_grey.9', 0],
|
||||
'marker.svg' => ['marker', 0]
|
||||
}
|
||||
|
||||
# Executable paths for Mac OSX
|
||||
# "/Applications/Inkscape.app/Contents/Resources/bin/inkscape"
|
||||
|
||||
inkscape = "inkscape"
|
||||
imagemagick = "magick"
|
||||
inkscape = 'inkscape'
|
||||
imagemagick = 'convert'
|
||||
|
||||
def execute_cmd(cmd)
|
||||
puts cmd
|
||||
system cmd
|
||||
puts cmd
|
||||
system cmd
|
||||
end
|
||||
|
||||
images.each do |source_filename, settings|
|
||||
svg_content = File.read(source_filename)
|
||||
svg_content = File.read(source_filename)
|
||||
output_filename, base_size = settings
|
||||
|
||||
svg = XML::Document.string(svg_content)
|
||||
base_width = svg.root["width"].to_i
|
||||
base_height = svg.root["height"].to_i
|
||||
svg = XML::Document.string(svg_content)
|
||||
base_width = svg.root['width'].to_i
|
||||
base_height = svg.root['height'].to_i
|
||||
|
||||
guides = svg.find(".//sodipodi:guide","sodipodi:http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd")
|
||||
guides = svg.find('.//sodipodi:guide', 'sodipodi:http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd')
|
||||
|
||||
resolutions.each do |resolution, factor|
|
||||
output_filename, base_size = settings
|
||||
resolutions.each do |resolution, factor|
|
||||
if base_size.positive?
|
||||
width = factor * base_size
|
||||
height = factor * base_size
|
||||
else
|
||||
width = factor * base_width
|
||||
height = factor * base_height
|
||||
end
|
||||
|
||||
if base_size > 0
|
||||
width = factor * base_size
|
||||
height = factor * base_size
|
||||
else
|
||||
width = factor * base_width
|
||||
height = factor * base_height
|
||||
end
|
||||
output_parts = output_filename.split('/')
|
||||
|
||||
output_parts = output_filename.split('/')
|
||||
path = if output_parts.count != 2
|
||||
"../src/main/res/drawable-#{resolution}/#{output_filename}.png"
|
||||
else
|
||||
"../src/#{output_parts[0]}/res/drawable-#{resolution}/#{output_parts[1]}.png"
|
||||
end
|
||||
execute_cmd "#{inkscape} #{source_filename} -C -w #{width.to_i} -h #{height.to_i} --export-filename=#{path}"
|
||||
|
||||
if output_parts.count != 2
|
||||
path = "../src/main/res/drawable-#{resolution}/#{output_filename}.png"
|
||||
else
|
||||
path = "../src/#{output_parts[0]}/res/drawable-#{resolution}/#{output_parts[1]}.png"
|
||||
end
|
||||
execute_cmd "#{inkscape} #{source_filename} -C -w #{width} -h #{height} -o #{path}"
|
||||
top = []
|
||||
right = []
|
||||
bottom = []
|
||||
left = []
|
||||
|
||||
top = []
|
||||
right = []
|
||||
bottom = []
|
||||
left = []
|
||||
guides.each do |guide|
|
||||
orientation = guide['orientation']
|
||||
x, y = guide['position'].split(',')
|
||||
x = x.to_i
|
||||
y = y.to_i
|
||||
|
||||
guides.each do |guide|
|
||||
orientation = guide["orientation"]
|
||||
x, y = guide["position"].split(",")
|
||||
x, y = x.to_i, y.to_i
|
||||
top.push(x * factor) if (orientation == '1,0') && (y == base_height)
|
||||
|
||||
if orientation == "1,0" and y == base_height
|
||||
top.push(x * factor)
|
||||
end
|
||||
right.push((base_height - y) * factor) if (orientation == '0,1') && (x == base_width)
|
||||
|
||||
if orientation == "0,1" and x == base_width
|
||||
right.push((base_height - y) * factor)
|
||||
end
|
||||
bottom.push(x * factor) if (orientation == '1,0') && y.zero?
|
||||
|
||||
if orientation == "1,0" and y == 0
|
||||
bottom.push(x * factor)
|
||||
end
|
||||
left.push((base_height - y) * factor) if (orientation == '0,1') && x.zero?
|
||||
end
|
||||
|
||||
if orientation == "0,1" and x == 0
|
||||
left.push((base_height - y) * factor)
|
||||
end
|
||||
end
|
||||
next if top.length != 2
|
||||
next if right.length != 2
|
||||
next if bottom.length != 2
|
||||
next if left.length != 2
|
||||
|
||||
next if top.length != 2
|
||||
next if right.length != 2
|
||||
next if bottom.length != 2
|
||||
next if left.length != 2
|
||||
execute_cmd "#{imagemagick} -background none PNG32:#{path} -gravity center -extent #{width + 2}x#{height + 2} PNG32:#{path}"
|
||||
|
||||
execute_cmd "#{imagemagick} -background none PNG32:#{path} -gravity center -extent #{width+2}x#{height+2} PNG32:#{path}"
|
||||
draw_format = '-draw "line %d,%d %d,%d"'
|
||||
top_line = format(draw_format, top.min + 1, 0, top.max, 0)
|
||||
right_line = format(draw_format, width + 1, right.min + 1, width + 1, right.max)
|
||||
bottom_line = format(draw_format, bottom.min + 1, height + 1, bottom.max, height + 1)
|
||||
left_line = format(draw_format, 0, left.min + 1, 0, left.max)
|
||||
draws = "#{top_line} #{right_line} #{bottom_line} #{left_line}"
|
||||
|
||||
draw_format = "-draw \"line %d,%d %d,%d\""
|
||||
top_line = draw_format % [top.min + 1, 0, top.max, 0]
|
||||
right_line = draw_format % [width + 1, right.min + 1, width + 1, right.max]
|
||||
bottom_line = draw_format % [bottom.min + 1, height + 1, bottom.max, height + 1]
|
||||
left_line = draw_format % [0, left.min + 1, 0, left.max]
|
||||
draws = "#{top_line} #{right_line} #{bottom_line} #{left_line}"
|
||||
|
||||
execute_cmd "#{imagemagick} -background none PNG32:#{path} -fill black -stroke none #{draws} PNG32:#{path}"
|
||||
end
|
||||
execute_cmd "#{imagemagick} -background none PNG32:#{path} -fill black -stroke none #{draws} PNG32:#{path}"
|
||||
end
|
||||
end
|
||||
|
||||
139
build.gradle
139
build.gradle
@ -6,7 +6,7 @@ buildscript {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.0.3'
|
||||
classpath 'com.android.tools.build:gradle:7.4.0'
|
||||
}
|
||||
}
|
||||
|
||||
@ -20,39 +20,37 @@ repositories {
|
||||
|
||||
configurations {
|
||||
playstoreImplementation
|
||||
compatImplementation
|
||||
conversationsFreeCompatImplementation
|
||||
conversationsPlaystoreCompatImplementation
|
||||
conversationsPlaystoreSystemImplementation
|
||||
quicksyPlaystoreCompatImplementation
|
||||
quicksyPlaystoreSystemImplementation
|
||||
quicksyFreeCompatImplementation
|
||||
freeImplementation
|
||||
conversationsFreeImplementation
|
||||
conversationsPlaystorImplementation
|
||||
conversationsPlaystoreImplementation
|
||||
quicksyPlaystoreImplementation
|
||||
quicksyPlaystoreImplementation
|
||||
quicksyFreeImplementation
|
||||
quicksyImplementation
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'androidx.viewpager:viewpager:1.0.0'
|
||||
|
||||
playstoreImplementation('com.google.firebase:firebase-messaging:22.0.0') {
|
||||
playstoreImplementation('com.google.firebase:firebase-messaging:23.1.1') {
|
||||
exclude group: 'com.google.firebase', module: 'firebase-core'
|
||||
exclude group: 'com.google.firebase', module: 'firebase-analytics'
|
||||
exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
|
||||
}
|
||||
conversationsPlaystoreCompatImplementation("com.android.installreferrer:installreferrer:2.2")
|
||||
conversationsPlaystoreSystemImplementation("com.android.installreferrer:installreferrer:2.2")
|
||||
quicksyPlaystoreCompatImplementation 'com.google.android.gms:play-services-auth-api-phone:17.5.1'
|
||||
quicksyPlaystoreSystemImplementation 'com.google.android.gms:play-services-auth-api-phone:17.5.1'
|
||||
conversationsPlaystoreImplementation("com.android.installreferrer:installreferrer:2.2")
|
||||
quicksyPlaystoreImplementation 'com.google.android.gms:play-services-auth-api-phone:18.0.1'
|
||||
implementation 'org.sufficientlysecure:openpgp-api:10.0'
|
||||
implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.3.1'
|
||||
implementation 'androidx.exifinterface:exifinterface:1.3.3'
|
||||
implementation 'androidx.appcompat:appcompat:1.5.1'
|
||||
implementation 'androidx.exifinterface:exifinterface:1.3.5'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
||||
implementation 'androidx.emoji:emoji:1.1.0'
|
||||
implementation 'com.google.android.material:material:1.4.0'
|
||||
compatImplementation 'androidx.emoji:emoji-appcompat:1.1.0'
|
||||
conversationsFreeCompatImplementation 'androidx.emoji:emoji-bundled:1.1.0'
|
||||
quicksyFreeCompatImplementation 'androidx.emoji:emoji-bundled:1.1.0'
|
||||
implementation 'com.google.android.material:material:1.7.0'
|
||||
|
||||
implementation "androidx.emoji2:emoji2:1.2.0"
|
||||
freeImplementation "androidx.emoji2:emoji2-bundled:1.2.0"
|
||||
|
||||
implementation 'org.bouncycastle:bcmail-jdk15on:1.64'
|
||||
//zxing stopped supporting Java 7 so we have to stick with 3.3.3
|
||||
//https://github.com/zxing/zxing/issues/1170
|
||||
@ -62,10 +60,11 @@ dependencies {
|
||||
implementation 'org.whispersystems:signal-protocol-java:2.6.2'
|
||||
implementation 'com.makeramen:roundedimageview:2.3.0'
|
||||
implementation "com.wefika:flowlayout:0.4.1"
|
||||
implementation 'com.otaliastudios:transcoder:0.10.4'
|
||||
//noinspection GradleDependency
|
||||
implementation 'com.otaliastudios:transcoder:0.9.1'
|
||||
|
||||
implementation 'org.jxmpp:jxmpp-jid:1.0.2'
|
||||
implementation 'org.osmdroid:osmdroid-android:6.1.10'
|
||||
implementation 'org.jxmpp:jxmpp-jid:1.0.3'
|
||||
implementation 'org.osmdroid:osmdroid-android:6.1.11'
|
||||
implementation 'org.hsluv:hsluv:0.2'
|
||||
implementation 'org.conscrypt:conscrypt-android:2.5.2'
|
||||
implementation 'me.drakeet.support:toastcompat:1.1.0'
|
||||
@ -73,33 +72,33 @@ dependencies {
|
||||
|
||||
implementation "com.squareup.retrofit2:retrofit:2.9.0"
|
||||
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
|
||||
implementation "com.squareup.okhttp3:okhttp:4.9.2"
|
||||
implementation "com.squareup.okhttp3:okhttp:4.10.0"
|
||||
|
||||
implementation 'com.google.guava:guava:30.1.1-android'
|
||||
quicksyImplementation 'io.michaelrocks:libphonenumber-android:8.12.18'
|
||||
implementation 'org.snikket:webrtc-android:107.0.0'
|
||||
implementation 'com.google.guava:guava:31.1-android'
|
||||
quicksyImplementation 'io.michaelrocks:libphonenumber-android:8.12.49'
|
||||
implementation 'im.conversations.webrtc:webrtc-android:104.0.0'
|
||||
}
|
||||
|
||||
ext {
|
||||
travisBuild = System.getenv("TRAVIS") == "true"
|
||||
preDexEnabled = System.getProperty("pre-dex", "true")
|
||||
abiCodes = ['armeabi-v7a': 1, 'x86': 2, 'x86_64': 3, 'arm64-v8a': 4]
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 29
|
||||
namespace 'eu.siacs.conversations'
|
||||
compileSdkVersion 32
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 29
|
||||
versionCode 42025
|
||||
versionName "2.10.3"
|
||||
targetSdkVersion 32
|
||||
versionCode 42050
|
||||
versionName "2.12.2"
|
||||
archivesBaseName += "-$versionName"
|
||||
applicationId "org.snikket.android"
|
||||
resValue "string", "applicationId", applicationId
|
||||
def appName = "Snikket"
|
||||
resValue "string", "app_name", appName
|
||||
buildConfigField "String", "APP_NAME", "\"$appName\"";
|
||||
buildConfigField "String", "APP_NAME", "\"$appName\""
|
||||
}
|
||||
|
||||
splits {
|
||||
@ -122,7 +121,7 @@ android {
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
flavorDimensions("mode", "distribution", "emoji")
|
||||
flavorDimensions("mode", "distribution")
|
||||
|
||||
productFlavors {
|
||||
|
||||
@ -133,7 +132,7 @@ android {
|
||||
|
||||
def appName = "Quicksy"
|
||||
resValue "string", "app_name", appName
|
||||
buildConfigField "String", "APP_NAME", "\"$appName\"";
|
||||
buildConfigField "String", "APP_NAME", "\"$appName\""
|
||||
}
|
||||
|
||||
conversations {
|
||||
@ -142,45 +141,21 @@ android {
|
||||
|
||||
playstore {
|
||||
dimension "distribution"
|
||||
versionNameSuffix "+p"
|
||||
versionNameSuffix "+playstore"
|
||||
}
|
||||
free {
|
||||
dimension "distribution"
|
||||
versionNameSuffix "+f"
|
||||
}
|
||||
system {
|
||||
dimension "emoji"
|
||||
versionNameSuffix "s"
|
||||
}
|
||||
compat {
|
||||
dimension "emoji"
|
||||
versionNameSuffix "c"
|
||||
versionNameSuffix "+free"
|
||||
}
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
quicksyFreeSystem {
|
||||
quicksyFree {
|
||||
java {
|
||||
srcDir 'src/quicksyFree/java'
|
||||
}
|
||||
}
|
||||
quicksyFreeCompat {
|
||||
java {
|
||||
srcDir 'src/freeCompat/java'
|
||||
srcDir 'src/quicksyFree/java'
|
||||
}
|
||||
}
|
||||
quicksyPlaystoreCompat {
|
||||
java {
|
||||
srcDir 'src/playstoreCompat/java'
|
||||
srcDir 'src/quicksyPlaystore/java'
|
||||
}
|
||||
res {
|
||||
srcDir 'src/playstoreCompat/res'
|
||||
srcDir 'src/quicksyPlaystore/res'
|
||||
}
|
||||
}
|
||||
quicksyPlaystoreSystem {
|
||||
quicksyPlaystore {
|
||||
java {
|
||||
srcDir 'src/quicksyPlaystore/java'
|
||||
}
|
||||
@ -188,28 +163,12 @@ android {
|
||||
srcDir 'src/quicksyPlaystore/res'
|
||||
}
|
||||
}
|
||||
conversationsFreeCompat {
|
||||
java {
|
||||
srcDir 'src/freeCompat/java'
|
||||
srcDir 'src/conversationsFree/java'
|
||||
}
|
||||
}
|
||||
conversationsFreeSystem {
|
||||
conversationsFree {
|
||||
java {
|
||||
srcDir 'src/conversationsFree/java'
|
||||
}
|
||||
}
|
||||
conversationsPlaystoreCompat {
|
||||
java {
|
||||
srcDir 'src/playstoreCompat/java'
|
||||
srcDir 'src/conversationsPlaystore/java'
|
||||
}
|
||||
res {
|
||||
srcDir 'src/playstoreCompat/res'
|
||||
srcDir 'src/conversationsPlaystore/res'
|
||||
}
|
||||
}
|
||||
conversationsPlaystoreSystem {
|
||||
conversationsPlaystore {
|
||||
java {
|
||||
srcDir 'src/conversationsPlaystore/java'
|
||||
}
|
||||
@ -224,13 +183,11 @@ android {
|
||||
shrinkResources true
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
versionNameSuffix "r"
|
||||
}
|
||||
debug {
|
||||
shrinkResources true
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
versionNameSuffix "d"
|
||||
}
|
||||
}
|
||||
|
||||
@ -250,9 +207,6 @@ android {
|
||||
buildTypes.release.signingConfig = signingConfigs.release
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
disable 'MissingTranslation', 'InvalidPackage','AppCompatResource'
|
||||
}
|
||||
|
||||
subprojects {
|
||||
|
||||
@ -267,17 +221,22 @@ android {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
exclude 'META-INF/BCKEY.DSA'
|
||||
exclude 'META-INF/BCKEY.SF'
|
||||
resources {
|
||||
excludes += ['META-INF/BCKEY.DSA', 'META-INF/BCKEY.SF']
|
||||
}
|
||||
}
|
||||
lint {
|
||||
disable 'MissingTranslation', 'InvalidPackage', 'AppCompatResource'
|
||||
}
|
||||
|
||||
android.applicationVariants.all { variant ->
|
||||
variant.outputs.each { output ->
|
||||
def baseAbiVersionCode = project.ext.abiCodes.get(output.getFilter(com.android.build.OutputFile.ABI))
|
||||
if (baseAbiVersionCode != null) {
|
||||
output.versionCodeOverride = (100 * variant.versionCode) + baseAbiVersionCode
|
||||
output.versionCodeOverride = (100 * project.android.defaultConfig.versionCode) + baseAbiVersionCode
|
||||
} else {
|
||||
output.versionCodeOverride = 100 * project.android.defaultConfig.versionCode
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -15,12 +15,12 @@
|
||||
|
||||
<homepage rdf:resource="https://conversations.im/"/>
|
||||
<download-page rdf:resource="https://play.google.com/store/apps/details?id=eu.siacs.conversations"/>
|
||||
<bug-database rdf:resource="https://github.com/iNPUTmice/Conversations/issues"/>
|
||||
<bug-database rdf:resource="https://codeberg.org/iNPUTmice/Conversations/issues"/>
|
||||
<!-- See https://github.com/ewilderj/doap/issues/53 -->
|
||||
<developer-forum rdf:resource="xmpp:conversations@siacs.conference.eu?join"/>
|
||||
<support-forum rdf:resource="xmpp:conversations@siacs.conference.eu?join"/>
|
||||
|
||||
<license rdf:resource="https://github.com/iNPUTmice/Conversations/blob/master/LICENSE"/>
|
||||
<license rdf:resource="https://codeberg.org/iNPUTmice/Conversations/src/branch/master/LICENSE"/>
|
||||
|
||||
<!-- See https://github.com/ewilderj/doap/issues/49 -->
|
||||
<language>en</language>
|
||||
@ -53,8 +53,8 @@
|
||||
|
||||
<repository>
|
||||
<GitRepository>
|
||||
<browse rdf:resource="https://github.com/iNPUTmice/Conversations"/>
|
||||
<location rdf:resource="https://github.com/iNPUTmice/Conversations.git"/>
|
||||
<browse rdf:resource="https://codeberg.org/iNPUTmice/Conversations"/>
|
||||
<location rdf:resource="https://codeberg.org/iNPUTmice/Conversations.git"/>
|
||||
</GitRepository>
|
||||
</repository>
|
||||
|
||||
|
||||
19
docs/user/backup.md
Normal file
19
docs/user/backup.md
Normal file
@ -0,0 +1,19 @@
|
||||
# Making a backup of Conversations
|
||||
|
||||
This tutorial explains how you can backup your Conversations data.
|
||||
|
||||
**WARNING**: Do not use the restore backup feature in an attempt to clone (run simultaneously) an installation. Restoring a backup is only meant for migrations or in case you’ve lost the original device.
|
||||
|
||||
1. Make sure that you know the password to your account(s)! You will need it later to decrypt your backup.
|
||||
2. Deactivate all your account(s): on the chat screen, tap on the three buttons in the upper right, and go to "manage accounts".
|
||||
3. Go back to Settings, scroll down until you find the option to create a new backup. Tap on that option.
|
||||
4. Wait, until the notification tells you that the backup is finished.
|
||||
5. Move the backup to whatever location you feel save with.
|
||||
|
||||
Done!
|
||||
|
||||
## Further information / troubleshooting
|
||||
### Unable to decrypt
|
||||
This backup method will include your OMEMO keys. Due to forward secrecy you will not be able to recover messages sent and received between creating the backup and restoring it. If you have a server side archive (MAM) those messages will be retrieved but displayed as *unable to decrypt*. For technical reasons you might also lose the first message you either sent or receive after the restore; for each conversation you have. This message will then also show up as *unable to decrypt*, but this will automatically recover itself as long as both participants are on Conversations 2.3.11+. Note that this doesn’t happen if you just transfer to a new phone and no messages have been exchanged between backup and restore.
|
||||
|
||||
In the vast, vast majority of cases you won’t have to manually delete OMEMO keys or do anything like that. Conversations only introduced the official backup feature in 2.4.0 after making sure the *OMEMO self healing* mechanism introduced in 2.3.11 works fine.
|
||||
42
docs/user/migrating_to_new_device.md
Normal file
42
docs/user/migrating_to_new_device.md
Normal file
@ -0,0 +1,42 @@
|
||||
# Migrating to a new device
|
||||
|
||||
This tutorial explains how you can transfer your Conversations data from an old to a new device. It assumes that you do not have Conversations installed on your new device, yet. It basically consists of three steps:
|
||||
|
||||
1. Make a backup (old device)
|
||||
2. Move that backup to your new device
|
||||
3. Import the backup (new device)
|
||||
|
||||
**WARNING**: Do not use the restore backup feature in an attempt to clone (run simultaneously) an installation. Restoring a backup is only meant for migrations or in case you’ve lost the original device.
|
||||
|
||||
## 1. Make a backup (old device)
|
||||
1. Make sure that you know the password to your account(s)! You will need it later to decrypt your backup.
|
||||
2. Deactivate all your account(s): on the chat screen, tap on the three buttons in the upper right, and go to "manage accounts".
|
||||
3. Go back to Settings, scroll down until you find the option to create a new backup. Tap on that option.
|
||||
4. Wait, until the notification tells you that the backup is finished.
|
||||
|
||||
## 2. Move that backup to your new device
|
||||
1. Locate the backup. You should find it in your Files, either in *Conversations/Backup* or in *Download/Conversations/Backup*. The file is named after your account (*e.g. kim@example.org*). If you have multiple accounts, you find one file for each.
|
||||
2. Use your USB cable or bluetooth, your Nextcloud or other cloud storage or pretty much anything you want to copy the backup from the old device to the new device.
|
||||
3. Remember the location you saved your backup to. For instance, you might want to save them to the *Download* folder.
|
||||
|
||||
## 3. Import the backup (new device)
|
||||
1. Install Conversations on your new device.
|
||||
2. Open Conversations for the first time.
|
||||
3. Tap on "Use other server"
|
||||
4. Tap on the three dot menu in the upper right corner and tap on "Import backup"
|
||||
5. If your backup files are not listed, tap on the cloud symbol in the upper right corner to choose the files from the where you saved them.
|
||||
6. Enter your account password to decrypt the backup.
|
||||
7. Remember to activate your account (head back to "manage accounts", see step 1.2).
|
||||
8. Check if chats work.
|
||||
|
||||
Once confirmed that the new device is running fine you can just uninstall the app from the old device.
|
||||
|
||||
Note: The backup only contains your text chats and required encryption keys, all the files need to be transferred separately and put on the new device in the same locations.
|
||||
|
||||
Done!
|
||||
|
||||
## Further information / troubleshooting
|
||||
### Unable to decrypt
|
||||
This backup method will include your OMEMO keys. Due to forward secrecy you will not be able to recover messages sent and received between creating the backup and restoring it. If you have a server side archive (MAM) those messages will be retrieved but displayed as *unable to decrypt*. For technical reasons you might also lose the first message you either sent or receive after the restore; for each conversation you have. This message will then also show up as *unable to decrypt*, but this will automatically recover itself as long as both participants are on Conversations 2.3.11+. Note that this doesn’t happen if you just transfer to a new phone and no messages have been exchanged between backup and restore.
|
||||
|
||||
In the vast, vast majority of cases you won’t have to manually delete OMEMO keys or do anything like that. Conversations only introduced the official backup feature in 2.4.0 after making sure the *OMEMO self healing* mechanism introduced in 2.3.11 works fine.
|
||||
4
fastlane/metadata/android/de-DE/changelogs/349.txt
Normal file
4
fastlane/metadata/android/de-DE/changelogs/349.txt
Normal file
@ -0,0 +1,4 @@
|
||||
* Einführung einer Experteneinstellung zur Channel-Erkennung auf dem lokalen Server anstelle von search.jabber.network
|
||||
* Standardmäßig Zustellungshäkchen aktiviert und Einstellung entfernt
|
||||
* Standardmäßig 'Sendetaste zeigt Status an' aktiviert und die Einstellung entfernt
|
||||
* Einstellungen für Sicherung und Vordergrunddienst in den Hauptbereich verschoben
|
||||
3
fastlane/metadata/android/de-DE/changelogs/351.txt
Normal file
3
fastlane/metadata/android/de-DE/changelogs/351.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Fehlerkorrektur für Jingle IBB Dateitransfer
|
||||
* Fehlerkorrektur für wiederholende Korrekturen, welche die Datenbank füllen
|
||||
* Wechsel zu Last Message Correction v1.1
|
||||
4
fastlane/metadata/android/de-DE/changelogs/353.txt
Normal file
4
fastlane/metadata/android/de-DE/changelogs/353.txt
Normal file
@ -0,0 +1,4 @@
|
||||
* Benutzer können ihren eigenen Nicknamen festlegen
|
||||
* Wiederaufnahme des Downloads von OMEMO-verschlüsselten Dateien
|
||||
* Channels verwenden jetzt '#' als Symbol im Profilbild
|
||||
* Quicksy verwendet 'immer' als OMEMO-Verschlüsselungsstandard (versteckt das Schlosssymbol)
|
||||
1
fastlane/metadata/android/de-DE/changelogs/360.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/360.txt
Normal file
@ -0,0 +1 @@
|
||||
* Unterstützung für ?register und ?register;preauth XMPP URI-Parameter
|
||||
1
fastlane/metadata/android/de-DE/changelogs/362.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/362.txt
Normal file
@ -0,0 +1 @@
|
||||
* Unterstützung für automatischen Designwechsel in Android 10
|
||||
2
fastlane/metadata/android/de-DE/changelogs/364.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/364.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Bereitstellen von PDF-Vorschau ab Android 5+
|
||||
* Nutzung von 12 byte IVs für OMEMO
|
||||
2
fastlane/metadata/android/de-DE/changelogs/367.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/367.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Profilbildauswahl auf einigen Android 10 Geräten korrigiert
|
||||
* Dateiübertragung für größere Dateien korrigiert
|
||||
1
fastlane/metadata/android/de-DE/changelogs/379.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/379.txt
Normal file
@ -0,0 +1 @@
|
||||
* Audio-/Videoanrufe (erfordert Serverunterstützung in Form von STUN- und TURN-Servern, die über XEP-0215 ermittelt werden können)
|
||||
2
fastlane/metadata/android/de-DE/changelogs/381.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/381.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Akustische Rückmeldungen (Wählen, Anruf begonnen, Anruf beendet) für Audioanrufe
|
||||
* Problem mit der Wiederholung eines fehlgeschlagenen Videoanrufs behoben
|
||||
2
fastlane/metadata/android/de-DE/changelogs/382.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/382.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Schaltfläche zum Umschalten der Kamera während eines Videoanrufs hinzugefügt
|
||||
* Audioanrufe auf Tablets repariert
|
||||
3
fastlane/metadata/android/de-DE/changelogs/383.txt
Normal file
3
fastlane/metadata/android/de-DE/changelogs/383.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Anrufsymbol nach links verschoben, damit die anderen Symbole der Symbolleiste an einer einheitlichen Stelle bleiben
|
||||
* Anzeige der Gesprächsdauer bei Sprachanrufen
|
||||
* Unterbrechung der Verbindung bei A/V-Anrufen (zwei Personen rufen sich gleichzeitig an)
|
||||
2
fastlane/metadata/android/de-DE/changelogs/387.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/387.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Überarbeitung der UI für die Anmeldung mit Zertifikat
|
||||
* Integration der Möglichkeit, Chats ganz oben anzuheften (zu den Favoriten hinzufügen)
|
||||
3
fastlane/metadata/android/de-DE/changelogs/388.txt
Normal file
3
fastlane/metadata/android/de-DE/changelogs/388.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Reduzierung des Echos bei Anrufen auf einigen Geräten
|
||||
* Anmeldung korrigiert, wenn Passwörter Sonderzeichen enthalten
|
||||
* Wähl- und Besetztzeichen bei Videoanrufen auf dem Lautsprecher abspielen
|
||||
1
fastlane/metadata/android/de-DE/changelogs/390.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/390.txt
Normal file
@ -0,0 +1 @@
|
||||
* Möglichkeit zur Aufnahme einer Sprachnachricht, wenn der Anrufer beschäftigt ist
|
||||
3
fastlane/metadata/android/de-DE/changelogs/393.txt
Normal file
3
fastlane/metadata/android/de-DE/changelogs/393.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Hilfe-Schaltfläche anzeigen, wenn A/V-Anruf fehlschlägt
|
||||
* Einige lästige Abstürze behoben
|
||||
* Jingle-Verbindungen (Dateiübertragung + Anrufe) mit bloßen JIDs behoben
|
||||
2
fastlane/metadata/android/de-DE/changelogs/394.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/394.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Benachrichtigungen wurden unter bestimmten Bedingungen nicht mehr angezeigt
|
||||
* Kompatibilitätsprobleme und Abstürze im Zusammenhang mit A/V-Anrufen behoben
|
||||
3
fastlane/metadata/android/de-DE/changelogs/395.txt
Normal file
3
fastlane/metadata/android/de-DE/changelogs/395.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Hinzufügen von 'Zurück zum Chat' zum Audio-Anruf-Bildschirm
|
||||
* Verbesserung der Tastaturkürzel
|
||||
* Fehlerbehebungen
|
||||
3
fastlane/metadata/android/de-DE/changelogs/397.txt
Normal file
3
fastlane/metadata/android/de-DE/changelogs/397.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Verarbeitung von GPX-Dateien
|
||||
* Verbesserte Leistung bei der Wiederherstellung von Sicherungen
|
||||
* Fehlerbehebungen
|
||||
4
fastlane/metadata/android/de-DE/changelogs/398.txt
Normal file
4
fastlane/metadata/android/de-DE/changelogs/398.txt
Normal file
@ -0,0 +1,4 @@
|
||||
* Suche in einzelnen Unterhaltungen
|
||||
* Benutzer werden benachrichtigt, wenn die Nachrichtenzustellung fehlschlägt
|
||||
* Anzeigenamen (Nicks) von Quicksy-Benutzern über Neustarts hinweg speichern
|
||||
* Hinzufügen einer Schaltfläche zum Starten von Orbot (Tor) aus der Benachrichtigung heraus, falls erforderlich
|
||||
2
fastlane/metadata/android/de-DE/changelogs/401.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/401.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Suche auf Android <= 5 korrigiert
|
||||
* Optimierung des Speicherverbrauchs
|
||||
3
fastlane/metadata/android/de-DE/changelogs/402.txt
Normal file
3
fastlane/metadata/android/de-DE/changelogs/402.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Bietet einfache Einladungserstellung auf unterstützenden Servern
|
||||
* GIFs anzeigen, die von Movim gesendet werden
|
||||
* Profilbilder im Cache speichern
|
||||
3
fastlane/metadata/android/de-DE/changelogs/403.txt
Normal file
3
fastlane/metadata/android/de-DE/changelogs/403.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Behebung von Verbindungsproblemen, wenn verschiedene Konten unterschiedliche SCRAM-Mechanismen verwenden
|
||||
* Unterstützung für SCRAM-SHA-512 hinzugefügt
|
||||
* P2P (Jingle) Dateiübertragung mit eigenem Kontakt zulassen
|
||||
1
fastlane/metadata/android/de-DE/changelogs/404.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/404.txt
Normal file
@ -0,0 +1 @@
|
||||
* Kleinere Stabilitätsverbesserungen für A/V-Anrufe
|
||||
1
fastlane/metadata/android/de-DE/changelogs/405.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/405.txt
Normal file
@ -0,0 +1 @@
|
||||
* Quicksy: Automatischer Empfang der Bestätigungs-SMS
|
||||
3
fastlane/metadata/android/de-DE/changelogs/407.txt
Normal file
3
fastlane/metadata/android/de-DE/changelogs/407.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Anzeige der Anruftaste für Offline-Kontakte, wenn diese zuvor Unterstützung gemeldet haben
|
||||
* Zurück-Taste beendet den Anruf nicht mehr, wenn der Anruf gerade läuft
|
||||
* Fehlerbehebungen
|
||||
4
fastlane/metadata/android/de-DE/changelogs/42000.txt
Normal file
4
fastlane/metadata/android/de-DE/changelogs/42000.txt
Normal file
@ -0,0 +1,4 @@
|
||||
* Möglichkeit zur Auswahl des Klingeltons für eingehende Anrufe
|
||||
* Behebung der OpenPGP-Schlüsselerkennung für OpenKeychain 5.6+
|
||||
* Korrekte Verifizierung von Punycode-TLS-Zertifikaten
|
||||
* Verbesserte Stabilität des RTP-Sitzungsaufbaus (Anrufe)
|
||||
2
fastlane/metadata/android/de-DE/changelogs/42006.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/42006.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Verifizierung von A/V-Anrufen mit bereits bestehenden OMEMO-Sitzungen
|
||||
* Verbesserung der Kompatibilität mit WebRTC-Implementierungen, die nicht von libwebrtc stammen
|
||||
2
fastlane/metadata/android/de-DE/changelogs/42010.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/42010.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Verschiedene Fehlerbehebungen rund um die Tor-Unterstützung
|
||||
* Verbesserung der Anrufkompatibilität mit Dino
|
||||
1
fastlane/metadata/android/de-DE/changelogs/42012.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/42012.txt
Normal file
@ -0,0 +1 @@
|
||||
* Problembehebung beim HTTP-Upload/Download für Benutzer, die den System-CAs nicht vertrauen
|
||||
1
fastlane/metadata/android/de-DE/changelogs/42013.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/42013.txt
Normal file
@ -0,0 +1 @@
|
||||
* Probleme mit "Keine Verbindung" unter Android 7.1 behoben
|
||||
2
fastlane/metadata/android/de-DE/changelogs/42014.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/42014.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Domänenname immer überprüfen. Kein Überschreiben von Benutzern
|
||||
* Unterstützung der Kontaktlisten-Vorauthentifizierung
|
||||
1
fastlane/metadata/android/de-DE/changelogs/42015.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/42015.txt
Normal file
@ -0,0 +1 @@
|
||||
* Kleinere A/V-Verbesserungen
|
||||
3
fastlane/metadata/android/de-DE/changelogs/42018.txt
Normal file
3
fastlane/metadata/android/de-DE/changelogs/42018.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Schwarze Balken anzeigen, wenn das entfernte Video nicht dem Seitenverhältnis des Bildschirms entspricht
|
||||
* Verbesserung der Suchleistung
|
||||
* Einstellung hinzugefügt, um Bildschirmfotos zu verhindern
|
||||
2
fastlane/metadata/android/de-DE/changelogs/42022.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/42022.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Fehler behoben, bei dem einige Videos nicht komprimiert wurden
|
||||
* Seltenen Absturz beim Öffnen von Benachrichtigungen behoben
|
||||
2
fastlane/metadata/android/de-DE/changelogs/42023.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/42023.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Absturz beim Rendern einiger Anführungszeichen behoben
|
||||
* Absturz im Willkommensbildschirm behoben
|
||||
9
fastlane/metadata/android/de-DE/changelogs/42037.txt
Normal file
9
fastlane/metadata/android/de-DE/changelogs/42037.txt
Normal file
@ -0,0 +1,9 @@
|
||||
* Abfrage der Bluetooth-Berechtigung bei A/V-Anrufen (nur bei Bluetooth-Headsets erforderlich)
|
||||
* Fehler beim Anrufen von Movim behoben
|
||||
* Anzeige eines falschen Profilbilds bei Gruppenchats behoben
|
||||
* Immer nach dem Opt-Out für Akku-Optimierungen fragen
|
||||
* Interaktion mit Google Maps Share Location Plugin behoben
|
||||
* Fußnote bezüglich der Servergebühr entfernt
|
||||
* Dateien an einem für Android 11 geeigneten Ort speichern
|
||||
* Anruf nach Netzwechsel erneut versuchen zu verbinden
|
||||
* JID des Anrufers und JID des Kontos im Bildschirm für eingehende Anrufe anzeigen
|
||||
2
fastlane/metadata/android/de-DE/changelogs/42038.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/42038.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Kleinere Fehlerbehebungen
|
||||
* Wiederherstellung der Möglichkeit, über JMP und andere Dienste aufzurufen (Playstore-Version)
|
||||
5
fastlane/metadata/android/de-DE/changelogs/42041.txt
Normal file
5
fastlane/metadata/android/de-DE/changelogs/42041.txt
Normal file
@ -0,0 +1,5 @@
|
||||
* Implementierung von Extensible SASL Profile, Bind 2.0 und Fast für schnellere Wiederverbindungen
|
||||
* Implementierung von Channel Binding
|
||||
* Möglichkeit von einem Audioanruf zu einem Videoanruf zu wechseln
|
||||
* Möglichkeit zum Löschen des eigenen Profilbildes hinzugefügt
|
||||
* Benachrichtigung für verpasste Anrufe hinzugefügt
|
||||
2
fastlane/metadata/android/de-DE/changelogs/42042.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/42042.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Wiederholungsschleife auf Servern beheben, die nur sm:2 unterstützen
|
||||
* "Umschalten auf Video" nur anzeigen, wenn die Gegenseite Video unterstützt
|
||||
1
fastlane/metadata/android/de-DE/changelogs/42043.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/42043.txt
Normal file
@ -0,0 +1 @@
|
||||
* Fehler bei der P2P-Dateiübertragung behoben
|
||||
3
fastlane/metadata/android/de-DE/changelogs/42044.txt
Normal file
3
fastlane/metadata/android/de-DE/changelogs/42044.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Nachrichten werden bei Verwendung von SASL2 nicht mehr erneut gesendet
|
||||
* Schwarzes Video zwischen einigen Geräten behoben
|
||||
* Absturz bei leeren Passwörtern behoben
|
||||
1
fastlane/metadata/android/de-DE/changelogs/42046.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/42046.txt
Normal file
@ -0,0 +1 @@
|
||||
* Integration eines UnifiedPush-Verteilers, um Push-Nachrichten für andere UnifiedPush-fähige Apps wie Tusky und Fedilab zu ermöglichen
|
||||
1
fastlane/metadata/android/de-DE/changelogs/42047.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/42047.txt
Normal file
@ -0,0 +1 @@
|
||||
* Absturz im UnifiedPush-Verteiler behoben
|
||||
39
fastlane/metadata/android/de-DE/full_description.txt
Normal file
39
fastlane/metadata/android/de-DE/full_description.txt
Normal file
@ -0,0 +1,39 @@
|
||||
Einfach zu bedienen, zuverlässig, batteriefreundlich. Mit integrierter Unterstützung für Bilder, Gruppenchats und E2E-Verschlüsselung.
|
||||
|
||||
Designprinzipien:
|
||||
|
||||
* Möglichst schön und benutzerfreundlich, ohne Abstriche bei der Sicherheit und Privatsphäre
|
||||
* Auf bestehende, gut etablierte Protokolle zurückgreifen
|
||||
* Kein Google-Konto oder speziell Google Cloud Messaging (GCM) erforderlich
|
||||
* So wenig Berechtigungen wie möglich erfordern
|
||||
|
||||
Funktionen:
|
||||
|
||||
* Ende-zu-Ende-Verschlüsselung entweder mit <a href="http://conversations.im/omemo/">OMEMO</a> oder <a href="http://openpgp.org/about/">OpenPGP</a>
|
||||
* Senden und Empfangen von Bildern
|
||||
* Verschlüsselte Audio- und Videoanrufe (DTLS-SRTP)
|
||||
* Intuitives UI, das den Android Design Richtlinien folgt
|
||||
* Bilder / Profilbilder für deine Kontakte
|
||||
* Synchronisation mit Desktop-Client
|
||||
* Konferenzen (mit Unterstützung für Lesezeichen)
|
||||
* Adressbucheinbindung
|
||||
* Mehrere Konten / einheitlicher Posteingang
|
||||
* Sehr geringe Auswirkungen auf die Akkulaufzeit
|
||||
|
||||
Mit Conversations ist es sehr einfach, ein Konto auf dem kostenlosen conversations.im-Server zu erstellen. Dennoch funktioniert Conversations auch mit jedem anderen XMPP-Server. Zahlreiche XMPP-Server werden von Freiwilligen betrieben und sind kostenlos.
|
||||
|
||||
XMPP-Funktionen:
|
||||
|
||||
Conversations funktioniert mit jedem XMPP-Server. XMPP ist jedoch ein erweiterbares Protokoll. Diese Erweiterungen sind ebenfalls in sogenannten XEP's standardisiert. Conversations unterstützt einige davon, um die Benutzerfreundlichkeit zu verbessern. Es besteht die Möglichkeit, dass Ihr aktueller XMPP-Server diese Erweiterungen nicht unterstützt. Um Conversations optimal nutzen zu können, solltest du daher entweder zu einem XMPP-Server wechseln, der dies unterstützt, oder - noch besser - einen eigenen XMPP-Server für dich und deine Freunde betreiben.
|
||||
|
||||
Diese XEPs sind es derzeit:
|
||||
|
||||
* XEP-0065: SOCKS5 Bytestreams (oder mod_proxy65). Wird für die Übertragung von Dateien verwendet, wenn sich beide Parteien hinter einer Firewall (NAT) befinden.
|
||||
* XEP-0163: Personal Eventing Protocol für Profilbilder
|
||||
* XEP-0191: Mit dem Blockierungsbefehl kannst du Spammer auf eine schwarze Liste setzen oder Kontakte blockieren, ohne sie aus deiner Liste zu entfernen.
|
||||
* XEP-0198: Stream Management ermöglicht es XMPP, kleinere Netzwerkausfälle und Änderungen der zugrunde liegenden TCP-Verbindung zu überstehen.
|
||||
* XEP-0280: Message Carbons, das die von dir gesendeten Nachrichten automatisch mit deinem Desktop-Client synchronisiert und es dir somit ermöglicht, innerhalb einer Unterhaltung nahtlos von deinem mobilen Client zu deinem Desktop-Client und zurück zu wechseln.
|
||||
* XEP-0237: Roster Versioning hauptsächlich, um Bandbreite bei schlechten mobilen Verbindungen zu sparen
|
||||
* XEP-0313: Nachrichtenarchiv-Management synchronisiert den Nachrichtenverlauf mit dem Server. Aufholen von Nachrichten, die gesendet wurden, während Conversations offline war.
|
||||
* XEP-0352: Client State Indication lässt den Server wissen, ob Conversations im Hintergrund läuft oder nicht. Ermöglicht es dem Server, Bandbreite zu sparen, indem er unwichtige Pakete zurückhält.
|
||||
* XEP-0363: HTTP File Upload ermöglicht den Austausch von Dateien in Konferenzen und mit Offline-Kontakten. Erfordert eine zusätzliche Komponente auf deinem Server.
|
||||
1
fastlane/metadata/android/de-DE/short_description.txt
Normal file
1
fastlane/metadata/android/de-DE/short_description.txt
Normal file
@ -0,0 +1 @@
|
||||
Verschlüsselter, benutzerfreundlicher XMPP-Instant-Messenger für dein Smartphone
|
||||
2
fastlane/metadata/android/en-US/changelogs/42023.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/42023.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Fix crash when rendering some quotes
|
||||
* Fix crash in welcome screen
|
||||
11
fastlane/metadata/android/en-US/changelogs/42037.txt
Normal file
11
fastlane/metadata/android/en-US/changelogs/42037.txt
Normal file
@ -0,0 +1,11 @@
|
||||
Version 2.10.9
|
||||
* Ask for Bluetooth permissions when making A/V calls (You can reject this if you don’t use Bluetooth headsets)
|
||||
* Fix bug when calling Movim
|
||||
* Fix wrong avatar being shown for group chats
|
||||
* Always ask for battery optimizations opt-out
|
||||
* Set local only flag on 'x connected accounts' notifications
|
||||
* Fix interaction with Google Maps Share Location Plugin
|
||||
* Remove footnote with regards to server fee
|
||||
* Store files in location appropriate for Android 11
|
||||
* Attempt to reconnect call after network switch
|
||||
* Show caller JID and account JID in incoming call screen
|
||||
2
fastlane/metadata/android/en-US/changelogs/42038.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/42038.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Minor bug fixes
|
||||
* Restore ability to call out via JMP and other services (Playstore version)
|
||||
5
fastlane/metadata/android/en-US/changelogs/42041.txt
Normal file
5
fastlane/metadata/android/en-US/changelogs/42041.txt
Normal file
@ -0,0 +1,5 @@
|
||||
* Implement Extensible SASL Profile, Bind 2.0 and Fast for faster reconnects
|
||||
* Implement Channel Binding
|
||||
* Add ability to switch from audio call to video call
|
||||
* Add ability to delete own avatar
|
||||
* Add notification for missed calls
|
||||
2
fastlane/metadata/android/en-US/changelogs/42042.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/42042.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Fix resend loop on servers that support only sm:2
|
||||
* Show 'Switch to video' only if other party supports video
|
||||
1
fastlane/metadata/android/en-US/changelogs/42043.txt
Normal file
1
fastlane/metadata/android/en-US/changelogs/42043.txt
Normal file
@ -0,0 +1 @@
|
||||
* Fixed regression in P2P file transfer
|
||||
3
fastlane/metadata/android/en-US/changelogs/42044.txt
Normal file
3
fastlane/metadata/android/en-US/changelogs/42044.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Fix messages getting resend when using SASL2
|
||||
* Fix black video between some devices
|
||||
* Fix crash on empty passwords
|
||||
1
fastlane/metadata/android/en-US/changelogs/42046.txt
Normal file
1
fastlane/metadata/android/en-US/changelogs/42046.txt
Normal file
@ -0,0 +1 @@
|
||||
* Integrate UnifiedPush Distributor to facilitate push messages to other UnifiedPush enabled apps like Tusky and Fedilab
|
||||
1
fastlane/metadata/android/en-US/changelogs/42047.txt
Normal file
1
fastlane/metadata/android/en-US/changelogs/42047.txt
Normal file
@ -0,0 +1 @@
|
||||
* Fix crash in UnifiedPush Distributor
|
||||
39
fastlane/metadata/android/it-IT/full_description.txt
Normal file
39
fastlane/metadata/android/it-IT/full_description.txt
Normal file
@ -0,0 +1,39 @@
|
||||
Facile da usare, affidabile, leggero sulla batteria. Con supporto integrato per immagini, chat di gruppo e crittografia e2e.
|
||||
|
||||
Principi di design:
|
||||
|
||||
* Essere il più bello e facile da usare possibile senza sacrificare la sicurezza o la privacy
|
||||
* Affidarsi a protocolli esistenti ben affermati
|
||||
* Non richiedere un account Google o nello specifico Google Cloud Messaging (GCM)
|
||||
* Richiedere il minor numero di autorizzazioni possibile
|
||||
|
||||
Caratteristiche:
|
||||
|
||||
* Crittografia end-to-end con <a href="http://conversations.im/omemo/">OMEMO</a> o <a href="http://openpgp.org/about/">OpenPGP</a>
|
||||
* Invio e ricezione di immagini
|
||||
* Chiamate audio e video crittografate (DTLS-SRTP)
|
||||
* Interfaccia utente intuitiva che segue le linee guida del design di Android
|
||||
* Immagini / Avatar per i tuoi contatti
|
||||
* Sincronizzazione con client desktop
|
||||
* Conferenze (con supporto ai segnalibri)
|
||||
* Integrazione della rubrica
|
||||
* Profili multipli / messaggi unificati
|
||||
* Consumo molto basso della batteria
|
||||
|
||||
Conversations rende veramente facile creare un profilo sul server gratuito conversations.im. Tuttavia Conversations funzionerà anche con qualsiasi altro server XMPP. Molti server XMPP vengono gestiti da volontari e sono gratuiti.
|
||||
|
||||
Caratteristiche di XMPP:
|
||||
|
||||
Conversations funziona con tutti i server XMPP. Tuttavia XMPP è un protocollo estensibile. Anche queste estensioni sono standardizzate, con il nome XEP. Conversations supporta alcune di esse per rendere migliore l'esperienza utente. È possibile che il server XMPP che stai usando non supporti queste estensioni. Perciò, per ottenere il meglio da Conversations dovresti considerare di passare ad un server XMPP che le supporta o, ancora meglio, installarne uno tuo per te e i tuoi amici.
|
||||
|
||||
Queste XEP sono, ad oggi:
|
||||
|
||||
* XEP-0065: SOCKS5 Bytestreams (o mod_proxy65). Usata per trasferire file se entrambe le parti sono dietro un firewall (NAT).
|
||||
* XEP-0163: Personal Eventing Protocol. Per gli avatar.
|
||||
* XEP-0191: Blocking command. Ti consente di bloccare lo spam o i contatti senza rimuoverli dal tuo elenco.
|
||||
* XEP-0198: Stream Management. Consente a XMPP di resistere a brevi disconnessioni e cambi della connessione TCP sottostante.
|
||||
* XEP-0280: Message Carbons. Sincronizza automaticamente i messaggi che invii al client desktop, quindi ti consente di passare senza problemi dal mobile al desktop e viceversa con un'unica conversazione.
|
||||
* XEP-0237: Roster Versioning. Principalmente per risparmiare banda di rete in connessioni mobili deboli
|
||||
* XEP-0313: Message Archive Management. Sincronizza la cronologia dei messaggi con il server. Recupera i messaggi che sono stati inviati mentre Conversations era offline.
|
||||
* XEP-0352: Client State Indication. Fa sapere al server se Conversations è in secondo piano o no. Permette al server di risparmiare banda di rete trattenendo i pacchetti non importanti.
|
||||
* XEP-0363: HTTP File Upload. Ti consente di condividere file nelle conferenze e con i contatti offline. Richiede un componente aggiuntivo sul tuo server.
|
||||
1
fastlane/metadata/android/it-IT/short_description.txt
Normal file
1
fastlane/metadata/android/it-IT/short_description.txt
Normal file
@ -0,0 +1 @@
|
||||
Client di messaggistica XMPP facile e criptato, per il tuo dispositivo mobile
|
||||
1
fastlane/metadata/android/pl-PL/changelogs/42043.txt
Normal file
1
fastlane/metadata/android/pl-PL/changelogs/42043.txt
Normal file
@ -0,0 +1 @@
|
||||
* Naprawiono regresję w przesyłaniu plików P2P
|
||||
3
fastlane/metadata/android/pl-PL/changelogs/42044.txt
Normal file
3
fastlane/metadata/android/pl-PL/changelogs/42044.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Naprawiono ponowne wysyłanie wiadomości podczas używania SASL2
|
||||
* Naprawiono czarny obraz wideo pomiędzy niektórymi urządzeniami
|
||||
* Naprawiono awarię przy użyciu pustych haseł
|
||||
1
fastlane/metadata/android/pl-PL/changelogs/42046.txt
Normal file
1
fastlane/metadata/android/pl-PL/changelogs/42046.txt
Normal file
@ -0,0 +1 @@
|
||||
* Zintegrowano dystrybutora UnifiedPush aby ułatwić przesyłanie wiadomości push do innych aplikacji obsługujących UnifiedPush, takich jak Tusky czy Fedilab
|
||||
1
fastlane/metadata/android/pl-PL/changelogs/42047.txt
Normal file
1
fastlane/metadata/android/pl-PL/changelogs/42047.txt
Normal file
@ -0,0 +1 @@
|
||||
* Naprawiono awarię w dystrybutorze UnifiedPush
|
||||
39
fastlane/metadata/android/pl-PL/full_description.txt
Normal file
39
fastlane/metadata/android/pl-PL/full_description.txt
Normal file
@ -0,0 +1,39 @@
|
||||
Łatwy w użyciu, godny zaufania, przyjazny dla baterii. Wbudowane wsparcie dla obrazków, rozmów grupowych i szyfrowania od nadawcy do odbiorcy.
|
||||
|
||||
Zasady projektu:
|
||||
|
||||
* ma być tak ładny i prosty w użyciu jak to możliwe bez uszczerbku na bezpieczeństwie lub prywatności;
|
||||
* używa istniejących, dobrze znanych protokołów;
|
||||
* nie wymaga Konta Google ani, w szczególności, Google Cloud Messaging (GCM);
|
||||
* wymaga tylko naprawdę koniecznych uprawnień.
|
||||
|
||||
Funkcjonalność:
|
||||
|
||||
* szyfrowanie od nadawcy do odbiorcy (E2EE) z użyciem <a href="http://conversations.im/omemo/">OMEMO</a> lub <a href="http://openpgp.org/about/">OpenPGP</a>;
|
||||
* wysyłanie i odbieranie obrazków;
|
||||
* szyfrowane rozmowy głosowe i wideo;
|
||||
* intuicyjny interfejs użytkownika, zgodny z wytycznymi Android Design;
|
||||
* obrazki/awatary dla Twoich kontaktów;
|
||||
* synchronizacja z klientem desktopowym;
|
||||
* konferencje (z obsługą zakładek);
|
||||
* integracja z książką adresową;
|
||||
* wiele kont, zintegrowana skrzynka odbiorcza;
|
||||
* bardzo ograniczony wpływ na zużycie baterii.
|
||||
|
||||
Conversations bardzo ułatwia rejestrację konta na darmowym serwerze conversations.im, jednak będzie działać również z każdym innym serwerem XMPP. Wiele serwerów jest uruchamianych przez wolontariuszy i są dostępne bez opłat.
|
||||
|
||||
Funkcjonalność XMPP:
|
||||
|
||||
Conversations działa z każdym dostępnym serwerem XMPP, jednak XMPP to rozszerzalny protokół. Rozszerzenia są ustandaryzowane w tak zwanych XEP. Conversations obsługuje sporo z nich, dzięki czemu można go przyjemniej używać. Jest jednak możliwość, że Twój obecny serwer nie obsługuje tych rozszerzeń. Aby wyciągnąć jak najwięcej z Conversations rozważ przeniesienie się na taki serwer, który je obsługuje, lub — jeszcze lepiej — uruchom własny serwer dla Ciebie i Twoich przyjaciół.
|
||||
|
||||
Obecnie są obsługiwane następujące rozszerzenia:
|
||||
|
||||
* XEP-0065: SOCKS5 Bytestreams (lub mod_proxy65). Będzie używany do przesyłania plików jeżeli obie strony znajdują się za zaporą (NAT);
|
||||
* XEP-0163: Personal Eventing Protocol dla awatarów;
|
||||
* XEP-0191: Blocking Command umożliwia ochronę przed spamerami lub blokowanie bez usuwanie ich z rostera;
|
||||
* XEP-0198: Stream Management pozwala na przetrwanie krótkich braków połączenia z siecią oraz zmian używanego połączenia TCP;
|
||||
* XEP-0280: Message Carbons automatycznie synchronizuje wysyłane wiadomości z klientem desktopowym i w ten sposób pozwala na proste używanie zarówno klienta mobilnego, jak i desktopowego, w jednej konwersacji;
|
||||
* XEP-0237: Roster Versioning, dzięki któremu można ograniczyć używanie sieci na słabych połączeniach komórkowych;
|
||||
* XEP-0313: Message Archive Management synchronizuje historię wiadomości z serwerem. Bądź na bieżąco z wiadomości wysłanymi gdy Conversations był rozłączony;
|
||||
* XEP-0352: Client State Indication informuje serwer o tym, czy Conversations działa w tle. Pozwala to na oszczędzanie łącza przez wstrzymywanie mniej ważnych komunikatów;
|
||||
* XEP-0363: HTTP File Upload umożliwia udostępnianie plików w konferencjach oraz rozłączonym kontaktom. Wymaga dodatkowego komponentu na Twoim serwerze.
|
||||
1
fastlane/metadata/android/pl-PL/short_description.txt
Normal file
1
fastlane/metadata/android/pl-PL/short_description.txt
Normal file
@ -0,0 +1 @@
|
||||
Szyfrowany, prosty w użyciu komunikator XMPP dla Twojego urządzenia mobilnego
|
||||
1
fastlane/metadata/android/ro/short_description.txt
Normal file
1
fastlane/metadata/android/ro/short_description.txt
Normal file
@ -0,0 +1 @@
|
||||
Client de mesagerie XMPP ușor de folosit, criptat, și optimizat pentru mobile
|
||||
4
fastlane/metadata/android/sq/changelogs/349.txt
Normal file
4
fastlane/metadata/android/sq/changelogs/349.txt
Normal file
@ -0,0 +1,4 @@
|
||||
* Sjellje për herë të parë rregullimi ekspertësh për të kryer pikasje kanalesh në shërbyes vendor, në vend se në search.jabber.network
|
||||
* Aktivizim, si parazgjedhje, i shenjave të për dërgim dhe heqje e rregullimit
|
||||
* Aktivizim, si parazgjedhje, i “Send button indicates status” dhe heqje e rregullimit
|
||||
* Kalim i rregullimit “Shërbim Move Backup and Foreground Service” te skena kryesore
|
||||
3
fastlane/metadata/android/sq/changelogs/351.txt
Normal file
3
fastlane/metadata/android/sq/changelogs/351.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* ndreqje për shpërngulje kartelash Jingle IBB
|
||||
* ndreqje për saktësime të përsëritura që zënë vend te baza e të dhënave
|
||||
* u kalua te Last Message Correction v1.1
|
||||
4
fastlane/metadata/android/sq/changelogs/353.txt
Normal file
4
fastlane/metadata/android/sq/changelogs/353.txt
Normal file
@ -0,0 +1,4 @@
|
||||
* lejim i përdoruesve të caktojnë nofkën e vet
|
||||
* rimarrje shkarkimi kartela të fshehtëzuara me OMEMO
|
||||
* Kanali tani përdor '#' si simbol në një avatar
|
||||
* Quicksy përdor “përherë”, si parazgjedhje për fshehtëzim OMEMO (e fsheh ikonën e kyçjes)
|
||||
1
fastlane/metadata/android/sq/changelogs/360.txt
Normal file
1
fastlane/metadata/android/sq/changelogs/360.txt
Normal file
@ -0,0 +1 @@
|
||||
* Mbulim për parametra URI XMPP ?register dher ?register;preauth
|
||||
1
fastlane/metadata/android/sq/changelogs/362.txt
Normal file
1
fastlane/metadata/android/sq/changelogs/362.txt
Normal file
@ -0,0 +1 @@
|
||||
* Mbulim për ndërrim të automatizuar teme në Android 10
|
||||
2
fastlane/metadata/android/sq/changelogs/364.txt
Normal file
2
fastlane/metadata/android/sq/changelogs/364.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Sjellje e paraparjes për PDF në Android 5+
|
||||
* Përdor 12 byte IV për OMEMO
|
||||
2
fastlane/metadata/android/sq/changelogs/367.txt
Normal file
2
fastlane/metadata/android/sq/changelogs/367.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Ndreqje përzgjedhjesh avatari në disa pajisje Android 10
|
||||
* Ndreqje shpërnguljesh kartelash për kartela të mëdha
|
||||
1
fastlane/metadata/android/sq/changelogs/379.txt
Normal file
1
fastlane/metadata/android/sq/changelogs/379.txt
Normal file
@ -0,0 +1 @@
|
||||
* Thirrje audio/video (Lyp mbulim nga shërbyesi në formë shërbyesish STUN dhe TURN të zbulueshëm përmes XEP-0215)
|
||||
2
fastlane/metadata/android/sq/changelogs/381.txt
Normal file
2
fastlane/metadata/android/sq/changelogs/381.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Sinjalizim i dëgjueshëm (rënie të zilesh, për fillim thirrjeje, për mbarim thirrjeje) për thirrje zanore.
|
||||
* U ndreq problem me dështim riprovimi thirrjeje video
|
||||
2
fastlane/metadata/android/sq/changelogs/382.txt
Normal file
2
fastlane/metadata/android/sq/changelogs/382.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Shtim butoni për të ndërruar kamerën gjatë thirrjeje video
|
||||
* U ndreqën thirrje me zë në tablete
|
||||
3
fastlane/metadata/android/sq/changelogs/383.txt
Normal file
3
fastlane/metadata/android/sq/changelogs/383.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Kalim i ikonës së thirrjes në të majtë, për të mbajtur ikonat e paneleve të tjerë në një vend të qëndrueshëm
|
||||
* Shfaq kohëzgjatje thirrjeje gjatë thirrjesh audio
|
||||
* Ndërprerje komunikimi për thirrje A/V (të njëjtët dy persona që i bëjnë thirrje njëri-tjetrit në të njëjtën kohë)
|
||||
2
fastlane/metadata/android/sq/changelogs/387.txt
Normal file
2
fastlane/metadata/android/sq/changelogs/387.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Ripunim i ndërfaqes për “Hyni me dëshmi”
|
||||
* Shtim aftësie për të fiksuar fjalosje në krye (shtoje te të parapëlqyer)
|
||||
3
fastlane/metadata/android/sq/changelogs/388.txt
Normal file
3
fastlane/metadata/android/sq/changelogs/388.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Zvogëlim jehone gjatë thirrjesh në disa pajisje
|
||||
* Ndreqje hyrjeje, kur fjalëkalimet përmbajnë shenja speciale
|
||||
* Luajtje tonesh për “rënie numri” dhe “i zënë” në altoparlant, gjatë thirrjesh video
|
||||
1
fastlane/metadata/android/sq/changelogs/390.txt
Normal file
1
fastlane/metadata/android/sq/changelogs/390.txt
Normal file
@ -0,0 +1 @@
|
||||
* Ofrim regjistrimi mesazhi zanor, kur i thirruri është i zënë
|
||||
3
fastlane/metadata/android/sq/changelogs/393.txt
Normal file
3
fastlane/metadata/android/sq/changelogs/393.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Shfaqje butoni ndihme, nëse thirrja A/V dështon
|
||||
* U ndreqën disa vithisje të bezdisshme
|
||||
* U ndreqën lidhje Jingle (shpërngulje kartelash + thirrje) me JID-ra të zhveshura
|
||||
2
fastlane/metadata/android/sq/changelogs/394.txt
Normal file
2
fastlane/metadata/android/sq/changelogs/394.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* U ndreq mosshfaqje njoftimesh nën disa kushte
|
||||
* U ndreqën probleme përputhshmërie dhe vithisje të lidhura me thirrje A/V
|
||||
3
fastlane/metadata/android/sq/changelogs/395.txt
Normal file
3
fastlane/metadata/android/sq/changelogs/395.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* shtim “Kthehuni te fjalosje”, te skena e thirrjeve audio
|
||||
* Përmirësim shkurtoresh tastiere
|
||||
* ndreqje të metash
|
||||
3
fastlane/metadata/android/sq/changelogs/397.txt
Normal file
3
fastlane/metadata/android/sq/changelogs/397.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Shtim aftësie për trajtim kartelash GPX
|
||||
* Përmirësim funksionimi për rikthim me kopjeruajtje
|
||||
* ndreqje të metash
|
||||
4
fastlane/metadata/android/sq/changelogs/398.txt
Normal file
4
fastlane/metadata/android/sq/changelogs/398.txt
Normal file
@ -0,0 +1,4 @@
|
||||
* Kërkim te biseda individuale
|
||||
* Njoftim përdoruesish, nëse dështon dërgimi i mesazhit
|
||||
* Mbajtje mend i emrave në ekran (nofkave) prej përdoruesish të Quicksy-t nga një rinisje në tjetrën
|
||||
* Shtim butoni për nisje të Orbot-it (Tor) që nga njoftim, në qoftë e nevojshme
|
||||
2
fastlane/metadata/android/sq/changelogs/401.txt
Normal file
2
fastlane/metadata/android/sq/changelogs/401.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* u ndreq kërkim në Android <= 5
|
||||
* optimizim konsumi kujtese
|
||||
3
fastlane/metadata/android/sq/changelogs/402.txt
Normal file
3
fastlane/metadata/android/sq/changelogs/402.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Ofrim prodhimi Ftese të Kollajtë, për shërbyes që e mbulojnë
|
||||
* Shfaqje GIF-esh dërguar prej Movim
|
||||
* depozitim avatarësh në fshehtinë
|
||||
3
fastlane/metadata/android/sq/changelogs/403.txt
Normal file
3
fastlane/metadata/android/sq/changelogs/403.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* U ndreqën probleme lidhjeje, kur llogari të ndryshme përdornin mekanizma të ndryshëm SCRAM
|
||||
* Shtim mbulimi për SCRAM-SHA-512
|
||||
* Lejim shpërngulje kartelash P2P (Jingle) me kontakt veten
|
||||
1
fastlane/metadata/android/sq/changelogs/404.txt
Normal file
1
fastlane/metadata/android/sq/changelogs/404.txt
Normal file
@ -0,0 +1 @@
|
||||
* përmirësime të vockla qëndrueshmërie për thirrje A/V
|
||||
1
fastlane/metadata/android/sq/changelogs/405.txt
Normal file
1
fastlane/metadata/android/sq/changelogs/405.txt
Normal file
@ -0,0 +1 @@
|
||||
* Quicksy: Marrje e automatizuar SMS-je verifikimi
|
||||
3
fastlane/metadata/android/sq/changelogs/407.txt
Normal file
3
fastlane/metadata/android/sq/changelogs/407.txt
Normal file
@ -0,0 +1,3 @@
|
||||
* Shfaq buton thirrjeje, për kontakte jo në linjë, nëse kanë deklaruar më parë mbulim të kësaj
|
||||
* Butoni “mbrapsht” nuk përfundon më thirrjen, kur thirrja është e lidhur
|
||||
* ndreqje të metash
|
||||
4
fastlane/metadata/android/sq/changelogs/42000.txt
Normal file
4
fastlane/metadata/android/sq/changelogs/42000.txt
Normal file
@ -0,0 +1,4 @@
|
||||
* Aftësi për të përzgjedhur zilen për thirrje ardhëse
|
||||
* Ndreqje pikasjeje ID-je kyçi OpenPGP për OpenKeychain 5.6+
|
||||
* Verifikim si duhet dëshmish TLS punycode
|
||||
* Përmirësim qëndrueshmërie vendosjeje sesioni RTP (thirrje)
|
||||
2
fastlane/metadata/android/sq/changelogs/42006.txt
Normal file
2
fastlane/metadata/android/sq/changelogs/42006.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Verifikim thirrjesh A/V me sesioni OMEMO që ekzistojnë që më parë
|
||||
* Përmirësim përputhshmërie me sendërtime WebRTC jo të bazuara libwebrt
|
||||
2
fastlane/metadata/android/sq/changelogs/42010.txt
Normal file
2
fastlane/metadata/android/sq/changelogs/42010.txt
Normal file
@ -0,0 +1,2 @@
|
||||
* Ndreqje të metash të ndryshme që lidhen me mbulim Tor-i
|
||||
* Përmirësim përputhshmërie thirrjesh me Dino
|
||||
1
fastlane/metadata/android/sq/changelogs/42012.txt
Normal file
1
fastlane/metadata/android/sq/changelogs/42012.txt
Normal file
@ -0,0 +1 @@
|
||||
* Ndreqje ngarkimesh/shkarkime HTTP për përdorues që nuk besojnë AD-ra sistemi
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user