Do not attempt to send to unregistered users when using CDS flag.

CDS is slow, and unregistered users will always trigger a CDS lookup on
send (since we can't get their UUID).

This starts skipping sends to unregistered users and shortens the time
window to do a full CDS lookup from every 12 hours to every 6 hours.
This commit is contained in:
Greyson Parrelli
2020-08-31 11:33:35 -04:00
parent 1e37951701
commit 4714895c59
11 changed files with 149 additions and 75 deletions

View File

@@ -59,7 +59,7 @@ public final class FeatureFlags {
private static final String GROUPS_V2_JOIN_VERSION = "android.groupsv2.joinVersion";
private static final String GROUPS_V2_LINKS_VERSION = "android.groupsv2.manageGroupLinksVersion";
private static final String GROUPS_V2_CAPACITY = "global.groupsv2.maxGroupSize";
private static final String CDS = "android.cds.4";
private static final String CDS_VERSION = "android.cdsVersion";
private static final String INTERNAL_USER = "android.internalUser";
private static final String MENTIONS = "android.mentions";
private static final String VERIFY_V2 = "android.verifyV2";
@@ -77,7 +77,7 @@ public final class FeatureFlags {
GROUPS_V2_CAPACITY,
GROUPS_V2_JOIN_VERSION,
GROUPS_V2_LINKS_VERSION,
CDS,
CDS_VERSION,
INTERNAL_USER,
USERNAMES,
MENTIONS,
@@ -106,7 +106,7 @@ public final class FeatureFlags {
GROUPS_V2_CREATE,
GROUPS_V2_JOIN_VERSION,
VERIFY_V2,
CDS
CDS_VERSION
);
/**
@@ -266,7 +266,7 @@ public final class FeatureFlags {
/** Whether or not to use the new contact discovery service endpoint, which supports UUIDs. */
public static boolean cds() {
return getBoolean(CDS, false);
return getVersionFlag(CDS_VERSION) == VersionFlag.ON;
}
/** Whether or not we allow mentions send support in groups. */