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; }