diff --git a/ts/components/MemberListItem.tsx b/ts/components/MemberListItem.tsx
index f3eda0516..aea87d1a2 100644
--- a/ts/components/MemberListItem.tsx
+++ b/ts/components/MemberListItem.tsx
@@ -200,10 +200,6 @@ const GroupStatusText = ({ groupPk, pubkey }: { pubkey: PubkeyType; groupPk: Gro
return null;
}
- /**
- * Note: Keep the "sending" checks here first, as we might be "sending" when we've previously failed.
- * If we were to have the "failed" checks first, we'd hide the "sending" state when we are retrying.
- */
const statusText = localisedStatusFromMemberStatus(memberStatus);
if (!statusText) {
return null;
diff --git a/ts/components/menu/items/RetrySend/RetrySendMenuItem.tsx b/ts/components/menu/items/RetrySend/RetrySendMenuItem.tsx
index f10a72a66..992e23040 100644
--- a/ts/components/menu/items/RetrySend/RetrySendMenuItem.tsx
+++ b/ts/components/menu/items/RetrySend/RetrySendMenuItem.tsx
@@ -1,4 +1,4 @@
-import { useCallback } from 'react';
+import useAsyncFn from 'react-use/lib/useAsyncFn';
import { WithMessageId } from '../../../../session/types/with';
import { useMessageDirection, useMessageStatus } from '../../../../state/selectors';
import { ItemWithDataTestId } from '../MenuItemWithDataTestId';
@@ -12,7 +12,7 @@ export const RetryItem = ({ messageId }: WithMessageId) => {
const showRetry = status === 'error' && isOutgoing;
- const onRetry = useCallback(async () => {
+ const [, doResend] = useAsyncFn(async () => {
const found = await Data.getMessageById(messageId);
if (found) {
await found.retrySend();
@@ -21,6 +21,6 @@ export const RetryItem = ({ messageId }: WithMessageId) => {
return showRetry ? (
// eslint-disable-next-line @typescript-eslint/no-misused-promises
- {window.i18n('resend')}
+ doResend()}>{window.i18n('resend')}
) : null;
};
diff --git a/ts/models/conversation.ts b/ts/models/conversation.ts
index 2fc16fb20..09a2e3fa2 100644
--- a/ts/models/conversation.ts
+++ b/ts/models/conversation.ts
@@ -2441,7 +2441,6 @@ export class ConversationModel extends Backbone.Model {
flags,
});
- // no need to trigger a UI update now, we trigger a messagesAdded just below
const messageId = await model.commit(true);
model.set({ id: messageId });
diff --git a/ts/session/types/PubKey.ts b/ts/session/types/PubKey.ts
index ba98c6c62..6eb94507e 100644
--- a/ts/session/types/PubKey.ts
+++ b/ts/session/types/PubKey.ts
@@ -86,8 +86,11 @@ export class PubKey {
public static shorten(value: string | PubKey): string {
const valAny = value as PubKey;
const pk = value instanceof PubKey ? valAny.key : value;
+ if (!pk) {
+ throw new Error('PubKey.shorten was given an invalid PubKey to shorten.');
+ }
- if (!pk || pk.length < 8) {
+ if (pk.length < 8) {
return pk;
}