Throttle failed endorsements toast
Co-authored-by: Jamie Kyle <113370520+jamiebuilds-signal@users.noreply.github.com>
This commit is contained in:
parent
fe05810d7d
commit
8c7523cf33
1 changed files with 13 additions and 4 deletions
|
@ -1,6 +1,7 @@
|
||||||
// Copyright 2024 Signal Messenger, LLC
|
// Copyright 2024 Signal Messenger, LLC
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
// SPDX-License-Identifier: AGPL-3.0-only
|
||||||
import { Aci } from '@signalapp/libsignal-client';
|
import { Aci } from '@signalapp/libsignal-client';
|
||||||
|
import { throttle } from 'lodash';
|
||||||
import type {
|
import type {
|
||||||
GroupSendCombinedEndorsementRecord,
|
GroupSendCombinedEndorsementRecord,
|
||||||
GroupSendMemberEndorsementRecord,
|
GroupSendMemberEndorsementRecord,
|
||||||
|
@ -22,7 +23,7 @@ import type { ServiceIdString } from '../types/ServiceId';
|
||||||
import { fromAciObject } from '../types/ServiceId';
|
import { fromAciObject } from '../types/ServiceId';
|
||||||
import * as log from '../logging/log';
|
import * as log from '../logging/log';
|
||||||
import type { GroupV2MemberType } from '../model-types';
|
import type { GroupV2MemberType } from '../model-types';
|
||||||
import { DurationInSeconds } from './durations';
|
import { DurationInSeconds, MINUTE } from './durations';
|
||||||
import { ToastType } from '../types/Toast';
|
import { ToastType } from '../types/Toast';
|
||||||
import * as Errors from '../types/errors';
|
import * as Errors from '../types/errors';
|
||||||
import { isTestOrMockEnvironment } from '../environment';
|
import { isTestOrMockEnvironment } from '../environment';
|
||||||
|
@ -300,12 +301,20 @@ export class GroupSendEndorsementState {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function onFailedToSendWithEndorsements(error: Error): void {
|
const showFailedToSendWithEndorsementsToast = throttle(
|
||||||
log.error('onFailedToSendWithEndorsements', Errors.toLogFormat(error));
|
() => {
|
||||||
if (isTestOrMockEnvironment() || isAlpha(window.getVersion())) {
|
|
||||||
window.reduxActions.toast.showToast({
|
window.reduxActions.toast.showToast({
|
||||||
toastType: ToastType.FailedToSendWithEndorsements,
|
toastType: ToastType.FailedToSendWithEndorsements,
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
5 * MINUTE,
|
||||||
|
{ trailing: false }
|
||||||
|
);
|
||||||
|
|
||||||
|
export function onFailedToSendWithEndorsements(error: Error): void {
|
||||||
|
log.error('onFailedToSendWithEndorsements', Errors.toLogFormat(error));
|
||||||
|
if (isTestOrMockEnvironment() || isAlpha(window.getVersion())) {
|
||||||
|
showFailedToSendWithEndorsementsToast();
|
||||||
}
|
}
|
||||||
if (window.SignalCI) {
|
if (window.SignalCI) {
|
||||||
window.SignalCI.handleEvent('fatalTestError', error);
|
window.SignalCI.handleEvent('fatalTestError', error);
|
||||||
|
|
Loading…
Reference in a new issue