Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

all differences between enterprise and consumer build #2123

Closed
tomholub opened this issue Jan 3, 2023 · 12 comments
Closed

all differences between enterprise and consumer build #2123

tomholub opened this issue Jan 3, 2023 · 12 comments
Assignees

Comments

@tomholub
Copy link
Collaborator

tomholub commented Jan 3, 2023

please make a list of all behavior differences currently between enterprise and consumer app

@tomholub tomholub added this to the 1.4.0 milestone Jan 3, 2023
@DenBond7
Copy link
Collaborator

DenBond7 commented Jan 5, 2023

Item Consumer Eneterprise
package com.flowcrypt.email com.flowcrypt.email.enterprise
GMail API Enabled` false true
Outlook OAuth redirect URI #716 msauth://com.flowcrypt.email/gVgrJ%2BnS3FFmy0N1RePwMwAKI70%3D msauth://com.flowcrypt.email.enterprise/gVgrJ%2BnS3FFmy0N1RePwMwAKI70%3D
Check FES availability. SSLExceptin #1202 continueWithRegularFlow() showDialogWithRetryButton
Preview attachments #1682 based onRESTRICT_ANDROID_ATTACHMENT_HANDLING using Content app(com.airwatch.contentlocker, RESTRICT_ANDROID_ATTACHMENT_HANDLING)
Refresh Private Keys From Ekm not supported enabled
Support derepcated signature (SHA1) #1478 true false

Edit_1. Updated Preview attachments section

@DenBond7
Copy link
Collaborator

DenBond7 commented Jan 5, 2023

@tomholub @martgil @sosnovsky I hope it's a full list :) I have not found more differences.

@tomholub
Copy link
Collaborator Author

tomholub commented Jan 5, 2023

Refresh Private Keys From Ekm

This should be supported on both. Whenever EKM is present

@tomholub
Copy link
Collaborator Author

tomholub commented Jan 5, 2023

GMail API Enabled

This should be enabled on both going forward, as discussed (just mentioning for clarity)

@tomholub
Copy link
Collaborator Author

tomholub commented Jan 5, 2023

Check FES availability. SSLExceptin #1202

This should apply to more than just SSL error.

situation enterprise behavior consumer behavior
FES returns 404 regular flow regular flow
FES is not reachable, internet is working error regular flow
FES is not reachable, internet is not working error error
FES SSL error error regular flow
FES returns wrong data error regular flow
FES returns 5xx error regular flow
FES returns 4xx other than 404 error regular flow

Broadly speaking, consumer version does not know if FES is supposed to be running on the domain or not. Maybe it is, maybe it isn't. During setup, it will try if FES runs there, and if it gets back nothing or errors, it's willing to proceed with regular flow.

On enterprise, the FES MUST be running there, and the only way to proceed with regular flow is if that address returns a 404.

@tomholub
Copy link
Collaborator Author

tomholub commented Jan 5, 2023

Preview attachments #1682

I think there should probably be no difference between consumer and enterprise here.

If RESTRICT_ANDROID_ATTACHMENT_HANDLING is present, apply restrictions, else don't apply restrictions, regardless of build.

We can file a separate issue for this to discuss the behavior in more detail.

@DenBond7
Copy link
Collaborator

DenBond7 commented Jan 5, 2023

This should be supported on both. Whenever EKM is present

I was wrong, it works for both. I've checked. If clientConfiguration?.usesKeyManager() == true we try to refresh private keys from EKM.

@DenBond7
Copy link
Collaborator

DenBond7 commented Jan 5, 2023

This should be enabled on both going forward, as discussed (just mentioning for clarity)

Yup. Because #2122 is not completed yet I've added this info to the table.

@DenBond7
Copy link
Collaborator

DenBond7 commented Jan 5, 2023

@tomholub I've rechecked (code and ref #1202 (comment)). We have the following situation for Android now.

situation enterprise behavior consumer behavior Situation
FES returns 404 regular flow regular flow
FES is not reachable, internet is working error regular flow continueBasedOnFlavorSettings()
FES is not reachable, internet is not working error error (show dialog with retry button)
FES SSL error error regular flow
FES returns wrong data error regular flow as I understand it is about "enterprise-server" == service. continueBasedOnFlavorSettings()
FES returns 5xx error regular flow continueBasedOnFlavorSettings()
FES returns 4xx other than 404 error regular flow continueBasedOnFlavorSettings()

private fun continueBasedOnFlavorSettings() {
    if (BuildConfig.FLAVOR == Constants.FLAVOR_NAME_ENTERPRISE) {
      /*
       here we actually need to decide if we should show error or proceed with
       regular setup flow based on exact customers that will skip to regular setup flow,
       and the rest will be shown error.
      */
      continueWithRegularFlow()
    } else {
      continueWithRegularFlow()
    }
  }

@tomholub
Copy link
Collaborator Author

tomholub commented Jan 5, 2023

Ok, I remember this situation. Let's standardize it, as follows.

private fun continueBasedOnFlavorSettings() {
    if (BuildConfig.FLAVOR == Constants.FLAVOR_NAME_ENTERPRISE) {
      // error + retry
    } else {
      continueWithRegularFlow()
    }
  }

I believe this will make it the same as my table above. If if doesn't, let me know.

@DenBond7
Copy link
Collaborator

DenBond7 commented Jan 7, 2023

I believe this will make it the same as my table above. If if doesn't, let me know.

Yes. It should work the same.

@DenBond7
Copy link
Collaborator

DenBond7 commented Jan 7, 2023

I'm closing it for now. We've opened separate issues for some of the questions.

@DenBond7 DenBond7 closed this as completed Jan 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants