OTR & another.im #23

Merged
Sergei Poljanski merged 65 commits from develop into master 2024-12-09 18:42:00 +00:00
15 changed files with 42 additions and 42 deletions
Showing only changes of commit 64a8154560 - Show all commits

View file

@ -72,7 +72,7 @@ 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 [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 [amother.im](https://another.im). If you dont 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.

View file

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="pick_a_server">Выберите своего XMPP-провайдера</string>
<string name="use_conversations.im">Использовать conversations.im</string>
<string name="use_conversations.im">Использовать another.im</string>
<string name="create_new_account">Создать новый аккаунт</string>
<string name="do_you_have_an_account">У вас есть аккаунт XMPP\? Если вы использовали Conversations или другой XMPP-клиент в прошлом, то скорее всего, он у вас есть. Если у вас нет аккаунта, вы можете создать его прямо сейчас.
<string name="do_you_have_an_account">У вас есть аккаунт XMPP\? Если вы использовали another.im или другой XMPP-клиент в прошлом, то скорее всего, он у вас есть. Если у вас нет аккаунта, вы можете создать его прямо сейчас.
\nПодсказка: Некоторые провайдеры электронной почты также регистрируют аккаунты XMPP.</string>
<string name="server_select_text">XMPP - это независимая сеть обмена сообщениями. Conversations позволяет вам подключиться к любому XMPP-серверу на ваш выбор.\nЕсли у вас нет сервера, предлагаем вам зарегистрировать аккаунт на conversations.im, сервере, специально предназначенном для работы с Conversations.</string>
<string name="server_select_text">XMPP - это независимая сеть обмена сообщениями. another.im позволяет вам подключиться к любому XMPP-серверу на ваш выбор.\nЕсли у вас нет сервера, предлагаем вам зарегистрировать аккаунт на another.im, сервере, специально предназначенном для работы с another.im.</string>
<string name="magic_create_text_on_x">Вас пригласили на %1$s. Мы проведём вас через процесс создания аккаунта.
\nАккаунт на %1$s позволит вам общаться с пользователями и на этом, и на других серверах, используя ваш полный XMPP-адрес.</string>
<string name="magic_create_text_fixed">Вас пригласили на %1$s. Вам уже назначили имя пользователя. Мы проведём вас через процесс создания аккаунта.

View file

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="pick_a_server">Виберіть постачальника послуг обміну повідомленнями XMPP</string>
<string name="use_conversations.im">Скористатися conversations.im</string>
<string name="use_conversations.im">Скористатися another.im</string>
<string name="create_new_account">Створити новий обліковий запис</string>
<string name="do_you_have_an_account">Уже маєте обліковий запис XMPP\? Можливо, користуєтеся іншою програмою XMPP або користувалися Conversations раніше. Якщо ні, можете створити новий обліковий запис XMPP просто зараз.
<string name="do_you_have_an_account">Уже маєте обліковий запис XMPP\? Можливо, користуєтеся іншою програмою XMPP або користувалися another.im раніше. Якщо ні, можете створити новий обліковий запис XMPP просто зараз.
\nЗверніть увагу, що деякі постачальники електронної пошти у той же час надають облікові записи XMPP.</string>
<string name="server_select_text">XMPP — це мережа обміну повідомленнями, незалежна від постачальників. Можете використовувати цю програму з будь-яким XMPP-сервером, який оберете.
\nПроте для зручності ми спростили створення облікового запису на conversations.im — у постачальника, спеціально налаштованого на роботу з Conversations.</string>
\nПроте для зручності ми спростили створення облікового запису на another.im — у постачальника, спеціально налаштованого на роботу з another.im.</string>
<string name="magic_create_text_on_x">Вас запросили до %1$s. Ми проведемо Вас крок за кроком, щоб створити обліковий запис.
\nОбравши %1$s в якості свого постачальника, Ви зможете спілкуватися з користувачами інших постачальників, для цього повідомте їм свою повну адресу XMPP.</string>
<string name="magic_create_text_fixed">Вас запросили до %1$s. Для Вас створено ім\'я користувача. Ми проведемо Вас крок за кроком, щоб створити обліковий запис.

View file

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="pick_a_server">Pick your XMPP provider</string>
<string name="use_conversations.im">Use conversations.im</string>
<string name="use_conversations.im">Use another.im</string>
<string name="create_new_account">Create new account</string>
<string name="do_you_have_an_account">Do you already have an XMPP account? This might be the case if you are already using a different XMPP client or have used Conversations before. If not you can create a new XMPP account right now.\nHint: Some email providers also provide XMPP accounts.</string>
<string name="server_select_text">XMPP is a provider independent instant messaging network. You can use this client with what ever XMPP server you choose.\nHowever for your convenience we made it easy to create an account on conversations.im; a provider specially suited for the use with Conversations.</string>
<string name="do_you_have_an_account">Do you already have an XMPP account? This might be the case if you are already using a different XMPP client or have used another.im before. If not you can create a new XMPP account right now.\nHint: Some email providers also provide XMPP accounts.</string>
<string name="server_select_text">XMPP is a provider independent instant messaging network. You can use this client with what ever XMPP server you choose.\nHowever for your convenience we made it easy to create an account on another.im; a provider specially suited for the use with another.im.</string>
<string name="magic_create_text_on_x">You have been invited to %1$s. We will guide you through the process of creating an account.\nWhen picking %1$s as a provider you will be able to communicate with users of other providers by giving them your full XMPP address.</string>
<string name="magic_create_text_fixed">You have been invited to %1$s. A username has already been picked for you. We will guide you through the process of creating an account.\nYou will be able to communicate with users of other providers by giving them your full XMPP address.</string>
<string name="your_server_invitation">Your server invitation</string>

View file

@ -216,7 +216,7 @@
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
<data android:host="conversations.im" />
<data android:host="another.im" />
<data android:pathPrefix="/i/" />
<data android:pathPrefix="/j/" />
</intent-filter>

View file

@ -48,11 +48,11 @@ public final class Config {
public static final boolean QUICK_LOG = false;
public static final Uri HELP = Uri.parse("https://help.conversations.im");
public static final Uri HELP = null;
public static final String DOMAIN_LOCK = null; //only allow account creation for this domain
public static final String MAGIC_CREATE_DOMAIN = "conversations.im";
public static final String MAGIC_CREATE_DOMAIN = "another.im";
public static final Jid QUICKSY_DOMAIN = Jid.of("quicksy.im");
public static final String CHANNEL_DISCOVERY = "https://search.jabber.network";

View file

@ -745,7 +745,7 @@ public class Account extends AbstractEntity implements AvatarService.Avatarable
public String getShareableLink() {
List<XmppUri.Fingerprint> fingerprints = this.getFingerprints();
String uri =
"https://conversations.im/i/"
"https://another.im/i/"
+ XmppUri.lameUrlEncode(this.getJid().asBareJid().toEscapedString());
if (fingerprints.size() > 0) {
return XmppUri.getFingerprintUri(uri, fingerprints, '&');

View file

@ -28,7 +28,7 @@ import eu.siacs.conversations.xmpp.stanzas.MessagePacket;
public class MessageGenerator extends AbstractGenerator {
public static final String OTR_FALLBACK_MESSAGE = "I would like to start a private (OTR encrypted) conversation but your client doesnt seem to support that";
private static final String OMEMO_FALLBACK_MESSAGE = "I sent you an OMEMO encrypted message but your client doesnt seem to support that. Find more information on https://conversations.im/omemo";
private static final String OMEMO_FALLBACK_MESSAGE = "I sent you an OMEMO encrypted message but your client doesnt seem to support that. Find more information on https://another.im/omemo";
private static final String PGP_FALLBACK_MESSAGE = "I sent you a PGP encrypted message but your client doesnt seem to support that.";
public MessageGenerator(XmppConnectionService service) {

View file

@ -403,7 +403,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
protected String getShareableUri(boolean http) {
if (mConversation != null) {
if (http) {
return "https://conversations.im/j/" + XmppUri.lameUrlEncode(mConversation.getJid().asBareJid().toEscapedString());
return "https://another.im/j/" + XmppUri.lameUrlEncode(mConversation.getJid().asBareJid().toEscapedString());
} else {
return "xmpp:" + mConversation.getJid().asBareJid() + "?join";
}

View file

@ -204,7 +204,7 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp
@Override
protected String getShareableUri(boolean http) {
if (http) {
return "https://conversations.im/i/" + XmppUri.lameUrlEncode(contact.getJid().asBareJid().toEscapedString());
return "https://another.im/i/" + XmppUri.lameUrlEncode(contact.getJid().asBareJid().toEscapedString());
} else {
return "xmpp:" + Uri.encode(contact.getJid().asBareJid().toEscapedString(), "@/+");
}

View file

@ -74,7 +74,7 @@ public class FixedURLSpan extends URLSpan {
public void onClick(View widget) {
final Uri uri = Uri.parse(getURL());
final Context context = widget.getContext();
final boolean candidateToProcessDirectly = "xmpp".equals(uri.getScheme()) || ("https".equals(uri.getScheme()) && "conversations.im".equals(uri.getHost()) && uri.getPathSegments().size() > 1 && Arrays.asList("j","i").contains(uri.getPathSegments().get(0)));
final boolean candidateToProcessDirectly = "xmpp".equals(uri.getScheme()) || ("https".equals(uri.getScheme()) && "another.im".equals(uri.getHost()) && uri.getPathSegments().size() > 1 && Arrays.asList("j","i").contains(uri.getPathSegments().get(0)));
if (candidateToProcessDirectly && context instanceof ConversationsActivity) {
if (((ConversationsActivity) context).onXmppUriClicked(uri)) {
widget.playSoundEffect(0);

View file

@ -36,7 +36,7 @@ public class XmppUri {
private Map<String, String> parameters = Collections.emptyMap();
private boolean safeSource = true;
public static final String INVITE_DOMAIN = "conversations.im";
public static final String INVITE_DOMAIN = "another.im";
public XmppUri(final String uri) {
try {
@ -146,14 +146,14 @@ public class XmppUri {
List<String> segments = uri.getPathSegments();
if ("https".equalsIgnoreCase(scheme) && INVITE_DOMAIN.equalsIgnoreCase(host)) {
if (segments.size() >= 2 && segments.get(1).contains("@")) {
// sample : https://conversations.im/i/foo@bar.com
// sample : https://another.im/i/foo@bar.com
try {
jid = Jid.ofEscaped(lameUrlDecode(segments.get(1))).toEscapedString();
} catch (Exception e) {
jid = null;
}
} else if (segments.size() >= 3) {
// sample : https://conversations.im/i/foo/bar.com
// sample : https://another.im/i/foo/bar.com
jid = segments.get(1) + "@" + segments.get(2);
}
if (segments.size() > 1 && "j".equalsIgnoreCase(segments.get(0))) {

View file

@ -536,8 +536,8 @@
<string name="no_application_to_share_uri">Не найдено приложения для передачи URI</string>
<string name="share_uri_with">Отправить URI…</string>
<string name="agree_and_continue">Согласиться и продолжить</string>
<string name="magic_create_text">Мы поможем Вам создать аккаунт на conversations.im.
\nВыбрав conversations.im в качестве провайдера, вы сможете общаться с пользователями других провайдеров, сообщив им свой полный XMPP-адрес.</string>
<string name="magic_create_text">Мы поможем Вам создать аккаунт на another.im.
\nВыбрав another.im в качестве провайдера, вы сможете общаться с пользователями других провайдеров, сообщив им свой полный XMPP-адрес.</string>
<string name="your_full_jid_will_be">Ваш полный XMPP-адрес будет: %s</string>
<string name="create_account">Создать аккаунт</string>
<string name="use_own_provider">Использовать свой провайдер</string>
@ -562,7 +562,7 @@
<string name="gp_medium">Средний</string>
<string name="gp_long">Длинный</string>
<string name="pref_broadcast_last_activity">Оповещать других об использовании</string>
<string name="pref_broadcast_last_activity_summary">Позволяет вашим контактам видеть, когда вы используете Conversations</string>
<string name="pref_broadcast_last_activity_summary">Позволяет вашим контактам видеть, когда вы используете another.im</string>
<string name="pref_privacy">Приватность</string>
<string name="pref_theme_options">Тема</string>
<string name="pref_theme_options_summary">Выбрать цветовую палитру</string>
@ -694,7 +694,7 @@
<string name="message">Сообщение</string>
<string name="private_messages_are_disabled">Личные сообщения выключены</string>
<string name="huawei_protected_apps">Защищенные приложения</string>
<string name="huawei_protected_apps_summary">Чтобы продолжать получать уведомления, даже если экран выключен, вам необходимо добавить Conversations в список защищенных приложений.</string>
<string name="huawei_protected_apps_summary">Чтобы продолжать получать уведомления, даже если экран выключен, вам необходимо добавить another.im в список защищенных приложений.</string>
<string name="mtm_accept_cert">Принять Неизвестный Сертификат?</string>
<string name="mtm_trust_anchor">Этот сертификат сервера не подписан ни одним из известных центров сертификации.</string>
<string name="mtm_accept_servername">Принять несовпадающее имя сервера?</string>
@ -843,7 +843,7 @@
<string name="ebook">Электронная книга</string>
<string name="video_original">Оригинал (без сжатия)</string>
<string name="open_with">Открыть с помощью…</string>
<string name="set_profile_picture">Картинка профиля Conversations</string>
<string name="set_profile_picture">Картинка профиля another.im</string>
<string name="choose_account">Выбрать аккаунт</string>
<string name="restore_backup">Восстановить из резервной копии</string>
<string name="restore">Восстановить</string>
@ -891,10 +891,10 @@
<string name="add_anway">Добавить все равно</string>
<string name="this_looks_like_channel">Это похоже на адрес канала</string>
<string name="share_backup_files">Поделиться резервными копиями</string>
<string name="conversations_backup">Резервная копия Conversations</string>
<string name="conversations_backup">Резервная копия another.im</string>
<string name="event">Событие</string>
<string name="open_backup">Открыть резервную копию</string>
<string name="not_a_backup_file">Выбранный вами файл не является файлом резервной копии Conversations</string>
<string name="not_a_backup_file">Выбранный вами файл не является файлом резервной копии another.im</string>
<string name="account_already_setup">Эта учетная запись уже настроена</string>
<string name="please_enter_password">Пожалуйста, введите пароль этой учетной записи</string>
<string name="unable_to_perform_this_action">Не удалось совершить это действие</string>
@ -971,7 +971,7 @@
<string name="failed_deliveries">Недоставленные сообщения</string>
<string name="more_options">Ещё</string>
<string name="no_application_found">Не найдено приложения</string>
<string name="invite_to_app">Пригласить в Conversations</string>
<string name="invite_to_app">Пригласить в another.im</string>
<string name="unable_to_parse_invite">Невозможно разобрать приглашение</string>
<string name="server_does_not_support_easy_onboarding_invites">Сервер не поддерживает создание приглашений</string>
<string name="no_active_accounts_support_this">Ни один активный аккаунт не поддерживает эту функцию</string>

View file

@ -529,8 +529,8 @@
<string name="no_application_to_share_uri">Не знайдено застосунку, щоб поділитися URI</string>
<string name="share_uri_with">Поділитися URI…</string>
<string name="agree_and_continue">Погодитися та продовжити</string>
<string name="magic_create_text">Ми допоможемо Вам створити обліковий запис на conversations.im.
\nОбравши conversations.im в якості свого постачальника, Ви зможете спілкуватися з користувачами інших постачальників, для цього повідомте їм свою повну адресу XMPP.</string>
<string name="magic_create_text">Ми допоможемо Вам створити обліковий запис на another.im.
\nОбравши another.im в якості свого постачальника, Ви зможете спілкуватися з користувачами інших постачальників, для цього повідомте їм свою повну адресу XMPP.</string>
<string name="your_full_jid_will_be">Ваша повна адреса XMPP: %s</string>
<string name="create_account">Створити обліковий запис</string>
<string name="use_own_provider">Застосувати дані мого власного постачальника</string>
@ -555,7 +555,7 @@
<string name="gp_medium">Середній</string>
<string name="gp_long">Довгий</string>
<string name="pref_broadcast_last_activity">Показувати останню активність користувача</string>
<string name="pref_broadcast_last_activity_summary">Повідомляти співрозмовникам, що Ви користуєтеся Conversations</string>
<string name="pref_broadcast_last_activity_summary">Повідомляти співрозмовникам, що Ви користуєтеся another.im</string>
<string name="pref_privacy">Приватність</string>
<string name="pref_theme_options">Тема</string>
<string name="pref_theme_options_summary">Виберіть колір теми</string>
@ -684,7 +684,7 @@
<string name="message">Повідомлення</string>
<string name="private_messages_are_disabled">Приватні повідомлення вимкнено</string>
<string name="huawei_protected_apps">Захищені програми</string>
<string name="huawei_protected_apps_summary">Щоб отримувати сповіщення навіть коли екран погас, необхідно додати Conversations до списку захищених програм.</string>
<string name="huawei_protected_apps_summary">Щоб отримувати сповіщення навіть коли екран погас, необхідно додати another.im до списку захищених програм.</string>
<string name="mtm_accept_cert">Прийняти незнайомий сертифікат?</string>
<string name="mtm_trust_anchor">Сертифікат сервера не підтверджено відомим центром сертифікації.</string>
<string name="mtm_accept_servername">Прийняти сервер з невідповідним ім\'ям?</string>
@ -830,7 +830,7 @@
<string name="ebook">Електронна книга</string>
<string name="video_original">Оригінал (нестиснений)</string>
<string name="open_with">Відкрити…</string>
<string name="set_profile_picture">Зображення профілю для Conversations</string>
<string name="set_profile_picture">Зображення профілю для another.im</string>
<string name="choose_account">Виберіть обліковий запис</string>
<string name="restore_backup">Відновити з резервної копії</string>
<string name="restore">Відновити</string>
@ -1041,7 +1041,7 @@
<string name="encrypted_with_openpgp">Зашифровано за допомогою OpenPGP</string>
<string name="not_encrypted">Не зашифровано</string>
<string name="exit">Вийти</string>
<string name="invite_to_app">Запросити до Conversations</string>
<string name="invite_to_app">Запросити до another.im</string>
<string name="plain_text_document">Текстовий документ</string>
<string name="no_xmpp_adddress_found">Не знайдено адреси XMPP</string>
<string name="no_account_deactivated">Немає (вимкнено)</string>

View file

@ -566,7 +566,7 @@
<string name="welcome_header_quicksy" translatable="false">Have some Quick Conversations</string>
<string name="welcome_text_quicksy_static" translatable="false"><![CDATA[Quicksy is a spin off of the popular XMPP client Conversations with automatic contact discovery.<br><br>You sign up with your phone number and Quicksy will automatically—based on the phone numbers in your address book—suggest possible contacts to you.<br>Quicksy stores your contacts phone numbers to make suggestions about possible contacts who are already on Quicksy.<br>By signing up you agree to our <a href="https://quicksy.im/privacy.htm">Privacy Policy</a> and our <a href="https://quicksy.im/tos.htm">Terms &amp; Conditions</a>.]]></string>
<string name="agree_and_continue">Agree and continue</string>
<string name="magic_create_text">A guide is set up for account creation on conversations.im.\nWhen picking conversations.im as a provider you will be able to communicate with users of other providers by giving them your full XMPP address.</string>
<string name="magic_create_text">A guide is set up for account creation on another.im.\nWhen picking another.im as a provider you will be able to communicate with users of other providers by giving them your full XMPP address.</string>
<string name="your_full_jid_will_be">Your full XMPP address will be: %s</string>
<string name="create_account">Create Account</string>
<string name="use_own_provider">Use my own provider</string>
@ -591,7 +591,7 @@
<string name="gp_medium">Medium</string>
<string name="gp_long">Long</string>
<string name="pref_broadcast_last_activity">Broadcast use</string>
<string name="pref_broadcast_last_activity_summary">Lets your contacts know when you use Conversations</string>
<string name="pref_broadcast_last_activity_summary">Lets your contacts know when you use another.im</string>
<string name="pref_appearance">Appearance</string>
<string name="pref_navigation">Navigation</string>
<string name="pref_input_field">Input field</string>
@ -731,7 +731,7 @@
<string name="message">Message</string>
<string name="private_messages_are_disabled">Private messages are disabled</string>
<string name="huawei_protected_apps">Protected Apps</string>
<string name="huawei_protected_apps_summary">To keep receiving notifications, even when the screen is turned off, you need to add Conversations to the list of protected apps.</string>
<string name="huawei_protected_apps_summary">To keep receiving notifications, even when the screen is turned off, you need to add another.im to the list of protected apps.</string>
<string name="mtm_accept_cert">Accept Unknown Certificate?</string>
<string name="mtm_trust_anchor">The server certificate is not signed by a known Certificate Authority.</string>
<string name="mtm_accept_servername">Accept Mismatching Server Name?</string>
@ -882,7 +882,7 @@
<string name="ebook">e-book</string>
<string name="video_original">Original (uncompressed)</string>
<string name="open_with">Open with…</string>
<string name="set_profile_picture">Conversations profile picture</string>
<string name="set_profile_picture">another.im profile picture</string>
<string name="choose_account">Choose account</string>
<string name="restore_backup">Restore backup</string>
<string name="restore">Restore</string>
@ -932,10 +932,10 @@
<string name="add_anway">Add anyway</string>
<string name="this_looks_like_channel">This looks like a channel address</string>
<string name="share_backup_files">Share backup files</string>
<string name="conversations_backup">Conversations backup</string>
<string name="conversations_backup">amother.im backup</string>
<string name="event">Event</string>
<string name="open_backup">Open backup</string>
<string name="not_a_backup_file">The file you selected is not a Conversations backup file</string>
<string name="not_a_backup_file">The file you selected is not a another.im backup file</string>
<string name="outdated_backup_file_format">You are trying to import an outdated backup file format</string>
<string name="account_already_setup">This account has already been setup</string>
<string name="please_enter_password">Please enter the password for this account</string>
@ -1030,7 +1030,7 @@
<string name="failed_deliveries">Failed deliveries</string>
<string name="more_options">More options</string>
<string name="no_application_found">No application found</string>
<string name="invite_to_app">Invite to Conversations</string>
<string name="invite_to_app">Invite to another.im</string>
<string name="unable_to_parse_invite">Unable to parse invite</string>
<string name="server_does_not_support_easy_onboarding_invites">Server does not support generating invites</string>
<string name="no_active_accounts_support_this">No active accounts support this feature</string>