Retire the pni device capability

This commit is contained in:
Jon Chambers
2024-02-14 14:13:29 -05:00
committed by Jon Chambers
parent dcdf401f64
commit 5ff092e541
19 changed files with 28 additions and 212 deletions

View File

@@ -220,8 +220,6 @@ public class DeviceController {
if (capabilities == null) {
throw new WebApplicationException(Response.status(422, "Missing device capabilities").build());
} else if (isCapabilityDowngrade(account, capabilities)) {
throw new WebApplicationException(Response.status(409).build());
}
final String signalAgent;
@@ -355,10 +353,6 @@ public class DeviceController {
return Optional.of(aci);
}
static boolean isCapabilityDowngrade(Account account, DeviceCapabilities capabilities) {
return account.isPniSupported() && !capabilities.pni();
}
private static String getUsedTokenKey(final String token) {
return "usedToken::" + token;
}

View File

@@ -7,7 +7,9 @@ package org.whispersystems.textsecuregcm.entities;
import org.whispersystems.textsecuregcm.storage.Account;
public record UserCapabilities(boolean paymentActivation, boolean pni) {
public record UserCapabilities(boolean paymentActivation,
// TODO Remove the PNI capability entirely on or after 2024-05-14
boolean pni) {
public static UserCapabilities createForAccount(final Account account) {
return new UserCapabilities(account.isPaymentActivationSupported(), true);

View File

@@ -201,7 +201,6 @@ public class DevicesGrpcService extends ReactorDevicesGrpc.DevicesImplBase {
d -> d.setCapabilities(new Device.DeviceCapabilities(
request.getStorage(),
request.getTransfer(),
request.getPni(),
request.getPaymentActivation())))))
.thenReturn(SetCapabilitiesResponse.newBuilder().build());
}

View File

@@ -262,10 +262,6 @@ public class Account {
.orElse(false);
}
public boolean isPniSupported() {
return allEnabledDevicesHaveCapability(DeviceCapabilities::pni);
}
public boolean isPaymentActivationSupported() {
return allEnabledDevicesHaveCapability(DeviceCapabilities::paymentActivation);
}

View File

@@ -251,6 +251,6 @@ public class Device {
return this.userAgent;
}
public record DeviceCapabilities(boolean storage, boolean transfer, boolean pni, boolean paymentActivation) {
public record DeviceCapabilities(boolean storage, boolean transfer, boolean paymentActivation) {
}
}