Follow OrgRules to forbid backups keys#376
Conversation
…ackupKeys false; Handling unknown ClientConfigurationFlag; Added tests for unknown ClientConfigurationFlag; Waiting for OrgRules to be fetched on Startup;
|
@tomholub The build fails on CI and if I open SemaphoreCI it shows me empty screen with |
|
@tomholub we do not run ui tests on CI. Maybe we can remove this step from CI flow? |
|
Hi @tomholub , which task should I take next? |
|
issue 359 please - thanks. later i’ll assign more
…On Tuesday, July 6, 2021, Evgenii Kievsky ***@***.***> wrote:
Hi @tomholub <https://github.com/tomholub> , which task should I take
next?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#376 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABQDZEJBKWLQCIPI3VEV75TTWMIJBANCNFSM47YIDXJQ>
.
--
--
Tom James Holub <http://holub.me/>
|
tomholub
left a comment
There was a problem hiding this comment.
Thank you for the PR - see my comments.
Some of the naming choices were not ideal already in the code before your PR, but got highlighted now - so we'll do a bit of refactoring per my comments.
FlowCrypt/Controllers/Settings/Settings List/SettingsViewController.swift
Outdated
Show resolved
Hide resolved
FlowCrypt/Controllers/Settings/Settings List/SettingsViewController.swift
Outdated
Show resolved
Hide resolved
FlowCrypt/Controllers/Settings/Settings List/SettingsViewController.swift
Outdated
Show resolved
Hide resolved
FlowCrypt/Controllers/Settings/Settings List/SettingsViewController.swift
Outdated
Show resolved
Hide resolved
FlowCrypt/Controllers/Settings/Settings List/SettingsViewController.swift
Outdated
Show resolved
Hide resolved
FlowCrypt/Controllers/Settings/Settings List/SettingsViewController.swift
Show resolved
Hide resolved
FlowCrypt/Controllers/Settings/Settings List/SettingsViewController.swift
Outdated
Show resolved
Hide resolved
FlowCrypt/Functionality/Services/Organisational Rules Service/OrganisationalRulesService.swift
Outdated
Show resolved
Hide resolved
|
@tomholub there could be error with JSON parsing and wrong user domain in |
Thank you for asking. Absolutely have to show error to the user, never default to empty ClientConfig to resolve errors. Additionally:
Only default to empty ClientConfig on In general, I want errors to be handled "harshly" - either crash the app if it's never expected (like a value that should never be nil but somehow is), or show the error to the user if it's some errors that could conceivably happen (like a network error, or badly formatted external json like here). We do a lot of "soft" error handling in the app with |
Made OrganisationalRules not optional; Fixed PR comments;
| storage.delete(userToDelete) | ||
| storage.delete(clientConfigurations) |
There was a problem hiding this comment.
@Kharchevskyi does the order of items matter here? If there are some foreign keys then we probably need to delete the user last?
There was a problem hiding this comment.
I think in this case - yes.
ClientConfigurationObject has userObject as a reference.
To be sure please check if this cause a crash on log out when there are 2 accounts logged in.
| @@ -12,8 +12,21 @@ protocol EnterpriseServerApiType { | |||
| func getActiveFesUrl(for email: String) -> Promise<String?> | |||
There was a problem hiding this comment.
Changes in this file are very good, thanks
| return nil | ||
| func getSavedOrganisationalRulesForCurrentUser() -> OrganisationalRules { | ||
| guard let configuration = self.clientConfigurationProvider.fetch() else { | ||
| assertionFailure("There should not be a user without OrganisationalRules") |
There was a problem hiding this comment.
Does assertionFailure also work for production builds?
This PR:
Skipping backups searching on Setup and Settings if OrgRules has canBackupKeys false;
Handling unknown ClientConfigurationFlag;
Added tests for unknown ClientConfigurationFlag;
Waiting for OrgRules to be fetched on Startup;
close #277
Tests:
To be filled by reviewers
I have reviewed that this PR... (tick whichever items you personally focused on during this review):