Merge remote-tracking branch 'upstream/dev' into dev

This commit is contained in:
thororen 2026-09-26 21:52:00 -04:00
commit 88c35d30c5
No known key found for this signature in database
19 changed files with 21 additions and 31 deletions

View file

@ -1,7 +1,7 @@
{ {
"name": "equicord", "name": "equicord",
"private": "true", "private": "true",
"version": "1.15.7.0", "version": "1.15.8.0",
"description": "The other cutest Discord client mod", "description": "The other cutest Discord client mod",
"homepage": "https://github.com/Equicord/Equicord#readme", "homepage": "https://github.com/Equicord/Equicord#readme",
"bugs": { "bugs": {

View file

@ -74,9 +74,7 @@ export class AccessibilityStore extends FluxStore {
get condensePickerWhenNarrow(): boolean; get condensePickerWhenNarrow(): boolean;
get youBarNameplateAnimation(): YouBarAnimationPreference; get youBarNameplateAnimation(): YouBarAnimationPreference;
get youBarAvatarDecoAnimation(): YouBarAnimationPreference; get youBarAvatarDecoAnimation(): YouBarAnimationPreference;
/** resolves youBarNameplateAnimation against useReducedMotion */
get animateYouBarNameplate(): boolean; get animateYouBarNameplate(): boolean;
/** resolves youBarAvatarDecoAnimation against useReducedMotion */
get animateYouBarAvatarDeco(): boolean; get animateYouBarAvatarDeco(): boolean;
get syncProfileThemeWithUserTheme(): boolean; get syncProfileThemeWithUserTheme(): boolean;
get systemPrefersReducedMotion(): ReducedMotionPreference; get systemPrefersReducedMotion(): ReducedMotionPreference;

View file

@ -4,6 +4,5 @@ export interface ApplicationStreamPreviewStore extends FluxStore {
getIsPreviewLoading: (guildId: string | bigint | null, channelId: string | bigint, ownerId: string | bigint) => boolean; getIsPreviewLoading: (guildId: string | bigint | null, channelId: string | bigint, ownerId: string | bigint) => boolean;
getPreviewURL: (guildId: string | bigint | null, channelId: string | bigint, ownerId: string | bigint) => string | undefined; getPreviewURL: (guildId: string | bigint | null, channelId: string | bigint, ownerId: string | bigint) => string | undefined;
getPreviewURLForStreamKey: (streamKey: string) => ReturnType<ApplicationStreamPreviewStore["getPreviewURL"]>; getPreviewURLForStreamKey: (streamKey: string) => ReturnType<ApplicationStreamPreviewStore["getPreviewURL"]>;
/** true if no preview exists and fewer than 5 fetches failed, or the preview expired, and none is loading */
shouldFetchPreview: (guildId: string | bigint | null, channelId: string | bigint, ownerId: string | bigint) => boolean; shouldFetchPreview: (guildId: string | bigint | null, channelId: string | bigint, ownerId: string | bigint) => boolean;
} }

View file

@ -31,7 +31,6 @@ export interface ApplicationStreamingStore extends FluxStore {
getAllApplicationStreamsForChannel: (channelId: string | bigint) => ApplicationStream[]; getAllApplicationStreamsForChannel: (channelId: string | bigint) => ApplicationStream[];
getAllActiveStreamsForChannel: (channelId: string | bigint) => Stream[]; getAllActiveStreamsForChannel: (channelId: string | bigint) => Stream[];
getAnyStreamForUser: (userId: string | bigint) => Stream | ApplicationStream | null; getAnyStreamForUser: (userId: string | bigint) => Stream | ApplicationStream | null;
/** like getAnyStreamForUser, but skips streams with discoverable set to false */
getAnyDiscoverableStreamForUser: (userId: string | bigint) => ApplicationStream | null; getAnyDiscoverableStreamForUser: (userId: string | bigint) => ApplicationStream | null;
getStreamForUser: (userId: string | bigint, guildId?: string | bigint | null) => Stream | null; getStreamForUser: (userId: string | bigint, guildId?: string | bigint | null) => Stream | null;
getCurrentUserActiveStream: () => Stream | null; getCurrentUserActiveStream: () => Stream | null;

View file

@ -2,7 +2,7 @@ import { FluxStore } from "..";
export interface AuthorizedAppToken { export interface AuthorizedAppToken {
id: string; id: string;
application: { id: string; parent_id?: string | null; [key: string]: unknown; }; application: { id: string; parent_id?: string | null;[key: string]: unknown; };
scopes: string[]; scopes: string[];
} }
@ -11,10 +11,8 @@ export type AuthorizedAppsFetchState = "NOT_FETCHED" | "FETCHING" | "FETCHED";
export class AuthorizedAppsStore extends FluxStore { export class AuthorizedAppsStore extends FluxStore {
getNewestTokenForApplication(applicationId: string): AuthorizedAppToken | null; getNewestTokenForApplication(applicationId: string): AuthorizedAppToken | null;
getNewestTokens(): AuthorizedAppToken[]; getNewestTokens(): AuthorizedAppToken[];
/** tokens whose application has no parent_id */
getNewestTokensForNonChildrenApplications(): AuthorizedAppToken[]; getNewestTokensForNonChildrenApplications(): AuthorizedAppToken[];
getFetchState(): AuthorizedAppsFetchState; getFetchState(): AuthorizedAppsFetchState;
getFetchStateForApplication(applicationId: string): AuthorizedAppsFetchState; getFetchStateForApplication(applicationId: string): AuthorizedAppsFetchState;
/** incremented whenever a fetch state changes */
getApplicationFetchStateVersion(): number; getApplicationFetchStateVersion(): number;
} }

View file

@ -7,10 +7,8 @@ export interface GradientPreset {
export class ClientThemesBackgroundStore extends FluxStore { export class ClientThemesBackgroundStore extends FluxStore {
get gradientPreset(): GradientPreset | undefined; get gradientPreset(): GradientPreset | undefined;
/** true while previewing a theme the user can't use */
get isPreview(): boolean; get isPreview(): boolean;
get isCoachmark(): boolean; get isCoachmark(): boolean;
get mobilePendingThemeIndex(): number | undefined; get mobilePendingThemeIndex(): number | undefined;
/** css linear-gradient for the current preset, or null if none */
getLinearGradient(): string | null; getLinearGradient(): string | null;
} }

View file

@ -2,7 +2,6 @@ import { ConnectedAccount, FluxStore } from "..";
export class ConnectedAccountsStore extends FluxStore { export class ConnectedAccountsStore extends FluxStore {
getAccounts(): ConnectedAccount[]; getAccounts(): ConnectedAccount[];
/** accounts for platforms that are connected locally, like xbox or playstation */
getLocalAccounts(): ConnectedAccount[]; getLocalAccounts(): ConnectedAccount[];
getAccount(accountId: string | null | undefined, type: string): ConnectedAccount | undefined; getAccount(accountId: string | null | undefined, type: string): ConnectedAccount | undefined;
getLocalAccount(type: string): ConnectedAccount | undefined; getLocalAccount(type: string): ConnectedAccount | undefined;

View file

@ -113,12 +113,9 @@ export class ExperimentStore extends FluxStore {
getUserExperimentDescriptor(experimentId: string): ExperimentAssignmentOverride; getUserExperimentDescriptor(experimentId: string): ExperimentAssignmentOverride;
hasRegisteredExperiment(experimentId: string): boolean; hasRegisteredExperiment(experimentId: string): boolean;
/** sends an experiment exposure event unless it was already tracked in the last 7 days */
trackExposure: (options: TrackExposureOptions) => false | void; trackExposure: (options: TrackExposureOptions) => false | void;
/** returns [experimentId, time] pairs for exposures of the given type and experiment */
getRecentExposures(type: "user" | "guild", experimentId: string): [string, number][]; getRecentExposures(type: "user" | "guild", experimentId: string): [string, number][];
hasExperimentTrackedExposure(experimentId: string, descriptor: ExperimentExposureDescriptor, location?: string, triggerDebugging?: boolean): boolean; hasExperimentTrackedExposure(experimentId: string, descriptor: ExperimentExposureDescriptor, location?: string, triggerDebugging?: boolean): boolean;
/** loads experiments from the cache snapshot */
loadCache(): void; loadCache(): void;
takeSnapshot(): { version: number; data: Record<string, unknown>; }; takeSnapshot(): { version: number; data: Record<string, unknown>; };
} }

View file

@ -55,9 +55,7 @@ export class MessageStore extends FluxStore {
getMessages(channelId: string): ChannelMessages; getMessages(channelId: string): ChannelMessages;
hasCurrentUserSentMessage(channelId: string): boolean; hasCurrentUserSentMessage(channelId: string): boolean;
hasCurrentUserSentMessageSinceAppStart(channelId: string): boolean; hasCurrentUserSentMessageSinceAppStart(channelId: string): boolean;
/** true if the current user sent any message other than a friend request accepted one */
hasCurrentUserSentWaveBlockingMessage(channelId: string): boolean; hasCurrentUserSentWaveBlockingMessage(channelId: string): boolean;
/** notice attached to a message removed by automod, keyed by message id */
getAutomodRemovalNotice(messageId: string): unknown; getAutomodRemovalNotice(messageId: string): unknown;
hasPresent(channelId: string): boolean; hasPresent(channelId: string): boolean;
isLoadingMessages(channelId: string): boolean; isLoadingMessages(channelId: string): boolean;

View file

@ -9,8 +9,6 @@ export interface PrivateChannelSortEntry {
export class PrivateChannelSortStore extends FluxStore { export class PrivateChannelSortStore extends FluxStore {
getPrivateChannelIds(): string[]; getPrivateChannelIds(): string[];
/** returns [favorites, others], both sorted by last message */
getSortedChannels(): [PrivateChannelSortEntry[], PrivateChannelSortEntry[]]; getSortedChannels(): [PrivateChannelSortEntry[], PrivateChannelSortEntry[]];
/** returns a map of channel ids to last message ids */
serializeForOverlay(): Record<string, string>; serializeForOverlay(): Record<string, string>;
} }

View file

@ -1,7 +1,6 @@
import { FluxStore, Message } from ".."; import { FluxStore, Message } from "..";
export interface ReferencedMessage { export interface ReferencedMessage {
/** 0 loaded, 1 not loaded, 2 deleted */
state: number; state: number;
message?: Message; message?: Message;
} }

View file

@ -35,7 +35,6 @@ export class RunningGameStore extends FluxStore {
getCurrentGameForAnalytics(): RunningGame | null; getCurrentGameForAnalytics(): RunningGame | null;
getCurrentNonGameForAnalytics(): RunningGame | null; getCurrentNonGameForAnalytics(): RunningGame | null;
getDebugRunningGame(): RunningGame | null; getDebugRunningGame(): RunningGame | null;
/** last detection pass, null until the first scan */
getDetectionDebug(): { timestamp: number; totalFromNative: number; entries: { game: RunningGame; outcome: { kind: string; }; }[]; } | null; getDetectionDebug(): { timestamp: number; totalFromNative: number; entries: { game: RunningGame; outcome: { kind: string; }; }[]; } | null;
canCollectExecutableFingerprintsForRunningGames(): boolean; canCollectExecutableFingerprintsForRunningGames(): boolean;
getGameForName(name: string): RunningGame | null; getGameForName(name: string): RunningGame | null;

View file

@ -15,11 +15,9 @@ export interface Session {
export class SessionsStore extends FluxStore { export class SessionsStore extends FluxStore {
getSessions(): Record<string, Session>; getSessions(): Record<string, Session>;
/** session for the current connection */
getSession(): Session | null | undefined; getSession(): Session | null | undefined;
getSessionById(sessionId: string): Session | undefined; getSessionById(sessionId: string): Session | undefined;
getActiveSession(): Session | undefined; getActiveSession(): Session | undefined;
/** activities from the active session on another device */
getRemoteActivities(): Activity[]; getRemoteActivities(): Activity[];
getHiddenActivities(): Activity[]; getHiddenActivities(): Activity[];
getRemoteApplicationActivity(applicationId: string | null | undefined): Activity | null | undefined; getRemoteApplicationActivity(applicationId: string | null | undefined): Activity | null | undefined;

View file

@ -20,7 +20,6 @@ export interface GuildsTree {
export class SortedGuildStore extends FluxStore { export class SortedGuildStore extends FluxStore {
getGuildsTree(): GuildsTree; getGuildsTree(): GuildsTree;
/** every folder and guild node, depth first */
getFlattenedGuildFolderList(): GuildsTreeNode[]; getFlattenedGuildFolderList(): GuildsTreeNode[];
getCompatibleGuildFolders(): GuildFolder[]; getCompatibleGuildFolders(): GuildFolder[];
getFastListGuildFolders(): GuildsTreeNode[]; getFastListGuildFolders(): GuildsTreeNode[];

View file

@ -2,7 +2,6 @@ import { FluxStore } from "..";
export class SpellCheckStore extends FluxStore { export class SpellCheckStore extends FluxStore {
hasLearnedWord(word: string): boolean; hasLearnedWord(word: string): boolean;
/** returns the first learned word found as a whole word in text */
findLearnedWordIn(text: string): string | null; findLearnedWordIn(text: string): string | null;
isEnabled(): boolean; isEnabled(): boolean;
} }

View file

@ -22,6 +22,5 @@ export class StreamerModeStore extends FluxStore {
getSettings(): StreamerModeSettings; getSettings(): StreamerModeSettings;
getState(): Record<string, StreamerModeSettings>; getState(): Record<string, StreamerModeSettings>;
/** true only when the overlay widget is listed in disabledOverlayWidgets and streamer mode is enabled */
isOverlayWidgetDisabled(widget: string): boolean; isOverlayWidgetDisabled(widget: string): boolean;
} }

View file

@ -7,10 +7,7 @@ export class UserProfileSettingsStore extends FluxStore {
getErrors(guildId?: string): Record<string, unknown>; getErrors(guildId?: string): Record<string, unknown>;
getTryItOutChanges(): Record<string, unknown>; getTryItOutChanges(): Record<string, unknown>;
hasTryItOutChanges(): boolean; hasTryItOutChanges(): boolean;
/** true if any pending change exists for the user or any guild */
hasUnsavedChanges(): boolean; hasUnsavedChanges(): boolean;
/** true if there are pending changes for the user or the selected guild */
showNotice(): boolean; showNotice(): boolean;
/** false if a pending bio is over the length limit */
canSubmit(): boolean; canSubmit(): boolean;
} }

View file

@ -224,10 +224,7 @@ export class UserSettingsProtoStore extends FluxStore {
// TODO: finish typing // TODO: finish typing
getGuildDismissedContentState(guildId: string): any; getGuildDismissedContentState(guildId: string): any;
getGuildsProto(): Record<string, GuildProto>; getGuildsProto(): Record<string, GuildProto>;
/** guild theme source preference from appearance settings, 0 if unspecified */
getDefaultGuildThemePreference(): number; getDefaultGuildThemePreference(): number;
/** per guild theme source preference, 0 if unspecified */
getGuildThemeSourcePreferenceOverride(guildId: string | null | undefined): number; getGuildThemeSourcePreferenceOverride(guildId: string | null | undefined): number;
/** override if set, otherwise the default preference */
resolveGuildThemeSourcePreference(guildId: string | null | undefined): number; resolveGuildThemeSourcePreference(guildId: string | null | undefined): number;
} }

View file

@ -87,6 +87,25 @@ export let ExperimentStore: t.ExperimentStore;
export let UserAffinitiesStore: t.UserAffinitiesStore; export let UserAffinitiesStore: t.UserAffinitiesStore;
export let ApplicationStreamingStore: t.ApplicationStreamingStore; export let ApplicationStreamingStore: t.ApplicationStreamingStore;
export let ApplicationStreamPreviewStore: t.ApplicationStreamPreviewStore; export let ApplicationStreamPreviewStore: t.ApplicationStreamPreviewStore;
export let SortedGuildStore: t.SortedGuildStore;
export let JoinedThreadsStore: t.JoinedThreadsStore;
export let SafetyHubStore: t.SafetyHubStore;
export let PrivateChannelSortStore: t.PrivateChannelSortStore;
export let UserProfileSettingsStore: t.UserProfileSettingsStore;
export let AuthorizedAppsStore: t.AuthorizedAppsStore;
export let ChannelSectionStore: t.ChannelSectionStore;
export let ClientThemesBackgroundStore: t.ClientThemesBackgroundStore;
export let ConnectedAccountsStore: t.ConnectedAccountsStore;
export let ChannelMemberStore: t.ChannelMemberStore;
export let ThreadMemberListStore: t.ThreadMemberListStore;
export let CollapsedVoiceChannelStore: t.CollapsedVoiceChannelStore;
export let ReferencedMessageStore: t.ReferencedMessageStore;
export let SessionsStore: t.SessionsStore;
export let UserGuildJoinRequestStore: t.UserGuildJoinRequestStore;
export let SelfPresenceStore: t.SelfPresenceStore;
export let MessageRequestStore: t.MessageRequestStore;
export let GIFPickerViewStore: t.GIFPickerViewStore;
export let GuildReadStateStore: t.GuildReadStateStore;
export let SortedGuildStore: t.SortedGuildStore; export let SortedGuildStore: t.SortedGuildStore;
export let JoinedThreadsStore: t.JoinedThreadsStore; export let JoinedThreadsStore: t.JoinedThreadsStore;