From 64e50abd0ccab7bc341473fe69b82879ec76190b Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Sun, 21 Dec 2025 13:57:23 -0500 Subject: [PATCH] Fix Types --- .../src/stores/MediaEngineStore.d.ts | 158 ++++++++++++++++-- .../src/stores/OverridePremiumTypeStore.d.ts | 8 + .../src/stores/SpellCheckStore.d.ts | 1 + .../src/stores/UploadAttachmentStore.d.ts | 1 - packages/discord-types/src/stores/index.d.ts | 7 +- src/webpack/common/stores.ts | 11 +- 6 files changed, 166 insertions(+), 20 deletions(-) create mode 100644 packages/discord-types/src/stores/OverridePremiumTypeStore.d.ts diff --git a/packages/discord-types/src/stores/MediaEngineStore.d.ts b/packages/discord-types/src/stores/MediaEngineStore.d.ts index 4ef81639d..ee48febff 100644 --- a/packages/discord-types/src/stores/MediaEngineStore.d.ts +++ b/packages/discord-types/src/stores/MediaEngineStore.d.ts @@ -1,6 +1,134 @@ import { FluxStore } from ".."; +type VideoDevice = { + containerId: string; + disabled: boolean; + effects: any; + facing: string; + guid: string; + hardwareId: string; + id: string; + index: number; + name: string; +}; + +type GoLiveSource = { + desktopSource: { + id: string; + sourcePid: number | null; + soundshareId: string | null; + soundshareSession: string | null; + }; + quality: { + resolution: number; + frameRate: number; + }; +}; + +type CodecCapabilities = (codecs: string) => void; + +interface MediaEngine { + connectionsEmpty(): boolean; + getAudioLayer(): boolean; + getCodecCapabilities(callback: (CodecCapabilities: string) => void): string; + getDebugLogging(): boolean; + + setAecDump(value: boolean): void; + setAv1Enabled(value: boolean): void; + setDebugLogging(value: boolean): void; + setH265Enabled(value: boolean): void; + setH264Enabled(value: boolean): void; + setInputVolume(volume: number): void; + setLoopback(reason: string, enabled: boolean): void; + setNoiseCancellationEnableStats(value: boolean): void; + setOutputVolume(volume: number): void; + setSidechainCompression(value: boolean): void; + setSidechainCompressionStrength(strength: number): void; + setVideoInputDevice(deviceId: string): void; + startAecDump(): void; + stopAecDump(): void; + stopLocalAudioRecording(): void; + stopRecordingRawSamples(): void; + supported(): boolean; + supports(value: string): boolean; + writeAudioDebugState(): Promise; +} + export class MediaEngineStore extends FluxStore { + getActiveInputProfile(): string; + getActiveVoiceFilter(): string | null; + getActiveVoiceFilterAppliedAt(): Date | null; + getAecDump(): boolean; + getAttenuateWhileSpeakingOthers(): boolean; + getAttenuateWhileSpeakingSelf(): boolean; + getAttenuation(): number; + getAudioSubsystem(): string; + getAutomaticGainControl(): boolean; + getBypassSystemInputProcessing(): boolean; + getCameraComponent(): (e: any) => any; + getDebugLogging(): boolean; + getEchoCancellation(): boolean; + getEnableSilenceWarning(): boolean; + getEverSpeakingWhileMuted(): boolean; + getExperimentalSoundshare(): boolean; + getGoLiveContext(): string; + getGoLiveSource(): GoLiveSource | null; + getGpuBrand(): string; + getH265Enabled(): boolean; + getHardwareEncoding(): boolean; + getInputDetected(): boolean | null; + getInputDeviceId(): string; + getInputDevices(): Record; + getInputVolume(): number; + getKrispEnableStats(): boolean; + getKrispModelOverride(): string; + getKrispModels(): string[]; + getKrispSuppressionLevel(): number; + getKrispVadActivationThreshold(): number; + getLastAudioInputDeviceChangeTimestamp(): number; + getLocalPan(key: string): Record; + getLocalVolume(): number; + getLoopback(): boolean; + getLoopbackReasons(): Set; + getMediaEngine(): MediaEngine; + getMode(): string; + getModeOptions(): Record; + getMostRecentlyRequestedVoiceFilter(): string | null; + getNoInputDetectedNotice(): boolean; + getNoiseCancellation(): boolean; + getNoiseSuppression(): boolean; + getOutputDeviceId(): string; + getOutputDevices(): Record; + getOutputVolume(): number; + getPacketDelay(): number; + getPreviousVoiceFilter(): string | null; + getPreviousVoiceFilterAppliedAt(): Date | null; + getQoS(): boolean; + getSettings(): Record; + getShortcuts(): Record; + getSidechainCompression(): boolean; + getSidechainCompressionStrength(): number; + getSpeakingWhileMuted(): boolean; + getSupportedSecureFramesProtocolVersion(): boolean; + getSystemMicrophoneMode(): boolean; + getUseGamescopeCapture(): boolean; + getUseSystemScreensharePicker(): boolean; + getUseVaapiEncoder(): boolean; + getVideoComponent(): (e: any) => any; + getVideoDeviceId(): string; + getVideoDevices(): Record; + getVideoHook(): boolean; + getVideoStreamParameters(): Record; + getVideoToggleState(key: string): string; + getVoiceFilterPlaybackEnabled(): boolean; + + goLiveSimulcastEnabled(): boolean; + + hasActiveCallKitCall(): boolean; + hasClipsSource(): boolean; + hasContext(key: string): boolean; + hasH265HardwareDecode(): boolean; + isAdvancedVoiceActivitySupported(): boolean; isAecDumpSupported(): boolean; isAnyLocalVideoAutoDisabled(): boolean; @@ -8,14 +136,13 @@ export class MediaEngineStore extends FluxStore { isDeaf(): boolean; isEnableHardwareMuteNotice(): boolean; isEnabled(): boolean; - isExperimentalEncodersSupported(): boolean; isHardwareMute(): boolean; isInputProfileCustom(): boolean; isInteractionRequired(): boolean; isLocalMute(): boolean; - isLocalMute(userId): boolean; - isLocalVideoAutoDisabled(userId): boolean; - isLocalVideoDisabled(userId): boolean; + isLocalMute(userId: string): boolean; + isLocalVideoAutoDisabled(userId: string): boolean; + isLocalVideoDisabled(userId: string): boolean; isLocalVideoDisabled(): boolean; isMediaFilterSettingLoading(): boolean; isMute(): boolean; @@ -33,12 +160,21 @@ export class MediaEngineStore extends FluxStore { isVideoAvailable(): boolean; isVideoEnabled(): boolean; - setAv1Enabled(AV1: boolean): void; - setH265Enabled(H265: boolean): void; - setH264Enabled(H264: boolean): void; + notifyMuteUnmuteSoundWasSkipped(): boolean; + setCanHavePriority(userId: string, value: boolean): void; + setHasActiveCallKitCall(active: boolean): void; + shouldOfferManualSubsystemSelection(): boolean; + shouldSkipMuteUnmuteSound(): boolean; + showBypassSystemInputProcessing(): boolean; - getAutomaticGainControl(): boolean; - getInputDeviceId(): string; - getMediaEngine(): any; - getCodecCapabilities(e: any): any; + startDavePreload(): void; + + supports(e: string): boolean; + supportsDisableLocalVideo(): boolean; + supportsExperimentalSoundshare(): boolean; + supportsHookSoundshare(): boolean; + supportsInApp(appName: string): boolean; + supportsScreenSoundshare(): boolean; + supportsSystemScreensharePicker(): boolean; + supportsVideoHook(): boolean; } diff --git a/packages/discord-types/src/stores/OverridePremiumTypeStore.d.ts b/packages/discord-types/src/stores/OverridePremiumTypeStore.d.ts new file mode 100644 index 000000000..100c0bcb5 --- /dev/null +++ b/packages/discord-types/src/stores/OverridePremiumTypeStore.d.ts @@ -0,0 +1,8 @@ +import { FluxStore } from ".."; + +export class OverridePremiumTypeStore extends FluxStore { + getCreatedAtOverride(): Date; + getPremiumTypeActual(): number; + getPremiumTypeOverride(): number; + get premiumType(): number; +} diff --git a/packages/discord-types/src/stores/SpellCheckStore.d.ts b/packages/discord-types/src/stores/SpellCheckStore.d.ts index ff3148e24..ff8ecaddc 100644 --- a/packages/discord-types/src/stores/SpellCheckStore.d.ts +++ b/packages/discord-types/src/stores/SpellCheckStore.d.ts @@ -1,5 +1,6 @@ import { FluxStore } from ".."; export class SpellCheckStore extends FluxStore { + hasLearnedWord(word: string): boolean; isEnabled(): boolean; } diff --git a/packages/discord-types/src/stores/UploadAttachmentStore.d.ts b/packages/discord-types/src/stores/UploadAttachmentStore.d.ts index 99490aff7..ceeb40d12 100644 --- a/packages/discord-types/src/stores/UploadAttachmentStore.d.ts +++ b/packages/discord-types/src/stores/UploadAttachmentStore.d.ts @@ -7,5 +7,4 @@ export class UploadAttachmentStore extends FluxStore { getUploadCount(channelId: string, draftType: DraftType): number; getUpload(channelId: string, commandName: string, draftType: DraftType): CloudUpload; findUpload(channelId: string, draftType: string, predicate: (upload: CloudUpload) => boolean): CloudUpload | undefined; - } diff --git a/packages/discord-types/src/stores/index.d.ts b/packages/discord-types/src/stores/index.d.ts index ecbb256ef..2abd7b419 100644 --- a/packages/discord-types/src/stores/index.d.ts +++ b/packages/discord-types/src/stores/index.d.ts @@ -7,18 +7,19 @@ export * from "./FluxStore"; export * from "./GuildMemberStore"; export * from "./GuildRoleStore"; export * from "./GuildStore"; +export * from "./MediaEngineStore"; export * from "./MessageStore"; +export * from "./OverridePremiumTypeStore"; export * from "./PresenceStore"; export * from "./RelationshipStore"; -export * from "./MediaEngineStore"; -export * from "./StreamerModeStore"; -export * from "./SpellCheckStore"; export * from "./SelectedChannelStore"; export * from "./SelectedGuildStore"; +export * from "./SpellCheckStore"; export * from "./StickersStore"; export * from "./StreamerModeStore"; export * from "./ThemeStore"; export * from "./TypingStore"; +export * from "./UploadAttachmentStore"; export * from "./UserProfileStore"; export * from "./UserStore"; export * from "./VoiceStateStore"; diff --git a/src/webpack/common/stores.ts b/src/webpack/common/stores.ts index cc3520738..0b505faa8 100644 --- a/src/webpack/common/stores.ts +++ b/src/webpack/common/stores.ts @@ -47,9 +47,6 @@ export let SelectedGuildStore: t.SelectedGuildStore; export let ChannelStore: t.ChannelStore; export let TypingStore: t.TypingStore; export let RelationshipStore: t.RelationshipStore; -export let MediaEngineStore: t.MediaEngineStore; -export let SpellCheckStore: t.SpellCheckStore; -export let UploadAttachmentStore: GenericStore; export let VoiceStateStore: t.VoiceStateStore; export let EmojiStore: t.EmojiStore; @@ -58,7 +55,12 @@ export let ThemeStore: t.ThemeStore; export let WindowStore: t.WindowStore; export let DraftStore: t.DraftStore; export let StreamerModeStore: t.StreamerModeStore; -export let OverridePremiumTypeStore: GenericStore; + +export let MediaEngineStore: t.MediaEngineStore; +export let SpellCheckStore: t.SpellCheckStore; +export let UploadAttachmentStore: t.UploadAttachmentStore; +export let OverridePremiumTypeStore: t.OverridePremiumTypeStore; + /** * @see jsdoc of {@link t.useStateFromStores} @@ -73,7 +75,6 @@ waitForStore("ChannelStore", m => ChannelStore = m); waitForStore("SelectedChannelStore", m => SelectedChannelStore = m); waitForStore("SelectedGuildStore", m => SelectedGuildStore = m); waitForStore("GuildStore", m => GuildStore = m); -waitForStore("GuildRoleStore", m => GuildRoleStore = m); waitForStore("GuildMemberStore", m => GuildMemberStore = m); waitForStore("RelationshipStore", m => RelationshipStore = m); waitForStore("MediaEngineStore", m => MediaEngineStore = m);