Ensure numbers are properly formatted before giving them to contact discovery service.
We were sending "Unknown" addresses, which would cause the service to choke.
This commit is contained in:
parent
946f76a442
commit
6359961a82
1 changed files with 7 additions and 2 deletions
|
@ -348,8 +348,9 @@ public class DirectoryHelper {
|
||||||
@NonNull SignalServiceAccountManager accountManager,
|
@NonNull SignalServiceAccountManager accountManager,
|
||||||
@NonNull Set<String> eligibleContactNumbers)
|
@NonNull Set<String> eligibleContactNumbers)
|
||||||
{
|
{
|
||||||
List<Set<String>> batches = splitIntoBatches(eligibleContactNumbers, CONTACT_DISCOVERY_BATCH_SIZE);
|
Set<String> sanitizedNumbers = sanitizeNumbers(eligibleContactNumbers);
|
||||||
List<Future<Set<String>>> futures = new ArrayList<>(batches.size());
|
List<Set<String>> batches = splitIntoBatches(sanitizedNumbers, CONTACT_DISCOVERY_BATCH_SIZE);
|
||||||
|
List<Future<Set<String>>> futures = new ArrayList<>(batches.size());
|
||||||
|
|
||||||
for (Set<String> batch : batches) {
|
for (Set<String> batch : batches) {
|
||||||
Future<Set<String>> future = SignalExecutors.IO.submit(() -> {
|
Future<Set<String>> future = SignalExecutors.IO.submit(() -> {
|
||||||
|
@ -360,6 +361,10 @@ public class DirectoryHelper {
|
||||||
return futures;
|
return futures;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Set<String> sanitizeNumbers(@NonNull Set<String> numbers) {
|
||||||
|
return Stream.of(numbers).filter(number -> number.startsWith("+")).collect(Collectors.toSet());
|
||||||
|
}
|
||||||
|
|
||||||
private static List<Set<String>> splitIntoBatches(@NonNull Set<String> numbers, int batchSize) {
|
private static List<Set<String>> splitIntoBatches(@NonNull Set<String> numbers, int batchSize) {
|
||||||
List<String> numberList = new ArrayList<>(numbers);
|
List<String> numberList = new ArrayList<>(numbers);
|
||||||
List<Set<String>> batches = new LinkedList<>();
|
List<Set<String>> batches = new LinkedList<>();
|
||||||
|
|
Loading…
Add table
Reference in a new issue