Fix unknown recipient crash.

This commit is contained in:
Michelle Tang
2026-08-03 11:20:19 -04:00
parent 3da22726c7
commit e427b981ea
2 changed files with 11 additions and 1 deletions
@@ -65,6 +65,11 @@ class ConversationShortcutRankingUpdateJob private constructor(
override fun getFactoryKey() = KEY
override fun onRun() {
if (recipient.id.isUnknown) {
Log.w(TAG, "Recipient no longer exists. Skipping shortcut update.")
return
}
if (SignalStore.settings.screenLockEnabled) {
Log.i(TAG, "Screen lock enabled. Clearing shortcuts.")
ConversationUtil.clearAllShortcuts(context)
@@ -488,7 +488,12 @@ public final class SignalCallManager implements CallManager.Observer, GroupCall.
keyedExecutor.execute(id.toString(), () -> {
try {
Recipient group = Recipient.resolved(id);
Recipient group = Recipient.resolved(id);
if (!group.getGroupId().isPresent()) {
Log.w(TAG, "Recipient " + id + " is no longer a group. Skipping peek.");
return;
}
GroupId.V2 groupId = group.requireGroupId().requireV2();
ExternalGroupCredential credential = GroupManager.getExternalGroupCredential(context, groupId);