update README.md

This commit is contained in:
Pavel R. 2024-05-21 00:51:15 +03:00
parent 87d449ba87
commit 2c8e801ac0

137
README.md
View file

@ -1,17 +1,6 @@
<h1 align="center">Conversations</h1> <h1 align="center">Conversations Classic</h1>
<p align="center">Conversations: the very last word in instant messaging</p> <p align="center">Conversations Classic: the very last word in instant messaging</p>
<p align="center">
<a href="https://play.google.com/store/apps/details?id=eu.siacs.conversations&amp;referrer=utm_source%3Dcodeberg">
<img src="https://conversations.im/images/get-it-on-play.png" alt="Get it on Google Play" height="80">
</a>
<a href="https://f-droid.org/packages/eu.siacs.conversations">
<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">
</a>
</p>
![screenshots](https://codeberg.org/iNPUTmice/Conversations/raw/branch/master/screenshots.png)
## Design principles ## Design principles
@ -22,9 +11,9 @@
## Features ## Features
* End-to-end encryption with [OMEMO](http://conversations.im/omemo/) or [OpenPGP](http://openpgp.org/about/) * End-to-end encryption with [OMEMO](https://en.wikipedia.org/wiki/OMEMO) or [OpenPGP](https://openpgp.org/about/)
* Send and receive images as well as other kind of files * Send and receive images as well as other kind of files
* [Encrypted audio and video calls (DTLS-SRTP)](https://help.conversations.im) * Encrypted audio and video calls (DTLS-SRTP) with DTMF dialer support
* Share your location * Share your location
* Send voice messages * Send voice messages
* Indication when your contact has read your message * Indication when your contact has read your message
@ -62,11 +51,14 @@ run your own XMPP server for you and your friends. These XEP's are:
* [XEP-0313: Message Archive Management](http://xmpp.org/extensions/xep-0313.html) synchronize message history with the * [XEP-0313: Message Archive Management](http://xmpp.org/extensions/xep-0313.html) synchronize message history with the
server. Catch up with messages that were sent while Conversations was server. Catch up with messages that were sent while Conversations was
offline. offline.
* [XEP-0308: Last Message Correction](https://xmpp.org/extensions/xep-0308.html) allows you to edit last message as well as retract it
* [XEP-0352: Client State Indication](http://xmpp.org/extensions/xep-0352.html) lets the server know whether or not * [XEP-0352: Client State Indication](http://xmpp.org/extensions/xep-0352.html) lets the server know whether or not
Conversations is in the background. Allows the server to save bandwidth by Conversations is in the background. Allows the server to save bandwidth by
withholding unimportant packages. withholding unimportant packages.
* [XEP-0363: HTTP File Upload](http://xmpp.org/extensions/xep-0363.html) allows you to share files in conferences * [XEP-0363: HTTP File Upload](http://xmpp.org/extensions/xep-0363.html) allows you to share files in conferences
and with offline contacts. 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
## FAQ ## FAQ
@ -78,20 +70,16 @@ Conversations 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 software developer you can check out the sources from GitHub and use Gradle to
build your apk file. build your apk file.
Conversations is available on [Google Play](https://play.google.com/store/apps/details?id=eu.siacs.conversations) and on [F-Droid](https://f-droid.org/en/packages/eu.siacs.conversations/).
#### I don't have a Google Account but I would still like to make a donation #### I don't have a Google Account but I would still like to make a donation
Im listing several options to support me financially on [my website](https://gultsch.de/donate.html). Among other things [Liberapay](https://liberapay.com/iNPUTmice/donate), [GitHub Sponsors](https://github.com/sponsors/inputmice) and bank transfer. Im listing several options to support me financially on [my website](https://gultsch.de/donate.html). Among other things [Liberapay](https://liberapay.com/iNPUTmice/donate), [GitHub Sponsors](https://github.com/sponsors/inputmice) and bank transfer.
#### How do I create an account? #### 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 our very own [conversations.im](https://account.conversations.im). If you dont like to use *conversations.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. 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 [conversations.im](https://account.conversations.im). If you dont like to use *conversations.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 ##### 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. 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.
Learn more about [conversations.im Jabber/XMPP domain hosting](https://account.conversations.im/domain/).
##### Running your own ##### 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. 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.
@ -99,8 +87,6 @@ As of 2023 XMPP has reached a level of maturity where all major XMPP servers ([e
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. 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.
The default configurations are usually fine but you might want to use the [Conversations Compliance Suite](https://compliance.conversations.im) after install just to be sure.
#### Where can I set up a custom hostname / port #### Where can I set up a custom hostname / port
Conversations will automatically look up the SRV records for your domain name Conversations will automatically look up the SRV records for your domain name
which can point to any hostname port combination. If your server doesnt provide which can point to any hostname port combination. If your server doesnt provide
@ -170,16 +156,12 @@ FCM (Google Push) allows an app to wake up from *Doze* which is (as the name sug
#### Conversations doesnt work for me. Where can I get help? #### Conversations doesnt work for me. Where can I get help?
You can join our conference room on [`conversations@conference.siacs.eu`](https://conversations.im/j/conversations@conference.siacs.eu). 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 A lot of people in there are able to answer basic questions about the usage of
Conversations or can provide you with tips on running your own XMPP server. If Conversations 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 you found a bug or your app crashes please read the Developer / Report Bugs
section of this document. section of this document.
#### I need professional support with Conversations or setting up my server
I'm available for hire. Contact information can be found on [my website](https://gultsch.de).
#### How does the address book integration work? #### How does the address book integration work?
The address book integration was designed to protect your privacy. Conversations The address book integration was designed to protect your privacy. Conversations
@ -254,36 +236,14 @@ Making these status and priority optional isn't a solution either because
Conversations is trying to get rid of old behaviours and set an example for Conversations is trying to get rid of old behaviours and set an example for
other clients. other clients.
#### Translations
Translations are managed on [Weblate](https://translate.codeberg.org/projects/conversations/).
You can log in with your Codeberg account and start translating.
#### How do I backup / move Conversations to a new device? #### How do I backup / move Conversations to a new device?
See the dedicated guides for Use the Backup button in the Settings.
- [backups](docs/user/backup.md)
- [migrations](docs/user/migrating_to_new_device.md)
#### Conversations is missing a certain feature #### Conversations is missing a certain feature
I'm open for new feature suggestions. You can use the [issue tracker][https://codeberg.org/iNPUTmice/Conversations/issues] Please report it to our XMPP conference [`xmppclient-dev@conference.narayana.im`](xmpp:xmppclient-dev@conference.narayana.im
on Codeberg. Please take some time to browse through the issues to see if someone
else already suggested it. Be assured that I read each and every ticket. If I
like it I will leave it open until it's implemented. If I don't like it I will
close it (usually with a short comment). If I don't comment on an feature
request that's probably a good sign because this means I agree with you.
Commenting with +1 on either open or closed issues won't change my mind, nor
will it accelerate the development.
#### You closed my feature request but I want it really really badly
Just write it yourself and send me a pull request. If I like it I will happily
merge it if I don't at least you and like minded people get to enjoy it.
#### I need a feature and I need it now!
I am available for hire. Find contact information on [my website](https://gultsch.de).
### Security ### Security
@ -346,79 +306,6 @@ this.)
Read more about the concept on https://gultsch.de/trust.html Read more about the concept on https://gultsch.de/trust.html
### Development
<a name="beta"></a>
#### Beta testing
If you bought the App on [Google Play](https://play.google.com/store/apps/details?id=eu.siacs.conversations)
you can get access to the the latest beta version by signing up using [this link](https://play.google.com/apps/testing/eu.siacs.conversations).
#### How do I build Conversations
Make sure to have ANDROID_HOME point to your Android SDK. Use the Android SDK Manager to install missing dependencies.
Alternatively (and to avoid thinking about environment variables), create a file called local.properties, in the root of the Conversations build tree,
with the following contents:
```
## This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Wed May 20 16:21:35 CST 2020
ndk.dir=Path-To-Ndk
sdk.dir=Path-To-Sdk
```
Then issue the following commands in order to build the apk.
git clone https://codeberg.org/iNPUTmice/Conversations.git
cd Conversations
./gradlew assembleConversationsFreeDebug
There are two build flavors available. *free* and *playstore*. Unless you know what you are doing you only need *free*.
You will find the apks in the `./build/outputs/apk/conversationsFree/debug/` directory.
Be careful, the resulting apks will not install unless you delete your existing Conversations installation (which will delete all the messages from your phone, and if you have used OMEMO, you will not be able to restore them from the server).
Do it at your own risk.
You, though, can make your own build a "test build", that can be installed alongside the normal (F-Droid or Google Play) Conversations:
In the file `build.gradle`, find the line `applicationId "eu.siacs.conversations"` , and replace it with `applicationId "my.conversations.fork"`, also below replace "Conversations" appName with "MyCFork".
Then the resulting APK can be installed ALONGSIDE normal Conversations. And have a different name so it's not confusing
WARNING: DO NOT REPLACE ANYTHING ELSE ANYWHERE ELSE, DO NOT REPLACE THIS PROJECT WIDE. JUST 2 strings in THAT specific file!
#### How do I debug Conversations
If something goes wrong Conversations usually exposes very little information in
the UI (other than the fact that something didn't work). However with adb
(android debug bridge) you can squeeze some more information out of Conversations.
These information are especially useful if you are experiencing trouble with
your connection or with file transfer.
To use adb you have to connect your mobile phone to your computer with an USB cable
and install `adb`. Most Linux systems have prebuilt packages for that tool. On
Debian/Ubuntu for example it is called `android-tools-adb`.
Furthermore you might have to enable 'USB debugging' in the Developer options of your
phone. After that you can just execute the following on your computer:
adb -d logcat -v time -s conversations
If need be there are also some Apps on the PlayStore that can be used to show the logcat
directly on your rooted phone. (Search for logcat). However in regards to further processing
(for example to create an issue here on Codeberg) it is more convenient to just use your PC.
#### I found a bug #### I found a bug
Please report it to our [issue tracker](https://codeberg.org/iNPUTmice/Conversations/issues). If your app crashes please Please report it to our XMPP conference [`xmppclient-dev@conference.narayana.im`](xmpp:xmppclient-dev@conference.narayana.im).
provide a stack trace. If you are experiencing misbehavior please provide
detailed steps to reproduce. Always mention whether you are running the latest
Play Store version or the current HEAD. If you are having problems connecting to
your XMPP server your file transfer doesnt work as expected please always
include a logcat debug output with your issue (see above).