Merge branch 'develop' into chore.update-detox

This commit is contained in:
Diego Mello 2020-05-19 16:15:00 -03:00
commit 557590b54c
6 changed files with 156 additions and 67 deletions

View File

@ -1,5 +1,3 @@
import I18n from '../i18n';
export const PASSCODE_KEY = 'kPasscode';
export const LOCKED_OUT_TIMER_KEY = 'kLockedOutTimer';
export const ATTEMPTS_KEY = 'kAttempts';
@ -12,26 +10,3 @@ export const MAX_ATTEMPTS = 6;
export const TIME_TO_LOCK = 30000;
export const DEFAULT_AUTO_LOCK = 1800;
export const DEFAULT_AUTO_LOCK_OPTIONS = [
{
title: I18n.t('Local_authentication_auto_lock_60'),
value: 60
},
{
title: I18n.t('Local_authentication_auto_lock_300'),
value: 300
},
{
title: I18n.t('Local_authentication_auto_lock_900'),
value: 900
},
{
title: I18n.t('Local_authentication_auto_lock_1800'),
value: 1800
},
{
title: I18n.t('Local_authentication_auto_lock_3600'),
value: 3600
}
];

View File

@ -487,10 +487,20 @@ class MessageBox extends Component {
}
setInput = (text) => {
this.text = text;
if (this.component && this.component.setNativeProps) {
this.component.setNativeProps({ text });
const props = { text };
if (isAndroid) {
const diff = text.length - this.text?.length;
const selection = this.component?.lastNativeSelection;
const start = selection?.start + diff >= 0 ? selection?.start + diff : text.length;
const end = selection?.end + diff >= 0 ? selection?.start + diff : text.length;
props.selection = { start, end };
}
this.component.setNativeProps(props);
}
this.text = text;
}
setShowSend = (showSend) => {

View File

@ -10,6 +10,7 @@ export default {
'error-could-not-change-email': 'E-Mail konnte nicht geändert werden',
'error-could-not-change-name': 'Name konnte nicht geändert werden',
'error-could-not-change-username': 'Benutzername konnte nicht geändert werden',
'error-could-not-change-status': 'Status konnte nicht geändert werden',
'error-delete-protected-role': 'Eine geschützte Rolle kann nicht gelöscht werden',
'error-department-not-found': 'Abteilung nicht gefunden',
'error-direct-message-file-upload-not-allowed': 'Dateifreigabe in direkten Nachrichten nicht zulässig',
@ -17,6 +18,7 @@ export default {
'error-email-domain-blacklisted': 'Die E-Mail-Domain wird auf die schwarze Liste gesetzt',
'error-email-send-failed': 'Fehler beim Versuch, eine E-Mail zu senden: {{message}}',
'error-save-image': 'Fehler beim Speichern des Bildes',
'error-save-video': 'Fehler beim Speichern des Videos',
'error-field-unavailable': '{{field}} wird bereits verwendet :(',
'error-file-too-large': 'Datei ist zu groß',
'error-importer-not-defined': 'Der Import wurde nicht korrekt definiert, es fehlt die Importklasse.',
@ -81,12 +83,14 @@ export default {
Activity: 'Aktivität',
Add_Reaction: 'Reaktion hinzufügen',
Add_Server: 'Server hinzufügen',
Add_users: 'Nutzer hinzufügen',
Add_users: 'Benutzer hinzufügen',
Admin_Panel: 'Admin-Panel',
Agent: 'Agent',
Alert: 'Benachrichtigung',
alert: 'Benachrichtigung',
alerts: 'Benachrichtigungen',
All_users_in_the_channel_can_write_new_messages: 'Alle Benutzer im Kanal können neue Nachrichten schreiben',
A_meaningful_name_for_the_discussion_room: 'Ein aussagekräftiger Name für den Diskussionsraum',
All: 'Alles',
All_Messages: 'Alle Nachrichten',
Allow_Reactions: 'Reaktionen zulassen',
@ -130,12 +134,15 @@ export default {
Click_to_join: 'Klicken um teilzunehmen!',
Close: 'Schließen',
Close_emoji_selector: 'Schließen Sie die Emoji-Auswahl',
Closing_chat: 'Chat schließen',
Change_language_loading: 'Ändere Sprache.',
Chat_closed_by_agent: 'Chat durch den Agenten geschlossen',
Choose: 'Wählen',
Choose_from_library: 'Aus der Bibliothek auswählen',
Choose_file: 'Datei auswählen',
Choose_where_you_want_links_be_opened: 'Entscheide, wie Links geöffnet werden sollen',
Code: 'Code',
Code_or_password_invalid: 'Code oder Passwort sind falsch',
Collaborative: 'Kollaborativ',
Confirm: 'Bestätigen',
Connect: 'Verbinden',
@ -147,6 +154,7 @@ export default {
Continue_with: 'Weitermachen mit',
Copied_to_clipboard: 'In die Zwischenablage kopiert!',
Copy: 'Kopieren',
Conversation: 'Konversationen',
Permalink: 'Permalink',
Certificate_password: 'Zertifikats-Passwort',
Clear_cache: 'Lokalen Server-Cache leeren',
@ -154,14 +162,18 @@ export default {
Whats_the_password_for_your_certificate: 'Wie lautet das Passwort für Ihr Zertifikat?',
Create_account: 'Ein Konto erstellen',
Create_Channel: 'Kanal erstellen',
Create_Direct_Messages: 'Direkt-Nachricht erstellen',
Create_Discussion: 'Diskussion erstellen',
Created_snippet: 'Erstellt ein Snippet',
Create_a_new_workspace: 'Erstellen Sie einen neuen Arbeitsbereich',
Create: 'Erstellen',
Custom_Status: 'eigener Status',
Dark: 'Dunkel',
Dark_level: 'Dunkelstufe',
Default: 'Standard',
Default_browser: 'Standard-Browser',
Delete_Room_Warning: 'Durch das Löschen eines Raums werden alle Nachrichten gelöscht, die im Raum gepostet wurden. Das kann nicht rückgängig gemacht werden.',
Department: 'Abteilung',
delete: 'löschen',
Delete: 'Löschen',
DELETE: 'LÖSCHEN',
@ -173,17 +185,23 @@ export default {
Direct_Messages: 'Direkte Nachrichten',
Disable_notifications: 'Benachrichtigungen deaktiveren',
Discussions: 'Diskussionen',
Dont_Have_An_Account: 'Sie haben noch kein Konto?',
Discussion_Desc: 'Hilft dir die Übersicht zu behalten! Durch das Erstellen einer Diskussion wird ein Unter-Kanal im ausgewählten Raum erzeugt und beide verknüpft.',
Discussion_name: 'Diskussions-Name',
Done: 'Erledigt',
Dont_Have_An_Account: 'Du hast noch kein Konto?',
Do_you_have_an_account: 'Du hast schon ein Konto?',
Do_you_have_a_certificate: 'Haben Sie ein Zertifikat?',
Do_you_really_want_to_key_this_room_question_mark: 'Möchten Sie diesen Raum wirklich {{key}}?',
edit: 'bearbeiten',
edited: 'bearbeitet',
Edit: 'Bearbeiten',
Edit_Status: 'Status ändern',
Edit_Invite: 'Einladung bearbeiten',
Email_or_password_field_is_empty: 'Das E-Mail- oder Passwortfeld ist leer',
Email: 'Email',
EMAIL: 'EMAIL',
email: 'Email',
Empty_title: 'leerer Titel',
Enable_Auto_Translate: 'Automatische Übersetzung aktivieren',
Enable_notifications: 'Benachrichtigungen aktivieren',
Everyone_can_access_this_channel: 'Jeder kann auf diesen Kanal zugreifen',
@ -200,6 +218,10 @@ export default {
Forgot_password_If_this_email_is_registered: 'Wenn diese E-Mail registriert ist, senden wir Anweisungen zum Zurücksetzen Ihres Passworts. Wenn Sie in Kürze keine E-Mail erhalten, kommen Sie bitte zurück und versuchen Sie es erneut.',
Forgot_password: 'Passwort vergessen',
Forgot_Password: 'Passwort vergessen',
Forward: 'Weiterleiten',
Forward_Chat: 'Chat weiterleiten',
Forward_to_department: 'Weiterleiten an Abteilung',
Forward_to_user: 'Weiterleiten an Benutzer',
Full_table: 'Klicken um die ganze Tabelle anzuzeigen',
Generate_New_Link: 'Neuen Link erstellen',
Group_by_favorites: 'Nach Favoriten gruppieren',
@ -210,19 +232,20 @@ export default {
Has_left_the_channel: 'Hat den Kanal verlassen',
Hide_System_Messages: 'Systemnachrichten verstecken',
Hide_type_messages: 'Verstecke "{{type}}"-Nachrichten',
Message_HideType_uj: 'Nutzer beigetreten',
Message_HideType_ul: 'Nutzer verlassen',
Message_HideType_ru: 'Nutzer entfernt',
Message_HideType_au: 'Nutzer hinzugefügt',
Message_HideType_mute_unmute: 'Nutzer stummgeschaltet / freigegeben',
Message_HideType_uj: 'Benutzer beigetreten',
Message_HideType_ul: 'Benutzer verlassen',
Message_HideType_ru: 'Benutzer entfernt',
Message_HideType_au: 'Benutzer hinzugefügt',
Message_HideType_mute_unmute: 'Benutzer stummgeschaltet / freigegeben',
Message_HideType_r: 'Raumname geändert',
Message_HideType_ut: 'Nutzer ist der Unterhaltung beigetreten',
Message_HideType_ut: 'Benutzer ist der Unterhaltung beigetreten',
Message_HideType_wm: 'Willkommen',
Message_HideType_rm: 'Nachricht entfernt',
Message_HideType_subscription_role_added: 'Rolle wurde gesetzt',
Message_HideType_subscription_role_removed: 'Rolle nicht länger definiert',
Message_HideType_room_archived: 'Raum archiviert',
Message_HideType_room_unarchived: 'Raum nicht mehr archiviert',
IP: 'IP',
In_app: 'In-App-Browser',
IN_APP_AND_DESKTOP: 'IN-APP UND DESKTOP',
In_App_and_Desktop_Alert_info: 'Zeigt ein Banner oben am Bildschirm, wenn die App geöffnet ist und eine Benachrichtigung auf dem Desktop.',
@ -230,12 +253,14 @@ export default {
Invite: 'Einladen',
is_a_valid_RocketChat_instance: 'ist eine gültige Rocket.Chat-Instanz',
is_not_a_valid_RocketChat_instance: 'ist keine gültige Rocket.Chat-Instanz',
is_typing: 'tippt',
is_typing: 'schreibt',
Invalid_or_expired_invite_token: 'Ungültiger oder abgelaufener Einladungscode',
Invalid_server_version: 'Der Server, zu dem Sie eine Verbindung herstellen möchten, verwendet eine Version, die von der App nicht mehr unterstützt wird: {{currentVersion}}.\n\nWir benötigen Version {{MinVersion}}.',
Invite_Link: 'Einladungs-Link',
Invite_users: 'Benutzer einladen',
Join: 'Beitreten',
Join_our_open_workspace: 'Tritt unserem offenen Arbeitsbereich bei',
Join_your_workspace: 'Tritt deinem Arbeitsbereich bei',
Just_invited_people_can_access_this_channel: 'Nur eingeladene Personen können auf diesen Kanal zugreifen',
Language: 'Sprache',
last_message: 'letzte Nachricht',
@ -246,12 +271,14 @@ export default {
Light: 'Hell',
License: 'Lizenz',
Livechat: 'Live-Chat',
Livechat_edit: 'Livechat bearbeiten',
Login: 'Anmeldung',
Login_error: 'Ihre Zugangsdaten wurden abgelehnt! Bitte versuchen Sie es erneut.',
Login_with: 'Einloggen mit',
Logging_out: 'Abmelden.',
Logout: 'Abmelden',
Max_number_of_uses: 'Maximale Anzahl der Benutzungen',
Max_number_of_users_allowed_is_number: 'Maximale Anzahl von erlaubten Benutzern ist {{maxUsers}}',
members: 'Mitglieder',
Members: 'Mitglieder',
Mentioned_Messages: 'Erwähnte Nachrichten',
@ -277,6 +304,7 @@ export default {
N_users: '{{n}} Benutzer',
name: 'Name',
Name: 'Name',
Navigation_history: 'Navigations-Verlauf',
Never: 'Niemals',
New_Message: 'Neue Nachricht',
New_Password: 'Neues Kennwort',
@ -303,20 +331,34 @@ export default {
Notifications: 'Benachrichtigungen',
Notification_Duration: 'Benachrichtigungsdauer',
Notification_Preferences: 'Benachrichtigungseinstellungen',
No_available_agents_to_transfer: 'Keine Agenten für den Transfer verfügbar',
Offline: 'Offline',
Oops: 'Hoppla!',
Onboarding_description: 'Ein Arbeitsbereich ist der Ort für die Zusammenarbeit deines Teams oder Organisation. Bitte den Admin des Arbeitsbereichs um eine Adresse, um ihm beizutreten, oder erstelle einen Arbeitsbereich für dein Team.',
Onboarding_join_workspace: 'Tritt einem Arbeitsbereich bei',
Onboarding_subtitle: 'Mehr als Team-Zusammenarbeit',
Onboarding_title: 'Willkommen bei Rocket.Chat',
Onboarding_join_open_description: 'Tritt unserem Arbeitsbereich bei um mit dem Rocket.Chat-Team oder der Gemeinschaft zu chatten.',
Onboarding_agree_terms: 'Durch fortfahren stimmst du Rocket.Chats Bedingungen zu',
Onboarding_less_options: 'Weniger Optionen',
Onboarding_more_options: 'Mehr Optionen',
Online: 'Online',
Only_authorized_users_can_write_new_messages: 'Nur autorisierte Benutzer können neue Nachrichten schreiben',
Open_emoji_selector: 'Öffne die Emoji-Auswahl',
Open_Source_Communication: 'Open-Source-Kommunikation',
Open_your_authentication_app_and_enter_the_code: 'Öffne deine Authentifizierungsanwendung und gib den Code ein.',
OR: 'ODER',
OS: 'OS',
Overwrites_the_server_configuration_and_use_room_config: 'Übergeht die Servereinstellungen und nutzt Einstellung für den Raum',
Password: 'Passwort',
Parent_channel_or_group: 'Übergeordneter Kanal oder Gruppe',
Permalink_copied_to_clipboard: 'Permalink in die Zwischenablage kopiert!',
Phone: 'Telefon',
Pin: 'Anheften',
Pinned_Messages: 'Angeheftete Nachrichten',
pinned: 'angeheftet',
Pinned: 'Angeheftet',
Please_add_a_comment: 'Bitte Kommentar hinzufügen',
Please_enter_your_password: 'Bitte geben Sie Ihr Passwort ein',
Please_wait: 'Bitte warten.',
Preferences: 'Einstellungen',
@ -355,6 +397,7 @@ export default {
Reset_password: 'Passwort zurücksetzen',
resetting_password: 'Passwort zurücksetzen',
RESET: 'ZURÜCKSETZEN',
Return: 'Zurück',
Review_app_title: 'Gefällt dir diese App?',
Review_app_desc: 'Gib uns 5 Sterne im {{store}}',
Review_app_yes: 'Sicher!',
@ -375,7 +418,8 @@ export default {
Room_name_changed: 'Raumname geändert in {{name}} von {{userBy}}',
SAVE: 'SPEICHERN',
Save_Changes: 'Änderungen speichern',
Save: 'sparen',
Save: 'speichern',
Saved: 'gespeichert',
saving_preferences: 'Präferenzen speichern',
saving_profile: 'Profil speichern',
saving_settings: 'Einstellungen speichern',
@ -388,17 +432,25 @@ export default {
Seconds: '{{second}} Sekunden',
Select_Avatar: 'Wählen Sie einen Avatar aus',
Select_Server: 'Server auswählen',
Select_Users: 'Wählen Sie einen Benutzer aus',
Select_Users: 'Benutzer auswählen',
Select_a_Channel: 'Kanal auswählen',
Select_a_Department: 'Abteilung auswählen',
Select_an_option: 'Option auswählen',
Select_a_User: 'Benutzer auswählen',
Send: 'Senden',
Send_audio_message: 'Audio-Nachricht senden',
Send_crash_report: 'Absturzbericht senden',
Send_message: 'Nachricht senden',
Send_me_the_code_again: 'Den Code neu versenden',
Send_to: 'Senden an …',
Sent_an_attachment: 'Sende einen Anhang',
Server: 'Server',
Servers: 'Server',
Server_version: 'Server version: {{version}}',
Set_username_subtitle: 'Der Benutzername wird verwendet, damit andere Personen Sie in Nachrichten erwähnen können',
Set_custom_status: 'Individuellen Status setzen',
Set_status: 'Status setzen',
Status_saved_successfully: 'Status erfolgreich gesetzt!',
Settings: 'Einstellungen',
Settings_succesfully_changed: 'Einstellungen erfolgreich geändert!',
Share: 'Teilen',
@ -407,7 +459,7 @@ export default {
Show_more: 'Mehr anzeigen …',
Show_Unread_Counter: 'Zähler anzeigen',
Show_Unread_Counter_Info: 'Anzahl der ungelesenen Nachrichten anzeigen',
Sign_in_your_server: 'Melden Sie sich bei Ihrem Server an',
Sign_in_your_server: 'Melde dich bei deinem Server an',
Sign_Up: 'Anmelden',
Some_field_is_invalid_or_empty: 'Ein Feld ist ungültig oder leer',
Sorting_by: 'Sortierung nach {{key}}',
@ -422,6 +474,7 @@ export default {
Started_call: 'Anruf gestartet von {{userBy}}',
Submit: 'einreichen',
Table: 'Tabelle',
Tags: 'Tags',
Take_a_photo: 'Foto aufnehmen',
Take_a_video: 'Video aufnehmen',
tap_to_change_status: 'Tippen um den Status zu ändern',
@ -441,10 +494,10 @@ export default {
Translate: 'Übersetzen',
Try_again: 'Versuchen Sie es nochmal',
Two_Factor_Authentication: 'Zwei-Faktor-Authentifizierung',
Type_the_channel_name_here: 'Geben Sie hier den Kanalnamen ein',
Type_the_channel_name_here: 'Gib hier den Kanalnamen ein',
unarchive: 'wiederherstellen',
UNARCHIVE: 'WIEDERHERSTELLEN',
Unblock_user: 'Nutzer entsperren',
Unblock_user: 'Benutzer entsperren',
Unfavorite: 'Nicht mehr favorisieren',
Unfollowed_thread: 'Thread nicht mehr folgen',
Unmute: 'Stummschaltung aufheben',
@ -457,9 +510,10 @@ export default {
Updating: 'Aktualisierung …',
Uploading: 'Hochladen',
Upload_file_question_mark: 'Datei hochladen?',
User: 'Benutzer',
Users: 'Benutzer',
User_added_by: 'Benutzer {{userAdded}} hinzugefügt von {{userBy}}',
User_Info: 'Nutzerinfo',
User_Info: 'Benutzerinfo',
User_has_been_key: 'Benutzer wurde {{key}}!',
User_is_no_longer_role_by_: '{{user}} ist nicht länger {{role}} von {{userBy}}',
User_muted_by: 'Benutzer {{userMuted}} von {{userBy}} stummgeschaltet',
@ -471,18 +525,26 @@ export default {
Username: 'Benutzername',
Username_or_email: 'Benutzername oder E-Mail-Adresse',
Uses_server_configuration: 'Nutzt Servereinstellungen',
Usually_a_discussion_starts_with_a_question_like_How_do_I_upload_a_picture: 'Üblicherweise beginnt eine Diskussion mit einer Frage, beispielsweise: "Wie lade ich ein Bild hoch?"',
Validating: 'Validierung',
Registration_Succeeded: 'Registrierung erfolgreich!',
Verify: 'Überprüfen',
Verify_email_title: 'Registrierung erfolgreich!',
Verify_email_desc: 'Wir haben dir eine Email geschickt um deine Anmeldung zu bestätigen. Wenn du keine Email erhältst, komme bitte wieder und versuche es noch einmal.',
Verify_your_email_for_the_code_we_sent: 'Prüfe deine Mails für den Code, den wir dir eben geschickt haben.',
Video_call: 'Videoanruf',
View_Original: 'Original anzeigen',
Voice_call: 'Sprachanruf',
Websocket_disabled: 'Websockets sind auf diesem Server nicht aktiviert.\n{{contact}}',
Welcome: 'Herzlich willkommen',
What_are_you_doing_right_now: 'Was machst du gerade?',
Whats_your_2fa: 'Wie lautet Ihr 2FA-Code?',
Without_Servers: 'Ohne Server',
Workspaces: 'Arbeitsbereiche',
Would_you_like_to_return_the_inquiry: 'Willst du zur Anfrage zurück?',
Write_External_Permission_Message: 'Rocket.Chat benötigt Zugriff auf Ihre Galerie um Bilder speichern zu können.',
Write_External_Permission: 'Galerie-Zugriff',
Yes: 'Ja',
Yes_action_it: 'Ja, {{action}}!',
Yesterday: 'Gestern',
You_are_in_preview_mode: 'Sie befinden sich im Vorschaumodus',
@ -495,11 +557,13 @@ export default {
You: 'Sie',
Logged_out_by_server: 'Du bist vom Server abgemeldet worden. Bitte melde dich wieder an.',
You_need_to_access_at_least_one_RocketChat_server_to_share_something: 'Sie benötigen Zugang zu mindestens einem Rocket.Chat-Server um etwas zu teilen.',
Your_certificate: 'Ihr Zertifikat',
Your_certificate: 'Dein Zertifikat',
Your_message: 'Deine Nachricht',
Your_invite_link_will_expire_after__usesLeft__uses: 'Dein Einladungs-Link wird nach {{usesLeft}} Benutzungen ablaufen.',
Your_invite_link_will_expire_on__date__or_after__usesLeft__uses: 'Dein Einladungs-Link wird am {{date}} oder nach {{usesLeft}} Benutzungen ablaufen.',
Your_invite_link_will_expire_on__date__: 'Dein Einladungs-Link wird am {{date}} ablaufen.',
Your_invite_link_will_never_expire: 'Dein Einladungs-Link wird niemals ablaufen.',
Your_workspace: 'Dein Arbeitsbereich',
Version_no: 'Version: {{version}}',
You_will_not_be_able_to_recover_this_message: 'Sie können diese Nachricht nicht wiederherstellen!',
Change_Language: 'Sprache ändern',
@ -521,5 +585,30 @@ export default {
You_will_be_logged_out_of_this_application: 'Du wirst in dieser Anwendung vom Server abgemeldet.',
Clear: 'Löschen',
This_will_clear_all_your_offline_data: 'Dies wird deine Offline-Daten löschen.',
Mark_unread: 'Als ungelesen markieren'
This_will_remove_all_data_from_this_server: 'Dies wird alle Daten von diesem Server löschen.',
Mark_unread: 'Als ungelesen markieren',
Wait_activation_warning: 'Bevor du dich anmelden kannst, muss dein Konto durch einen Administrator freigeschaltet werden.',
Screen_lock: 'Zugriffs-Sperre',
Local_authentication_biometry_title: 'Authentifizieren',
Local_authentication_biometry_fallback: 'Sicherheitscode benutzen',
Local_authentication_unlock_option: 'Entsperren mit Sicherheitscode',
Local_authentication_change_passcode: 'Ändere Sicherheitscode',
Local_authentication_info: 'Anmerkung: Wenn du den Sicherheitscode vergisst, musst du diese App löschen und neu installieren.',
Local_authentication_facial_recognition: 'Gesichtserkennung',
Local_authentication_fingerprint: 'Fingerabdruck',
Local_authentication_unlock_with_label: 'Entsperren mit {{label}}',
Local_authentication_auto_lock_60: 'Nach 1 Minute',
Local_authentication_auto_lock_300: 'Nach 5 Minuten',
Local_authentication_auto_lock_900: 'Nach 15 Minuten',
Local_authentication_auto_lock_1800: 'Nach 30 Minuten',
Local_authentication_auto_lock_3600: 'Nach 1 Stunde',
Passcode_enter_title: 'Gib deinen Sicherheitscode ein',
Passcode_choose_title: 'Setze deinen neuen Sicherheitscode',
Passcode_choose_confirm_title: 'Bestätige deinen neuen Sicherheitscode',
Passcode_choose_error: 'Sicherheitscodes stimmen nicht überein. Probiere es noch einmal.',
Passcode_choose_force_set: 'Sicherheitscode wird vom Admin verlangt',
Passcode_app_locked_title: 'App gesperrt',
Passcode_app_locked_subtitle: 'Versuche es in {{timeLeft}} Sekunden noch einmal.',
After_seconds_set_by_admin: 'Nach {{seconds}} Sekunden (durch den Admin gesetzt)',
Dont_activate: 'Jetzt nicht aktivieren'
};

View File

@ -10,7 +10,7 @@ import log from '../../utils/log';
import database from '../database';
import protectedFunction from './helpers/protectedFunction';
import fetch from '../../utils/fetch';
import { DEFAULT_AUTO_LOCK, DEFAULT_AUTO_LOCK_OPTIONS } from '../../constants/localAuthentication';
import { DEFAULT_AUTO_LOCK } from '../../constants/localAuthentication';
const serverInfoKeys = ['Site_Name', 'UI_Use_Real_Name', 'FileUpload_MediaTypeWhiteList', 'FileUpload_MaxFileSize', 'Force_Screen_Lock', 'Force_Screen_Lock_After'];
@ -55,19 +55,6 @@ const serverInfoUpdate = async(serverInfo, iconSetting) => {
return { ...allSettings, autoLock };
}
if (setting._id === 'Force_Screen_Lock_After') {
// Force_Screen_Lock from server
const forceScreenLock = serverInfo.find(item => item._id === 'Force_Screen_Lock')?.valueAsBoolean;
// if Force_Screen_Lock is disabled on server and Screen Lock is enabled on app
if (!forceScreenLock && server.autoLock) {
// if the current autoLockTime is one of our default options, we'll keep this value
if (DEFAULT_AUTO_LOCK_OPTIONS.find(option => option.value === server.autoLockTime)) {
return { ...allSettings, autoLockTime: server.autoLockTime };
}
// if the current autoLockTime is a value that isn't in our default options, we'll reset
return { ...allSettings, autoLockTime: DEFAULT_AUTO_LOCK };
}
// if Force_Screen_Lock_After === 0 and autoLockTime is null, set app's default value
if (setting.valueAsNumber === 0 && !server.autoLockTime) {
return { ...allSettings, autoLockTime: DEFAULT_AUTO_LOCK };

View File

@ -225,13 +225,12 @@ const RocketChat = {
.catch((err) => {
console.log('connect error', err);
const { server: currentServer } = reduxStore.getState().server;
if (server === currentServer) {
// when `connect` raises an error, we try again in 10 seconds
this.connectTimeout = setTimeout(() => {
if (this.sdk?.client?.host === server) {
sdkConnect();
}, 10000);
}
}, 10000);
});
sdkConnect();

View File

@ -17,7 +17,7 @@ import { CustomIcon } from '../lib/Icons';
import database from '../lib/database';
import { supportedBiometryLabel, changePasscode, checkHasPasscode } from '../utils/localAuthentication';
import { DisclosureImage } from '../containers/DisclosureIndicator';
import { DEFAULT_AUTO_LOCK_OPTIONS, DEFAULT_AUTO_LOCK } from '../constants/localAuthentication';
import { DEFAULT_AUTO_LOCK } from '../constants/localAuthentication';
const styles = StyleSheet.create({
listPadding: {
@ -54,6 +54,29 @@ class ScreenLockConfigView extends React.Component {
this.init();
}
defaultAutoLockOptions = [
{
title: I18n.t('Local_authentication_auto_lock_60'),
value: 60
},
{
title: I18n.t('Local_authentication_auto_lock_300'),
value: 300
},
{
title: I18n.t('Local_authentication_auto_lock_900'),
value: 900
},
{
title: I18n.t('Local_authentication_auto_lock_1800'),
value: 1800
},
{
title: I18n.t('Local_authentication_auto_lock_3600'),
value: 3600
}
];
init = async() => {
const { server } = this.props;
const serversDB = database.servers;
@ -168,18 +191,24 @@ class ScreenLockConfigView extends React.Component {
}
renderAutoLockItems = () => {
const { autoLock } = this.state;
const { autoLock, autoLockTime } = this.state;
const { theme, Force_Screen_Lock_After, Force_Screen_Lock } = this.props;
if (!autoLock) {
return null;
}
let items = DEFAULT_AUTO_LOCK_OPTIONS;
let items = this.defaultAutoLockOptions;
if (Force_Screen_Lock && Force_Screen_Lock_After > 0) {
items = [{
title: I18n.t('After_seconds_set_by_admin', { seconds: Force_Screen_Lock_After }),
value: Force_Screen_Lock_After,
disabled: true
}];
// if Force_Screen_Lock is disabled and autoLockTime is a value that isn't on our defaultOptions we'll show it
} else if (Force_Screen_Lock_After === autoLockTime && !items.find(item => item.value === autoLockTime)) {
items.push({
title: I18n.t('After_seconds_set_by_admin', { seconds: Force_Screen_Lock_After }),
value: Force_Screen_Lock_After
});
}
return (
<>