Skip to content

Commit

Permalink
Merge branch 'release/2.0.4'
Browse files Browse the repository at this point in the history
  • Loading branch information
tobihagemann committed Dec 25, 2021
2 parents 95bd789 + 9f5dece commit d31c2fc
Show file tree
Hide file tree
Showing 7 changed files with 57 additions and 8 deletions.
4 changes: 2 additions & 2 deletions Cryptomator.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -2629,7 +2629,7 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MARKETING_VERSION = 2.0.3;
MARKETING_VERSION = 2.0.4;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
Expand Down Expand Up @@ -2691,7 +2691,7 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MARKETING_VERSION = 2.0.3;
MARKETING_VERSION = 2.0.4;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-expression-type-checking=200 -Xfrontend -warn-long-function-bodies=200";
Expand Down
13 changes: 13 additions & 0 deletions FileProviderExtension/FileProviderExtension.swift
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,12 @@ class FileProviderExtension: NSFileProviderExtension, LocalURLProvider {
}
let domainDocumentStorage = domain.pathRelativeToDocumentStorage
let manager = NSFileProviderManager.default
do {
try excludeFileProviderDocumentStorageFromiCloudBackup()
} catch {
DDLogError("Exclude FileProviderDocumentStorage from iCloud backup failed with error: \(error)")
return nil
}
return manager.documentStorageURL.appendingPathComponent(domainDocumentStorage)
}

Expand Down Expand Up @@ -311,6 +317,13 @@ class FileProviderExtension: NSFileProviderExtension, LocalURLProvider {
throw ErrorWrapper.wrapError(error, domain: domain)
}
}

private func excludeFileProviderDocumentStorageFromiCloudBackup() throws {
var values = URLResourceValues()
values.isExcludedFromBackup = true
var documentStorageURL = NSFileProviderManager.default.documentStorageURL
try documentStorageURL.setResourceValues(values)
}
}

enum FileProviderDecoratorSetupError: Error {
Expand Down
39 changes: 39 additions & 0 deletions SharedResources/ru.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
"chooseFolder.createNewFolder.header.title" = "Выберите имя для папки.";
"chooseFolder.createNewFolder.cells.name" = "Имя папки";
"chooseFolder.createNewFolder.error.emptyFolderName" = "Имя папки не может быть пустым.";
"chooseFolder.createNewFolder.progress" = "Создание папки…";

"cloudProvider.error.itemNotFound" = "Не удалось найти \"%@\".";
"cloudProvider.error.itemAlreadyExists" = "\"%@\" уже существует.";
Expand Down Expand Up @@ -104,13 +105,29 @@

"purchase.title" = "Разблокировать Полную Версию";
"purchase.info" = "Вы можете бесплатно использовать Cryptomator только в режиме \"для чтения\". Рассмотрите возможность разблокирования полной версии для доступа на запись в ваши хранилища.";
"purchase.infoRunningTrial" = "Пробный период истекает %@, он позволяет записывать данные в хранилища в течение ограниченного времени. После опробования вы можете разблокировать полную версию.";
"purchase.infoExpiredTrial" = "Пробный период истек. Рассмотрите возможность разблокировки полной версии, чтобы восстановить доступ на запись к вашим хранилищам.";
"purchase.upgrade.footer" = "Cryptomator обнаружил более старую версию. Вы можете обновиться, чтобы разблокировать полную версию.";
"purchase.upgrade.notEligible.footer" = "Если вы уже купили старую версию Cryptomator, скачайте её заново из App Store.";
"purchase.beginFreeTrial.button" = "Начать 30-ти дневный Пробный период Бесплатно";
"purchase.beginFreeTrial.footer" = "Попробуйте полную версию Cryptomator в течение ограниченного времени бесплатно. Вы можете разблокировать эту пробную версию только один раз.";
"purchase.beginFreeTrial.alert.title" = "Пробная версия разблокирована";
"purchase.beginFreeTrial.alert.message" = "Теперь вы можете использовать полную версию Cryptomator в течение ограниченного времени. Пробная версия истекает %@. После этого ваши хранилища по-прежнему будут доступны в режиме только для чтения.";
"purchase.purchaseFullVersion.button" = "Купить полную версию за %@";
"purchase.purchaseFullVersion.footer" = "Оплатите один раз и разблокируйте бессрочный доступ к записи в хранилища.";
"purchase.restorePurchase.button" = "Восстановить покупку";
"purchase.restorePurchase.footer" = "Если вы уже купили полную версию Cryptomator, то можете восстановить покупку.";
"purchase.restorePurchase.validTrialFound.alert.title" = "Продолжение опробования";
"purchase.restorePurchase.validTrialFound.alert.message" = "Теперь вы можете использовать полную версию Cryptomator в течение ограниченного времени. Пробная версия истекает %@. После этого ваши хранилища по-прежнему будут доступны в режиме только для чтения.";
"purchase.restorePurchase.fullVersionFound.alert.title" = "Успешно восстановлено";
"purchase.restorePurchase.fullVersionNotFound.alert.title" = "Полной версии нет";
"purchase.restorePurchase.fullVersionNotFound.alert.message" = "Не удалось найти ранее приобретённую полную версию, которая может быть восстановлена. Попробуйте другой вариант.";
"purchase.retry.button" = "Повторить";
"purchase.retry.footer" = "Не удалось загрузить доступные продукты.";
"purchase.decideLater.button" = "Решу позже";
"purchase.decideLater.footer" = "Вы можете разблокировать полную версию Cryptomator позже в настройках, а пока использовать режим только для чтения.";
"purchase.unlockedFullVersion.message" = "Теперь у вас полная версия Cryptomator. Счастливого шифрования!";
"purchase.unlockedFullVersion.title" = "Спасибо!";

"settings.title" = "Настройки";
"settings.aboutCryptomator" = "О программе Cryptomator";
Expand All @@ -126,6 +143,17 @@
"settings.unlockFullVersion" = "Разблокировать Полную Версию";

"snapshots.fileprovider.file1" = "/Учет.числа";
"snapshots.fileprovider.file2" = "/Final Presentation.key";
"snapshots.fileprovider.file3" = "/Product Trailer.mov";
"snapshots.fileprovider.file4" = "/Proposal.docx";
"snapshots.fileprovider.file5" = "/Report.pdf";
"snapshots.fileprovider.folder3" = "/Секретный проект";
"snapshots.fileprovider.folder2" = "/Счета";
"snapshots.fileprovider.folder1" = "/Сертификаты";
"snapshots.main.vault1" = "/Работа";
"snapshots.main.vault2" = "/Семья";
"snapshots.main.vault3" = "/Документы";
"snapshots.main.vault4" = "/Поездка в Крым";

"unlockVault.button.unlock" = "Разблокировать";
"unlockVault.button.unlockVia" = "Разблокировать через %@";
Expand All @@ -140,6 +168,16 @@
"untrustedTLSCertificate.add" = "Доверять";
"untrustedTLSCertificate.dismiss" = "Не доверять";

"upgrade.title" = "Обновление с версии 1.x";
"upgrade.info" = "У вас есть право обновить старую версию Cryptomator, чтобы разблокировать полную версию. Спасибо за поддержку Cryptomator в прошлом!";
"upgrade.paidUpgrade.button" = "Обновите за %@";
"upgrade.paidUpgrade.footer" = "Это поможет продолжать разработку ПО с открытым исходным кодом и будет для нас большой поддержкой.";
"upgrade.freeUpgrade.button" = "Обновить бесплатно";
"upgrade.freeUpgrade.footer" = "Не волнуйтесь, вы также можете обновиться до полной версии бесплатно без каких-либо ограничений.";
"upgrade.decideLater.footer" = "Вы можете обновить Cryptomator до полной версии позже в настройках, а пока использовать режим только для чтения.";
"upgrade.notEligible.alert.title" = "Ошибка обновления";
"upgrade.notEligible.alert.message" = "Не удалось обнаружить старую версию Cryptomator, установленную на вашем устройстве. Если вы купили её, пожалуйста, загрузите её снова в App Store и повторите попытку.";

"urlSession.error.httpError.401" = "Неверное имя пользователя и/или пароль.";
"urlSession.error.httpError.403" = "Недостаточно прав на запрашиваемый ресурс.";
"urlSession.error.httpError.404" = "Запрошенный ресурс не найден.";
Expand Down Expand Up @@ -182,3 +220,4 @@
"webDAVAuthentication.httpConnection.alert.title" = "Использовать HTTPS?";
"webDAVAuthentication.httpConnection.alert.message" = "Протокол HTTP небезопасен. Рекомендуем использовать HTTPS. Продолжайте с HTTP, только если вы понимаете риски.";
"webDAVAuthentication.httpConnection.change" = "Изменить на HTTPS";
"webDAVAuthentication.httpConnection.continue" = "Оставить HTTP";
Empty file.
3 changes: 1 addition & 2 deletions fastlane/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
- Fixed upload errors in Google Drive (#134)
- Fixed support of self-signed certificates and HTTP for WebDAV connections (#133)
- Fixed security vulnerability by excluding cache from iCloud Backup (#139)
3 changes: 1 addition & 2 deletions fastlane/metadata/de-DE/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
- Upload-Fehler in Google Drive behoben (#134)
- Unterstützung von selbstsignierten Zertifikaten und HTTP für WebDAV-Verbindungen behoben (#133)
- Sicherheitslücke behoben, indem der Cache aus dem iCloud Backup ausgeschlossen wird (#139)
3 changes: 1 addition & 2 deletions fastlane/metadata/en-US/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
- Fixed upload errors in Google Drive (#134)
- Fixed support of self-signed certificates and HTTP for WebDAV connections (#133)
- Fixed security vulnerability by excluding cache from iCloud Backup (#139)

0 comments on commit d31c2fc

Please sign in to comment.