Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 45 additions & 17 deletions FlowCrypt.xcodeproj/project.pbxproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,6 +11,11 @@
04B472951ECE29F600B8266F /* MyMenuViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B472921ECE29F600B8266F /* MyMenuViewController.swift */; };
04B472961ECE29F600B8266F /* SideMenuNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B472931ECE29F600B8266F /* SideMenuNavigationController.swift */; };
211392A5266511E6009202EC /* PubLookup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 211392A4266511E6009202EC /* PubLookup.swift */; };
21489B78267CB42400BDE4AC /* ClientConfigurationProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21489B77267CB42400BDE4AC /* ClientConfigurationProvider.swift */; };
21489B7A267CB4DF00BDE4AC /* ClientConfigurationObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21489B79267CB4DF00BDE4AC /* ClientConfigurationObject.swift */; };
21489B7C267CBA0E00BDE4AC /* ClientConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21489B7B267CBA0E00BDE4AC /* ClientConfiguration.swift */; };
21489B80267CC39E00BDE4AC /* OrganisationalRulesService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21489B7F267CC39E00BDE4AC /* OrganisationalRulesService.swift */; };
21489B83267CC99C00BDE4AC /* OrganisationalRulesServiceError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21489B82267CC99C00BDE4AC /* OrganisationalRulesServiceError.swift */; };
21C7DEFC26669A3700C44800 /* CalendarExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21C7DEFB26669A3700C44800 /* CalendarExtension.swift */; };
21C7DEFE26669CE100C44800 /* DateFormattingExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F56BD3723438C7000A7371A /* DateFormattingExtensions.swift */; };
21C7DF0526697DA500C44800 /* PromiseKitExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21C7DF0426697DA500C44800 /* PromiseKitExtension.swift */; };
Expand DownExpand Up@@ -112,10 +117,10 @@
9F976507267E165D0058419D /* ZBase32EncodingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21F836CB2652A38700B2448C /* ZBase32EncodingTests.swift */; };
9F97650E267E16620058419D /* WKDURLsConstructorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21F836D22652A46E00B2448C /* WKDURLsConstructorTests.swift */; };
9F97653D267E17C90058419D /* LocalStorageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F003D9D25EA910B00EB38C0 /* LocalStorageTests.swift */; };
9F976556267E186D0058419D /* DomainRulesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21EA3B2226565B5D00691848 /* DomainRulesTests.swift */; };
9F976569267E18F30058419D /* domain_rules.json in Resources */ = {isa = PBXBuildFile; fileRef = 21EA3B2E26565B7400691848 /* domain_rules.json */; };
9F976576267E18F90058419D /* domain_rules_partly_empty.json in Resources */ = {isa = PBXBuildFile; fileRef = 21EA3B3C26565B9800691848 /* domain_rules_partly_empty.json */; };
9F97657D267E18FE0058419D /* domain_rules_empty.json in Resources */ = {isa = PBXBuildFile; fileRef = 21EA3B3526565B8100691848 /* domain_rules_empty.json */; };
9F976556267E186D0058419D /* ClientConfigurationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21EA3B2226565B5D00691848 /* ClientConfigurationTests.swift */; };
9F976569267E18F30058419D /* client_configuraion.json in Resources */ = {isa = PBXBuildFile; fileRef = 21EA3B2E26565B7400691848 /* client_configuraion.json */; };
9F976576267E18F90058419D /* client_configuraion_partly_empty.json in Resources */ = {isa = PBXBuildFile; fileRef = 21EA3B3C26565B9800691848 /* client_configuraion_partly_empty.json */; };
9F97657D267E18FE0058419D /* client_configuraion_empty.json in Resources */ = {isa = PBXBuildFile; fileRef = 21EA3B3526565B8100691848 /* client_configuraion_empty.json */; };
9F976584267E194F0058419D /* TestData.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3DAD60722E4588800F2C4CD /* TestData.swift */; };
9F976585267E194F0058419D /* FlowCryptCoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3DAD5FD22E4574B00F2C4CD /* FlowCryptCoreTests.swift */; };
9F976592267E19880058419D /* TestData.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3DAD60722E4588800F2C4CD /* TestData.swift */; };
Expand DownExpand Up@@ -354,16 +359,21 @@
113F04B20ECC35FC59A81A6C /* Pods-FlowCryptTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FlowCryptTests.release.xcconfig"; path = "Target Support Files/Pods-FlowCryptTests/Pods-FlowCryptTests.release.xcconfig"; sourceTree = "<group>"; };
11C1375F41411882DC4C9431 /* Pods-FlowCryptUIApplication.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FlowCryptUIApplication.release.xcconfig"; path = "Target Support Files/Pods-FlowCryptUIApplication/Pods-FlowCryptUIApplication.release.xcconfig"; sourceTree = "<group>"; };
211392A4266511E6009202EC /* PubLookup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PubLookup.swift; sourceTree = "<group>"; };
21489B77267CB42400BDE4AC /* ClientConfigurationProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClientConfigurationProvider.swift; sourceTree = "<group>"; };
21489B79267CB4DF00BDE4AC /* ClientConfigurationObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClientConfigurationObject.swift; sourceTree = "<group>"; };
21489B7B267CBA0E00BDE4AC /* ClientConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClientConfiguration.swift; sourceTree = "<group>"; };
21489B7F267CC39E00BDE4AC /* OrganisationalRulesService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrganisationalRulesService.swift; sourceTree = "<group>"; };
21489B82267CC99C00BDE4AC /* OrganisationalRulesServiceError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrganisationalRulesServiceError.swift; sourceTree = "<group>"; };
21C7DEFB26669A3700C44800 /* CalendarExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarExtension.swift; sourceTree = "<group>"; };
21C7DF0426697DA500C44800 /* PromiseKitExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PromiseKitExtension.swift; sourceTree = "<group>"; };
21C7DF08266C0D8F00C44800 /* EnterpriseServerApi.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnterpriseServerApi.swift; sourceTree = "<group>"; };
21C7DF0A266C0E3600C44800 /* Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Configuration.swift; sourceTree = "<group>"; };
21CE25E52650070300ADFF4B /* WKDURLsConstructor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WKDURLsConstructor.swift; sourceTree = "<group>"; };
21EA3B15265647C400691848 /* OrganisationalRule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrganisationalRule.swift; sourceTree = "<group>"; };
21EA3B2226565B5D00691848 /* DomainRulesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DomainRulesTests.swift; sourceTree = "<group>"; };
21EA3B2E26565B7400691848 /* domain_rules.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = domain_rules.json; sourceTree = "<group>"; };
21EA3B3526565B8100691848 /* domain_rules_empty.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = domain_rules_empty.json; sourceTree = "<group>"; };
21EA3B3C26565B9800691848 /* domain_rules_partly_empty.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = domain_rules_partly_empty.json; sourceTree = "<group>"; };
21EA3B2226565B5D00691848 /* ClientConfigurationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClientConfigurationTests.swift; sourceTree = "<group>"; };
21EA3B2E26565B7400691848 /* client_configuraion.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = client_configuraion.json; sourceTree = "<group>"; };
21EA3B3526565B8100691848 /* client_configuraion_empty.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = client_configuraion_empty.json; sourceTree = "<group>"; };
21EA3B3C26565B9800691848 /* client_configuraion_partly_empty.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = client_configuraion_partly_empty.json; sourceTree = "<group>"; };
21EFF61E265A5C6700AB0B71 /* WKDURLsApi.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WKDURLsApi.swift; sourceTree = "<group>"; };
21F836B52652A26B00B2448C /* DataExntensions+ZBase32Encoding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DataExntensions+ZBase32Encoding.swift"; sourceTree = "<group>"; };
21F836CB2652A38700B2448C /* ZBase32EncodingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZBase32EncodingTests.swift; sourceTree = "<group>"; };
Expand DownExpand Up@@ -730,6 +740,7 @@
9F0C3C132316E69300299985 /* User.swift */,
9F9AAFFC2383E216000A00F1 /* Document.swift */,
21EA3B15265647C400691848 /* OrganisationalRule.swift */,
21489B7B267CBA0E00BDE4AC /* ClientConfiguration.swift */,
);
path = Models;
sourceTree = "<group>";
Expand All@@ -754,6 +765,16 @@
path = SideMenu;
sourceTree = "<group>";
};
21489B81267CC3BC00BDE4AC /* Organisational Rules Service */ = {
isa = PBXGroup;
children = (
21489B77267CB42400BDE4AC /* ClientConfigurationProvider.swift */,
21489B7F267CC39E00BDE4AC /* OrganisationalRulesService.swift */,
21489B82267CC99C00BDE4AC /* OrganisationalRulesServiceError.swift */,
);
path = "Organisational Rules Service";
sourceTree = "<group>";
};
21CE25D32650034500ADFF4B /* WKDURLs */ = {
isa = PBXGroup;
children = (
Expand All@@ -766,10 +787,10 @@
21EA3B2126565B4100691848 /* Models Parsing */ = {
isa = PBXGroup;
children = (
21EA3B2226565B5D00691848 /* DomainRulesTests.swift */,
21EA3B2E26565B7400691848 /* domain_rules.json */,
21EA3B3C26565B9800691848 /* domain_rules_partly_empty.json */,
21EA3B3526565B8100691848 /* domain_rules_empty.json */,
21EA3B2226565B5D00691848 /* ClientConfigurationTests.swift */,
21EA3B2E26565B7400691848 /* client_configuraion.json */,
21EA3B3C26565B9800691848 /* client_configuraion_partly_empty.json */,
21EA3B3526565B8100691848 /* client_configuraion_empty.json */,
);
path = "Models Parsing";
sourceTree = "<group>";
Expand DownExpand Up@@ -935,14 +956,15 @@
9F31AB9F232C071700CF87EA /* GlobalRouter.swift */,
32DCAC088C8BFFFAF08853AC /* AttesterApi.swift */,
32DCAC9C0512037018F434A1 /* BackendApi.swift */,
21C7DF08266C0D8F00C44800 /* EnterpriseServerApi.swift */,
21EFF61E265A5C6700AB0B71 /* WKDURLsApi.swift */,
21C7DF08266C0D8F00C44800 /* EnterpriseServerApi.swift */,
D274724024F97C5C006BA6EF /* CacheService.swift */,
C132B9CA1EC2DE6400763715 /* GeneralConstants.swift */,
9FB22CFD25715DDF0026EE64 /* Key Services */,
9F41FA1C25372C2D003B970D /* Backup Services */,
D227C0E4250538190070F805 /* Folders Services */,
D27B911724EFE787002DF0A1 /* Contacts Services */,
21489B81267CC3BC00BDE4AC /* Organisational Rules Service */,
);
path = Services;
sourceTree = "<group>";
Expand All@@ -956,6 +978,7 @@
D274724324FD1932006BA6EF /* FolderObject.swift */,
04B4728B1ECE29D200B8266F /* KeyInfo.swift */,
D2F41370243CC76E0066AFB5 /* SessionObject.swift */,
21489B79267CB4DF00BDE4AC /* ClientConfigurationObject.swift */,
);
path = "Realm Models";
sourceTree = "<group>";
Expand DownExpand Up@@ -1989,9 +2012,9 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9F976569267E18F30058419D /* domain_rules.json in Resources */,
9F976576267E18F90058419D /* domain_rules_partly_empty.json in Resources */,
9F97657D267E18FE0058419D /* domain_rules_empty.json in Resources */,
9F976569267E18F30058419D /* client_configuraion.json in Resources */,
9F976576267E18F90058419D /* client_configuraion_partly_empty.json in Resources */,
9F97657D267E18FE0058419D /* client_configuraion_empty.json in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand DownExpand Up@@ -2316,7 +2339,7 @@
9FC4116B2681186D004C0A69 /* KeyMethodsTest.swift in Sources */,
9F97653D267E17C90058419D /* LocalStorageTests.swift in Sources */,
9F9764F4267E15CC0058419D /* ExtensionTests.swift in Sources */,
9F976556267E186D0058419D /* DomainRulesTests.swift in Sources */,
9F976556267E186D0058419D /* ClientConfigurationTests.swift in Sources */,
9FC41171268118A7004C0A69 /* PassPhraseStorageTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand DownExpand Up@@ -2350,6 +2373,7 @@
9F4163E6266520B600106194 /* CommonNodesInputs.swift in Sources */,
04B472951ECE29F600B8266F /* MyMenuViewController.swift in Sources */,
C132B9B41EC2DBD800763715 /* AppDelegate.swift in Sources */,
21489B7C267CBA0E00BDE4AC /* ClientConfiguration.swift in Sources */,
9F976592267E19880058419D /* TestData.swift in Sources */,
04B472961ECE29F600B8266F /* SideMenuNavigationController.swift in Sources */,
5A39F441239EF17F001F4607 /* LegalViewControllersProvider.swift in Sources */,
Expand DownExpand Up@@ -2380,6 +2404,7 @@
D952B71D1ED0CB2500E5C02B /* MessageViewController.swift in Sources */,
5A39F42D239EC321001F4607 /* SettingsViewController.swift in Sources */,
5ADEDCBC23A4329000EC495E /* PublicKeyDetailViewController.swift in Sources */,
21489B80267CC39E00BDE4AC /* OrganisationalRulesService.swift in Sources */,
D28655932423B4EE0066F52E /* MyMenuViewDecorator.swift in Sources */,
04B4728D1ECE29D200B8266F /* KeyInfo.swift in Sources */,
9F3EF32F23B172D300FA0CEF /* SearchViewController.swift in Sources */,
Expand DownExpand Up@@ -2450,6 +2475,7 @@
9F9362192573D10E0009912F /* Imap+Message.swift in Sources */,
32DCA9C61ABB3234649B374E /* CoreHost.swift in Sources */,
9F41FA28253B75F4003B970D /* BackupSelectKeyViewController.swift in Sources */,
21489B83267CC99C00BDE4AC /* OrganisationalRulesServiceError.swift in Sources */,
D2F6D1402435008500DB4065 /* SessionCredentialsProvider.swift in Sources */,
9F9ABC8723AC1EAA00D560E3 /* MessageContext.swift in Sources */,
9F0C3C102316DD5B00299985 /* GoogleUserService.swift in Sources */,
Expand All@@ -2475,6 +2501,7 @@
9F6EE1552597399D0059BA51 /* BackupProvider.swift in Sources */,
9FEED1D2230DAD1E00700F8E /* InboxViewModel.swift in Sources */,
32DCAF9DA9EC47798DF8BB73 /* SignInViewController.swift in Sources */,
21489B78267CB42400BDE4AC /* ClientConfigurationProvider.swift in Sources */,
9FF0671C25520D9D00FCC9E6 /* MailProvider.swift in Sources */,
9FE743072347AA54005E2DBB /* MainNavigationController.swift in Sources */,
9F5C2A8B257E6C4900DE9B4B /* ImapError.swift in Sources */,
Expand All@@ -2490,6 +2517,7 @@
D2E26F7024F266F300612AF1 /* ContactDetailViewController.swift in Sources */,
9FDF3656235A22DA00614596 /* AppReset.swift in Sources */,
5A39F43F239EE7D2001F4607 /* SegmentedViewController.swift in Sources */,
21489B7A267CB4DF00BDE4AC /* ClientConfigurationObject.swift in Sources */,
5A5C234B23A042520015E705 /* WebViewController.swift in Sources */,
9F5C2A7E257E64D500DE9B4B /* MessageOperationsProvider.swift in Sources */,
9FC7EB76266EB67B00F3BF5D /* EncryptedStorageProtocols.swift in Sources */,
Expand Down
11 changes: 1 addition & 10 deletions FlowCrypt/Controllers/Inbox/InboxViewController.swift
Original file line numberDiff line numberDiff line change
Expand Up@@ -91,7 +91,6 @@ final class InboxViewController: ASDKViewController<ASDisplayNode> {
setupUI()
setupNavigationBar()
fetchAndRenderEmails(nil)
checkFES()
}

override func viewWillAppear(_ animated: Bool) {
Expand DownExpand Up@@ -218,7 +217,7 @@ extension InboxViewController {
// insert new messages
let indexesToInsert = messageContext.messages
.enumerated()
.map { (index, _) -> Int in
.map { index, _ -> Int in
let indexInTableView = index + count
return indexInTableView
}
Expand All@@ -245,14 +244,6 @@ extension InboxViewController {
showAlert(error: error, message: "message_failed_load".localized)
}
}

private func checkFES() {
enterpriseServerApi.getActiveFesUrlForCurrentUser()
.then(on: .main) { [weak self] urlString in
guard let urlString = urlString else { return }
self?.showToast("FES at \(urlString) not supported on iOS yet")
}
}
}

// MARK: - Action handlers
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,7 +37,7 @@ final class EncryptedStorage: EncryptedStorageType {
var version: SchemaVersion {
switch self {
case .initial:
return SchemaVersion(appVersion: "0.2.0", dbSchemaVersion: 1)
return SchemaVersion(appVersion: "0.2.0", dbSchemaVersion: 4)
}
}
}
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -79,7 +79,7 @@ final class MessageService {
isEmail: true
)

let isWrongPassPhraseError = decrypted.blocks.first(where: { (block) -> Bool in
let isWrongPassPhraseError = decrypted.blocks.first(where: { block -> Bool in
guard let errorBlock = block.decryptErr, case .needPassphrase = errorBlock.error.type else {
return false
}
Expand Down
8 changes: 8 additions & 0 deletions FlowCrypt/Functionality/Services/AppStartup.swift
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,6 +22,8 @@ struct AppStartup {
try awaitPromise(self.setupCore())
try self.setupMigrationIfNeeded()
try self.setupSession()
// Fetching of org rules is being called async in purpose we don't need to wait until it's fetched
self.getUserOrgRulesIfNeeded()
}.then(on: .main) {
self.chooseView(for: window, session: session)
}.catch(on: .main) { error in
Expand DownExpand Up@@ -85,6 +87,12 @@ struct AppStartup {
}
}

private func getUserOrgRulesIfNeeded() {
if DataService.shared.isLoggedIn {
_ = OrganisationalRulesService().fetchOrganisationalRulesForCurrentUser()
Comment thread
tomholub marked this conversation as resolved.
}
}

private func makeUserIdForSetup(session: SessionType) -> UserId? {
guard let currentUser = DataService.shared.currentUser else {
return nil
Expand Down
Loading