diff --git a/dev/App/User.js b/dev/App/User.js
index 5ec776440..af86fc5bf 100644
--- a/dev/App/User.js
+++ b/dev/App/User.js
@@ -24,6 +24,7 @@
SocialStore = require('Stores/Social'),
SettingsStore = require('Stores/User/Settings'),
AccountStore = require('Stores/User/Account'),
+ IdentityStore = require('Stores/User/Identity'),
Local = require('Storage/Client'),
Settings = require('Storage/Settings'),
@@ -517,12 +518,12 @@
var self = this;
AccountStore.loading(true);
- Data.identitiesLoading(true);
+ IdentityStore.identities.loading(true);
Remote.accountsAndIdentities(function (sResult, oData) {
AccountStore.loading(false);
- Data.identitiesLoading(false);
+ IdentityStore.identities.loading(false);
if (Enums.StorageResultType.Success === sResult && oData.Result)
{
@@ -554,8 +555,9 @@
if (Utils.isArray(oData.Result['Identities']))
{
- Utils.delegateRunOnDestroy(Data.identities());
- Data.identities(_.map(oData.Result['Identities'], function (oIdentityData) {
+ Utils.delegateRunOnDestroy(IdentityStore.identities());
+
+ IdentityStore.identities(_.map(oData.Result['Identities'], function (oIdentityData) {
var
sId = Utils.pString(oIdentityData['Id']),
@@ -1383,6 +1385,7 @@
require('Stores/User/App').populate();
require('Stores/User/Settings').populate();
require('Stores/User/Notification').populate();
+ require('Stores/User/Identity').populate();
Data.populateDataOnStart();
diff --git a/dev/Common/Enums.js b/dev/Common/Enums.js
index d62b92cb5..357522887 100644
--- a/dev/Common/Enums.js
+++ b/dev/Common/Enums.js
@@ -400,7 +400,8 @@
'InvalidRecipients': 303,
'CantSaveFilters': 351,
- 'FiltersAreNotCorrect': 352,
+ 'CantGetFilters': 352,
+ 'FiltersAreNotCorrect': 355,
'CantCreateFolder': 400,
'CantRenameFolder': 401,
diff --git a/dev/Common/Translator.js b/dev/Common/Translator.js
index ddcf8beb5..a3b44718a 100644
--- a/dev/Common/Translator.js
+++ b/dev/Common/Translator.js
@@ -156,6 +156,7 @@
oN[Enums.Notification.InvalidRecipients] = this.i18n('NOTIFICATIONS/INVALID_RECIPIENTS');
oN[Enums.Notification.CantSaveFilters] = this.i18n('NOTIFICATIONS/CANT_SAVE_FILTERS');
+ oN[Enums.Notification.CantGetFilters] = this.i18n('NOTIFICATIONS/CANT_GET_FILTERS');
oN[Enums.Notification.FiltersAreNotCorrect] = this.i18n('NOTIFICATIONS/FILTERS_ARE_NOT_CORRECT');
oN[Enums.Notification.CantCreateFolder] = this.i18n('NOTIFICATIONS/CANT_CREATE_FOLDER');
diff --git a/dev/External/ko.js b/dev/External/ko.js
index ddf73386e..7b09f98ac 100644
--- a/dev/External/ko.js
+++ b/dev/External/ko.js
@@ -113,7 +113,7 @@
}
else
{
- $(oElement).data('tooltip3-data', sValue).tooltip('show');
+ $(oElement).data('tooltip3-data', sValue);
_.delay(function () {
if ($(oElement).is(':visible'))
diff --git a/dev/Settings/User/Filters.js b/dev/Settings/User/Filters.js
index 41b874a7a..907fb1c73 100644
--- a/dev/Settings/User/Filters.js
+++ b/dev/Settings/User/Filters.js
@@ -26,6 +26,9 @@
this.modules = FilterStore.modules;
this.filters = FilterStore.collection;
+ this.inited = ko.observable(false);
+ this.serverError = ko.observable(false);
+ this.serverErrorDesc = ko.observable('');
this.haveChanges = ko.observable(false);
this.processText = ko.observable('');
@@ -35,6 +38,13 @@
this.filters.subscribe(Utils.windowResizeCallback);
+ this.serverError.subscribe(function (bValue) {
+ if (!bValue)
+ {
+ this.serverErrorDesc('');
+ }
+ }, this);
+
this.filterRaw = FilterStore.raw;
this.filterRaw.capa = FilterStore.capa;
this.filterRaw.active = ko.observable(false);
@@ -118,39 +128,52 @@
FilterModel = require('Model/Filter')
;
- this.filters.loading(true);
+ if (!this.filters.loading())
+ {
+ this.filters.loading(true);
- Remote.filtersGet(function (sResult, oData) {
+ Remote.filtersGet(function (sResult, oData) {
- self.filters.loading(false);
+ self.filters.loading(false);
+ self.serverError(false);
- if (Enums.StorageResultType.Success === sResult && oData &&
- oData.Result && Utils.isArray(oData.Result.Filters))
- {
- var aResult = _.compact(_.map(oData.Result.Filters, function (aItem) {
- var oNew = new FilterModel();
- return (oNew && oNew.parse(aItem)) ? oNew : null;
- }));
+ if (Enums.StorageResultType.Success === sResult && oData &&
+ oData.Result && Utils.isArray(oData.Result.Filters))
+ {
+ self.inited(true);
+ self.serverError(false);
- self.filters(aResult);
+ var aResult = _.compact(_.map(oData.Result.Filters, function (aItem) {
+ var oNew = new FilterModel();
+ return (oNew && oNew.parse(aItem)) ? oNew : null;
+ }));
- self.modules(oData.Result.Modules ? oData.Result.Modules : {});
+ self.filters(aResult);
- self.filterRaw(oData.Result.Raw || '');
- self.filterRaw.capa(Utils.isArray(oData.Result.Capa) ? oData.Result.Capa.join(' ') : '');
- self.filterRaw.active(!!oData.Result.RawIsActive);
- self.filterRaw.allow(!!oData.Result.RawIsAllow);
- }
- else
- {
- self.filters([]);
- self.modules({});
- self.filterRaw('');
- self.filterRaw.capa({});
- }
+ self.modules(oData.Result.Modules ? oData.Result.Modules : {});
- self.haveChanges(false);
- });
+ self.filterRaw(oData.Result.Raw || '');
+ self.filterRaw.capa(Utils.isArray(oData.Result.Capa) ? oData.Result.Capa.join(' ') : '');
+ self.filterRaw.active(!!oData.Result.RawIsActive);
+ self.filterRaw.allow(!!oData.Result.RawIsAllow);
+ }
+ else
+ {
+ self.filters([]);
+ self.modules({});
+ self.filterRaw('');
+ self.filterRaw.capa({});
+
+ self.serverError(true);
+ self.serverErrorDesc('ERROR');
+
+ self.serverErrorDesc(oData && oData.ErrorCode ? Translator.getNotification(oData.ErrorCode) :
+ Translator.getNotification(Enums.Notification.CantGetFilters));
+ }
+
+ self.haveChanges(false);
+ });
+ }
};
FiltersUserSettings.prototype.deleteFilter = function (oFilter)
@@ -215,7 +238,10 @@
}
})
;
+ };
+ FiltersUserSettings.prototype.onShow = function ()
+ {
this.updateList();
};
diff --git a/dev/Settings/User/Identities.js b/dev/Settings/User/Identities.js
index c9c7768ae..ea8df843a 100644
--- a/dev/Settings/User/Identities.js
+++ b/dev/Settings/User/Identities.js
@@ -12,6 +12,8 @@
HtmlEditor = require('Common/HtmlEditor'),
Translator = require('Common/Translator'),
+ IdentityStore = require('Stores/User/Identity'),
+
Data = require('Storage/User/Data'),
Remote = require('Storage/User/Remote')
;
@@ -37,13 +39,13 @@
this.replyTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
this.signatureTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
- this.identities = Data.identities;
- this.defaultIdentityID = Data.defaultIdentityID;
+ this.identities = IdentityStore.identities;
+ this.defaultIdentityID = IdentityStore.defaultIdentityID;
this.identitiesOptions = ko.computed(function () {
var
- aList = this.identities(),
+ aList = IdentityStore.identities(),
aResult = []
;
@@ -75,7 +77,7 @@
}, this);
this.processText = ko.computed(function () {
- return Data.identitiesLoading() ? Translator.i18n('SETTINGS_IDENTITIES/LOADING_PROCESS') : '';
+ return IdentityStore.identities.loading() ? Translator.i18n('SETTINGS_IDENTITIES/LOADING_PROCESS') : '';
}, this);
this.visibility = ko.computed(function () {
@@ -132,7 +134,7 @@
if (oIdentityToRemove)
{
- this.identities.remove(function (oIdentity) {
+ IdentityStore.identities.remove(function (oIdentity) {
return oIdentityToRemove === oIdentity;
});
@@ -192,7 +194,7 @@
f4 = Utils.settingsSaveHelperSimpleFunction(self.defaultIdentityIDTrigger, self)
;
- Data.defaultIdentityID.subscribe(function (sValue) {
+ IdentityStore.defaultIdentityID.subscribe(function (sValue) {
Remote.saveSettings(f4, {
'DefaultIdentityID': sValue
});
diff --git a/dev/Storage/User/Data.js b/dev/Storage/User/Data.js
index 0a5d3e4c1..4ce9af4a2 100644
--- a/dev/Storage/User/Data.js
+++ b/dev/Storage/User/Data.js
@@ -99,11 +99,6 @@
// security
this.enableTwoFactor = ko.observable(false);
- // identities
- this.defaultIdentityID = ko.observable('');
- this.identities = ko.observableArray([]);
- this.identitiesLoading = ko.observable(false).extend({'throttle': 100});
-
// contacts
this.contacts = ko.observableArray([]);
this.contacts.loading = ko.observable(false).extend({'throttle': 200});
@@ -484,8 +479,6 @@
this.accountOutLogin(Settings.settingsGet('OutLogin'));
this.projectHash(Settings.settingsGet('ProjectHash'));
- this.defaultIdentityID(Settings.settingsGet('DefaultIdentityID'));
-
this.displayName(Settings.settingsGet('DisplayName'));
this.replyTo(Settings.settingsGet('ReplyTo'));
this.signature(Settings.settingsGet('Signature'));
diff --git a/dev/Stores/User/Identity.js b/dev/Stores/User/Identity.js
new file mode 100644
index 000000000..ac5269c79
--- /dev/null
+++ b/dev/Stores/User/Identity.js
@@ -0,0 +1,30 @@
+
+(function () {
+
+ 'use strict';
+
+ var
+ ko = require('ko'),
+
+ Settings = require('Storage/Settings')
+ ;
+
+ /**
+ * @constructor
+ */
+ function IdentityUserStore()
+ {
+ this.defaultIdentityID = ko.observable('');
+
+ this.identities = ko.observableArray([]);
+ this.identities.loading = ko.observable(false).extend({'throttle': 100});
+ }
+
+ IdentityUserStore.prototype.populate = function ()
+ {
+ this.defaultIdentityID(Settings.settingsGet('DefaultIdentityID'));
+ };
+
+ module.exports = new IdentityUserStore();
+
+}());
diff --git a/dev/View/Popup/Compose.js b/dev/View/Popup/Compose.js
index 4eddf0ec3..58af3c5e6 100644
--- a/dev/View/Popup/Compose.js
+++ b/dev/View/Popup/Compose.js
@@ -22,7 +22,8 @@
Translator = require('Common/Translator'),
AppStore = require('Stores/User/App'),
- SettingsUserStore = require('Stores/User/Settings'),
+ SettingsStore = require('Stores/User/Settings'),
+ IdentityStore = require('Stores/User/Identity'),
SocialStore = require('Stores/Social'),
Settings = require('Storage/Settings'),
@@ -66,7 +67,7 @@
this.bSkipNextHide = false;
this.composeInEdit = Data.composeInEdit;
- this.editorDefaultType = SettingsUserStore.editorDefaultType;
+ this.editorDefaultType = SettingsStore.editorDefaultType;
this.capaOpenPGP = Data.capaOpenPGP;
@@ -157,8 +158,8 @@
this.composeEditorArea = ko.observable(null);
- this.identities = Data.identities;
- this.defaultIdentityID = Data.defaultIdentityID;
+ this.identities = IdentityStore.identities;
+ this.defaultIdentityID = IdentityStore.defaultIdentityID;
this.currentIdentityID = ko.observable('');
this.currentIdentityString = ko.observable('');
@@ -171,7 +172,7 @@
'optText': this.formattedFrom(false)
}];
- _.each(Data.identities(), function (oItem) {
+ _.each(IdentityStore.identities(), function (oItem) {
aList.push({
'optValue': oItem.id,
'optText': oItem.formattedNameForCompose()
@@ -188,7 +189,7 @@
sResult = '',
sResultEmail = '',
oItem = null,
- aList = this.identities(),
+ aList = IdentityStore.identities(),
sID = this.currentIdentityID()
;
@@ -281,7 +282,7 @@
}
else
{
- if (SettingsUserStore.replySameFolder())
+ if (SettingsStore.replySameFolder())
{
if (Utils.isArray(this.aDraftInfo) && 3 === this.aDraftInfo.length && Utils.isNormal(this.aDraftInfo[2]) && 0 < this.aDraftInfo[2].length)
{
@@ -577,7 +578,7 @@
if (this.bCapaAdditionalIdentities)
{
- _.each(this.identities(), function (oItem) {
+ _.each(IdentityStore.identities(), function (oItem) {
oIDs[oItem.email()] = oItem['id'];
});
}
@@ -604,7 +605,7 @@
if ('' === sResult)
{
- sResult = this.defaultIdentityID();
+ sResult = IdentityStore.defaultIdentityID();
}
if ('' === sResult)
diff --git a/dev/View/Popup/Domain.js b/dev/View/Popup/Domain.js
index ff154753d..35e7efaea 100644
--- a/dev/View/Popup/Domain.js
+++ b/dev/View/Popup/Domain.js
@@ -309,13 +309,19 @@
this.testingSieveErrorDesc(oData.Result.Sieve);
}
- if (bImap)
+ if (this.sieveSettings())
{
- this.sieveSettings(false);
+ if (!bSieve && bImap)
+ {
+ this.sieveSettings(false);
+ }
}
- else if (bSieve)
+ else
{
- this.sieveSettings(true);
+ if (bSieve && !bImap)
+ {
+ this.sieveSettings(true);
+ }
}
}
else
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Notifications.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Notifications.php
index 15750c9b3..f93c7305c 100644
--- a/rainloop/v/0.0.0/app/libraries/RainLoop/Notifications.php
+++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Notifications.php
@@ -37,7 +37,8 @@ class Notifications
const InvalidRecipients = 303;
const CantSaveFilters = 351;
- const FiltersAreNotCorrect = 352;
+ const CantGetFilters = 352;
+ const FiltersAreNotCorrect = 355;
const CantCreateFolder = 400;
const CantRenameFolder = 401;
@@ -111,6 +112,7 @@ class Notifications
self::CantSendMessage => 'CantSendMessage',
self::InvalidRecipients => 'InvalidRecipients',
self::CantSaveFilters => 'CantSaveFilters',
+ self::CantGetFilters => 'CantGetFilters',
self::FiltersAreNotCorrect => 'FiltersAreNotCorrect',
self::CantCreateFolder => 'CantCreateFolder',
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Filters.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Filters.php
index 36c247511..b10ab578d 100644
--- a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Filters.php
+++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Filters.php
@@ -25,7 +25,20 @@ class Filters extends \RainLoop\Providers\AbstractProvider
*/
public function Load($oAccount, $bAllowRaw = false)
{
- return $this->IsActive() ? $this->oDriver->Load($oAccount, $bAllowRaw) : array();
+ try
+ {
+ return $this->IsActive() ? $this->oDriver->Load($oAccount, $bAllowRaw) : array();
+ }
+ catch (\MailSo\Net\Exceptions\SocketCanNotConnectToHostException $oException)
+ {
+ throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::ConnectionError, $oException);
+ }
+ catch (\Exception $oException)
+ {
+ throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::CantGetFilters, $oException);
+ }
+
+ return false;
}
/**
diff --git a/rainloop/v/0.0.0/app/templates/Views/User/SettingsFilters.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsFilters.html
index 227437418..89b3b2652 100644
--- a/rainloop/v/0.0.0/app/templates/Views/User/SettingsFilters.html
+++ b/rainloop/v/0.0.0/app/templates/Views/User/SettingsFilters.html
@@ -4,7 +4,7 @@
-
+
@@ -43,7 +52,7 @@
-
+
+ data-bind="visible: inited() && (!filterRaw.active() || !filterRaw.active()), i18nUpdate: filters">
diff --git a/rainloop/v/0.0.0/langs/bg.ini b/rainloop/v/0.0.0/langs/bg.ini
index ccc407d77..7b59904d6 100644
--- a/rainloop/v/0.0.0/langs/bg.ini
+++ b/rainloop/v/0.0.0/langs/bg.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Can't save message"
CANT_SEND_MESSAGE = "Can't send message"
INVALID_RECIPIENTS = "Invalid recipients"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Can't create folder"
CANT_RENAME_FOLDER = "Can't rename folder"
diff --git a/rainloop/v/0.0.0/langs/de.ini b/rainloop/v/0.0.0/langs/de.ini
index c70ae57fd..18c408222 100644
--- a/rainloop/v/0.0.0/langs/de.ini
+++ b/rainloop/v/0.0.0/langs/de.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Diese Nachricht kann nicht gespeichert werden"
CANT_SEND_MESSAGE = "Diese Nachricht kann nicht gesendet werden"
INVALID_RECIPIENTS = "Ungültige Empfänger-Adresse"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Dieser Ordner kann nicht angelegt werden"
CANT_RENAME_FOLDER = "Dieser Ordner kann nicht umbenannt werden"
diff --git a/rainloop/v/0.0.0/langs/en.ini b/rainloop/v/0.0.0/langs/en.ini
index 452df217d..da9dbf3ac 100644
--- a/rainloop/v/0.0.0/langs/en.ini
+++ b/rainloop/v/0.0.0/langs/en.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Can't save message"
CANT_SEND_MESSAGE = "Can't send message"
INVALID_RECIPIENTS = "Invalid recipients"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Can't create folder"
CANT_RENAME_FOLDER = "Can't rename folder"
diff --git a/rainloop/v/0.0.0/langs/es.ini b/rainloop/v/0.0.0/langs/es.ini
index 4b1b3a1a6..e5d914fd8 100644
--- a/rainloop/v/0.0.0/langs/es.ini
+++ b/rainloop/v/0.0.0/langs/es.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "No se puede guardar el mensaje"
CANT_SEND_MESSAGE = "No se puede enviar el mensaje"
INVALID_RECIPIENTS = "Los destinatarios no son válidos"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "No se puede crear la carpeta"
CANT_RENAME_FOLDER = "No se puede renombrar la carpeta"
diff --git a/rainloop/v/0.0.0/langs/fr.ini b/rainloop/v/0.0.0/langs/fr.ini
index 289fafcd5..d249c02bb 100644
--- a/rainloop/v/0.0.0/langs/fr.ini
+++ b/rainloop/v/0.0.0/langs/fr.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Impossible d'enregistrer le message"
CANT_SEND_MESSAGE = "Impossible d'envoyer le message"
INVALID_RECIPIENTS = "Destinataires invalides"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Impossible de créer le dossier"
CANT_RENAME_FOLDER = "Impossible de renommer le dossier"
diff --git a/rainloop/v/0.0.0/langs/hu.ini b/rainloop/v/0.0.0/langs/hu.ini
index a8748f9af..4d3cfb5c0 100644
--- a/rainloop/v/0.0.0/langs/hu.ini
+++ b/rainloop/v/0.0.0/langs/hu.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Can't save message"
CANT_SEND_MESSAGE = "Can't send message"
INVALID_RECIPIENTS = "Invalid recipients"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Can't create folder"
CANT_RENAME_FOLDER = "Can't rename folder"
diff --git a/rainloop/v/0.0.0/langs/is.ini b/rainloop/v/0.0.0/langs/is.ini
index 49015ce5c..618d47be4 100644
--- a/rainloop/v/0.0.0/langs/is.ini
+++ b/rainloop/v/0.0.0/langs/is.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Get ekki vistað bréf"
CANT_SEND_MESSAGE = "Get ekki sent bréf"
INVALID_RECIPIENTS = "Rangir viðtakendur"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Get ekki búið til möppu"
CANT_RENAME_FOLDER = "Get ekki endurnefnt möppu"
diff --git a/rainloop/v/0.0.0/langs/it.ini b/rainloop/v/0.0.0/langs/it.ini
index 2dc926d41..48953dfbe 100644
--- a/rainloop/v/0.0.0/langs/it.ini
+++ b/rainloop/v/0.0.0/langs/it.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Impossibile salvare il messaggio"
CANT_SEND_MESSAGE = "Impossibile incollare il messaggio"
INVALID_RECIPIENTS = "Destinatario non valido"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Impossibile creare la cartella"
CANT_RENAME_FOLDER = "Impossibile rinominare la cartella"
diff --git a/rainloop/v/0.0.0/langs/ja-jp.ini b/rainloop/v/0.0.0/langs/ja-jp.ini
index 737758a95..9308c8de0 100644
--- a/rainloop/v/0.0.0/langs/ja-jp.ini
+++ b/rainloop/v/0.0.0/langs/ja-jp.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Can't save message"
CANT_SEND_MESSAGE = "Can't send message"
INVALID_RECIPIENTS = "Invalid recipients"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Can't create folder"
CANT_RENAME_FOLDER = "Can't rename folder"
diff --git a/rainloop/v/0.0.0/langs/ko-kr.ini b/rainloop/v/0.0.0/langs/ko-kr.ini
index ebbc2f886..832288ba4 100644
--- a/rainloop/v/0.0.0/langs/ko-kr.ini
+++ b/rainloop/v/0.0.0/langs/ko-kr.ini
@@ -632,6 +632,7 @@ CANT_SAVE_MESSAGE = "메시지를 저장할 수 없습니다."
CANT_SEND_MESSAGE = "메시지를 보낼 수 없습니다."
INVALID_RECIPIENTS = "수신인 오류"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "폴더를 생성할 수 없습니다."
CANT_RENAME_FOLDER = "폴더명을 변경할 수 없습니다."
diff --git a/rainloop/v/0.0.0/langs/lt.ini b/rainloop/v/0.0.0/langs/lt.ini
index 513815092..b8cb66295 100644
--- a/rainloop/v/0.0.0/langs/lt.ini
+++ b/rainloop/v/0.0.0/langs/lt.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Nepavyko išsaugoti laiško"
CANT_SEND_MESSAGE = "Nepavyko išsiųsti laiško"
INVALID_RECIPIENTS = "Netinkamas gavėjas"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Nepavyksta sukurti katalogo"
CANT_RENAME_FOLDER = "Nepavyksta pervadinti katalogo"
diff --git a/rainloop/v/0.0.0/langs/lv.ini b/rainloop/v/0.0.0/langs/lv.ini
index 0ec298174..5e62d6834 100644
--- a/rainloop/v/0.0.0/langs/lv.ini
+++ b/rainloop/v/0.0.0/langs/lv.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Nevar saglabāt ziņojumu"
CANT_SEND_MESSAGE = "Nevar nosūtīt ziņojumu"
INVALID_RECIPIENTS = "Nepareizi saņēmēji"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Nevar izveidot mapi"
CANT_RENAME_FOLDER = "Nevar pārsaukt mapi"
diff --git a/rainloop/v/0.0.0/langs/nl.ini b/rainloop/v/0.0.0/langs/nl.ini
index 6fdeb38c0..8a874516c 100644
--- a/rainloop/v/0.0.0/langs/nl.ini
+++ b/rainloop/v/0.0.0/langs/nl.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Kan bericht niet opslaan"
CANT_SEND_MESSAGE = "Kan bericht niet verzenden"
INVALID_RECIPIENTS = "Onjuiste ontvangers"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Kan map niet aanmaken"
CANT_RENAME_FOLDER = "Kan map niet hernoemen"
diff --git a/rainloop/v/0.0.0/langs/no.ini b/rainloop/v/0.0.0/langs/no.ini
index 9aa8597b6..8482a4b1b 100644
--- a/rainloop/v/0.0.0/langs/no.ini
+++ b/rainloop/v/0.0.0/langs/no.ini
@@ -634,6 +634,7 @@ CANT_SAVE_MESSAGE = "Kan ikke lagre melding"
CANT_SEND_MESSAGE = "Kan ikke sende melding"
INVALID_RECIPIENTS = "Ugyldige mottakere"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Kan ikke opprette mappe"
CANT_RENAME_FOLDER = "Kan ikke endre navn på mappen"
diff --git a/rainloop/v/0.0.0/langs/pl.ini b/rainloop/v/0.0.0/langs/pl.ini
index 2e075ddb2..47fd5aa8e 100644
--- a/rainloop/v/0.0.0/langs/pl.ini
+++ b/rainloop/v/0.0.0/langs/pl.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Nie można zapisać wiadomości"
CANT_SEND_MESSAGE = "Nie można wysłać wiadomości"
INVALID_RECIPIENTS = "Nieprawidłowy adres odbiorcy"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Nie można utworzyć folderu"
CANT_RENAME_FOLDER = "Nie można zmienić nazwy folderu"
diff --git a/rainloop/v/0.0.0/langs/pt-br.ini b/rainloop/v/0.0.0/langs/pt-br.ini
index fd34de73c..2f64e7280 100644
--- a/rainloop/v/0.0.0/langs/pt-br.ini
+++ b/rainloop/v/0.0.0/langs/pt-br.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Não foi possível salvar a mensagem"
CANT_SEND_MESSAGE = "Não foi possível enviar a mensagem"
INVALID_RECIPIENTS = "Destinatário inválido"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Não foi possível criar a pasta"
CANT_RENAME_FOLDER = "Não foi possível renomear a pasta"
diff --git a/rainloop/v/0.0.0/langs/pt-pt.ini b/rainloop/v/0.0.0/langs/pt-pt.ini
index 972786887..1304385e3 100644
--- a/rainloop/v/0.0.0/langs/pt-pt.ini
+++ b/rainloop/v/0.0.0/langs/pt-pt.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Não é possível salvar a mensagem"
CANT_SEND_MESSAGE = "Não é possível enviar a mensagem"
INVALID_RECIPIENTS = "Destinatário invpalido"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Não é possível criar esta pasta"
CANT_RENAME_FOLDER = "Não é possível renomear esta pasta"
diff --git a/rainloop/v/0.0.0/langs/ro.ini b/rainloop/v/0.0.0/langs/ro.ini
index 413aec25d..2289faabd 100644
--- a/rainloop/v/0.0.0/langs/ro.ini
+++ b/rainloop/v/0.0.0/langs/ro.ini
@@ -634,6 +634,7 @@ CANT_SAVE_MESSAGE = "Nu pot salva mesajul. Încercați din nou"
CANT_SEND_MESSAGE = "Nu pot trimite scrisoarea.Încercați din nou"
INVALID_RECIPIENTS = "Verificați dacă ați introdus toate adresele."
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Nu crea dosarul. Încercați din nou"
CANT_RENAME_FOLDER = "Nu pot redenumi dosarul. Încercați din nou"
diff --git a/rainloop/v/0.0.0/langs/ru.ini b/rainloop/v/0.0.0/langs/ru.ini
index 8edc4fce4..2e49bce06 100644
--- a/rainloop/v/0.0.0/langs/ru.ini
+++ b/rainloop/v/0.0.0/langs/ru.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Не могу сохранить письмо"
CANT_SEND_MESSAGE = "Не могу отправить письмо"
INVALID_RECIPIENTS = "Проверьте правильность ввода всех адресов."
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Не могу создать папку"
CANT_RENAME_FOLDER = "Не могу переименовать папку"
diff --git a/rainloop/v/0.0.0/langs/sk.ini b/rainloop/v/0.0.0/langs/sk.ini
index a1dd52df1..a72c8a448 100644
--- a/rainloop/v/0.0.0/langs/sk.ini
+++ b/rainloop/v/0.0.0/langs/sk.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Správu sa nepodarilo uložiť"
CANT_SEND_MESSAGE = "Správu sa nepodarilo odoslať"
INVALID_RECIPIENTS = "Neplatný príjemcovia"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Priečinok sa nepodarilo vytvoriť"
CANT_RENAME_FOLDER = "Priečinok sa nepodarilo premenovať"
diff --git a/rainloop/v/0.0.0/langs/sv.ini b/rainloop/v/0.0.0/langs/sv.ini
index 39128ad88..cd27af016 100644
--- a/rainloop/v/0.0.0/langs/sv.ini
+++ b/rainloop/v/0.0.0/langs/sv.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Kan inte spara meddelande"
CANT_SEND_MESSAGE = "Kan inte skicka meddelande"
INVALID_RECIPIENTS = "Ogiltig mottagare"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Kan inte skapa mapp"
CANT_RENAME_FOLDER = "Kan inte byta namn på mapp"
diff --git a/rainloop/v/0.0.0/langs/tr.ini b/rainloop/v/0.0.0/langs/tr.ini
index 04e185078..ec8ffe5c7 100644
--- a/rainloop/v/0.0.0/langs/tr.ini
+++ b/rainloop/v/0.0.0/langs/tr.ini
@@ -633,6 +633,7 @@ CANT_SAVE_MESSAGE = "Mesaj kaydedilemedi"
CANT_SEND_MESSAGE = "Mesaj gönderilemedi"
INVALID_RECIPIENTS = "Geçersiz alıcılar"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Klasör oluşturulamadı"
CANT_RENAME_FOLDER = "Klasör oluşturulamadı"
diff --git a/rainloop/v/0.0.0/langs/ua.ini b/rainloop/v/0.0.0/langs/ua.ini
index df9ffc64a..a9d9eb6d0 100644
--- a/rainloop/v/0.0.0/langs/ua.ini
+++ b/rainloop/v/0.0.0/langs/ua.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "Не можу зберегти листа"
CANT_SEND_MESSAGE = "Не можу відправити листа"
INVALID_RECIPIENTS = "Перевірити правильність вводу всіх адрес."
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "Не можу створити теку"
CANT_RENAME_FOLDER = "Не можу перейменувати теку"
diff --git a/rainloop/v/0.0.0/langs/zh-cn.ini b/rainloop/v/0.0.0/langs/zh-cn.ini
index 942ce8b8d..78f64282e 100644
--- a/rainloop/v/0.0.0/langs/zh-cn.ini
+++ b/rainloop/v/0.0.0/langs/zh-cn.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "无法保存邮件"
CANT_SEND_MESSAGE = "无法发送邮件"
INVALID_RECIPIENTS = "无效接收人"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "无法创建文件夹"
CANT_RENAME_FOLDER = "无法重命名文件夹"
diff --git a/rainloop/v/0.0.0/langs/zh-tw.ini b/rainloop/v/0.0.0/langs/zh-tw.ini
index 6f4b0f07a..d1160cc0a 100644
--- a/rainloop/v/0.0.0/langs/zh-tw.ini
+++ b/rainloop/v/0.0.0/langs/zh-tw.ini
@@ -635,6 +635,7 @@ CANT_SAVE_MESSAGE = "無法保存郵件"
CANT_SEND_MESSAGE = "無法發送郵件"
INVALID_RECIPIENTS = "無效接收人"
CANT_SAVE_FILTERS = "Can't save filters"
+CANT_GET_FILTERS = "Can't get filters"
FILTERS_ARE_NOT_CORRECT = "Filters are not correct"
CANT_CREATE_FOLDER = "無法創建資料夾"
CANT_RENAME_FOLDER = "無法重命名資料夾"