Make explicit storage item preserve/remove behavior on unlink

This commit is contained in:
trevor-signal
2026-03-16 09:33:49 -07:00
committed by GitHub
parent e024df318e
commit 178e93924f
16 changed files with 627 additions and 413 deletions

View File

@@ -63,8 +63,8 @@ import type {
NotificationSettingType,
SentMediaQualitySettingType,
ZoomFactorType,
} from '../types/Storage.d.ts';
import type { ThemeSettingType } from '../types/StorageUIKeys.std.js';
} from '../types/StorageKeys.std.js';
import type { ThemeSettingType } from '../util/theme.std.js';
import type { AnyToast } from '../types/Toast.dom.js';
import { ToastType } from '../types/Toast.dom.js';
import type { ConversationType } from '../state/ducks/conversations.preload.js';

View File

@@ -11,6 +11,9 @@ import type {
import type { FunEmojiLocalizerIndex } from '../useFunEmojiLocalizer.dom.js';
import { removeDiacritics } from '../../../util/removeDiacritics.std.js';
import { createLogger } from '../../../logging/log.std.js';
import { EmojiSkinTone } from '../../../types/emoji.std.js';
export { EmojiSkinTone } from '../../../types/emoji.std.js';
const log = createLogger('fun/data/emojis');
@@ -46,15 +49,6 @@ export enum EmojiPickerCategory {
Flags = 'EmojiPickerCategory.Flags',
}
export enum EmojiSkinTone {
None = 'EmojiSkinTone.None',
Type1 = 'EmojiSkinTone.Type1', // 1F3FB
Type2 = 'EmojiSkinTone.Type2', // 1F3FC
Type3 = 'EmojiSkinTone.Type3', // 1F3FD
Type4 = 'EmojiSkinTone.Type4', // 1F3FE
Type5 = 'EmojiSkinTone.Type5', // 1F3FF
}
export function isValidEmojiSkinTone(value: unknown): value is EmojiSkinTone {
return (
typeof value === 'string' &&