mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-02-14 23:18:54 +00:00
When deleting megaphones ensure they are removed in redux
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
getMegaphoneLastSnoozeDurationMs,
|
||||
MegaphoneCtaId,
|
||||
SNOOZE_DEFAULT_DURATION,
|
||||
type RemoteMegaphoneId,
|
||||
type RemoteMegaphoneType,
|
||||
type VisibleRemoteMegaphoneType,
|
||||
} from '../types/Megaphone.std.js';
|
||||
@@ -120,6 +121,13 @@ export function isConditionalActive(conditionalId: string | null): boolean {
|
||||
return false;
|
||||
}
|
||||
|
||||
export async function deleteMegaphoneAndRemoveFromRedux(
|
||||
id: RemoteMegaphoneId
|
||||
): Promise<void> {
|
||||
await DataWriter.deleteMegaphone(id);
|
||||
window.reduxActions.megaphones.removeVisibleMegaphone(id);
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
async function processMegaphone(megaphone: RemoteMegaphoneType): Promise<void> {
|
||||
@@ -127,8 +135,7 @@ async function processMegaphone(megaphone: RemoteMegaphoneType): Promise<void> {
|
||||
|
||||
if (isMegaphoneDeletable(megaphone)) {
|
||||
log.info(`processMegaphone: Deleting ${id}`);
|
||||
await DataWriter.deleteMegaphone(id);
|
||||
window.reduxActions.megaphones.removeVisibleMegaphone(id);
|
||||
await deleteMegaphoneAndRemoveFromRedux(id);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ import { type RemoteMegaphoneType } from '../types/Megaphone.std.js';
|
||||
import { isCountryPpmCsvBucketEnabled } from '../RemoteConfig.dom.js';
|
||||
import type { AciString } from '../types/ServiceId.std.js';
|
||||
import {
|
||||
deleteMegaphoneAndRemoveFromRedux,
|
||||
isRemoteMegaphoneEnabled,
|
||||
runMegaphoneCheck,
|
||||
} from './megaphone.preload.js';
|
||||
@@ -238,7 +239,7 @@ export class ReleaseNoteAndMegaphoneFetcher {
|
||||
`deleteUnknownMegaphones: Found local megaphone missing in manifest, deleting: ${id}`
|
||||
);
|
||||
// eslint-disable-next-line no-await-in-loop
|
||||
await DataWriter.deleteMegaphone(id);
|
||||
await deleteMegaphoneAndRemoveFromRedux(id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -216,6 +216,8 @@ export function snoozeMegaphone(
|
||||
);
|
||||
}
|
||||
|
||||
// Note: When deleting megaphones, ensure megaphones are removed from redux also.
|
||||
// See: deleteMegaphoneAndRemoveFromRedux()
|
||||
export function deleteMegaphone(
|
||||
db: WritableDB,
|
||||
megaphoneId: RemoteMegaphoneId
|
||||
|
||||
Reference in New Issue
Block a user