Update error text for unregistered users
This commit is contained in:
parent
ab0ad79fbe
commit
fffa977337
@ -2735,7 +2735,7 @@
|
||||
"ERROR_DESCRIPTION_UNKNOWN_ERROR" = "An unknown error occurred.";
|
||||
|
||||
/* Error message when attempting to send message */
|
||||
"ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "Contact is not a Signal user.";
|
||||
"ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "Couldn’t send message because this person is no longer using Signal.";
|
||||
|
||||
/* Error message indicating that attachment upload(s) failed. */
|
||||
"ERROR_MESSAGE_ATTACHMENT_UPLOAD_FAILED" = "Attachment upload failed.";
|
||||
@ -6167,7 +6167,7 @@
|
||||
"RECIPIENT_PICKER_INVALID_NUMBER_TITLE" = "Invalid Phone Number";
|
||||
|
||||
/* Button. Shown after selecting a phone number that isn't a Signal user. Tapping the button will open a view that allows the user to send an SMS message to specified phone number. */
|
||||
"RECIPIENT_PICKER_INVITE_ACTION" = "Message";
|
||||
"RECIPIENT_PICKER_INVITE_ACTION" = "Invite";
|
||||
|
||||
/* Alert text. Shown after selecting a phone number that isn't a Signal user. */
|
||||
"RECIPIENT_PICKER_INVITE_MESSAGE" = "%1$@ is not a Signal user. Would you like to invite this number?";
|
||||
|
||||
@ -33,7 +33,11 @@ class SignalDotMePhoneNumberLink {
|
||||
let signalRecipients = try await SSKEnvironment.shared.contactDiscoveryManagerRef.lookUp(phoneNumbers: [phoneNumber], mode: .oneOffUserRequest)
|
||||
modal.dismissIfNotCanceled {
|
||||
guard let recipient = signalRecipients.first else {
|
||||
return OWSActionSheets.showErrorAlert(message: MessageSenderNoSuchSignalRecipientError().userErrorDescription)
|
||||
RecipientPickerViewController.presentSMSInvitationSheet(
|
||||
for: phoneNumber,
|
||||
fromViewController: fromViewController
|
||||
)
|
||||
return
|
||||
}
|
||||
block(recipient.address)
|
||||
}
|
||||
|
||||
@ -231,10 +231,12 @@ public class FindByPhoneNumberViewController: OWSTableViewController2 {
|
||||
let recipients = try await SSKEnvironment.shared.contactDiscoveryManagerRef.lookUp(phoneNumbers: [phoneNumber], mode: .oneOffUserRequest)
|
||||
modal.dismissIfNotCanceled {
|
||||
guard let recipient = recipients.first else {
|
||||
return OWSActionSheets.showErrorAlert(
|
||||
message: MessageSenderNoSuchSignalRecipientError().userErrorDescription,
|
||||
RecipientPickerViewController.presentSMSInvitationSheet(
|
||||
for: phoneNumber,
|
||||
fromViewController: self,
|
||||
dismissalDelegate: self
|
||||
)
|
||||
return
|
||||
}
|
||||
self.findByPhoneNumberDelegate?.findByPhoneNumber(self, didSelectAddress: recipient.address)
|
||||
}
|
||||
|
||||
@ -1328,7 +1328,7 @@ extension RecipientPickerViewController {
|
||||
|
||||
case (.`default`, .notFound(validE164: let validE164)):
|
||||
// Otherwise, if we're trying to contact someone, offer to invite them.
|
||||
presentSMSInvitationSheet(for: validE164)
|
||||
Self.presentSMSInvitationSheet(for: validE164, fromViewController: self)
|
||||
|
||||
case (_, .notValid(invalidE164: let invalidE164)):
|
||||
// If the number isn't valid, show an error so the user can fix it.
|
||||
@ -1336,7 +1336,11 @@ extension RecipientPickerViewController {
|
||||
}
|
||||
}
|
||||
|
||||
private func presentSMSInvitationSheet(for phoneNumber: String) {
|
||||
public static func presentSMSInvitationSheet(
|
||||
for phoneNumber: String,
|
||||
fromViewController viewController: UIViewController,
|
||||
dismissalDelegate: (any SheetDismissalDelegate)? = nil
|
||||
) {
|
||||
let actionSheet = ActionSheetController(
|
||||
title: OWSLocalizedString(
|
||||
"RECIPIENT_PICKER_INVITE_TITLE",
|
||||
@ -1357,17 +1361,18 @@ extension RecipientPickerViewController {
|
||||
comment: "Button. Shown after selecting a phone number that isn't a Signal user. Tapping the button will open a view that allows the user to send an SMS message to specified phone number."
|
||||
),
|
||||
style: .default,
|
||||
handler: { [weak self] action in
|
||||
guard let self = self else { return }
|
||||
handler: { [weak viewController] action in
|
||||
guard let viewController else { return }
|
||||
guard MFMessageComposeViewController.canSendText() else {
|
||||
OWSActionSheets.showErrorAlert(message: InviteFlow.unsupportedFeatureMessage)
|
||||
OWSActionSheets.showErrorAlert(message: InviteFlow.unsupportedFeatureMessage, fromViewController: viewController)
|
||||
return
|
||||
}
|
||||
let inviteFlow = InviteFlow(presentingViewController: self)
|
||||
let inviteFlow = InviteFlow(presentingViewController: viewController)
|
||||
inviteFlow.sendSMSTo(phoneNumbers: [phoneNumber])
|
||||
}
|
||||
))
|
||||
presentActionSheet(actionSheet)
|
||||
actionSheet.dismissalDelegate = dismissalDelegate
|
||||
viewController.presentActionSheet(actionSheet)
|
||||
}
|
||||
|
||||
private func presentInvalidNumberSheet(for phoneNumber: String) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user