diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e9eb28bd..c1bc78290 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,1147 +1,70 @@ # Changelog -### Version 2.13.0 - -* Easier access to 'Show QR code' -* Support PEP Native Bookmarks -* Add support for SDP Offer / Answer Model (Used by SIP gateways) -* Raise target API to Android 14 - -### Version 2.12.12 - -* Support Private DNS (DNS over TLS) -* Support themed launcher icon -* Fix rare permission issue when sharing files on Android 11+ - -### Version 2.12.11 - -* Bump libwebrtc dependency to M117 and bump libvpx -* Go back to AAC for voice messages -* Support per app language settings - -### Version 2.12.10 - -* support per conversation notification settings -* use opus for voice messages on Android 10 - -### Version 2.12.9 - -* Introduce new backup file format - -### Version 2.12.8 - -* Disable opening backup files (.ceb) from file manager - -### Version 2.12.7 - -* Remove channel discovery feature from Google Play version - -### Version 2.12.6 - -* Fix 'q' falsely being recognized as cyrillic - -### Version 2.12.5 - -* Bump Target SDK to 33 again -* Fix issues on servers supporting SASL2 w/o inline Stream Management - -### Version 2.12.4 - -* Revert Target SDK bump (back to 32) to fix various issues on Android 13 - -### Version 2.12.3 - -* Improve support for new emojis -* Add ability to remove account from server -* Show timestamp for calls - -### 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 -* Fix rare crash when opening notification - -### Version 2.10.0 - -* Show black bars when remote video does not match aspect ratio of screen -* Improve search performance -* Add setting to prevent screenshots - -### Version 2.9.13 - -* minor A/V improvements - -### Version 2.9.12 - -* Always verify domain name. No user overwrite -* Support roster pre authentication - -### Version 2.9.11 - -* Fixed 'No Connectivity' issues on Android 7.1 - -### Version 2.9.10 -* fix HTTP up/download for users that don’t trust system CAs - -### Version 2.9.9 - -* Various bug fixes around Tor support -* Improve call compatibility with Dino - -### Version 2.9.8 - -* Verify A/V calls with preexisting OMEMO sessions -* Improve compatibility with non libwebrtc WebRTC implementations - -### Version 2.9.7 - -* Ability to select incoming call ringtone -* Fix OpenPGP key id discovery for OpenKeychain 5.6+ -* Properly verify punycode TLS certificates -* Improve stability of RTP session establishment (calling) - -### Version 2.9.6 - -* Show call button for offline contacts if they previously announced support -* Back button no longer ends call when call is connected -* bug fixes - -### Version 2.9.5 - -* Quicksy: Automatically receive verification SMS - -### Version 2.9.4 -* minor stability improvements for A/V calls -* Conversations releases from here on forward require Android 5 - -### Version 2.9.3 - -* Fixed connectivity issues when different accounts used different SCRAM mechanisms -* Add support for SCRAM-SHA-512 -* Allow P2P (Jingle) file transfer with self contact - -### Version 2.9.2 - -* Offer Easy Invite generation on supporting servers -* Display GIFs send from Movim -* store avatars in cache - -### Version 2.9.1 - -* fixed search on Android <= 5 -* optimize memory consumption - -### Version 2.9.0 - -* Search individual conversations -* Notify user if message delivery fails -* Remember display names (nicks) from Quicksy users across restarts -* Add button to start Orbot (Tor) from notification if necessary - -### Version 2.8.10 - -* Handle GPX files -* Improve performance for backup restore -* bug fixes - -### Version 2.8.9 - -* add 'Return to chat' to audio call screen -* Improve keyboard shortcuts -* bug fixes - -### Version 2.8.8 - -* Fixed notifications not showing up under certain conditions -* Fixed compatibility issues and crashes related to A/V calls - -### Version 2.8.7 - -* Show help button if A/V call fails -* Fixed some annoying crashes -* Fixed Jingle connections (file transfer + calls) with bare JIDs - -### Version 2.8.6 - -* Offer to record voice message when callee is busy - -### Version 2.8.5 - -* Reduce echo during calls on some devices -* Fix login when passwords contains special characters -* Play dial and busy tones on speaker during video calls - -### Version 2.8.4 - -* Rework Login with certificate UI -* Add ability to pin chats on top (add to favorites) - -### Version 2.8.3 - -* Move call icon to the left in order to keep other toolbar icons in a consistent place -* Show call duration during audio calls -* Tie breaking for A/V calls (the same two people calling each other at the same time) - -### Version 2.8.2 - -* Add button to switch camera during video call -* Fixed voice calls on tablets - -### Version 2.8.1 - -* Audible feedback (dialing, call started, call ended) for voice calls. -* Fixed issue with retrying failed video call - -### Version 2.8.0 - -* Audio/Video calls (Requires server support in form of STUN and TURN servers discoverable via XEP-0215) - - -### Version 2.7.1 - -* Fix avatar selection on some Android 10 devices -* Fix file transfer for larger files - -### Version 2.7.0 - -* Provide PDF preview on Android 5+ -* Use 12 byte IVs for OMEMO - -### Version 2.6.4 - -* Support automatic theme switching on Android 10 - -### Version 2.6.3 - -* Support for ?register and ?register;preauth XMPP uri parameters - -### Version 2.6.2 -* let users set their own nick name -* resume download of OMEMO encrypted files -* Channels now use '#' as symbol in avatar -* Quicksy uses 'always' as OMEMO encryption default (hides lock icon) - -### Version 2.6.1 -* fixes for Jingle IBB file transfer -* fixes for repeated corrections filling up the database -* switched to Last Message Correction v1.1 - -### Version 2.6.0 -* Introduce expert setting to perform channel discovery on local server instead of [search.jabber.network](https://search.jabber.network) -* Enable delivery check marks by default and remove setting -* Enable ‘Send button indicates status’ by default and remove setting -* Move Backup and Foreground Service settings to main screen - -### Version 2.5.12 -* Jingle file transfer fixes -* Fixed OMEMO self healing (after backup restore) on servers w/o MAM - -### Version 2.5.11 -* Fixed crash on Android <5.0 - -### Version 2.5.10 -* Fixed crash on Xiaomi devices running Android 8.0 + 8.1 - -### Version 2.5.9 -* fixed minor security issues -* Share XMPP uri from channel search by long pressing a result - -### Version 2.5.8 -* fixed connection issues over Tor -* P2P file transfer (Jingle) now offers direct candidates -* Support XEP-0396: Jingle Encrypted Transports - OMEMO - -### Version 2.5.7 -* fixed crash when scanning QR codes on Android 6 and lower -* when sharing a message from and to Conversations insert it as quote - -### Version 2.5.6 -* fixes for Jingle file transfer -* fixed some rare crashes - -### Version 2.5.5 -* allow backups to be restored from anywhere -* bug fixes - -### Version 2.5.4 -* stability improvements for group chats and channels - -### Version 2.5.3 -* bug fixes for peer to peer file transfer (Jingle) -* fixed server info for unlimited/unknown max file size - -### Version 2.5.2 -* bug fixes - -### Version 2.5.1 -* minor bug fixes -* Set own OMEMO devices to inactive after not seeing them for 14 days. (was 7 days) - -### Version 2.5.0 -* Added channel search via search.jabbercat.org -* Reworked onboarding screens -* Warn when trying to enter domain address or channel address in Add Contact dialog - -### Version 2.4.3 -* Fixed display of private messages sent from another client -* Fixed backup creation on long time installations - -### Version 2.4.2 -* Fix image preview on older Android version - -### Version 2.4.1 -* Fixed crash in message view - -### Version 2.4.0 -* New Backup / Restore feature -* Clearly distinguish between (private) group chats and (public) channels -* Redesigned participants view for group chats and channels -* Redesigned create new contact/group chat/channel flow in Start Conversation screen - - -### Version 2.3.12 -* Fixed rare crash on start up -* Fixed avatar not being refreshed in group chats - -### Version 2.3.11 -* Support for Android 9 'message style' notifications -* OMEMO stability improvements -* Added ability to destroy group chats -* Do not show deleted files in media browser -* Added 'Keep Original' as video quality choice - -### Version 2.3.10 -* lower minimum required Android version to 4.1 -* Synchronize group chat join/leaves across multiple clients -* Fixed sending PGP encrypted messages from quick reply - -### Version 2.3.9 -* OMEMO stability improvements -* Context menu when long pressing avatar in 1:1 chat - -### Version 2.3.8 -* make PEP avatars public to play nice with Prosody 0.11 -* Fixed re-sending failed files in group chats - -### Version 2.3.7 -* long press on 'allow' or 'add back' snackbar to bring up 'reject' -* bug fixes for Android 9 - -### Version 2.3.6 -* Improved handling of bookmark nicks -* Show send PM menu entry in anonymous MUCs - -### Version 2.3.5 -* Fixed group chat mentions when nick ends in . (dot) -* Fixed Conversations not asking for permissions after direct share -* Fixed CVE-2018-18467 - -### Version 2.3.4 -* Fixed sending OMEMO files to ChatSecure - -### Version 2.3.3 -* Fixed connection issues with user@ip type JIDs - -### Version 2.3.2 -* Fixed OMEMO on Android 5.1 & 6.0 -* Added setting for video quality -* bug fixes - -### Version 2.3.1 -* Stronger compression for video files -* Use SNI on STARTTLS to fix gtalk -* Fix Quiet Hours on Android 8+ -* Use Consistent Color Generation (XEP-0392) - -### Version 2.3.0 -* Preview and ask for confirmation before sending media files -* View per conversation media files in contact and conference details screens -* Enable foreground service by default for Android 8 (notification can be disabled by long pressing it) -* Audio player: disable screen and switch to ear piece -* Support TLSv1.3 (ejabberd ≤ 18.06 is incompatible with openssl 1.1.1 - Update ejabberd or downgrade openssl if you get ›Stream opening error‹) - - -### Version 2.2.9 -* Store bookmarks in PEP if server has ability to convert to old bookmarks -* Show Jabber IDs from address book in Start Conversation screen - -### Version 2.2.8 -* fixed regression that broke XMPP uris - -### Version 2.2.7 -* stability improvements - -### Version 2.2.6 -* support old MAM version to work with Prosody - -### Version 2.2.5 -* Persist MUC avatar across restarts / show in bookmarks -* Offer Paste as quote for HTML content - -### Version 2.2.4 -* Use group chat name as primary identifier -* Show group name and subject in group chat details -* Upload group chat avatar on compatible servers - -### Version 2.2.3 -* Introduce Expert Setting to enable direct search -* Introduce Paste As Quote on Android 6+ -* Fixed issues with HTTP Upload - -### Version 2.2.2 -* Fixed connection problems with TLS1.3 servers -* Attempt to delete broken bundles from PEP -* Use FCM instead of GCM - -### Version 2.2.1 -* improved recording quality -* load map tiles over Tor if enabled - -### Version 2.2.0 -* Integrate Voice Recorder -* Integrate Share Location -* Added ability to search messages - -### Version 2.1.4 -* bug fixes - -### Version 2.1.3 -* Do not process stanzas with invalid JIDs - -### Version 2.1.2 -* Fixed avatars not being displayed on new installs - -### Version 2.1.1 -* Improved start up performance -* bug fixes - -### Version 2.1.0 -* Added configurable font size -* Added global OMEMO preference -* Added scroll to bottom button -* Only mark visible messages as read - - -### Version 2.0.0 -* OMEMO by default for everything but public group chats -* Integrate QR code scanner (requires camera permission) -* Removed support for OTR -* Removed support for customizable resources -* Removed slide out panel for conversation overview -* Add ability to change status message -* Highlight irregular unicode code blocks in Jabber IDs -* Conversations now requires Android 4.4+ - -### Version 1.23.8 -* bug fixes - -### Version 1.23.7 -* Improved MAM support + bug fixes - -### Version 1.23.6 -* Fixed crash on receiving invalid HTTP slot response - -### Version 1.23.5 -* improved self chat - -### Version 1.23.4 -* keep screen on while playing audio -* send delivery receipts after MAM catch-up -* reduce number of wake locks - -### Version 1.23.3 -* Fixed OMEMO device list not being announced - -### Version 1.23.2 -* Removed NFC support -* upload Avatars as JPEG -* reduce APK size - -### Version 1.23.1 -* Show icon instead of image preview in conversation overview -* fixed loop when trying to decrypt with YubiKey - -### Version 1.23.0 -* Support for read markers in private, non-anonymous group chats - -### Version 1.22.1 -* Disable swipe to left to end conversation -* Fixed 'No permission to access …' when opening files shared from the SD card -* Always open URLs in new tab - -### Version 1.22.0 -* Text markup *bold*, _italic_,`monospace` and ~strikethrough~ -* Use same emoji style on all Android versions -* Display emojis slightly larger within continuous text - -### Version 1.21.0 -* Inline player for audio messages -* Stronger compression for long videos -* Long press the 'add back' button to show block menu - -### Version 1.20.1 -* fixed OTR encrypted file transfer - -### Version 1.20.0 -* presence subscription no longer required for OMEMO on compatible servers -* display emoji-only messages slightly larger - -### Version 1.19.5 -* fixed connection loop on Android <4.4 - -### Version 1.19.4 -* work around for OpensFire’s self signed certs -* use VPN’s DNS servers first - -### Version 1.19.3 -* Do not create foreground service when all accounts are disabled -* bug fixes - -### Version 1.19.2 -* bug fixes - -### Version 1.19.1 -* Made DNSSEC hostname validation opt-in - -### Version 1.19.0 -* Added 'App Shortcuts' to quickly access frequent contacts -* Use DNSSEC to verify hostname instead of domain in certificate -* Setting to enable Heads-up notifications -* Added date separators in message view - -### Version 1.18.5 -* colorize send button only after history is caught up -* improved MAM catchup strategy - -### Version 1.18.4 -* fixed UI freezes during connection timeout -* fixed notification sound playing twice -* fixed conversations being marked as read -* removed 'copy text' in favor of 'select text' and 'share with' - -### Version 1.18.3 -* limited GPG encryption for MUC offline members - -### Version 1.18.2 -* added support for Android Auto -* fixed HTTP Download over Tor -* work around for nimbuzz.com MUCs - -### Version 1.18.1 -* bug fixes - -### Version 1.18.0 -* Conversations <1.16.0 will be unable to receive OMEMO encrypted messages -* OMEMO: put auth tag into key (verify auth tag as well) -* offer to block entire domain in message from stranger snackbar -* treat URL as file if URL is in oob or contains key - -### Version 1.17.1 -* Switch Aztec to QR for faster scans -* Fixed unread counter for image messages - -### Version 1.17.0 -* Do not notify for messages from strangers by default -* Blocking a JID closes the corresponding conversation -* Show message sender in conversation overview -* Show unread counter for every conversation -* Send typing notifications in private, non-anonymous MUCs -* Support for the latest MAM namespace -* Icons for attach menu - -### Version 1.16.2 -* change mam catchup strategy. support mam:1 -* bug fixes - -### Version 1.16.1 -* UI performance fixes -* bug fixes - -### Version 1.16.0 -* configurable client side message retention period -* compress videos before sending them - -### Version 1.15.5 -* show nick as bold text when mentioned in conference -* bug fixes - -### Version 1.15.4 -* bug fixes - -### Version 1.15.3 -* show offline contacts in MUC as grayed-out -* don't transcode gifs. add overlay indication to gifs -* bug fixes - -### Version 1.15.2 -* bug fixes - -### Version 1.15.1 -* support for POSH (RFC7711) -* support for quoting messages (via select text) -* verified messages show shield icon. unverified messages show lock - -### Version 1.15.0 -* New [Blind Trust Before Verification](https://gultsch.de/trust.html) mode -* Easily share Barcode and XMPP uri from Account details -* Automatically deactivate own devices after 7 day of inactivity -* Improvements fo doze/push mode -* bug fixes - -### Version 1.14.9 -* warn in account details when data saver is enabled -* automatically enable foreground service after detecting frequent restarts -* bug fixes - -### Version 1.14.8 -* bug fixes - -### Version 1.14.7 -* error message accessible via context menu for failed messages -* don't include pgp signature in anonymous mucs -* bug fixes - -### Version 1.14.6 -* make error notification dismissible -* bug fixes - - -### Version 1.14.5 -* expert setting to delete OMEMO identities -* bug fixes - -### Version 1.14.4 -* bug fixes - -### Version 1.14.3 -* XEP-0377: Spam Reporting -* fix rare start up crashes - -### Version 1.14.2 -* support ANONYMOUS SASL -* bug fixes - -### Version 1.14.1 -* Press lock icon to see why OMEMO is deactivated -* bug fixes - -### Version 1.14.0 -* Improvements for N -* Quick Reply to Notifications on N -* Don't download avatars and files when data saver is on -* bug fixes - -### Version 1.13.9 -* bug fixes - -### Version 1.13.8 -* show identities instead of resources in selection dialog -* allow TLS direct connect when port is set to 5223 -* bug fixes - -### Version 1.13.7 -* bug fixes - -### Version 1.13.6 -* thumbnails for videos -* bug fixes - -### Version 1.13.5 -* bug fixes - -### Version 1.13.4 -* support jingle ft:4 -* show contact as DND if one resource is -* bug fixes - -### Version 1.13.3 -* bug fixes - -### Version 1.13.2 -* new PGP decryption logic -* bug fixes - -### Version 1.13.1 -* changed some colors in dark theme -* fixed fall-back message for OMEMO - -### Version 1.13.0 -* configurable dark theme -* opt-in to share Last User Interaction - -### Version 1.12.9 -* make grace period configurable - -### Version 1.12.8 -* more bug fixes :-( - -### Version 1.12.7 -* bug fixes - -### Version 1.12.6 -* bug fixes - -### Version 1.12.5 -* new create conference dialog -* show first unread message on top -* show geo uri as links -* circumvent long message DOS - -### Version 1.12.4 -* show offline members in conference (needs server support) -* various bug fixes - -### Version 1.12.3 -* make omemo default when all resources support it -* show presence of other resources as template -* start typing in StartConversationsActivity to search -* various bug fixes and improvements - -### Version 1.12.2 -* fixed pgp presence signing - -### Version 1.12.1 -* small bug fixes - -### Version 1.12.0 -* new welcome screen that makes it easier to register account -* expert setting to modify presence - -### Version 1.11.7 -* Share xmpp uri from conference details -* add setting to allow quick sharing -* various bug fixes - -### Version 1.11.6 -* added preference to disable notification light -* various bug fixes - -### Version 1.11.5 -* check file ownership to not accidentally share private files - -### Version 1.11.4 -* fixed a bug where contacts are shown as offline -* improved broken PEP detection - -### Version 1.11.3 -* check maximum file size when using HTTP Upload -* properly calculate caps hash - -### Version 1.11.2 -* only add image files to media scanner -* allow to delete files -* various bug fixes - -### Version 1.11.1 -* fixed some bugs when sharing files with Conversations - -### Version 1.11.0 -* OMEMO encrypted conferences - -### Version 1.10.1 -* made message correction opt-in -* various bug fixes - -### Version 1.10.0 -* Support for XEP-0357: Push Notifications -* Support for XEP-0308: Last Message Correction -* introduced build flavors to make dependence on play-services optional - -### Version 1.9.4 -* prevent cleared Conversations from reloading history with MAM -* various MAM fixes - -### Version 1.9.3 -* expert setting that enables host and port configuration -* expert setting opt-out of bookmark autojoin handling -* offer to rejoin a conference after server sent unavailable -* internal rewrites - -### Version 1.9.2 -* prevent startup crash on Sailfish OS -* minor bug fixes - -### Version 1.9.1 -* minor bug fixes incl. a workaround for nimbuzz.com - -### Version 1.9.0 -* Per conference notification settings -* Let user decide whether to compress pictures -* Support for XEP-0368 -* Ask user to exclude Conversations from battery optimizations - -### Version 1.8.4 -* prompt to trust own OMEMO devices -* fixed rotation issues in avatar publication -* invite non-contact JIDs to conferences - -### Version 1.8.3 -* brought text selection back - -### Version 1.8.2 -* fixed stuck at 'connecting...' bug -* make message box behave correctly with multiple links - -### Version 1.8.1 -* enabled direct share on Android 6.0 -* ask for permissions on Android 6.0 -* notify on MAM catchup messages -* bug fixes - -### Version 1.8.0 -* TOR/ORBOT support in advanced settings -* show vcard avatars of participants in a conference - -### Version 1.7.3 -* fixed PGP encrypted file transfer -* fixed repeating messages in slack conferences - -### Version 1.7.2 -* decode PGP messages in background - -### Version 1.7.1 -* performance improvements when opening a conversation - -### Version 1.7.0 -* CAPTCHA support -* SASL EXTERNAL (client certificates) -* fetching MUC history via MAM -* redownload deleted files from HTTP hosts -* Expert setting to automatically set presence -* bug fixes - -### Version 1.6.11 -* tab completion for MUC nicks -* history export -* bug fixes - -### Version 1.6.10 -* fixed facebook login -* fixed bug with ejabberd mam -* use official HTTP File Upload namespace - -### Version 1.6.9 -* basic keyboard support - -### Version 1.6.8 -* reworked 'enter is send' setting -* reworked DNS server discovery on lolipop devices -* various bug fixes - -### Version 1.6.7 -* bug fixes - -### Version 1.6.6 -* best 1.6 release yet - -### Version 1.6.5 -* more OMEMO fixes - -### Version 1.6.4 -* setting to enable white chat bubbles -* limit OMEMO key publish attempts to work around broken PEP -* various bug fixes - -### Version 1.6.3 -* bug fixes - -### Version 1.6.2 -* fixed issues with connection time out when server does not support ping - -### Version 1.6.1 -* fixed crashes - -### Version 1.6.0 -* new multi-end-to-multi-end encryption method -* redesigned chat bubbles -* show unexpected encryption changes as red chat bubbles -* always notify in private/non-anonymous conferences - -### Version 1.5.1 -* fixed rare crashes -* improved otr support - -### Version 1.5.0 -* upload files to HTTP host and share them in MUCs. requires new [HttpUploadComponent](https://github.com/siacs/HttpUploadComponent) on server side - -### Version 1.4.5 -* fixes to message parser to not display some ejabberd muc status messages - -### Version 1.4.4 -* added unread count badges on supported devices -* rewrote message parser - -### Version 1.4.0 -* send button turns into quick action button to offer faster access to take photo, send location or record audio -* visually separate merged messages -* faster reconnects of failed accounts after network switches -* r/o vcard avatars for contacts -* various bug fixes - -### Version 1.3.0 -* swipe conversations to end them -* quickly enable / disable account via slider -* share multiple images at once -* expert option to distrust system CAs -* mlink compatibility -* bug fixes - -### Version 1.2.0 -* Send current location. (requires [plugin](https://play.google.com/store/apps/details?id=eu.siacs.conversations.sharelocation)) -* Invite multiple contacts at once -* performance improvements -* bug fixes - -### Version 1.1.0 -* Typing notifications (must be turned on in settings) -* Various UI performance improvements -* bug fixes - -### Version 1.0.4 -* load avatars asynchronously on start up -* support for XEP-0092: Software Version - -### Version 1.0.3 -* load messages asynchronously on start up -* bug fixes - -### Version 1.0.2 -* skipped - -### Version 1.0.1 -* accept more ciphers - -### Version 1.0 -* MUC controls (Affiliation changes) -* Added download button to notification -* Added check box to hide offline contacts -* Use Material theme and icons on Android L -* Improved security -* bug fixes + code clean up - -### Version 0.10 -* Support for Message Archive Management -* Dynamically load message history -* Ability to block contacts -* New UI to verify fingerprints -* Ability to change password on server -* removed stream compression -* quiet hours -* fixed connection issues on ipv6 servers - -### Version 0.9.3 -* bug fixes - -### Version 0.9.2 -* more bug fixes - -### Version 0.9.1 -* bug fixes including some that caused Conversations to crash on start - -### Version 0.9 -* arbitrary file transfer -* more options to verify OTR (SMP, QR Codes, NFC) -* ability to create instant conferences -* r/o dynamic tags (presence and roster groups) -* optional foreground service (expert option) -* added SCRAM-SHA1 login method -* bug fixes - -### Version 0.8.4 -* bug fixes - -### Version 0.8.3 -* increased UI performance -* fixed rotation bugs - -### Version 0.8.2 -* Share contacts via QR codes or NFC -* Slightly improved UI -* minor bug fixes - -### Version 0.8.1 -* minor bug fixes - -### Version 0.8 -* Download HTTP images -* Show avatars in MUC tiles -* Disabled SSLv3 -* Performance improvements -* bug fixes - -### Version 0.7.3 -* revised tablet ui -* internal rewrites -* bug fixes - -### Version 0.7.2 -* show full timestamp in messages -* brought back option to use JID to identify conferences -* optionally request delivery receipts (expert option) -* more languages -* bug fixes - -### Version 0.7.1 -* Optionally use send button as status indicator - -### Version 0.7 -* Ability to disable notifications for single conversations -* Merge messages in chat bubbles -* Fixes for OpenPGP and OTR (please republish your public key) -* Improved reliability on sending messages -* Join password protected Conferences -* Configurable font size -* Expert options for encryption - -### Version 0.6 -* Support for server side avatars -* save images in gallery -* show contact name and picture in non-anonymous conferences -* reworked account creation -* various bug fixes - -### Version 0.5.2 -* minor bug fixes - -### Version 0.5.1 -* couple of small bug fixes that have been missed in 0.5 -* complete translations for Swedish, Dutch, German, Spanish, French, Russian - -### Version 0.5 -* UI overhaul -* MUC / Conference bookmarks -* A lot of bug fixes - -### Version 0.4 -* OTR file encryption -* keep OTR messages and files on device until both parties or online at the same time -* XEP-0333. Mark whether the other party has read your messages -* Delayed messages are now tagged properly -* Share images from the Gallery -* Infinite history scrolling -* Mark the last used presence in presence selection dialog - -### Version 0.3 -* Mostly bug fixes and internal rewrites -* Touch contact picture in conference to highlight -* Long press on received image to share -* made OTR more reliable -* improved issues with occasional message lost -* experimental conference encryption. (see FAQ) - -### Version 0.2.3 -* regression fix with receiving encrypted images - -### Version 0.2.2 -* Ability to take photos directly -* Improved openPGP offline handling -* Various bug fixes -* Updated Translations - -### Version 0.2.1 -* Various bug fixes -* Updated Translations - -### Version 0.2 -* Image file transfer -* Better integration with OpenKeychain (PGP encryption) -* Nicer conversation tiles for conferences -* Ability to clear conversation history -* A lot of bug fixes and code clean up - -### Version 0.1.3 -* Switched to minidns library to resolve SRV records -* Faster DNS in some cases -* Enabled stream compression -* Added permanent notification when an account fails to connect -* Various bug fixes involving message notifications -* Added support for DIGEST-MD5 auth - -### Version 0.1.2 -* Various bug fixes relating to conferences -* Further DNS lookup improvements - -### Version 0.1.1 -* Fixed the 'server not found' bug - -### Version 0.1 -* Initial release +### another.im 2.3.2 + * TODO + +### Conversations Classic 2.3.1 +* Added account indicator +* Group chats are now marked with an additional icon +* Saved messages now have a brighter background color +* Added nickname in reply in Multi-User Chats(MUC) +* Contact status is now displayed separately +* Updated Russian and Ukrainian localizations + +### Conversations Classic 2.3.0 +* Add Cheogram mention on about screen +* Fix save to downloads menu item visibility +* Update Russian and Ukrainian localizations +* Update caps node field +* Notifications throttling setting for all conversations +* Fix gestures handling conflict in commands +* Support navigation via nav bar +* Per conversation custom backgrounds +* Use original file name in chat attachements +* Support avatars shape customization +* Medium font for unread conversation title +* New settings screen +* Show MUC subject as a pinned message + +### Conversations Classic 2.2.4 +* Get rid of outdated kernel version calculation code +* Fix contact long click crash +* Clean code and optimize imports +* Render reply message author name on the top of replied text +* Fix conversation position handling while grouping enabled +* Properly show contact name in MUC + +### Conversations Classic 2.2.2 + +_The app was forked from Conversations Version 2.13.0 and renamed to Conversations Classic._ + +* Numerous small fixes +* Info about PM on MUC details screen +* Temporary disable domain JID sanity check +* Support 'Save to downloads' action for attachments +* Reactions +* New UI category in expert settings +* Better self contact handling +* Split roster by different accounts +* Group conversation by tags +* Save expanded items in persistent storage +* Fix not working accent color +* Support conversations grouping on ShareWith screen +* LED color changed to blue +* Show real reply text instead of fallback +* New launcher icons +* Fix multiline reply quote +* Fix swipe to reply handling +* Add leakCanary +* Log reason for SM resume failure +* Fix notifications fallback color +* Get rid of command blicks +* Add checkbox for auto downloading all files when connected to Wi-Fi +* Improve scroll to bottom button behavior +* Add notification sound throttling setting, per each contact separately +* Get rid of upstream bug reports system +* Add contact JID copy button +* Move restore backup button from context menu on welcome screen +* Improve replies on file or image messages +* Fix reactions handling in case of missing reply stanza +* Fix replies to audio messages diff --git a/FAQ.md b/FAQ.md new file mode 100644 index 000000000..0e8b4e9eb --- /dev/null +++ b/FAQ.md @@ -0,0 +1,224 @@ +# FAQ + +## General + +### How do I install another.im? + +another.im is entirely open source and licensed under GPLv3. So if you are a +software developer you can check out the sources from GitHub and use Gradle to +build your apk file. + +### How do I create an account? +XMPP, like email, is a federated protocol, which means that there is not one company you can create an *official XMPP account* with. Instead there are hundreds, or even thousands, of providers out there. One of those providers is [another.im](https://another.im). If you don’t like to use *another.im* use a web search engine of your choice to find another provider. Or maybe your university has one. Or you can run your own. Or ask a friend to run one. Once you've found one, you can use another.im to create an account. Just select *register new account* on server within the create account dialog. + +#### Domain hosting +Using your own domain not only gives you a more recognizable Jabber ID, it also gives you the flexibility to migrate your account between different XMPP providers. This is a good compromise between the responsibilities of having to operate your own server and the downsides of being dependent on a single provider. + +#### Running your own +If you already have a server somewhere and are willing and able to put the necessary work in you can run your own XMPP server. + +As of 2023 XMPP has reached a level of maturity where all major XMPP servers ([ejabberd](https://ejabberd.im), [Prosody](https://prosody.im), [Openfire](https://www.igniterealtime.org/projects/openfire/), [Tigase](https://tigase.net/xmpp-server/)) should work well with another.im. + +Interoperability with Prosody and ejabberd is tested fairly regularly just because of their market share but we occasionally test with other servers too and fix issues as soon as we are being made aware of them. + +### Where can I set up a custom hostname / port +another.im will automatically look up the SRV records for your domain name +which can point to any hostname port combination. If your server doesn’t provide +those please contact your admin and have them read +[this](http://prosody.im/doc/dns#srv_records). If your server operator is unwilling +to fix this you can enable advanced server settings in the expert settings of +another.im. + +### I get 'Incompatible Server' + +As regular user you should be picking a different server. The server you selected +is probably insecure and/or very old. + +If you are a server administrator you should make sure that your server provides +either STARTTLS or [XEP-0368: SRV records for XMPP over TLS](https://xmpp.org/extensions/xep-0368.html). + +On rare occasions this error message might also be caused by a server not providing +a login (SASL) mechanism that another.im is able to handle. another.im supports +SCRAM-SHA1, PLAIN, EXTERNAL (client certs) and DIGEST-MD5. + +### I get 'Bind failure'. What does that mean? + +Some Bind failures are transient and resolve themselves after a reconnect. + +When trying to connect to OpenFire the bind failure can be a permanent problem when the domain part of the Jabber ID entered in another.im doesn’t match the domain the OpenFire server feels responsible for. For example OpenFire is configured to use the domain `a.tld` but the Jabber ID entered is `user@b.tld` where `b.tld` also points to the same host. During bind OpenFire tries to reassign the Jabber to `user@a.tld`. another.im doesn’t like that. +This can be fixed by creating a new account in another.im that uses the Jabber ID `user@a.tld`. + +Note: This is kind of a weird quirk in OpenFire. Most other servers would just throw a 'Server not responsible for domain' error instead of attempting to reassign the Jabber ID. + +Maybe you attempted to use the Jabber ID `test@b.tld` because `a.tld` doesn’t point to the correct host. In that case you might have to enable the extended connection settings in the expert settings of another.im and set a host name. + +### I get 'Stream opening error'. What does that mean? + +In most cases this error is caused by ejabberd advertising support for TLSv1.3 but not properly supporting it. This can happen if the OpenSSL version on the server already supports TLSv1.3 but the fast\_tls wrapper library used by ejabberd not (properly) support it. Upgrading fast\_tls and ejabberd or - theoretically - downgrading OpenSSL should fix the issue. A work around is to explicitly disable TLSv1.3 support in the ejabberd configuration. More information can be found on [this issue on the ejabberd issue tracker](https://github.com/processone/ejabberd/issues/2614). + +**The battery consumption and the entire behavior of another.im will remain the same (as good or as bad as it was before). Why is Google doing this to you? We have no idea.** + +#### Android <= 7.1 or another.im from F-Droid (all Android versions) +The foreground notification is still controlled over the expert settings within another.im as it always has been. Whether or not you need to enable it depends on how aggressive the non-standard 'power saving' features are that your phone vendor has built into the operating system. + +#### Android 8.x +Long press the permanent notification and disable that particular type of notification by moving the slider to the left. This will make the notification disappear but create another notification (this time created by the operating system itself.) that will complain about another.im (and other apps) using battery. Starting with Android 8.1 you can disable that notification again with the same method described above. + +#### Android 9.0+ +Long press the permanent notification and press the info `(i)` button to get into the App info screen. In that screen touch the 'Notification' entry. In the next screen remove the checkbox for the 'Foreground service' entry. + +### another.im doesn’t work for me. Where can I get help? + +You can join our conference room on [`xmppclient-dev@conference.another.im`](xmpp:xmppclient-dev@conference.another.im). +A lot of people in there are able to answer basic questions about the usage of +another.im or can provide you with tips on running your own XMPP server. If +you found a bug or your app crashes please read the Developer / Report Bugs +section of this document. + +### How does the address book integration work? + +The address book integration was designed to protect your privacy. another.im +neither uploads contacts from your address book to your server nor fills your +address book with unnecessary contacts from your online roster. If you manually +add a Jabber ID to your phones address book another.im will use the name and +the profile picture of this contact. To make the process of adding Jabber IDs to +your address book easier you can click on the profile picture in the contact +details within another.im. This will start an "add to address book" intent +with the JID as the payload. This doesn't require another.im to have write +permissions on your address book but also doesn't require you to copy/paste a +JID from one app to another. + +### I get 'delivery failed' on my messages + +If you get delivery failed on images it's probably because the recipient lost +network connectivity during reception. In that case you can try it again at a +later time. + +For text messages the answer to your question is a little bit more complex. +When you see 'delivery failed' on text messages, it is always something that is +being reported by the server. The most common reason for this is that the +recipient failed to resume a connection. When a client loses connectivity for a +short time the client usually has a five minute window to pick up that +connection again. When the client fails to do so because the network +connectivity is out for longer than that all messages sent to that client will +be returned to the sender resulting in a delivery failed. + +Instead of returning a message to the sender both ejabberd and prosody have the +ability to store messages in offline storage when the disconnecting client is +the only client. In prosody this is available via an extra module called +```mod_smacks_offline```. In ejabberd this is available via some configuration +settings. + +Other less common reasons are that the message you sent didn't meet some +criteria enforced by the server (too large, too many). Another reason could be +that the recipient is offline and the server doesn't provide offline storage. + +Usually you are able to distinguish between these two groups in the fact that +the first one happens always after some time and the second one happens almost +instantly. + +### Where can I see the status of my contacts? How can I set a status or priority? + +Statuses are a horrible metric. Setting them manually to a proper value rarely +works because users are either lazy or just forget about them. Setting them +automatically does not provide quality results either. Keyboard or mouse +activity as indicator for example fails when the user is just looking at +something (reading an article, watching a movie). Furthermore automatic setting +of status always implies an impact on your privacy (are you sure you want +everybody in your contact list to know that you have been using your computer at +4am‽). + +In the past status has been used to judge the likelihood of whether or not your +messages are being read. This is no longer necessary. With Chat Markers +(XEP-0333, supported by Conversations since 0.4) we have the ability to **know** +whether or not your messages are being read. Similar things can be said for +priorities. In the past priorities have been used (by servers, not by clients!) +to route your messages to one specific client. With carbon messages (XEP-0280, +supported by Conversations since 0.1) this is no longer necessary. Using +priorities to route OTR messages isn't practical either because they are not +changeable on the fly. Metrics like last active client (the client which sent +the last message) are much better. + +Unfortunately these modern replacements for legacy XMPP features are not widely +adopted. However another.im should be an instant messenger for the future and +instead of making another.im compatible with the past we should work on +implementing new, improved technologies and getting them into other XMPP clients +as well. + +Making these status and priority optional isn't a solution either because +another.im is trying to get rid of old behaviours and set an example for +other clients. + + +### How do I backup / move another.im to a new device? + +Use the Backup button in the Settings. + +### another.im is missing a certain feature + +Please report it to our XMPP conference [`xmppclient-dev@conference.another.im`](xmpp:xmppclient-dev@conference.another.im). + +## Security + +### Why are there two end-to-end encryption methods and which one should I choose? + +* OMEMO works even when a contact is offline, and works with multiple devices. It also allows asynchronous file-transfer when the server has [HTTP File Upload](http://xmpp.org/extensions/xep-0363.html). However, OMEMO not widely support and is currently implemented only [by a handful of clients](https://omemo.top). +* OpenPGP (XEP-0027) is a very old encryption method that has some advantages over OMEMO but should only be used by people who know what they are doing. + +### How do I use OpenPGP + +Before you continue reading you should note that the OpenPGP support in +another.im is experimental. This is not because it will make the app unstable +but because the fundamental concepts of PGP aren't ready for widespread use. +The way PGP works is that you trust Key IDs instead of JID's or email addresses. +So in theory your contact list should consist of Public-Key-IDs instead of +JID's. But of course no email or XMPP client out there implements these +concepts. Plus PGP in the context of instant messaging has a couple of +downsides: It is vulnerable to replay attacks and it is rather verbose. + +To use OpenPGP you have to install the open source app +[OpenKeychain](http://www.openkeychain.org) and then long press on the account in +manage accounts and choose renew PGP announcement from the contextual menu. + +### OMEMO is grayed out. What do I do? +OMEMO is only available in 1:1 chats and private (members-only, non-anonymous) group chats. Encrypting public group chats makes little to no sense since anyone (including a hypothetical attacker) can join and a user couldn’t possibily verify all participants anyway. Furthermore for a lot of public group chat it is desirable to give new comers access to the full history. + +### OMEMO doesn’t work. I get a 'Something went wrong' message in the 'Trust OMEMO Fingerprints' screen. +OMEMO has two requirements: Your server and the server of your contact need to support PEP. Both of you can verify that individually by opening your account details and selecting ```Server info``` from the menu. The appearing table should list PEP as available. The second requirement is that the initial sender needs to have access to the published key material. This can either be achieved by having mutual presence subscription (you can verify that by opening the contact details and see if both check boxes *Send presence updates* and *Receive presence updates* are checked) or by using a server that makes the public key material accessible to anyone. In the [Compliance Tester](https://compliance.conversations.im) this is indicated by the 'OMEMO' feature. Since it is very common that the first messages are exchanged *before* adding each other to the contact list it is desirable to use servers that have 'OMEMO support'. + +### How does the encryption for group chats work? + +#### OMEMO + +OMEMO encryption works only in private (members only) conferences that are non-anonymous. Non-anonymous (being able to discover the real JID of other participants) is a technical requirement to discover the key material. Members only is a sort of arbitrary requirement imposed by another.im. (see 'OMEMO is grayed out') + +The server of all participants need to pass the OMEMO [Compliance Test](https://conversations.im/compliance/). +In other words they either need to run ejabberd 18.01+ or Prosody 0.11+. + +(Alternatively it would also work if all participants had each other in their contact list; But that rarely is the case in larger group chats.) + +The owner of a conference can make a public conference private by going into the conference +details and hit the settings button (the one with the gears) and select both *private* and +*members only*. + +#### OpenPGP + +Every participant has to announce their OpenPGP key (see answer above). +If you would like to send encrypted messages to a conference you have to make +sure that you have every participant's public key in your OpenKeychain. +Right now there is no check in another.im to ensure that. +You have to take care of that yourself. Go to the conference details and +touch every key id (The hexadecimal number below a contact). This will send you +to OpenKeychain which will assist you on adding the key. This works best in +very small conferences with contacts you are already using OpenPGP with. This +feature is regarded experimental. another.im is the only client that uses +XEP-0027 with conferences. (The XEP neither specifically allows nor disallows +this.) + +### What is Blind Trust Before Verification / why are messages marked with a red lock? + +Read more about the concept on https://gultsch.de/trust.html + +### I found a bug + +Please report it to our XMPP conference [`xmppclient-dev@conference.narayana.im`](xmpp:xmppclient-dev@conference.narayana.im). diff --git a/README.md b/README.md index b8bb69fef..c0c63f584 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,44 @@
another.im: the very last word in instant messaging
+another.im: the very last word in instant messaging
+ + + +## About app and us + +the Another Instant Messenger is not a messenger, +> don't believe the words. + + +we just offer you a standardized xmpp-client with predicted features which work equally on all platforms.\ +in our clients we have realized pure XMPP and you won't step on a hedgehog unexpectedly when you communicate with another xmpp client or server. + + +because you buy our open-sourced bitcoin,\ +we decided to offer you to buy our open-sourced messenger.\ +ha-ha joke.\ +it's free, really. GPLv3, whatever. + + +for Android, it's just an improved fork of Conversations,\ +for iOS, it's our development from scratch,\ +for Desktops we're polako [looking](xmpp:xmppclient-dev@conference.another.im). for devs. + + +all necessary XEP's was realized by Conversations devs but we added a cherry on top of this.\ +on the server side we are offering free to use Prosody server,\ +just connect to [another.im](xmpp:xmppclient-dev@conference.another.im), but we are encouroge you to don't trust us, self-host. + +OTR encryption is also supported as 'secret chats' due to otr has been designed for one-time sessions and the concept of 'secret chats' fully corresponds to the idea of the OTR. + +also you can just download the source code, compile it and install. + +only those who seeks will realize the way to pay us,\ +we can offer you additional server-side features and some telecommunication magic on our narayana.im ## Design principles @@ -59,229 +97,10 @@ run your own XMPP server for you and your friends. These XEP's are: * [XEP-0363: HTTP File Upload](http://xmpp.org/extensions/xep-0363.html) allows you to share files in conferences and with offline contacts. * [XEP-0461: Message Replies](https://xmpp.org/extensions/xep-0461.html) provides support of native replies, which also works in many transports (gateways) as well +* [XEP-0364: Current Off-the-Record Messaging Usage](https://xmpp.org/extensions/xep-0364.html) is also supported as 'secret chats' due to otr has been designed for one-time sessions and the concept of 'secret chats' fully corresponds to the idea of the OTR. +### FAQ -## FAQ +[*FAQ*](/FAQ.md) is located separately and may contain links to upstream. -### General - -#### How do I install Conversations? - -another.im is entirely open source and licensed under GPLv3. So if you are a -software developer you can check out the sources from GitHub and use Gradle to -build your apk file. - -#### How do I create an account? -XMPP, like email, is a federated protocol, which means that there is not one company you can create an *official XMPP account* with. Instead there are hundreds, or even thousands, of providers out there. One of those providers is [amother.im](https://another.im). If you don’t like to use *another.im* use a web search engine of your choice to find another provider. Or maybe your university has one. Or you can run your own. Or ask a friend to run one. Once you've found one, you can use Conversations to create an account. Just select *register new account* on server within the create account dialog. - -##### Domain hosting -Using your own domain not only gives you a more recognizable Jabber ID, it also gives you the flexibility to migrate your account between different XMPP providers. This is a good compromise between the responsibilities of having to operate your own server and the downsides of being dependent on a single provider. - -##### Running your own -If you already have a server somewhere and are willing and able to put the necessary work in you can run your own XMPP server. - -As of 2023 XMPP has reached a level of maturity where all major XMPP servers ([ejabberd](https://ejabberd.im), [Prosody](https://prosody.im), [Openfire](https://www.igniterealtime.org/projects/openfire/), [Tigase](https://tigase.net/xmpp-server/)) should work well with Conversations. - -Interoperability with Prosody and ejabberd is tested fairly regularly just because of their market share but we occasionally test with other servers too and fix issues as soon as we are being made aware of them. - -#### Where can I set up a custom hostname / port -another.im will automatically look up the SRV records for your domain name -which can point to any hostname port combination. If your server doesn’t provide -those please contact your admin and have them read -[this](http://prosody.im/doc/dns#srv_records). If your server operator is unwilling -to fix this you can enable advanced server settings in the expert settings of -another.im. - -#### I get 'Incompatible Server' - -As regular user you should be picking a different server. The server you selected -is probably insecure and/or very old. - -If you are a server administrator you should make sure that your server provides -either STARTTLS or [XEP-0368: SRV records for XMPP over TLS](https://xmpp.org/extensions/xep-0368.html). - -On rare occasions this error message might also be caused by a server not providing -a login (SASL) mechanism that another.im is able to handle. another.im supports -SCRAM-SHA1, PLAIN, EXTERNAL (client certs) and DIGEST-MD5. - -#### I get 'Bind failure'. What does that mean? - -Some Bind failures are transient and resolve themselves after a reconnect. - -When trying to connect to OpenFire the bind failure can be a permanent problem when the domain part of the Jabber ID entered in another.im doesn’t match the domain the OpenFire server feels responsible for. For example OpenFire is configured to use the domain `a.tld` but the Jabber ID entered is `user@b.tld` where `b.tld` also points to the same host. During bind OpenFire tries to reassign the Jabber to `user@a.tld`. another.im doesn’t like that. -This can be fixed by creating a new account in another.im that uses the Jabber ID `user@a.tld`. - -Note: This is kind of a weird quirk in OpenFire. Most other servers would just throw a 'Server not responsible for domain' error instead of attempting to reassign the Jabber ID. - -Maybe you attempted to use the Jabber ID `test@b.tld` because `a.tld` doesn’t point to the correct host. In that case you might have to enable the extended connection settings in the expert settings of Conversations and set a host name. - -#### I get 'Stream opening error'. What does that mean? - -In most cases this error is caused by ejabberd advertising support for TLSv1.3 but not properly supporting it. This can happen if the OpenSSL version on the server already supports TLSv1.3 but the fast\_tls wrapper library used by ejabberd not (properly) support it. Upgrading fast\_tls and ejabberd or - theoretically - downgrading OpenSSL should fix the issue. A work around is to explicitly disable TLSv1.3 support in the ejabberd configuration. More information can be found on [this issue on the ejabberd issue tracker](https://github.com/processone/ejabberd/issues/2614). - -**The battery consumption and the entire behavior of another.im will remain the same (as good or as bad as it was before). Why is Google doing this to you? We have no idea.** - -##### Android <= 7.1 or another.im from F-Droid (all Android versions) -The foreground notification is still controlled over the expert settings within another.im as it always has been. Whether or not you need to enable it depends on how aggressive the non-standard 'power saving' features are that your phone vendor has built into the operating system. - -##### Android 8.x -Long press the permanent notification and disable that particular type of notification by moving the slider to the left. This will make the notification disappear but create another notification (this time created by the operating system itself.) that will complain about Conversations (and other apps) using battery. Starting with Android 8.1 you can disable that notification again with the same method described above. - -##### Android 9.0+ -Long press the permanent notification and press the info `(i)` button to get into the App info screen. In that screen touch the 'Notification' entry. In the next screen remove the checkbox for the 'Foreground service' entry. - -#### Conversations doesn’t work for me. Where can I get help? - -You can join our conference room on [`xmppclient-dev@conference.narayana.im`](xmpp:xmppclient-dev@conference.narayana.im). -A lot of people in there are able to answer basic questions about the usage of -another.im or can provide you with tips on running your own XMPP server. If -you found a bug or your app crashes please read the Developer / Report Bugs -section of this document. - -#### How does the address book integration work? - -The address book integration was designed to protect your privacy. another.im -neither uploads contacts from your address book to your server nor fills your -address book with unnecessary contacts from your online roster. If you manually -add a Jabber ID to your phones address book another.im will use the name and -the profile picture of this contact. To make the process of adding Jabber IDs to -your address book easier you can click on the profile picture in the contact -details within another.im. This will start an "add to address book" intent -with the JID as the payload. This doesn't require another.im to have write -permissions on your address book but also doesn't require you to copy/paste a -JID from one app to another. - -#### I get 'delivery failed' on my messages - -If you get delivery failed on images it's probably because the recipient lost -network connectivity during reception. In that case you can try it again at a -later time. - -For text messages the answer to your question is a little bit more complex. -When you see 'delivery failed' on text messages, it is always something that is -being reported by the server. The most common reason for this is that the -recipient failed to resume a connection. When a client loses connectivity for a -short time the client usually has a five minute window to pick up that -connection again. When the client fails to do so because the network -connectivity is out for longer than that all messages sent to that client will -be returned to the sender resulting in a delivery failed. - -Instead of returning a message to the sender both ejabberd and prosody have the -ability to store messages in offline storage when the disconnecting client is -the only client. In prosody this is available via an extra module called -```mod_smacks_offline```. In ejabberd this is available via some configuration -settings. - -Other less common reasons are that the message you sent didn't meet some -criteria enforced by the server (too large, too many). Another reason could be -that the recipient is offline and the server doesn't provide offline storage. - -Usually you are able to distinguish between these two groups in the fact that -the first one happens always after some time and the second one happens almost -instantly. - -#### Where can I see the status of my contacts? How can I set a status or priority? - -Statuses are a horrible metric. Setting them manually to a proper value rarely -works because users are either lazy or just forget about them. Setting them -automatically does not provide quality results either. Keyboard or mouse -activity as indicator for example fails when the user is just looking at -something (reading an article, watching a movie). Furthermore automatic setting -of status always implies an impact on your privacy (are you sure you want -everybody in your contact list to know that you have been using your computer at -4am‽). - -In the past status has been used to judge the likelihood of whether or not your -messages are being read. This is no longer necessary. With Chat Markers -(XEP-0333, supported by Conversations since 0.4) we have the ability to **know** -whether or not your messages are being read. Similar things can be said for -priorities. In the past priorities have been used (by servers, not by clients!) -to route your messages to one specific client. With carbon messages (XEP-0280, -supported by Conversations since 0.1) this is no longer necessary. Using -priorities to route OTR messages isn't practical either because they are not -changeable on the fly. Metrics like last active client (the client which sent -the last message) are much better. - -Unfortunately these modern replacements for legacy XMPP features are not widely -adopted. However another.im should be an instant messenger for the future and -instead of making another.im compatible with the past we should work on -implementing new, improved technologies and getting them into other XMPP clients -as well. - -Making these status and priority optional isn't a solution either because -another.im is trying to get rid of old behaviours and set an example for -other clients. - - -#### How do I backup / move another.im to a new device? - -Use the Backup button in the Settings. - -#### another.im is missing a certain feature - -Please report it to our XMPP conference [`xmppclient-dev@conference.narayana.im`](xmpp:xmppclient-dev@conference.narayana.im) - -### Security - -#### Why are there two end-to-end encryption methods and which one should I choose? - -* OMEMO works even when a contact is offline, and works with multiple devices. It also allows asynchronous file-transfer when the server has [HTTP File Upload](http://xmpp.org/extensions/xep-0363.html). However, OMEMO not widely support and is currently implemented only [by a handful of clients](https://omemo.top). -* OpenPGP (XEP-0027) is a very old encryption method that has some advantages over OMEMO but should only be used by people who know what they are doing. - -#### How do I use OpenPGP - -Before you continue reading you should note that the OpenPGP support in -another.im is experimental. This is not because it will make the app unstable -but because the fundamental concepts of PGP aren't ready for widespread use. -The way PGP works is that you trust Key IDs instead of JID's or email addresses. -So in theory your contact list should consist of Public-Key-IDs instead of -JID's. But of course no email or XMPP client out there implements these -concepts. Plus PGP in the context of instant messaging has a couple of -downsides: It is vulnerable to replay attacks and it is rather verbose. - -To use OpenPGP you have to install the open source app -[OpenKeychain](http://www.openkeychain.org) and then long press on the account in -manage accounts and choose renew PGP announcement from the contextual menu. - -#### OMEMO is grayed out. What do I do? -OMEMO is only available in 1:1 chats and private (members-only, non-anonymous) group chats. Encrypting public group chats makes little to no sense since anyone (including a hypothetical attacker) can join and a user couldn’t possibily verify all participants anyway. Furthermore for a lot of public group chat it is desirable to give new comers access to the full history. - -#### OMEMO doesn’t work. I get a 'Something went wrong' message in the 'Trust OMEMO Fingerprints' screen. -OMEMO has two requirements: Your server and the server of your contact need to support PEP. Both of you can verify that individually by opening your account details and selecting ```Server info``` from the menu. The appearing table should list PEP as available. The second requirement is that the initial sender needs to have access to the published key material. This can either be achieved by having mutual presence subscription (you can verify that by opening the contact details and see if both check boxes *Send presence updates* and *Receive presence updates* are checked) or by using a server that makes the public key material accessible to anyone. In the [Compliance Tester](https://compliance.conversations.im) this is indicated by the 'OMEMO' feature. Since it is very common that the first messages are exchanged *before* adding each other to the contact list it is desirable to use servers that have 'OMEMO support'. - -#### How does the encryption for group chats work? - -##### OMEMO - -OMEMO encryption works only in private (members only) conferences that are non-anonymous. Non-anonymous (being able to discover the real JID of other participants) is a technical requirement to discover the key material. Members only is a sort of arbitrary requirement imposed by Conversations. (see 'OMEMO is grayed out') - -The server of all participants need to pass the OMEMO [Compliance Test](https://conversations.im/compliance/). -In other words they either need to run ejabberd 18.01+ or Prosody 0.11+. - -(Alternatively it would also work if all participants had each other in their contact list; But that rarely is the case in larger group chats.) - -The owner of a conference can make a public conference private by going into the conference -details and hit the settings button (the one with the gears) and select both *private* and -*members only*. - -##### OpenPGP - -Every participant has to announce their OpenPGP key (see answer above). -If you would like to send encrypted messages to a conference you have to make -sure that you have every participant's public key in your OpenKeychain. -Right now there is no check in another.im to ensure that. -You have to take care of that yourself. Go to the conference details and -touch every key id (The hexadecimal number below a contact). This will send you -to OpenKeychain which will assist you on adding the key. This works best in -very small conferences with contacts you are already using OpenPGP with. This -feature is regarded experimental. another.im is the only client that uses -XEP-0027 with conferences. (The XEP neither specifically allows nor disallows -this.) - -#### What is Blind Trust Before Verification / why are messages marked with a red lock? - -Read more about the concept on https://gultsch.de/trust.html - -#### I found a bug - -Please report it to our XMPP conference [`xmppclient-dev@conference.narayana.im`](xmpp:xmppclient-dev@conference.narayana.im). +*In case of issues, bugs, suggestions please contact us directly [`xmppclient-dev@conference.another.im`](xmpp:xmppclient-dev@conference.another.im).* \ No newline at end of file diff --git a/conversations.doap b/conversations.doap index 4d492f9b3..fdf3f2d19 100644 --- a/conversations.doap +++ b/conversations.doap @@ -5,22 +5,22 @@ xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xmpp="https://linkmauve.fr/ns/xmpp-doap#" xmlns:schema="https://schema.org/"> -