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 number Diff line number Diff 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 Down Expand 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 Down Expand 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 Down Expand 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 Down Expand 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 Down Expand 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 Down Expand 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 Down Expand 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 Down Expand 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 Down Expand 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 number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ final class InboxViewController: ASDKViewController<ASDisplayNode> {
setupUI()
setupNavigationBar()
fetchAndRenderEmails(nil)
checkFES()
}

override func viewWillAppear(_ animated: Bool) {
Expand Down Expand 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 number Diff line number Diff 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 number Diff line number Diff 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 number Diff line number Diff 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 Down Expand Up @@ -85,6 +87,12 @@ struct AppStartup {
}
}

private func getUserOrgRulesIfNeeded() {
if DataService.shared.isLoggedIn {
_ = OrganisationalRulesService().fetchOrganisationalRulesForCurrentUser()
}
}

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