diff --git a/README.md b/README.md index a0cfed0b8..dab2277e3 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,6 @@ -

Conversations

+

Conversations Classic

-

Conversations: the very last word in instant messaging

- -

- - Get it on Google Play - - - Get it on F-Droid - -

- -![screenshots](https://codeberg.org/iNPUTmice/Conversations/raw/branch/master/screenshots.png) +

Conversations Classic: the very last word in instant messaging

## Design principles @@ -22,9 +11,9 @@ ## 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 -* [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 * Send voice messages * 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 server. Catch up with messages that were sent while Conversations was 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 Conversations is in the background. Allows the server to save bandwidth by withholding unimportant packages. * [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 + ## 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 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’m 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? -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 don’t 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 don’t 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 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 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. -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 Conversations 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 @@ -170,16 +156,12 @@ FCM (Google Push) allows an app to wake up from *Doze* which is (as the name sug #### Conversations doesn’t 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 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 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? 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 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? -See the dedicated guides for -- [backups](docs/user/backup.md) -- [migrations](docs/user/migrating_to_new_device.md) +Use the Backup button in the Settings. #### 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] -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). +Please report it to our XMPP conference [`xmppclient-dev@conference.narayana.im`](xmpp:xmppclient-dev@conference.narayana.im ### Security @@ -346,79 +306,6 @@ this.) Read more about the concept on https://gultsch.de/trust.html - -### Development - - -#### 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 -Please report it to our [issue tracker](https://codeberg.org/iNPUTmice/Conversations/issues). If your app crashes please -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 doesn’t work as expected please always -include a logcat debug output with your issue (see above). +Please report it to our XMPP conference [`xmppclient-dev@conference.narayana.im`](xmpp:xmppclient-dev@conference.narayana.im).