gitextract_5eknctna/ ├── .devcontainer/ │ ├── Caddyfile.dev │ ├── Dockerfile │ ├── devcontainer.json │ ├── docker-compose.yml │ ├── livekit.yaml │ ├── on-create.sh │ └── process-compose.yml ├── .dockerignore ├── .editorconfig ├── .envrc ├── .gitattributes ├── .github/ │ ├── DISCUSSION_TEMPLATE/ │ │ └── ideas.yaml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── docs.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── build-desktop.yaml │ ├── channel-vars.yaml │ ├── ci.yaml │ ├── deploy-admin.yaml │ ├── deploy-api.yaml │ ├── deploy-app.yaml │ ├── deploy-gateway.yaml │ ├── deploy-marketing.yaml │ ├── deploy-media-proxy.yaml │ ├── deploy-relay-directory.yaml │ ├── deploy-relay.yaml │ ├── deploy-static-proxy.yaml │ ├── migrate-cassandra.yaml │ ├── promote-canary-to-main.yaml │ ├── release-livekitctl.yaml │ ├── release-relay-directory.yaml │ ├── release-relay.yaml │ ├── release-server.yaml │ ├── restart-gateway.yaml │ ├── sync-desktop.yaml │ ├── sync-static.yaml │ ├── test-cassandra-backup.yaml │ └── update-word-lists.yaml ├── .gitignore ├── .gitmodules ├── .ignore ├── .npmrc ├── .nvmrc ├── .prettierignore ├── .tool-versions ├── .vscode/ │ ├── extensions.json │ ├── launch.json │ └── settings.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── LICENSING.md ├── README.md ├── SECURITY.md ├── biome.json ├── compose.yaml ├── config/ │ ├── config.dev.template.json │ ├── config.production.template.json │ ├── config.schema.json │ ├── config.test.json │ └── livekit.example.yaml ├── dev/ │ ├── Caddyfile.dev │ └── livekit.template.yaml ├── devenv.nix ├── devenv.yaml ├── fluxer_admin/ │ ├── Dockerfile │ ├── package.json │ ├── public/ │ │ └── static/ │ │ └── .gitkeep │ ├── src/ │ │ ├── Config.tsx │ │ ├── Instrument.tsx │ │ ├── Logger.tsx │ │ └── index.tsx │ └── tsconfig.json ├── fluxer_api/ │ ├── Dockerfile │ ├── package.json │ ├── scripts/ │ │ ├── CassandraMigrate.tsx │ │ ├── Dockerfile.cassandra-migrate │ │ └── LicenseEnforcer.tsx │ ├── src/ │ │ ├── App.tsx │ │ ├── AppEntrypoint.tsx │ │ ├── Config.tsx │ │ ├── Instrument.tsx │ │ ├── Logger.tsx │ │ └── WorkerEntrypoint.tsx │ ├── tsconfig.json │ └── tsconfig.worker.json ├── fluxer_app/ │ ├── crates/ │ │ └── libfluxcore/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── animation.rs │ │ ├── apng.rs │ │ ├── gateway.rs │ │ ├── gif.rs │ │ ├── lib.rs │ │ └── static_image.rs │ ├── index.html │ ├── lingui.config.js │ ├── package.json │ ├── postcss.config.js │ ├── rspack.config.mjs │ ├── rust-toolchain.toml │ ├── scripts/ │ │ ├── DevServer.tsx │ │ ├── GenerateAvatarMasks.tsx │ │ ├── GenerateColorSystem.tsx │ │ ├── GenerateEmojiSprites.tsx │ │ ├── auto-i18n.mjs │ │ ├── build/ │ │ │ ├── Config.tsx │ │ │ ├── rspack/ │ │ │ │ ├── externals.mjs │ │ │ │ ├── lingui.mjs │ │ │ │ ├── po-loader.mjs │ │ │ │ ├── static-files.mjs │ │ │ │ └── wasm.mjs │ │ │ ├── tsconfig.json │ │ │ ├── types.d.ts │ │ │ └── utils/ │ │ │ ├── Assets.tsx │ │ │ ├── CssDts.tsx │ │ │ ├── Html.tsx │ │ │ ├── Resolve.tsx │ │ │ ├── ServiceWorker.tsx │ │ │ └── Sourcemaps.tsx │ │ ├── build-sw.mjs │ │ └── translate-i18n.mjs │ ├── src/ │ │ ├── App.module.css │ │ ├── App.tsx │ │ ├── AppConstants.tsx │ │ ├── Config.tsx │ │ ├── Endpoints.tsx │ │ ├── I18n.tsx │ │ ├── Router.tsx │ │ ├── Routes.tsx │ │ ├── actions/ │ │ │ ├── AccessibilityActionCreators.tsx │ │ │ ├── AuthSessionActionCreators.tsx │ │ │ ├── AuthenticationActionCreators.tsx │ │ │ ├── CallActionCreators.tsx │ │ │ ├── ChannelActionCreators.tsx │ │ │ ├── ChannelPinsActionCreators.tsx │ │ │ ├── ChannelStickerActionCreators.tsx │ │ │ ├── ConnectionActionCreators.tsx │ │ │ ├── ContextMenuActionCreators.tsx │ │ │ ├── DeveloperOptionsActionCreators.tsx │ │ │ ├── DimensionActionCreators.tsx │ │ │ ├── DiscoveryActionCreators.tsx │ │ │ ├── DraftActionCreators.tsx │ │ │ ├── EmojiActionCreators.tsx │ │ │ ├── EmojiPickerActionCreators.tsx │ │ │ ├── ExpressionPickerActionCreators.tsx │ │ │ ├── FavoriteMemeActionCreators.tsx │ │ │ ├── FavoritesActionCreators.tsx │ │ │ ├── GifActionCreators.tsx │ │ │ ├── GiftActionCreators.tsx │ │ │ ├── GuildActionCreators.tsx │ │ │ ├── GuildEmojiActionCreators.tsx │ │ │ ├── GuildMemberActionCreators.tsx │ │ │ ├── GuildNSFWActionCreators.tsx │ │ │ ├── GuildStickerActionCreators.tsx │ │ │ ├── HighlightActionCreators.tsx │ │ │ ├── IARActionCreators.tsx │ │ │ ├── InboxActionCreators.tsx │ │ │ ├── InviteActionCreators.tsx │ │ │ ├── KlipyActionCreators.tsx │ │ │ ├── LayoutActionCreators.tsx │ │ │ ├── MediaViewerActionCreators.tsx │ │ │ ├── MessageActionCreators.tsx │ │ │ ├── MfaActionCreators.tsx │ │ │ ├── ModalActionCreators.tsx │ │ │ ├── ModalRender.tsx │ │ │ ├── NagbarActionCreators.tsx │ │ │ ├── NavigationActionCreators.tsx │ │ │ ├── NotificationActionCreators.tsx │ │ │ ├── OAuth2AuthorizationActionCreators.tsx │ │ │ ├── PackActionCreators.tsx │ │ │ ├── PackInviteActionCreators.tsx │ │ │ ├── PiPActionCreators.tsx │ │ │ ├── PopoutActionCreators.tsx │ │ │ ├── PremiumActionCreators.tsx │ │ │ ├── PremiumModalActionCreators.tsx │ │ │ ├── PrivateChannelActionCreators.tsx │ │ │ ├── QuickSwitcherActionCreators.tsx │ │ │ ├── ReactionActionCreators.tsx │ │ │ ├── ReadStateActionCreators.tsx │ │ │ ├── RecentMentionActionCreators.tsx │ │ │ ├── RelationshipActionCreators.tsx │ │ │ ├── SavedMessageActionCreators.tsx │ │ │ ├── ScheduledMessageActionCreators.tsx │ │ │ ├── SlowmodeActionCreators.tsx │ │ │ ├── SoundActionCreators.tsx │ │ │ ├── StickerPickerActionCreators.tsx │ │ │ ├── TextCopyActionCreators.tsx │ │ │ ├── ThemeActionCreators.tsx │ │ │ ├── ThemePreferenceActionCreators.tsx │ │ │ ├── ToastActionCreators.tsx │ │ │ ├── TrustedDomainActionCreators.tsx │ │ │ ├── TypingActionCreators.tsx │ │ │ ├── UnsavedChangesActionCreators.tsx │ │ │ ├── UserActionCreators.tsx │ │ │ ├── UserGuildSettingsActionCreators.tsx │ │ │ ├── UserNoteActionCreators.tsx │ │ │ ├── UserProfileActionCreators.tsx │ │ │ ├── UserSettingsActionCreators.tsx │ │ │ ├── VoiceCallLayoutActionCreators.tsx │ │ │ ├── VoiceSettingsActionCreators.tsx │ │ │ ├── VoiceStateActionCreators.tsx │ │ │ ├── WebhookActionCreators.tsx │ │ │ └── WindowActionCreators.tsx │ │ ├── bootstrap/ │ │ │ └── SetupHttpClient.tsx │ │ ├── components/ │ │ │ ├── AppBadge.tsx │ │ │ ├── BootstrapErrorScreen.tsx │ │ │ ├── ErrorFallback.module.css │ │ │ ├── ErrorFallback.tsx │ │ │ ├── LongPressable.tsx │ │ │ ├── NetworkErrorScreen.tsx │ │ │ ├── accounts/ │ │ │ │ ├── AccountListItem.module.css │ │ │ │ ├── AccountListItem.tsx │ │ │ │ ├── AccountRow.module.css │ │ │ │ ├── AccountRow.tsx │ │ │ │ ├── AccountSelector.module.css │ │ │ │ ├── AccountSelector.tsx │ │ │ │ ├── AccountSwitcherModal.module.css │ │ │ │ └── AccountSwitcherModal.tsx │ │ │ ├── alerts/ │ │ │ │ ├── CallNotRingableModal.tsx │ │ │ │ ├── CameraPermissionDeniedModal.tsx │ │ │ │ ├── ChannelPermissionsUpdateFailedModal.tsx │ │ │ │ ├── DMCloseFailedModal.tsx │ │ │ │ ├── FeatureTemporarilyDisabledModal.tsx │ │ │ │ ├── FileSizeTooLargeModal.tsx │ │ │ │ ├── GenericErrorModal.tsx │ │ │ │ ├── GroupLeaveFailedModal.tsx │ │ │ │ ├── GroupOwnershipTransferFailedModal.tsx │ │ │ │ ├── GroupRemoveUserFailedModal.tsx │ │ │ │ ├── GuildAtCapacityModal.tsx │ │ │ │ ├── InviteAcceptFailedModal.tsx │ │ │ │ ├── InviteRevokeFailedModal.tsx │ │ │ │ ├── InvitesDisabledModal.tsx │ │ │ │ ├── InvitesLoadFailedModal.tsx │ │ │ │ ├── MaxBookmarksModal.tsx │ │ │ │ ├── MaxFavoriteMemesModal.tsx │ │ │ │ ├── MaxGuildsModal.tsx │ │ │ │ ├── MessageDeleteFailedModal.tsx │ │ │ │ ├── MessageDeleteTooQuickModal.tsx │ │ │ │ ├── MessageEditFailedModal.tsx │ │ │ │ ├── MessageEditTooQuickModal.tsx │ │ │ │ ├── MessageForwardFailedModal.tsx │ │ │ │ ├── MessageSendFailedModal.tsx │ │ │ │ ├── MessageSendTooQuickModal.tsx │ │ │ │ ├── MicrophonePermissionDeniedModal.tsx │ │ │ │ ├── NSFWContentRejectedModal.tsx │ │ │ │ ├── PinFailedModal.tsx │ │ │ │ ├── RateLimitedConfirmModal.tsx │ │ │ │ ├── ReactionInteractionDisabledModal.tsx │ │ │ │ ├── RoleCreateFailedModal.tsx │ │ │ │ ├── RoleDeleteFailedModal.tsx │ │ │ │ ├── RoleNameBlankModal.tsx │ │ │ │ ├── RoleUpdateFailedModal.tsx │ │ │ │ ├── ScreenRecordingPermissionDeniedModal.tsx │ │ │ │ ├── ScreenShareUnsupportedModal.tsx │ │ │ │ ├── SlowmodeRateLimitedModal.tsx │ │ │ │ ├── TemporaryInviteRequiresPresenceModal.tsx │ │ │ │ ├── TooManyAttachmentsModal.tsx │ │ │ │ ├── TooManyReactionsModal.tsx │ │ │ │ ├── TtsUnsupportedModal.tsx │ │ │ │ ├── UserBannedFromGuildModal.tsx │ │ │ │ ├── UserIpBannedFromGuildModal.tsx │ │ │ │ ├── VoiceChannelFullModal.tsx │ │ │ │ ├── VoiceConnectionConfirmModal.module.css │ │ │ │ └── VoiceConnectionConfirmModal.tsx │ │ │ ├── auth/ │ │ │ │ ├── AuthBackground.tsx │ │ │ │ ├── AuthBottomLink.tsx │ │ │ │ ├── AuthCardContainer.module.css │ │ │ │ ├── AuthCardContainer.tsx │ │ │ │ ├── AuthErrorState.tsx │ │ │ │ ├── AuthLoadingState.tsx │ │ │ │ ├── AuthLoginLayout.tsx │ │ │ │ ├── AuthMinimalRegisterFormCore.tsx │ │ │ │ ├── AuthPageHeader.tsx │ │ │ │ ├── AuthPageStyles.module.css │ │ │ │ ├── AuthRegisterFormCore.tsx │ │ │ │ ├── AuthRouterLink.tsx │ │ │ │ ├── BrowserLoginHandoffModal.module.css │ │ │ │ ├── BrowserLoginHandoffModal.tsx │ │ │ │ ├── DateOfBirthField.module.css │ │ │ │ ├── DateOfBirthField.tsx │ │ │ │ ├── DesktopDeepLinkPrompt.module.css │ │ │ │ ├── DesktopDeepLinkPrompt.tsx │ │ │ │ ├── DesktopHandoffAccountSelector.tsx │ │ │ │ ├── FormField.tsx │ │ │ │ ├── GiftHeader.tsx │ │ │ │ ├── HandoffCodeDisplay.module.css │ │ │ │ ├── HandoffCodeDisplay.tsx │ │ │ │ ├── InstanceSelector.module.css │ │ │ │ ├── InstanceSelector.tsx │ │ │ │ ├── InviteHeader.tsx │ │ │ │ ├── IpAuthorizationScreen.module.css │ │ │ │ ├── IpAuthorizationScreen.tsx │ │ │ │ ├── MfaScreen.module.css │ │ │ │ ├── MfaScreen.tsx │ │ │ │ ├── MockMinimalRegisterForm.tsx │ │ │ │ ├── SubmitTooltip.module.css │ │ │ │ ├── SubmitTooltip.tsx │ │ │ │ └── auth_login_core/ │ │ │ │ ├── AuthLoginEmailPasswordForm.tsx │ │ │ │ ├── AuthLoginPasskeyActions.tsx │ │ │ │ └── useDesktopHandoffFlow.tsx │ │ │ ├── bottomsheets/ │ │ │ │ ├── CategoryBottomSheet.tsx │ │ │ │ ├── ChannelBottomSheet.tsx │ │ │ │ ├── ChannelDetailsBottomSheet.module.css │ │ │ │ ├── ChannelDetailsBottomSheet.tsx │ │ │ │ ├── ChannelPinsBottomSheet.tsx │ │ │ │ ├── ChannelSearchBottomSheet.tsx │ │ │ │ ├── CreateDMBottomSheet.module.css │ │ │ │ ├── CreateDMBottomSheet.tsx │ │ │ │ ├── DMBottomSheet.tsx │ │ │ │ ├── DirectCallLobbyBottomSheet.module.css │ │ │ │ ├── DirectCallLobbyBottomSheet.tsx │ │ │ │ ├── EmojiInfoBottomSheet.module.css │ │ │ │ ├── EmojiInfoBottomSheet.tsx │ │ │ │ ├── FavoritesGuildHeaderBottomSheet.tsx │ │ │ │ ├── GuildHeaderBottomSheet.module.css │ │ │ │ ├── GuildHeaderBottomSheet.tsx │ │ │ │ ├── MuteDurationSheet.tsx │ │ │ │ ├── QuickSwitcherBottomSheet.module.css │ │ │ │ ├── QuickSwitcherBottomSheet.tsx │ │ │ │ ├── VoiceLobbyBottomSheet.module.css │ │ │ │ ├── VoiceLobbyBottomSheet.tsx │ │ │ │ ├── VoiceParticipantBottomSheet.tsx │ │ │ │ ├── VoiceSettingsBottomSheets.tsx │ │ │ │ └── shared.module.css │ │ │ ├── captcha/ │ │ │ │ └── TurnstileWidget.tsx │ │ │ ├── channel/ │ │ │ │ ├── Autocomplete.module.css │ │ │ │ ├── Autocomplete.tsx │ │ │ │ ├── AutocompleteChannel.module.css │ │ │ │ ├── AutocompleteChannel.tsx │ │ │ │ ├── AutocompleteCommand.tsx │ │ │ │ ├── AutocompleteEmoji.module.css │ │ │ │ ├── AutocompleteEmoji.tsx │ │ │ │ ├── AutocompleteGif.module.css │ │ │ │ ├── AutocompleteGif.tsx │ │ │ │ ├── AutocompleteItem.module.css │ │ │ │ ├── AutocompleteItem.tsx │ │ │ │ ├── AutocompleteMeme.tsx │ │ │ │ ├── AutocompleteMention.module.css │ │ │ │ ├── AutocompleteMention.tsx │ │ │ │ ├── AutocompleteSticker.tsx │ │ │ │ ├── BlockedMessageGroups.module.css │ │ │ │ ├── BlockedMessageGroups.tsx │ │ │ │ ├── CallMessage.module.css │ │ │ │ ├── CallMessage.tsx │ │ │ │ ├── ChannelAttachmentArea.module.css │ │ │ │ ├── ChannelAttachmentArea.tsx │ │ │ │ ├── ChannelChatLayout.module.css │ │ │ │ ├── ChannelChatLayout.tsx │ │ │ │ ├── ChannelHeader.module.css │ │ │ │ ├── ChannelHeader.tsx │ │ │ │ ├── ChannelIconChangeMessage.tsx │ │ │ │ ├── ChannelIndexPage.module.css │ │ │ │ ├── ChannelIndexPage.tsx │ │ │ │ ├── ChannelLayout.module.css │ │ │ │ ├── ChannelLayout.tsx │ │ │ │ ├── ChannelMembers.module.css │ │ │ │ ├── ChannelMembers.tsx │ │ │ │ ├── ChannelMessageStream.tsx │ │ │ │ ├── ChannelNameChangeMessage.tsx │ │ │ │ ├── ChannelSearchHighlight.css │ │ │ │ ├── ChannelSearchResults.module.css │ │ │ │ ├── ChannelSearchResults.tsx │ │ │ │ ├── ChannelSourcePreview.module.css │ │ │ │ ├── ChannelSourcePreview.tsx │ │ │ │ ├── ChannelStickersArea.module.css │ │ │ │ ├── ChannelStickersArea.tsx │ │ │ │ ├── ChannelTextarea.tsx │ │ │ │ ├── ChannelWelcomeSection.module.css │ │ │ │ ├── ChannelWelcomeSection.tsx │ │ │ │ ├── Divider.module.css │ │ │ │ ├── Divider.tsx │ │ │ │ ├── EditBar.module.css │ │ │ │ ├── EditBar.tsx │ │ │ │ ├── EditingMessageInput.module.css │ │ │ │ ├── EditingMessageInput.tsx │ │ │ │ ├── EmojiPicker.module.css │ │ │ │ ├── EmojiPicker.tsx │ │ │ │ ├── ExpressionPickerShared.module.css │ │ │ │ ├── GifPicker.module.css │ │ │ │ ├── GifVideoPool.tsx │ │ │ │ ├── GiftEmbed.module.css │ │ │ │ ├── GiftEmbed.tsx │ │ │ │ ├── GuildJoinMessage.module.css │ │ │ │ ├── GuildJoinMessage.tsx │ │ │ │ ├── GuildMembersPage.module.css │ │ │ │ ├── GuildMembersPage.tsx │ │ │ │ ├── InviteEmbed.module.css │ │ │ │ ├── InviteEmbed.tsx │ │ │ │ ├── MasonryListComputer.tsx │ │ │ │ ├── MediaActionBottomSheet.tsx │ │ │ │ ├── MemberListContainer.module.css │ │ │ │ ├── MemberListContainer.tsx │ │ │ │ ├── MemberListItem.module.css │ │ │ │ ├── MemberListItem.tsx │ │ │ │ ├── MemesPicker.module.css │ │ │ │ ├── MentionEveryonePopout.module.css │ │ │ │ ├── MentionEveryonePopout.tsx │ │ │ │ ├── Message.tsx │ │ │ │ ├── MessageActionBar.module.css │ │ │ │ ├── MessageActionBar.tsx │ │ │ │ ├── MessageActionBottomSheet.module.css │ │ │ │ ├── MessageActionBottomSheet.tsx │ │ │ │ ├── MessageActionMenu.tsx │ │ │ │ ├── MessageActionUtils.tsx │ │ │ │ ├── MessageAttachmentStateUtils.tsx │ │ │ │ ├── MessageAttachmentUtils.tsx │ │ │ │ ├── MessageAttachments.module.css │ │ │ │ ├── MessageAttachments.tsx │ │ │ │ ├── MessageAuthorInfo.tsx │ │ │ │ ├── MessageAvatar.tsx │ │ │ │ ├── MessageCharacterCounter.module.css │ │ │ │ ├── MessageCharacterCounter.tsx │ │ │ │ ├── MessageGroup.tsx │ │ │ │ ├── MessageReactions.module.css │ │ │ │ ├── MessageReactions.tsx │ │ │ │ ├── MessageReactionsSheet.module.css │ │ │ │ ├── MessageReactionsSheet.tsx │ │ │ │ ├── MessageUploadProgress.module.css │ │ │ │ ├── MessageUploadProgress.tsx │ │ │ │ ├── MessageUsername.tsx │ │ │ │ ├── MessageViewContext.tsx │ │ │ │ ├── Messages.module.css │ │ │ │ ├── Messages.tsx │ │ │ │ ├── MobileEmojiPicker.module.css │ │ │ │ ├── MobileEmojiPicker.tsx │ │ │ │ ├── MobileMemesPicker.tsx │ │ │ │ ├── MobileStickersPicker.tsx │ │ │ │ ├── MuteOptions.tsx │ │ │ │ ├── NSFWChannelGate.module.css │ │ │ │ ├── NSFWChannelGate.tsx │ │ │ │ ├── NewMessagesBar.tsx │ │ │ │ ├── PinSystemMessage.tsx │ │ │ │ ├── PreloadableUserPopout.tsx │ │ │ │ ├── PremiumUpsellBanner.module.css │ │ │ │ ├── PremiumUpsellBanner.tsx │ │ │ │ ├── QuickReactionsRow.module.css │ │ │ │ ├── QuickReactionsRow.tsx │ │ │ │ ├── RecipientAddMessage.module.css │ │ │ │ ├── RecipientAddMessage.tsx │ │ │ │ ├── RecipientRemoveMessage.module.css │ │ │ │ ├── RecipientRemoveMessage.tsx │ │ │ │ ├── ReplyBar.module.css │ │ │ │ ├── ReplyBar.tsx │ │ │ │ ├── ReplyPreview.tsx │ │ │ │ ├── ScheduledMessageEditBar.module.css │ │ │ │ ├── ScheduledMessageEditBar.tsx │ │ │ │ ├── ScrollFillerSkeleton.module.css │ │ │ │ ├── ScrollFillerSkeleton.tsx │ │ │ │ ├── SearchResultsUtils.tsx │ │ │ │ ├── SearchScopeOptions.tsx │ │ │ │ ├── SlowmodeIndicator.module.css │ │ │ │ ├── SlowmodeIndicator.tsx │ │ │ │ ├── StickersPicker.module.css │ │ │ │ ├── StickersPicker.tsx │ │ │ │ ├── SystemMessage.tsx │ │ │ │ ├── SystemMessageUsername.tsx │ │ │ │ ├── ThemeEmbed.module.css │ │ │ │ ├── ThemeEmbed.tsx │ │ │ │ ├── TimestampWithTooltip.module.css │ │ │ │ ├── TimestampWithTooltip.tsx │ │ │ │ ├── Typing.tsx │ │ │ │ ├── TypingUsers.module.css │ │ │ │ ├── TypingUsers.tsx │ │ │ │ ├── UnknownMessage.tsx │ │ │ │ ├── UnreadDividerSlot.tsx │ │ │ │ ├── UploadManager.tsx │ │ │ │ ├── UserMessage.tsx │ │ │ │ ├── UserTag.module.css │ │ │ │ ├── UserTag.tsx │ │ │ │ ├── VerificationBarrier.tsx │ │ │ │ ├── VoiceMessageRecorder.module.css │ │ │ │ ├── VoiceMessageRecorder.tsx │ │ │ │ ├── active_now/ │ │ │ │ │ ├── ActiveNowSidebar.module.css │ │ │ │ │ ├── ActiveNowSidebar.tsx │ │ │ │ │ └── useActiveFriendVoiceStates.tsx │ │ │ │ ├── barriers/ │ │ │ │ │ ├── BarrierComponents.module.css │ │ │ │ │ └── BarrierComponents.tsx │ │ │ │ ├── channel_header/ │ │ │ │ │ └── useChannelHeaderData.tsx │ │ │ │ ├── channel_header_components/ │ │ │ │ │ ├── CallButtons.tsx │ │ │ │ │ ├── ChannelHeaderIcon.tsx │ │ │ │ │ ├── ChannelNotificationSettingsButton.tsx │ │ │ │ │ ├── ChannelNotificationSettingsDropdown.tsx │ │ │ │ │ ├── ChannelPinsButton.tsx │ │ │ │ │ ├── UpdaterIcon.tsx │ │ │ │ │ └── UtilityButtons.tsx │ │ │ │ ├── channel_view/ │ │ │ │ │ ├── ChannelViewScaffold.tsx │ │ │ │ │ ├── DMChannelView.tsx │ │ │ │ │ ├── GuildChannelView.tsx │ │ │ │ │ ├── useCallHeaderState.tsx │ │ │ │ │ └── useChannelSearchState.tsx │ │ │ │ ├── direct_message/ │ │ │ │ │ ├── AddFriendForm.module.css │ │ │ │ │ ├── AddFriendForm.tsx │ │ │ │ │ ├── AddFriendView.module.css │ │ │ │ │ ├── AddFriendView.tsx │ │ │ │ │ ├── DMChannelView.module.css │ │ │ │ │ ├── DMFriendsView.module.css │ │ │ │ │ ├── DMFriendsView.tsx │ │ │ │ │ ├── DMLayout.module.css │ │ │ │ │ ├── DMLayout.tsx │ │ │ │ │ ├── DMList.module.css │ │ │ │ │ ├── DMList.tsx │ │ │ │ │ ├── DMWelcomeSection.module.css │ │ │ │ │ ├── DMWelcomeSection.tsx │ │ │ │ │ ├── GroupDMWelcomeSection.module.css │ │ │ │ │ ├── GroupDMWelcomeSection.tsx │ │ │ │ │ ├── PersonalNotesWelcomeSection.module.css │ │ │ │ │ └── PersonalNotesWelcomeSection.tsx │ │ │ │ ├── embeds/ │ │ │ │ │ ├── AltTextBadge.module.css │ │ │ │ │ ├── AltTextBadge.tsx │ │ │ │ │ ├── Embed.module.css │ │ │ │ │ ├── Embed.tsx │ │ │ │ │ ├── EmbedUtils.tsx │ │ │ │ │ ├── NSFWBlurOverlay.module.css │ │ │ │ │ ├── NSFWBlurOverlay.tsx │ │ │ │ │ ├── attachments/ │ │ │ │ │ │ ├── Attachment.module.css │ │ │ │ │ │ ├── Attachment.tsx │ │ │ │ │ │ ├── AttachmentFile.tsx │ │ │ │ │ │ ├── AttachmentGridItem.tsx │ │ │ │ │ │ ├── AttachmentLayoutGrid.tsx │ │ │ │ │ │ ├── AttachmentMosaic.tsx │ │ │ │ │ │ ├── AttachmentSingleMedia.tsx │ │ │ │ │ │ ├── TextualAttachmentCodePanel.tsx │ │ │ │ │ │ ├── TextualAttachmentLanguagePopout.tsx │ │ │ │ │ │ ├── TextualAttachmentPreview.module.css │ │ │ │ │ │ ├── TextualAttachmentPreview.tsx │ │ │ │ │ │ ├── TextualAttachmentPreviewBottomSheet.module.css │ │ │ │ │ │ ├── TextualAttachmentPreviewBottomSheet.tsx │ │ │ │ │ │ ├── TextualAttachmentPreviewFooter.tsx │ │ │ │ │ │ ├── TextualAttachmentPreviewModal.tsx │ │ │ │ │ │ ├── TextualAttachmentPreviewUtils.tsx │ │ │ │ │ │ └── TextualPreviewContextMenu.tsx │ │ │ │ │ └── media/ │ │ │ │ │ ├── EmbedAudio.module.css │ │ │ │ │ ├── EmbedAudio.tsx │ │ │ │ │ ├── EmbedGifv.module.css │ │ │ │ │ ├── EmbedGifv.tsx │ │ │ │ │ ├── EmbedImage.module.css │ │ │ │ │ ├── EmbedImage.tsx │ │ │ │ │ ├── EmbedVideo.module.css │ │ │ │ │ ├── EmbedVideo.tsx │ │ │ │ │ ├── EmbedYouTube.module.css │ │ │ │ │ ├── EmbedYouTube.tsx │ │ │ │ │ ├── GifIndicator.module.css │ │ │ │ │ ├── GifIndicator.tsx │ │ │ │ │ ├── MediaButtonUtils.tsx │ │ │ │ │ ├── MediaButtons.module.css │ │ │ │ │ ├── MediaButtons.tsx │ │ │ │ │ ├── MediaContainer.module.css │ │ │ │ │ ├── MediaContainer.tsx │ │ │ │ │ ├── MediaTypes.tsx │ │ │ │ │ ├── VoiceMessagePlayer.module.css │ │ │ │ │ └── VoiceMessagePlayer.tsx │ │ │ │ ├── emoji_picker/ │ │ │ │ │ ├── EmojiPickerCategoryList.tsx │ │ │ │ │ ├── EmojiPickerConstants.tsx │ │ │ │ │ ├── EmojiPickerInspector.tsx │ │ │ │ │ ├── EmojiPickerSearchBar.module.css │ │ │ │ │ ├── EmojiPickerSearchBar.tsx │ │ │ │ │ ├── EmojiRenderer.tsx │ │ │ │ │ ├── SkinToneSelector.tsx │ │ │ │ │ ├── VirtualRow.tsx │ │ │ │ │ └── hooks/ │ │ │ │ │ ├── useEmojiCategories.tsx │ │ │ │ │ └── useVirtualRows.tsx │ │ │ │ ├── friends/ │ │ │ │ │ ├── ActionButton.module.css │ │ │ │ │ ├── ActionButton.tsx │ │ │ │ │ ├── EmptyStateView.module.css │ │ │ │ │ ├── EmptyStateView.tsx │ │ │ │ │ ├── FriendListItem.module.css │ │ │ │ │ ├── FriendListItem.tsx │ │ │ │ │ ├── FriendsTypes.tsx │ │ │ │ │ ├── ListSection.module.css │ │ │ │ │ ├── ListSection.tsx │ │ │ │ │ ├── MobileFriendRequestItem.module.css │ │ │ │ │ ├── MobileFriendRequestItem.tsx │ │ │ │ │ └── views/ │ │ │ │ │ ├── FriendsList.module.css │ │ │ │ │ ├── FriendsList.tsx │ │ │ │ │ ├── PendingFriendsView.module.css │ │ │ │ │ └── PendingFriendsView.tsx │ │ │ │ ├── invite_embed/ │ │ │ │ │ └── InviteEmbedUtils.tsx │ │ │ │ ├── message_search_bar/ │ │ │ │ │ ├── AutocompleteOption.tsx │ │ │ │ │ ├── ChannelsSection.tsx │ │ │ │ │ ├── DateSection.tsx │ │ │ │ │ ├── FilterOption.tsx │ │ │ │ │ ├── HistorySection.tsx │ │ │ │ │ ├── MessageSearchBar.module.css │ │ │ │ │ ├── MessageSearchBar.tsx │ │ │ │ │ ├── UsersSection.tsx │ │ │ │ │ └── ValuesSection.tsx │ │ │ │ ├── pickers/ │ │ │ │ │ ├── gif/ │ │ │ │ │ │ ├── GifPicker.tsx │ │ │ │ │ │ ├── GifPickerGrid.tsx │ │ │ │ │ │ ├── GifPickerGridItem.tsx │ │ │ │ │ │ ├── GifPickerHeader.tsx │ │ │ │ │ │ ├── GifPickerStore.tsx │ │ │ │ │ │ ├── GifPickerTypes.tsx │ │ │ │ │ │ └── GifPickerView.tsx │ │ │ │ │ ├── memes/ │ │ │ │ │ │ ├── MediaFormat.tsx │ │ │ │ │ │ ├── MemeGridItem.tsx │ │ │ │ │ │ ├── MemesGrid.tsx │ │ │ │ │ │ ├── MemesPicker.tsx │ │ │ │ │ │ ├── MemesPickerHeader.tsx │ │ │ │ │ │ └── MemesPickerView.tsx │ │ │ │ │ └── shared/ │ │ │ │ │ ├── ComputeColumns.tsx │ │ │ │ │ ├── MasonryVirtualGrid.tsx │ │ │ │ │ ├── PickerConstants.tsx │ │ │ │ │ ├── usePooledVideo.tsx │ │ │ │ │ └── useScrollerViewport.tsx │ │ │ │ ├── shared/ │ │ │ │ │ ├── MemberListUnavailableFallback.module.css │ │ │ │ │ ├── MemberListUnavailableFallback.tsx │ │ │ │ │ ├── PickerEmptyState.tsx │ │ │ │ │ ├── PickerSearchInput.module.css │ │ │ │ │ └── PickerSearchInput.tsx │ │ │ │ ├── sticker_picker/ │ │ │ │ │ ├── StickerPickerCategoryList.tsx │ │ │ │ │ ├── StickerPickerConstants.tsx │ │ │ │ │ ├── StickerPickerInspector.tsx │ │ │ │ │ ├── StickerPickerSearchBar.tsx │ │ │ │ │ ├── VirtualRow.module.css │ │ │ │ │ ├── VirtualRow.tsx │ │ │ │ │ └── hooks/ │ │ │ │ │ ├── useStickerCategories.tsx │ │ │ │ │ └── useVirtualRows.tsx │ │ │ │ └── textarea/ │ │ │ │ ├── HoldToRecordButton.tsx │ │ │ │ ├── InputWrapper.module.css │ │ │ │ ├── MobileTextareaLayout.module.css │ │ │ │ ├── MobileTextareaLayout.tsx │ │ │ │ ├── MobileTextareaPlusBottomSheet.tsx │ │ │ │ ├── TextareaButton.module.css │ │ │ │ ├── TextareaButton.tsx │ │ │ │ ├── TextareaButtons.module.css │ │ │ │ ├── TextareaButtons.tsx │ │ │ │ ├── TextareaContextMenu.tsx │ │ │ │ ├── TextareaInput.module.css │ │ │ │ ├── TextareaInputField.tsx │ │ │ │ └── TextareaPlusMenu.tsx │ │ │ ├── common/ │ │ │ │ ├── ExpiryFootnote.module.css │ │ │ │ ├── ExpiryFootnote.tsx │ │ │ │ ├── ExpiryFootnoteContextMenu.tsx │ │ │ │ ├── ExternalLink.module.css │ │ │ │ ├── ExternalLink.tsx │ │ │ │ ├── FriendSelector.module.css │ │ │ │ ├── FriendSelector.tsx │ │ │ │ ├── GroupDMAvatar.module.css │ │ │ │ ├── GroupDMAvatar.tsx │ │ │ │ ├── InstanceBadge.module.css │ │ │ │ ├── InstanceBadge.tsx │ │ │ │ ├── SpoilerOverlay.module.css │ │ │ │ ├── SpoilerOverlay.tsx │ │ │ │ └── custom_status_display/ │ │ │ │ ├── CustomStatusDisplay.module.css │ │ │ │ └── CustomStatusDisplay.tsx │ │ │ ├── debug/ │ │ │ │ ├── ChannelDebugModal.tsx │ │ │ │ ├── DebugModal.module.css │ │ │ │ ├── DebugModal.tsx │ │ │ │ ├── GuildDebugModal.tsx │ │ │ │ ├── GuildMemberDebugModal.tsx │ │ │ │ ├── MessageDebugModal.tsx │ │ │ │ └── UserDebugModal.tsx │ │ │ ├── embeds/ │ │ │ │ └── embed_card/ │ │ │ │ ├── EmbedCard.module.css │ │ │ │ ├── EmbedCard.tsx │ │ │ │ └── useEmbedSkeletonOverride.tsx │ │ │ ├── emojis/ │ │ │ │ ├── EmojiAttributionSubtext.tsx │ │ │ │ ├── EmojiInfoContent.module.css │ │ │ │ ├── EmojiInfoContent.tsx │ │ │ │ ├── EmojiListItem.module.css │ │ │ │ └── EmojiListItem.tsx │ │ │ ├── favorites/ │ │ │ │ ├── FavoritesWelcomeSection.module.css │ │ │ │ └── FavoritesWelcomeSection.tsx │ │ │ ├── form/ │ │ │ │ ├── ColorPickerField.module.css │ │ │ │ ├── ColorPickerField.tsx │ │ │ │ ├── DateTimePickerField.module.css │ │ │ │ ├── DateTimePickerField.tsx │ │ │ │ ├── Form.tsx │ │ │ │ ├── FormErrorText.module.css │ │ │ │ ├── FormErrorText.tsx │ │ │ │ ├── FormSurface.module.css │ │ │ │ ├── Input.module.css │ │ │ │ ├── Input.tsx │ │ │ │ ├── Select.module.css │ │ │ │ ├── Select.tsx │ │ │ │ ├── SelectBottomSheet.module.css │ │ │ │ ├── SelectBottomSheet.tsx │ │ │ │ ├── Switch.module.css │ │ │ │ ├── Switch.tsx │ │ │ │ ├── UsernameValidationRules.module.css │ │ │ │ └── UsernameValidationRules.tsx │ │ │ ├── guild/ │ │ │ │ ├── GuildBadge.module.css │ │ │ │ ├── GuildBadge.tsx │ │ │ │ ├── RoleManagement.module.css │ │ │ │ ├── RoleManagement.tsx │ │ │ │ ├── UploadDropZone.module.css │ │ │ │ ├── UploadDropZone.tsx │ │ │ │ ├── UploadSlotInfo.module.css │ │ │ │ └── UploadSlotInfo.tsx │ │ │ ├── icons/ │ │ │ │ ├── BlueskyIcon.tsx │ │ │ │ ├── FluxerIcon.tsx │ │ │ │ ├── FluxerSymbol.tsx │ │ │ │ ├── InboxIcon.tsx │ │ │ │ ├── NSFWIcon.tsx │ │ │ │ ├── UnverifiedConnectionIcon.tsx │ │ │ │ └── VerifiedConnectionIcon.tsx │ │ │ ├── invites/ │ │ │ │ ├── DisableInvitesButton.module.css │ │ │ │ ├── DisableInvitesButton.tsx │ │ │ │ ├── InviteDateToggle.module.css │ │ │ │ ├── InviteDateToggle.tsx │ │ │ │ ├── InviteListItem.module.css │ │ │ │ └── InviteListItem.tsx │ │ │ ├── keybinds/ │ │ │ │ ├── KeybindRecorder.module.css │ │ │ │ └── KeybindRecorder.tsx │ │ │ ├── layout/ │ │ │ │ ├── AppLayout.module.css │ │ │ │ ├── AppLayout.tsx │ │ │ │ ├── AuthLayout.module.css │ │ │ │ ├── AuthLayout.tsx │ │ │ │ ├── ChannelItem.module.css │ │ │ │ ├── ChannelItem.tsx │ │ │ │ ├── ChannelItemContent.tsx │ │ │ │ ├── ChannelItemIcon.module.css │ │ │ │ ├── ChannelItemIcon.tsx │ │ │ │ ├── ChannelItemSurface.module.css │ │ │ │ ├── ChannelListContent.module.css │ │ │ │ ├── ChannelListContent.tsx │ │ │ │ ├── ChannelListSkeleton.tsx │ │ │ │ ├── CollapsedCategoryVoiceParticipants.module.css │ │ │ │ ├── CollapsedCategoryVoiceParticipants.tsx │ │ │ │ ├── DndContext.tsx │ │ │ │ ├── DropIndicator.module.css │ │ │ │ ├── DropIndicator.tsx │ │ │ │ ├── FavoritesChannelListContent.module.css │ │ │ │ ├── FavoritesChannelListContent.tsx │ │ │ │ ├── FavoritesGuildHeader.module.css │ │ │ │ ├── FavoritesGuildHeader.tsx │ │ │ │ ├── FavoritesLayout.tsx │ │ │ │ ├── FrameContext.tsx │ │ │ │ ├── GenericChannelItem.tsx │ │ │ │ ├── GlobalOverlays.tsx │ │ │ │ ├── GroupedVoiceParticipant.module.css │ │ │ │ ├── GroupedVoiceParticipant.tsx │ │ │ │ ├── GuildDetachedBanner.module.css │ │ │ │ ├── GuildDetachedBanner.tsx │ │ │ │ ├── GuildHeader.module.css │ │ │ │ ├── GuildHeader.tsx │ │ │ │ ├── GuildHeaderShell.tsx │ │ │ │ ├── GuildLayout.module.css │ │ │ │ ├── GuildLayout.tsx │ │ │ │ ├── GuildNavbar.module.css │ │ │ │ ├── GuildNavbar.tsx │ │ │ │ ├── GuildNavbarSkeleton.module.css │ │ │ │ ├── GuildNavbarSkeleton.tsx │ │ │ │ ├── GuildSidebar.tsx │ │ │ │ ├── GuildsLayout.module.css │ │ │ │ ├── GuildsLayout.tsx │ │ │ │ ├── KeyboardModeListener.tsx │ │ │ │ ├── MobileBottomNav.module.css │ │ │ │ ├── MobileBottomNav.tsx │ │ │ │ ├── Nagbar.module.css │ │ │ │ ├── Nagbar.tsx │ │ │ │ ├── NagbarButton.module.css │ │ │ │ ├── NagbarButton.tsx │ │ │ │ ├── NagbarContent.module.css │ │ │ │ ├── NagbarContent.tsx │ │ │ │ ├── NativeDragRegion.module.css │ │ │ │ ├── NativeDragRegion.tsx │ │ │ │ ├── NativeTitlebar.module.css │ │ │ │ ├── NativeTitlebar.tsx │ │ │ │ ├── NativeTrafficLightsBackdrop.module.css │ │ │ │ ├── NativeTrafficLightsBackdrop.tsx │ │ │ │ ├── NullSpaceDropIndicator.module.css │ │ │ │ ├── NullSpaceDropIndicator.tsx │ │ │ │ ├── OutlineFrame.module.css │ │ │ │ ├── OutlineFrame.tsx │ │ │ │ ├── ScrollIndicatorOverlay.module.css │ │ │ │ ├── ScrollIndicatorOverlay.tsx │ │ │ │ ├── SplashScreen.module.css │ │ │ │ ├── SplashScreen.tsx │ │ │ │ ├── UserArea.module.css │ │ │ │ ├── UserArea.tsx │ │ │ │ ├── VoiceChannelUserCount.module.css │ │ │ │ ├── VoiceChannelUserCount.tsx │ │ │ │ ├── VoiceParticipantItem.module.css │ │ │ │ ├── VoiceParticipantItem.tsx │ │ │ │ ├── VoiceParticipantsList.module.css │ │ │ │ ├── VoiceParticipantsList.tsx │ │ │ │ ├── VoiceStateIcons.module.css │ │ │ │ ├── VoiceStateIcons.tsx │ │ │ │ ├── app_layout/ │ │ │ │ │ ├── AppLayoutHooks.tsx │ │ │ │ │ ├── AppLayoutTypes.tsx │ │ │ │ │ ├── NagbarContainer.module.css │ │ │ │ │ ├── NagbarContainer.tsx │ │ │ │ │ ├── TopNagbarContext.tsx │ │ │ │ │ └── nagbars/ │ │ │ │ │ ├── DesktopDownloadNagbar.module.css │ │ │ │ │ ├── DesktopDownloadNagbar.tsx │ │ │ │ │ ├── DesktopNotificationNagbar.module.css │ │ │ │ │ ├── DesktopNotificationNagbar.tsx │ │ │ │ │ ├── EmailVerificationNagbar.tsx │ │ │ │ │ ├── GiftInventoryNagbar.tsx │ │ │ │ │ ├── GuildMembershipCtaNagbar.tsx │ │ │ │ │ ├── MobileDownloadNagbar.module.css │ │ │ │ │ ├── MobileDownloadNagbar.tsx │ │ │ │ │ ├── PendingBulkDeletionNagbar.tsx │ │ │ │ │ ├── PremiumExpiredNagbar.tsx │ │ │ │ │ ├── PremiumGracePeriodNagbar.tsx │ │ │ │ │ ├── PremiumOnboardingNagbar.tsx │ │ │ │ │ ├── UnclaimedAccountNagbar.tsx │ │ │ │ │ └── VisionaryMfaNagbar.tsx │ │ │ │ ├── dnd/ │ │ │ │ │ └── DndDropPosition.tsx │ │ │ │ ├── guild_list/ │ │ │ │ │ ├── AddGuildButton.module.css │ │ │ │ │ ├── AddGuildButton.tsx │ │ │ │ │ ├── DiscoveryButton.module.css │ │ │ │ │ ├── DiscoveryButton.tsx │ │ │ │ │ ├── DownloadButton.module.css │ │ │ │ │ ├── DownloadButton.tsx │ │ │ │ │ ├── FavoritesButton.tsx │ │ │ │ │ ├── FluxerButton.tsx │ │ │ │ │ ├── GuildFolderItem.module.css │ │ │ │ │ ├── GuildFolderItem.tsx │ │ │ │ │ ├── GuildListDMItem.module.css │ │ │ │ │ ├── GuildListDMItem.tsx │ │ │ │ │ ├── GuildListItem.tsx │ │ │ │ │ ├── HelpButton.module.css │ │ │ │ │ ├── HelpButton.tsx │ │ │ │ │ └── VoiceBadge.tsx │ │ │ │ ├── types/ │ │ │ │ │ └── DndTypes.tsx │ │ │ │ └── utils/ │ │ │ │ ├── ChannelMoveOperation.test.tsx │ │ │ │ ├── ChannelMoveOperation.tsx │ │ │ │ ├── ChannelOrganization.tsx │ │ │ │ └── ChannelUnreadState.tsx │ │ │ ├── media_player/ │ │ │ │ ├── AudioPlayer.module.css │ │ │ │ ├── InlineAudioPlayer.module.css │ │ │ │ ├── MediaPlayButton.module.css │ │ │ │ ├── MediaPlaybackRate.module.css │ │ │ │ ├── MediaProgressBar.module.css │ │ │ │ ├── MediaTimeDisplay.module.css │ │ │ │ ├── MediaVerticalVolumeControl.module.css │ │ │ │ ├── MediaVolumeControl.module.css │ │ │ │ ├── VideoPlayer.module.css │ │ │ │ ├── components/ │ │ │ │ │ ├── AudioPlayer.tsx │ │ │ │ │ ├── InlineAudioPlayer.tsx │ │ │ │ │ ├── MediaFullscreenButton.tsx │ │ │ │ │ ├── MediaPipButton.tsx │ │ │ │ │ ├── MediaPlayButton.tsx │ │ │ │ │ ├── MediaPlaybackRate.tsx │ │ │ │ │ ├── MediaProgressBar.tsx │ │ │ │ │ ├── MediaTimeDisplay.tsx │ │ │ │ │ ├── MediaVerticalVolumeControl.tsx │ │ │ │ │ ├── MediaVolumeControl.tsx │ │ │ │ │ └── VideoPlayer.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── useControlsVisibility.tsx │ │ │ │ │ ├── useMediaFullscreen.tsx │ │ │ │ │ ├── useMediaKeyboard.tsx │ │ │ │ │ ├── useMediaPiP.tsx │ │ │ │ │ ├── useMediaPlayer.tsx │ │ │ │ │ ├── useMediaProgress.tsx │ │ │ │ │ └── useMediaVolume.tsx │ │ │ │ └── utils/ │ │ │ │ └── MediaConstants.tsx │ │ │ ├── modals/ │ │ │ │ ├── AccountDeleteModal.module.css │ │ │ │ ├── AccountDeleteModal.tsx │ │ │ │ ├── AccountDisableModal.module.css │ │ │ │ ├── AccountDisableModal.tsx │ │ │ │ ├── AddConnectionModal.module.css │ │ │ │ ├── AddConnectionModal.tsx │ │ │ │ ├── AddFavoriteChannelModal.module.css │ │ │ │ ├── AddFavoriteChannelModal.tsx │ │ │ │ ├── AddFavoriteMemeModal.tsx │ │ │ │ ├── AddFriendSheet.module.css │ │ │ │ ├── AddFriendSheet.tsx │ │ │ │ ├── AddFriendsToGroupModal.tsx │ │ │ │ ├── AddGuildModal.module.css │ │ │ │ ├── AddGuildModal.tsx │ │ │ │ ├── AddGuildStickerModal.module.css │ │ │ │ ├── AddGuildStickerModal.tsx │ │ │ │ ├── AssetCropModal.tsx │ │ │ │ ├── AttachmentEditModal.module.css │ │ │ │ ├── AttachmentEditModal.tsx │ │ │ │ ├── AudioPlaybackPermissionModal.tsx │ │ │ │ ├── BackgroundImageGalleryModal.module.css │ │ │ │ ├── BackgroundImageGalleryModal.tsx │ │ │ │ ├── BackupCodesModal.module.css │ │ │ │ ├── BackupCodesModal.tsx │ │ │ │ ├── BackupCodesRegenerateModal.tsx │ │ │ │ ├── BackupCodesViewModal.tsx │ │ │ │ ├── BanDetailsModal.module.css │ │ │ │ ├── BanDetailsModal.tsx │ │ │ │ ├── BanMemberModal.module.css │ │ │ │ ├── BanMemberModal.tsx │ │ │ │ ├── BaseChangeNicknameModal.module.css │ │ │ │ ├── BaseChangeNicknameModal.tsx │ │ │ │ ├── BookmarksBottomSheet.module.css │ │ │ │ ├── BookmarksBottomSheet.tsx │ │ │ │ ├── CameraPreviewModal.module.css │ │ │ │ ├── CameraPreviewModal.tsx │ │ │ │ ├── CaptchaModal.module.css │ │ │ │ ├── CaptchaModal.tsx │ │ │ │ ├── CategoryCreateModal.tsx │ │ │ │ ├── ChangeFriendNicknameModal.tsx │ │ │ │ ├── ChangeGroupDMNicknameModal.tsx │ │ │ │ ├── ChangeNicknameModal.tsx │ │ │ │ ├── ChannelCreateModal.module.css │ │ │ │ ├── ChannelCreateModal.tsx │ │ │ │ ├── ChannelDeleteModal.tsx │ │ │ │ ├── ChannelSettingsModal.tsx │ │ │ │ ├── ChannelTopicModal.module.css │ │ │ │ ├── ChannelTopicModal.tsx │ │ │ │ ├── ClaimAccountModal.module.css │ │ │ │ ├── ClaimAccountModal.tsx │ │ │ │ ├── ConfirmModal.module.css │ │ │ │ ├── ConfirmModal.tsx │ │ │ │ ├── CreateDMModal.tsx │ │ │ │ ├── CreateFavoriteCategoryModal.tsx │ │ │ │ ├── CreatePackModal.module.css │ │ │ │ ├── CreatePackModal.tsx │ │ │ │ ├── CustomStatusBottomSheet.module.css │ │ │ │ ├── CustomStatusBottomSheet.tsx │ │ │ │ ├── CustomStatusModal.module.css │ │ │ │ ├── CustomStatusModal.tsx │ │ │ │ ├── DeviceRevokeModal.tsx │ │ │ │ ├── DisablePiPConfirmModal.module.css │ │ │ │ ├── DisablePiPConfirmModal.tsx │ │ │ │ ├── DiscoveryModal.module.css │ │ │ │ ├── DiscoveryModal.tsx │ │ │ │ ├── DuplicateGroupConfirmModal.module.css │ │ │ │ ├── DuplicateGroupConfirmModal.tsx │ │ │ │ ├── EditAltTextModal.tsx │ │ │ │ ├── EditConnectionModal.tsx │ │ │ │ ├── EditFavoriteMemeModal.module.css │ │ │ │ ├── EditFavoriteMemeModal.tsx │ │ │ │ ├── EditGroupBottomSheet.module.css │ │ │ │ ├── EditGroupBottomSheet.tsx │ │ │ │ ├── EditGroupModal.module.css │ │ │ │ ├── EditGroupModal.tsx │ │ │ │ ├── EditGuildStickerModal.module.css │ │ │ │ ├── EditGuildStickerModal.tsx │ │ │ │ ├── EditPackModal.tsx │ │ │ │ ├── EmailChangeModal.module.css │ │ │ │ ├── EmailChangeModal.tsx │ │ │ │ ├── EmojiUploadModal.module.css │ │ │ │ ├── EmojiUploadModal.tsx │ │ │ │ ├── ExpressionPickerSheet.module.css │ │ │ │ ├── ExpressionPickerSheet.tsx │ │ │ │ ├── ExternalLinkWarningModal.module.css │ │ │ │ ├── ExternalLinkWarningModal.tsx │ │ │ │ ├── FluxerTagChangeModal.module.css │ │ │ │ ├── FluxerTagChangeModal.tsx │ │ │ │ ├── ForwardModal.module.css │ │ │ │ ├── ForwardModal.tsx │ │ │ │ ├── GiftAcceptModal.module.css │ │ │ │ ├── GiftAcceptModal.tsx │ │ │ │ ├── GroupInvitesBottomSheet.module.css │ │ │ │ ├── GroupInvitesBottomSheet.tsx │ │ │ │ ├── GroupInvitesModal.module.css │ │ │ │ ├── GroupInvitesModal.tsx │ │ │ │ ├── GuildDeleteModal.tsx │ │ │ │ ├── GuildFolderSettingsModal.tsx │ │ │ │ ├── GuildNotificationSettingsModal.module.css │ │ │ │ ├── GuildNotificationSettingsModal.tsx │ │ │ │ ├── GuildOwnershipWarningModal.module.css │ │ │ │ ├── GuildOwnershipWarningModal.tsx │ │ │ │ ├── GuildPrivacySettingsModal.module.css │ │ │ │ ├── GuildPrivacySettingsModal.tsx │ │ │ │ ├── GuildSettingsModal.module.css │ │ │ │ ├── GuildSettingsModal.tsx │ │ │ │ ├── HideOwnCameraConfirmModal.module.css │ │ │ │ ├── HideOwnCameraConfirmModal.tsx │ │ │ │ ├── HideOwnScreenShareConfirmModal.tsx │ │ │ │ ├── IARModal.module.css │ │ │ │ ├── IARModal.tsx │ │ │ │ ├── ImageCropModal.module.css │ │ │ │ ├── ImageCropModal.tsx │ │ │ │ ├── InputMonitoringCTAModal.tsx │ │ │ │ ├── InviteAcceptModal.module.css │ │ │ │ ├── InviteAcceptModal.tsx │ │ │ │ ├── InviteAcceptModalPreview.tsx │ │ │ │ ├── InviteModal.module.css │ │ │ │ ├── InviteModal.tsx │ │ │ │ ├── InvitePagePreviewModal.module.css │ │ │ │ ├── InvitePagePreviewModal.tsx │ │ │ │ ├── KeyboardModeIntroModal.module.css │ │ │ │ ├── KeyboardModeIntroModal.tsx │ │ │ │ ├── KickMemberModal.tsx │ │ │ │ ├── MediaModal.module.css │ │ │ │ ├── MediaModal.tsx │ │ │ │ ├── MediaViewerModal.module.css │ │ │ │ ├── MediaViewerModal.tsx │ │ │ │ ├── MessageHistoryThresholdModal.tsx │ │ │ │ ├── MessageReactionsModal.module.css │ │ │ │ ├── MessageReactionsModal.tsx │ │ │ │ ├── MfaTotpDisableModal.tsx │ │ │ │ ├── MfaTotpEnableModal.module.css │ │ │ │ ├── MfaTotpEnableModal.tsx │ │ │ │ ├── MobileVideoViewer.module.css │ │ │ │ ├── MobileVideoViewer.tsx │ │ │ │ ├── Modal.module.css │ │ │ │ ├── Modal.tsx │ │ │ │ ├── Modals.module.css │ │ │ │ ├── Modals.tsx │ │ │ │ ├── NoteEditSheet.module.css │ │ │ │ ├── NoteEditSheet.tsx │ │ │ │ ├── PackInviteModal.module.css │ │ │ │ ├── PackInviteModal.tsx │ │ │ │ ├── PasskeyNameModal.tsx │ │ │ │ ├── PasswordChangeModal.module.css │ │ │ │ ├── PasswordChangeModal.tsx │ │ │ │ ├── PhoneAddModal.module.css │ │ │ │ ├── PhoneAddModal.tsx │ │ │ │ ├── PremiumModal.module.css │ │ │ │ ├── PremiumModal.tsx │ │ │ │ ├── RemoveTimeoutModal.module.css │ │ │ │ ├── RemoveTimeoutModal.tsx │ │ │ │ ├── RenameChannelModal.tsx │ │ │ │ ├── RequiredActionModal.module.css │ │ │ │ ├── RequiredActionModal.tsx │ │ │ │ ├── ScheduleMessageModal.tsx │ │ │ │ ├── ScreenShareSettingsModal.module.css │ │ │ │ ├── ScreenShareSettingsModal.tsx │ │ │ │ ├── ScreenShareSourceModal.module.css │ │ │ │ ├── ScreenShareSourceModal.tsx │ │ │ │ ├── ShareThemeModal.module.css │ │ │ │ ├── ShareThemeModal.tsx │ │ │ │ ├── StatusChangeBottomSheet.module.css │ │ │ │ ├── StatusChangeBottomSheet.tsx │ │ │ │ ├── SudoVerificationModal.module.css │ │ │ │ ├── SudoVerificationModal.tsx │ │ │ │ ├── ThemeAcceptModal.module.css │ │ │ │ ├── ThemeAcceptModal.tsx │ │ │ │ ├── TimeoutMemberModal.module.css │ │ │ │ ├── TimeoutMemberModal.tsx │ │ │ │ ├── TimeoutMemberOptions.tsx │ │ │ │ ├── TimeoutMemberSheet.module.css │ │ │ │ ├── TimeoutMemberSheet.tsx │ │ │ │ ├── TransferOwnershipModal.module.css │ │ │ │ ├── TransferOwnershipModal.tsx │ │ │ │ ├── UploadDropModal.module.css │ │ │ │ ├── UploadDropModal.tsx │ │ │ │ ├── UserProfileActionsSheet.module.css │ │ │ │ ├── UserProfileActionsSheet.tsx │ │ │ │ ├── UserProfileMobileSheet.module.css │ │ │ │ ├── UserProfileMobileSheet.tsx │ │ │ │ ├── UserProfileModal.module.css │ │ │ │ ├── UserProfileModal.tsx │ │ │ │ ├── UserProfileUtils.tsx │ │ │ │ ├── UserSettingsModal.module.css │ │ │ │ ├── UserSettingsModal.tsx │ │ │ │ ├── channel_tabs/ │ │ │ │ │ ├── ChannelInvitesTab.module.css │ │ │ │ │ ├── ChannelInvitesTab.tsx │ │ │ │ │ ├── ChannelOverviewTab.module.css │ │ │ │ │ ├── ChannelOverviewTab.tsx │ │ │ │ │ ├── ChannelPermissionsTab.module.css │ │ │ │ │ ├── ChannelPermissionsTab.tsx │ │ │ │ │ ├── ChannelWebhooksTab.module.css │ │ │ │ │ └── ChannelWebhooksTab.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── AllSettingsRenderer.module.css │ │ │ │ │ ├── AllSettingsRenderer.tsx │ │ │ │ │ ├── ClientInfo.module.css │ │ │ │ │ ├── ClientInfo.tsx │ │ │ │ │ ├── ComparisonCheckRow.module.css │ │ │ │ │ ├── ComparisonCheckRow.tsx │ │ │ │ │ ├── ComparisonRow.module.css │ │ │ │ │ ├── ComparisonRow.tsx │ │ │ │ │ ├── DesktopChannelSettingsView.tsx │ │ │ │ │ ├── DesktopGuildSettingsView.tsx │ │ │ │ │ ├── DesktopSettingsView.module.css │ │ │ │ │ ├── DesktopSettingsView.tsx │ │ │ │ │ ├── EmailVerificationAlert.tsx │ │ │ │ │ ├── FeatureComparisonTable.module.css │ │ │ │ │ ├── FeatureComparisonTable.tsx │ │ │ │ │ ├── LogoutModal.tsx │ │ │ │ │ ├── MobileChannelSettingsView.tsx │ │ │ │ │ ├── MobileGuildSettingsView.module.css │ │ │ │ │ ├── MobileGuildSettingsView.tsx │ │ │ │ │ ├── MobileSettingsView.module.css │ │ │ │ │ ├── MobileSettingsView.tsx │ │ │ │ │ ├── PerksButton.module.css │ │ │ │ │ ├── PerksButton.tsx │ │ │ │ │ ├── PlutoniumContent.module.css │ │ │ │ │ ├── PlutoniumContent.tsx │ │ │ │ │ ├── PricingCard.module.css │ │ │ │ │ ├── PricingCard.tsx │ │ │ │ │ ├── PricingGrid.module.css │ │ │ │ │ ├── PurchaseDisclaimer.module.css │ │ │ │ │ ├── PurchaseDisclaimer.tsx │ │ │ │ │ ├── SettingsModalHeader.module.css │ │ │ │ │ ├── SettingsModalHeader.tsx │ │ │ │ │ ├── SettingsSearch.module.css │ │ │ │ │ ├── SettingsSearch.tsx │ │ │ │ │ ├── SettingsSearchHighlight.css │ │ │ │ │ ├── Slate.module.css │ │ │ │ │ ├── Slate.tsx │ │ │ │ │ ├── ToggleButton.module.css │ │ │ │ │ ├── ToggleButton.tsx │ │ │ │ │ ├── UnclaimedAccountAlert.tsx │ │ │ │ │ └── plutonium/ │ │ │ │ │ ├── BottomCTASection.module.css │ │ │ │ │ ├── BottomCTASection.tsx │ │ │ │ │ ├── GiftInventoryBanner.module.css │ │ │ │ │ ├── GiftInventoryBanner.tsx │ │ │ │ │ ├── GiftSection.module.css │ │ │ │ │ ├── GiftSection.tsx │ │ │ │ │ ├── PlutoniumUpsellBanner.tsx │ │ │ │ │ ├── PricingSection.module.css │ │ │ │ │ ├── PricingSection.tsx │ │ │ │ │ ├── PurchaseDisabledWrapper.tsx │ │ │ │ │ ├── PurchaseHistorySection.module.css │ │ │ │ │ ├── PurchaseHistorySection.tsx │ │ │ │ │ ├── SectionHeader.module.css │ │ │ │ │ ├── SectionHeader.tsx │ │ │ │ │ ├── SubscriptionCard.module.css │ │ │ │ │ ├── SubscriptionCard.tsx │ │ │ │ │ └── hooks/ │ │ │ │ │ ├── useCheckoutActions.tsx │ │ │ │ │ ├── useCommunityActions.tsx │ │ │ │ │ ├── usePremiumData.tsx │ │ │ │ │ ├── useSubscriptionActions.tsx │ │ │ │ │ └── useSubscriptionStatus.tsx │ │ │ │ ├── discovery/ │ │ │ │ │ ├── DiscoveryGuildCard.module.css │ │ │ │ │ └── DiscoveryGuildCard.tsx │ │ │ │ ├── guild_tabs/ │ │ │ │ │ ├── BannedUserActionsSheet.tsx │ │ │ │ │ ├── GuildAuditLogTab.Components.tsx │ │ │ │ │ ├── GuildAuditLogTab.Constants.tsx │ │ │ │ │ ├── GuildAuditLogTab.Renderers.tsx │ │ │ │ │ ├── GuildAuditLogTab.Utils.tsx │ │ │ │ │ ├── GuildAuditLogTab.module.css │ │ │ │ │ ├── GuildAuditLogTab.tsx │ │ │ │ │ ├── GuildBansTab.tsx │ │ │ │ │ ├── GuildDiscoveryTab.module.css │ │ │ │ │ ├── GuildDiscoveryTab.tsx │ │ │ │ │ ├── GuildEmojiTab.module.css │ │ │ │ │ ├── GuildEmojiTab.tsx │ │ │ │ │ ├── GuildInvitesTab.module.css │ │ │ │ │ ├── GuildInvitesTab.tsx │ │ │ │ │ ├── GuildMemberActionsSheet.module.css │ │ │ │ │ ├── GuildMemberActionsSheet.tsx │ │ │ │ │ ├── GuildMembersDateRangeModal.tsx │ │ │ │ │ ├── GuildModerationTab.module.css │ │ │ │ │ ├── GuildModerationTab.tsx │ │ │ │ │ ├── GuildRolesTab.module.css │ │ │ │ │ ├── GuildRolesTab.tsx │ │ │ │ │ ├── GuildStickersTab.module.css │ │ │ │ │ ├── GuildStickersTab.tsx │ │ │ │ │ ├── GuildVanityURLTab.module.css │ │ │ │ │ ├── GuildVanityURLTab.tsx │ │ │ │ │ ├── GuildWebhooksTab.module.css │ │ │ │ │ ├── GuildWebhooksTab.tsx │ │ │ │ │ ├── MemberListStyles.module.css │ │ │ │ │ ├── RoleMoveOperation.tsx │ │ │ │ │ ├── UserListItem.tsx │ │ │ │ │ └── guild_overview_tab/ │ │ │ │ │ ├── GuildOverviewTab.module.css │ │ │ │ │ ├── GuildOverviewTypes.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── SettingsSection.tsx │ │ │ │ │ ├── fields/ │ │ │ │ │ │ ├── GuildBannerUploadField.tsx │ │ │ │ │ │ ├── GuildEmbedSplashUploadField.tsx │ │ │ │ │ │ ├── GuildIconUploadField.tsx │ │ │ │ │ │ ├── GuildInviteSplashSettingsField.tsx │ │ │ │ │ │ └── GuildInviteSplashUploadField.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── useGuildImageAssetField.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── sections/ │ │ │ │ │ │ ├── BrandingSection.tsx │ │ │ │ │ │ ├── DefaultNotificationsSection.tsx │ │ │ │ │ │ ├── IdleSettingsSection.tsx │ │ │ │ │ │ ├── MessageHistoryCutoffSection.tsx │ │ │ │ │ │ ├── MessageHistoryThresholdContent.tsx │ │ │ │ │ │ ├── SystemWelcomeSection.tsx │ │ │ │ │ │ └── TextChannelNamesSection.tsx │ │ │ │ │ └── utils/ │ │ │ │ │ └── ImageAsset.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── ScrollSpyContext.tsx │ │ │ │ │ ├── useMobileNavigation.tsx │ │ │ │ │ ├── useScrollSpy.tsx │ │ │ │ │ ├── useSettingsContentKey.tsx │ │ │ │ │ └── useUnsavedChangesFlash.tsx │ │ │ │ ├── meme_form/ │ │ │ │ │ ├── MemeFormFields.module.css │ │ │ │ │ └── MemeFormFields.tsx │ │ │ │ ├── shared/ │ │ │ │ │ ├── AddOverridePopout.module.css │ │ │ │ │ ├── AddOverridePopout.tsx │ │ │ │ │ ├── CopyLinkSection.module.css │ │ │ │ │ ├── CopyLinkSection.tsx │ │ │ │ │ ├── EmptySlate.module.css │ │ │ │ │ ├── EmptySlate.tsx │ │ │ │ │ ├── ForwardChannelSelection.tsx │ │ │ │ │ ├── GuildSelectComponents.tsx │ │ │ │ │ ├── MobileSettingsComponents.module.css │ │ │ │ │ ├── MobileSettingsComponents.tsx │ │ │ │ │ ├── PermissionComponents.module.css │ │ │ │ │ ├── PermissionComponents.tsx │ │ │ │ │ ├── RecipientList.module.css │ │ │ │ │ ├── RecipientList.tsx │ │ │ │ │ ├── SelectorModalStyles.module.css │ │ │ │ │ ├── SettingsModalLayout.module.css │ │ │ │ │ ├── SettingsModalLayout.tsx │ │ │ │ │ ├── SettingsSection.module.css │ │ │ │ │ ├── SettingsSection.tsx │ │ │ │ │ ├── SettingsTabLayout.module.css │ │ │ │ │ ├── SettingsTabLayout.tsx │ │ │ │ │ ├── StatusSlate.module.css │ │ │ │ │ └── StatusSlate.tsx │ │ │ │ ├── sticker_form/ │ │ │ │ │ ├── StickerFormFields.module.css │ │ │ │ │ ├── StickerFormFields.tsx │ │ │ │ │ ├── StickerPreview.module.css │ │ │ │ │ └── StickerPreview.tsx │ │ │ │ ├── tabs/ │ │ │ │ │ ├── AccessibilityTab.module.css │ │ │ │ │ ├── AccessibilityTab.tsx │ │ │ │ │ ├── AccountSecurityTab.module.css │ │ │ │ │ ├── AccountSecurityTab.tsx │ │ │ │ │ ├── AdvancedTab.tsx │ │ │ │ │ ├── AppearanceTab.module.css │ │ │ │ │ ├── AppearanceTab.tsx │ │ │ │ │ ├── AuthorizedAppsTab.module.css │ │ │ │ │ ├── AuthorizedAppsTab.tsx │ │ │ │ │ ├── BlockedUsersTab.module.css │ │ │ │ │ ├── BlockedUsersTab.tsx │ │ │ │ │ ├── ChatSettingsTab.module.css │ │ │ │ │ ├── ChatSettingsTab.tsx │ │ │ │ │ ├── DevicesTab.module.css │ │ │ │ │ ├── DevicesTab.tsx │ │ │ │ │ ├── ExpressionPacksTab.module.css │ │ │ │ │ ├── ExpressionPacksTab.tsx │ │ │ │ │ ├── GiftInventoryTab.module.css │ │ │ │ │ ├── GiftInventoryTab.tsx │ │ │ │ │ ├── KeybindsTab.module.css │ │ │ │ │ ├── KeybindsTab.tsx │ │ │ │ │ ├── LanguageTab.module.css │ │ │ │ │ ├── LanguageTab.tsx │ │ │ │ │ ├── LimitsConfigTab.module.css │ │ │ │ │ ├── LimitsConfigTab.tsx │ │ │ │ │ ├── LinkedAccountsTab.module.css │ │ │ │ │ ├── LinkedAccountsTab.tsx │ │ │ │ │ ├── MyProfileTab.module.css │ │ │ │ │ ├── MyProfileTab.tsx │ │ │ │ │ ├── NotificationsTab.tsx │ │ │ │ │ ├── PlutoniumTab.tsx │ │ │ │ │ ├── PrivacySafetyTab.module.css │ │ │ │ │ ├── PrivacySafetyTab.tsx │ │ │ │ │ ├── VideoTab.module.css │ │ │ │ │ ├── VideoTab.tsx │ │ │ │ │ ├── VoiceTab.module.css │ │ │ │ │ ├── VoiceTab.tsx │ │ │ │ │ ├── VoiceVideoTab.module.css │ │ │ │ │ ├── VoiceVideoTab.tsx │ │ │ │ │ ├── accessibility_tab/ │ │ │ │ │ │ ├── AnimationTab.module.css │ │ │ │ │ │ ├── AnimationTab.tsx │ │ │ │ │ │ ├── Inline.module.css │ │ │ │ │ │ ├── Inline.tsx │ │ │ │ │ │ ├── KeyboardTab.tsx │ │ │ │ │ │ ├── MotionTab.tsx │ │ │ │ │ │ ├── VisualTab.module.css │ │ │ │ │ │ └── VisualTab.tsx │ │ │ │ │ ├── account_security_tab/ │ │ │ │ │ │ ├── AccountTab.module.css │ │ │ │ │ │ ├── AccountTab.tsx │ │ │ │ │ │ ├── DangerZoneTab.tsx │ │ │ │ │ │ ├── Inline.module.css │ │ │ │ │ │ ├── Inline.tsx │ │ │ │ │ │ ├── SecurityTab.module.css │ │ │ │ │ │ └── SecurityTab.tsx │ │ │ │ │ ├── appearance_tab/ │ │ │ │ │ │ ├── ActiveNowTab.tsx │ │ │ │ │ │ ├── ChannelListTab.tsx │ │ │ │ │ │ ├── FavoritesTab.tsx │ │ │ │ │ │ ├── HdrTab.tsx │ │ │ │ │ │ ├── Inline.module.css │ │ │ │ │ │ ├── Inline.tsx │ │ │ │ │ │ ├── InterfaceTab.module.css │ │ │ │ │ │ ├── InterfaceTab.tsx │ │ │ │ │ │ ├── MessagesTab.module.css │ │ │ │ │ │ ├── MessagesTab.tsx │ │ │ │ │ │ ├── ScalingTab.tsx │ │ │ │ │ │ ├── ThemeTab.module.css │ │ │ │ │ │ └── ThemeTab.tsx │ │ │ │ │ ├── applications_tab/ │ │ │ │ │ │ ├── ApplicationCreateModal.tsx │ │ │ │ │ │ ├── ApplicationDetail.tsx │ │ │ │ │ │ ├── ApplicationsList.tsx │ │ │ │ │ │ ├── ApplicationsTab.module.css │ │ │ │ │ │ ├── ApplicationsTabStore.tsx │ │ │ │ │ │ ├── application_detail/ │ │ │ │ │ │ │ ├── ApplicationDetail.module.css │ │ │ │ │ │ │ ├── ApplicationDetailTypes.tsx │ │ │ │ │ │ │ ├── ApplicationHeader.tsx │ │ │ │ │ │ │ ├── ApplicationInfoSection.tsx │ │ │ │ │ │ │ ├── BotProfileSection.tsx │ │ │ │ │ │ │ ├── OAuthBuilderSection.tsx │ │ │ │ │ │ │ ├── SecretsSection.tsx │ │ │ │ │ │ │ └── SectionCard.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── chat_settings_tab/ │ │ │ │ │ │ ├── DisplayTab.module.css │ │ │ │ │ │ ├── DisplayTab.tsx │ │ │ │ │ │ ├── Inline.module.css │ │ │ │ │ │ ├── Inline.tsx │ │ │ │ │ │ ├── InputTab.module.css │ │ │ │ │ │ ├── InputTab.tsx │ │ │ │ │ │ ├── InteractionTab.module.css │ │ │ │ │ │ ├── InteractionTab.tsx │ │ │ │ │ │ ├── LinksTab.tsx │ │ │ │ │ │ ├── MediaTab.module.css │ │ │ │ │ │ ├── MediaTab.tsx │ │ │ │ │ │ └── SidebarTab.tsx │ │ │ │ │ ├── component_gallery_tab/ │ │ │ │ │ │ ├── ButtonsTab.module.css │ │ │ │ │ │ ├── ButtonsTab.tsx │ │ │ │ │ │ ├── ComponentGalleryTabSubsectionTitle.tsx │ │ │ │ │ │ ├── IndicatorsTab.module.css │ │ │ │ │ │ ├── IndicatorsTab.tsx │ │ │ │ │ │ ├── Inline.module.css │ │ │ │ │ │ ├── Inline.tsx │ │ │ │ │ │ ├── InputsTab.module.css │ │ │ │ │ │ ├── InputsTab.tsx │ │ │ │ │ │ ├── MarkdownTab.module.css │ │ │ │ │ │ ├── MarkdownTab.tsx │ │ │ │ │ │ ├── MessagesTab.module.css │ │ │ │ │ │ ├── MessagesTab.tsx │ │ │ │ │ │ ├── OverlaysTab.module.css │ │ │ │ │ │ ├── OverlaysTab.tsx │ │ │ │ │ │ ├── SelectionsTab.module.css │ │ │ │ │ │ ├── SelectionsTab.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── shared.module.css │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── EntranceSoundSection.module.css │ │ │ │ │ │ ├── EntranceSoundSection.tsx │ │ │ │ │ │ ├── InputMonitoringSection.tsx │ │ │ │ │ │ ├── MicTestSection.module.css │ │ │ │ │ │ └── MicTestSection.tsx │ │ │ │ │ ├── developer_options_tab/ │ │ │ │ │ │ ├── AccountPremiumTab.module.css │ │ │ │ │ │ ├── AccountPremiumTab.tsx │ │ │ │ │ │ ├── DeveloperOptionsToggleGroups.tsx │ │ │ │ │ │ ├── GeneralTab.module.css │ │ │ │ │ │ ├── GeneralTab.tsx │ │ │ │ │ │ ├── Inline.module.css │ │ │ │ │ │ ├── Inline.tsx │ │ │ │ │ │ ├── MockingTab.module.css │ │ │ │ │ │ ├── MockingTab.tsx │ │ │ │ │ │ ├── NagbarControls.tsx │ │ │ │ │ │ ├── NagbarsTab.module.css │ │ │ │ │ │ ├── NagbarsTab.tsx │ │ │ │ │ │ ├── PremiumScenarioOptions.tsx │ │ │ │ │ │ ├── ToolsTab.module.css │ │ │ │ │ │ ├── ToolsTab.tsx │ │ │ │ │ │ ├── TypographyTab.module.css │ │ │ │ │ │ ├── TypographyTab.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── useEntranceSound.tsx │ │ │ │ │ │ ├── useMediaPermission.tsx │ │ │ │ │ │ └── useMicTest.tsx │ │ │ │ │ ├── my_profile_tab/ │ │ │ │ │ │ ├── AccentColorPicker.module.css │ │ │ │ │ │ ├── AccentColorPicker.tsx │ │ │ │ │ │ ├── AvatarUploader.module.css │ │ │ │ │ │ ├── AvatarUploader.tsx │ │ │ │ │ │ ├── BannerUploader.module.css │ │ │ │ │ │ ├── BannerUploader.tsx │ │ │ │ │ │ ├── BioEditor.module.css │ │ │ │ │ │ ├── BioEditor.tsx │ │ │ │ │ │ ├── PerGuildPremiumUpsell.tsx │ │ │ │ │ │ ├── PremiumBadgeSettings.module.css │ │ │ │ │ │ ├── PremiumBadgeSettings.tsx │ │ │ │ │ │ ├── ProfileTypeSelector.module.css │ │ │ │ │ │ ├── ProfileTypeSelector.tsx │ │ │ │ │ │ ├── UsernameSection.module.css │ │ │ │ │ │ └── UsernameSection.tsx │ │ │ │ │ ├── notifications_tab/ │ │ │ │ │ │ ├── Inline.module.css │ │ │ │ │ │ ├── Inline.tsx │ │ │ │ │ │ ├── Notifications.module.css │ │ │ │ │ │ ├── Notifications.tsx │ │ │ │ │ │ ├── PushSettings.module.css │ │ │ │ │ │ ├── PushSettings.tsx │ │ │ │ │ │ ├── Sounds.module.css │ │ │ │ │ │ ├── Sounds.tsx │ │ │ │ │ │ ├── TextToSpeech.module.css │ │ │ │ │ │ ├── TextToSpeech.tsx │ │ │ │ │ │ └── useSoundSettings.tsx │ │ │ │ │ ├── privacy_safety_tab/ │ │ │ │ │ │ ├── CommunicationTab.module.css │ │ │ │ │ │ ├── CommunicationTab.tsx │ │ │ │ │ │ ├── ConnectionsTab.module.css │ │ │ │ │ │ ├── ConnectionsTab.tsx │ │ │ │ │ │ ├── DataDeletionTab.module.css │ │ │ │ │ │ ├── DataDeletionTab.tsx │ │ │ │ │ │ ├── DataExportTab.tsx │ │ │ │ │ │ ├── Inline.module.css │ │ │ │ │ │ └── Inline.tsx │ │ │ │ │ └── voice_video_tab/ │ │ │ │ │ ├── Inline.module.css │ │ │ │ │ └── Inline.tsx │ │ │ │ └── utils/ │ │ │ │ ├── AppZoomLevelUtils.tsx │ │ │ │ ├── ChannelSettingsConstants.tsx │ │ │ │ ├── DesktopSettingsTabs.tsx │ │ │ │ ├── GuildSettingsConstants.tsx │ │ │ │ ├── SettingsConstants.tsx │ │ │ │ ├── SettingsSearchIndex.tsx │ │ │ │ ├── SettingsSectionRegistry.tsx │ │ │ │ └── SettingsTabFilters.tsx │ │ │ ├── pages/ │ │ │ │ ├── AuthorizeIPPage.module.css │ │ │ │ ├── AuthorizeIPPage.tsx │ │ │ │ ├── ConnectionCallbackPage.module.css │ │ │ │ ├── ConnectionCallbackPage.tsx │ │ │ │ ├── EmailRevertPage.tsx │ │ │ │ ├── ForgotPasswordPage.module.css │ │ │ │ ├── ForgotPasswordPage.tsx │ │ │ │ ├── GiftLoginPage.tsx │ │ │ │ ├── GiftRegisterPage.tsx │ │ │ │ ├── InviteLoginPage.tsx │ │ │ │ ├── InviteRegisterPage.tsx │ │ │ │ ├── LoginPage.module.css │ │ │ │ ├── LoginPage.tsx │ │ │ │ ├── MessageListPage.module.css │ │ │ │ ├── MessageListPage.tsx │ │ │ │ ├── NotFoundPage.module.css │ │ │ │ ├── NotFoundPage.tsx │ │ │ │ ├── NotificationsPage.module.css │ │ │ │ ├── NotificationsPage.tsx │ │ │ │ ├── OAuthAuthorizePage.module.css │ │ │ │ ├── OAuthAuthorizePage.tsx │ │ │ │ ├── PremiumCallbackPage.module.css │ │ │ │ ├── PremiumCallbackPage.tsx │ │ │ │ ├── RecentMentionsPage.module.css │ │ │ │ ├── RecentMentionsPage.tsx │ │ │ │ ├── RegisterPage.tsx │ │ │ │ ├── ReportPage.module.css │ │ │ │ ├── ReportPage.tsx │ │ │ │ ├── ResetPasswordPage.module.css │ │ │ │ ├── ResetPasswordPage.tsx │ │ │ │ ├── SavedMessagesPage.module.css │ │ │ │ ├── SavedMessagesPage.tsx │ │ │ │ ├── SsoCallbackPage.tsx │ │ │ │ ├── ThemeLoginPage.tsx │ │ │ │ ├── ThemeRegisterPage.tsx │ │ │ │ ├── VerifyEmailPage.module.css │ │ │ │ ├── VerifyEmailPage.tsx │ │ │ │ ├── YouPage.module.css │ │ │ │ ├── YouPage.tsx │ │ │ │ └── report/ │ │ │ │ ├── OptionDescriptors.tsx │ │ │ │ ├── ReportBreadcrumbs.tsx │ │ │ │ ├── ReportStepComplete.tsx │ │ │ │ ├── ReportStepDetails.tsx │ │ │ │ ├── ReportStepEmail.tsx │ │ │ │ ├── ReportStepSelection.tsx │ │ │ │ ├── ReportStepVerification.tsx │ │ │ │ ├── ReportTypes.tsx │ │ │ │ ├── State.tsx │ │ │ │ └── Validators.tsx │ │ │ ├── panels/ │ │ │ │ ├── ExpressionPickerPanel.tsx │ │ │ │ └── panels/ │ │ │ │ └── GuildExpressionPickerPanel.tsx │ │ │ ├── popouts/ │ │ │ │ ├── ChannelPinsPopout.module.css │ │ │ │ ├── ChannelPinsPopout.tsx │ │ │ │ ├── ColorPickerPopout.module.css │ │ │ │ ├── ColorPickerPopout.tsx │ │ │ │ ├── EmojiPickerPopout.tsx │ │ │ │ ├── ExpressionPickerPopout.module.css │ │ │ │ ├── ExpressionPickerPopout.tsx │ │ │ │ ├── FavoritesGuildHeaderPopout.tsx │ │ │ │ ├── GuildHeaderPopout.module.css │ │ │ │ ├── GuildHeaderPopout.tsx │ │ │ │ ├── GuildIcon.module.css │ │ │ │ ├── GuildIcon.tsx │ │ │ │ ├── InboxMessageHeader.module.css │ │ │ │ ├── InboxMessageHeader.tsx │ │ │ │ ├── InboxPopout.module.css │ │ │ │ ├── InboxPopout.tsx │ │ │ │ ├── ReactionTooltip.module.css │ │ │ │ ├── ReactionTooltip.tsx │ │ │ │ ├── RecentMentionsContent.module.css │ │ │ │ ├── RecentMentionsContent.tsx │ │ │ │ ├── SavedMessagesContent.module.css │ │ │ │ ├── SavedMessagesContent.tsx │ │ │ │ ├── ScheduledMessagesContent.module.css │ │ │ │ ├── ScheduledMessagesContent.tsx │ │ │ │ ├── UnreadChannelsContent.module.css │ │ │ │ ├── UnreadChannelsContent.tsx │ │ │ │ ├── UserAreaPopout.module.css │ │ │ │ ├── UserAreaPopout.tsx │ │ │ │ ├── UserProfileBadges.module.css │ │ │ │ ├── UserProfileBadges.tsx │ │ │ │ ├── UserProfileDataWarning.tsx │ │ │ │ ├── UserProfilePopout.module.css │ │ │ │ ├── UserProfilePopout.tsx │ │ │ │ ├── UserProfileShared.module.css │ │ │ │ └── UserProfileShared.tsx │ │ │ ├── profile/ │ │ │ │ ├── ProfilePreview.module.css │ │ │ │ ├── ProfilePreview.tsx │ │ │ │ ├── VoiceActivityCard.module.css │ │ │ │ ├── VoiceActivityCard.tsx │ │ │ │ ├── VoiceActivitySection.module.css │ │ │ │ ├── VoiceActivitySection.tsx │ │ │ │ ├── profile_card/ │ │ │ │ │ ├── ProfileCardActions.module.css │ │ │ │ │ ├── ProfileCardActions.tsx │ │ │ │ │ ├── ProfileCardBanner.module.css │ │ │ │ │ ├── ProfileCardBanner.tsx │ │ │ │ │ ├── ProfileCardContent.module.css │ │ │ │ │ ├── ProfileCardContent.tsx │ │ │ │ │ ├── ProfileCardFooter.module.css │ │ │ │ │ ├── ProfileCardFooter.tsx │ │ │ │ │ ├── ProfileCardLayout.module.css │ │ │ │ │ ├── ProfileCardLayout.tsx │ │ │ │ │ ├── ProfileCardUserInfo.module.css │ │ │ │ │ └── ProfileCardUserInfo.tsx │ │ │ │ └── useProfileCardDisplayState.tsx │ │ │ ├── quick_switcher/ │ │ │ │ ├── QuickSwitcherConstants.tsx │ │ │ │ ├── QuickSwitcherModal.module.css │ │ │ │ └── QuickSwitcherModal.tsx │ │ │ ├── search/ │ │ │ │ ├── HasFilterSheet.module.css │ │ │ │ ├── HasFilterSheet.tsx │ │ │ │ ├── ScopeSheet.module.css │ │ │ │ ├── ScopeSheet.tsx │ │ │ │ ├── SearchFilterChip.module.css │ │ │ │ ├── SearchFilterChip.tsx │ │ │ │ ├── SortModeSheet.module.css │ │ │ │ ├── SortModeSheet.tsx │ │ │ │ ├── UserFilterSheet.module.css │ │ │ │ └── UserFilterSheet.tsx │ │ │ ├── shared/ │ │ │ │ ├── ChannelPinsContent.tsx │ │ │ │ ├── ImagePreviewField.module.css │ │ │ │ ├── ImagePreviewField.tsx │ │ │ │ ├── MessagePreview.module.css │ │ │ │ ├── MessageReactionsContent.module.css │ │ │ │ ├── MessageReactionsContent.tsx │ │ │ │ ├── SavedMessageMissingCard.tsx │ │ │ │ └── message_context_prefix/ │ │ │ │ ├── MessageContextPrefix.module.css │ │ │ │ └── MessageContextPrefix.tsx │ │ │ ├── stickers/ │ │ │ │ ├── StickerGridItem.module.css │ │ │ │ └── StickerGridItem.tsx │ │ │ ├── uikit/ │ │ │ │ ├── Avatar.tsx │ │ │ │ ├── AvatarStatusGeometry.tsx │ │ │ │ ├── AvatarStatusLayout.tsx │ │ │ │ ├── BaseAvatar.module.css │ │ │ │ ├── BaseAvatar.tsx │ │ │ │ ├── FocusRingWrapper.tsx │ │ │ │ ├── InlineEdit.module.css │ │ │ │ ├── InlineEdit.tsx │ │ │ │ ├── KeyboardKey.module.css │ │ │ │ ├── KeyboardKey.tsx │ │ │ │ ├── LiveBadge.module.css │ │ │ │ ├── LiveBadge.tsx │ │ │ │ ├── MentionBadge.module.css │ │ │ │ ├── MentionBadge.tsx │ │ │ │ ├── MockAvatar.tsx │ │ │ │ ├── QRCodeCanvas.tsx │ │ │ │ ├── Scroller.module.css │ │ │ │ ├── Scroller.tsx │ │ │ │ ├── Slider.module.css │ │ │ │ ├── Slider.tsx │ │ │ │ ├── SliderTooltip.module.css │ │ │ │ ├── Spinner.module.css │ │ │ │ ├── Spinner.tsx │ │ │ │ ├── StatusAwareAvatar.tsx │ │ │ │ ├── StatusIndicator.module.css │ │ │ │ ├── StatusIndicator.tsx │ │ │ │ ├── SwitchGroup.module.css │ │ │ │ ├── SwitchGroup.tsx │ │ │ │ ├── TypingConstants.tsx │ │ │ │ ├── accordion/ │ │ │ │ │ ├── Accordion.module.css │ │ │ │ │ └── Accordion.tsx │ │ │ │ ├── alt_text_tooltip/ │ │ │ │ │ ├── AltTextTooltip.module.css │ │ │ │ │ └── AltTextTooltip.tsx │ │ │ │ ├── avatars/ │ │ │ │ │ ├── AvatarStack.module.css │ │ │ │ │ ├── AvatarStack.tsx │ │ │ │ │ ├── AvatarWithPresence.module.css │ │ │ │ │ ├── AvatarWithPresence.tsx │ │ │ │ │ ├── StackUserAvatar.module.css │ │ │ │ │ └── StackUserAvatar.tsx │ │ │ │ ├── bottom_sheet/ │ │ │ │ │ └── BottomSheet.tsx │ │ │ │ ├── button/ │ │ │ │ │ ├── Button.module.css │ │ │ │ │ └── Button.tsx │ │ │ │ ├── card_alignment_controls/ │ │ │ │ │ ├── CardAlignmentControls.module.css │ │ │ │ │ └── CardAlignmentControls.tsx │ │ │ │ ├── character_counter/ │ │ │ │ │ ├── CharacterCounter.module.css │ │ │ │ │ └── CharacterCounter.tsx │ │ │ │ ├── checkbox/ │ │ │ │ │ ├── Checkbox.module.css │ │ │ │ │ └── Checkbox.tsx │ │ │ │ ├── context_menu/ │ │ │ │ │ ├── BannedUserContextMenu.tsx │ │ │ │ │ ├── CategoryContextMenu.tsx │ │ │ │ │ ├── ChannelContextMenu.tsx │ │ │ │ │ ├── ChannelListContextMenu.tsx │ │ │ │ │ ├── ContextMenu.module.css │ │ │ │ │ ├── ContextMenu.tsx │ │ │ │ │ ├── ContextMenuIcons.tsx │ │ │ │ │ ├── DMContextMenu.tsx │ │ │ │ │ ├── DataMenuRenderer.tsx │ │ │ │ │ ├── FavoritesCategoryContextMenu.tsx │ │ │ │ │ ├── FavoritesChannelContextMenu.tsx │ │ │ │ │ ├── FavoritesChannelListContextMenu.tsx │ │ │ │ │ ├── FavoritesGuildContextMenu.tsx │ │ │ │ │ ├── GroupDMContextMenu.tsx │ │ │ │ │ ├── GuildContextMenu.tsx │ │ │ │ │ ├── GuildFolderContextMenu.tsx │ │ │ │ │ ├── GuildMemberContextMenu.tsx │ │ │ │ │ ├── MediaContextMenu.tsx │ │ │ │ │ ├── MenuGroup.tsx │ │ │ │ │ ├── MenuGroups.tsx │ │ │ │ │ ├── MenuItem.module.css │ │ │ │ │ ├── MenuItem.tsx │ │ │ │ │ ├── MenuItemRadio.module.css │ │ │ │ │ ├── MenuItemRadio.tsx │ │ │ │ │ ├── MenuItemSlider.tsx │ │ │ │ │ ├── MenuItemSubmenu.tsx │ │ │ │ │ ├── MessageContextMenu.tsx │ │ │ │ │ ├── SettingsContextMenu.tsx │ │ │ │ │ ├── UserContextMenu.tsx │ │ │ │ │ ├── VoiceParticipantContextMenu.tsx │ │ │ │ │ ├── WebhookContextMenu.tsx │ │ │ │ │ └── items/ │ │ │ │ │ ├── ActionsSubmenu.tsx │ │ │ │ │ ├── CallMenuItems.tsx │ │ │ │ │ ├── CategoryMenuData.tsx │ │ │ │ │ ├── CategoryMenuItems.tsx │ │ │ │ │ ├── ChannelMenuData.tsx │ │ │ │ │ ├── ChannelMenuItems.tsx │ │ │ │ │ ├── CopyMenuItems.tsx │ │ │ │ │ ├── DMMenuData.tsx │ │ │ │ │ ├── DMMenuItems.tsx │ │ │ │ │ ├── DebugMenuItems.tsx │ │ │ │ │ ├── GuildMemberMenuItems.tsx │ │ │ │ │ ├── GuildMenuData.tsx │ │ │ │ │ ├── GuildMenuItems.tsx │ │ │ │ │ ├── InviteMenuItems.tsx │ │ │ │ │ ├── MediaMenuData.tsx │ │ │ │ │ ├── MentionUserMenuItem.tsx │ │ │ │ │ ├── MenuItems.module.css │ │ │ │ │ ├── MessageMenuItems.tsx │ │ │ │ │ ├── MessageUserMenuItem.tsx │ │ │ │ │ ├── ModerationSubmenu.tsx │ │ │ │ │ ├── MoveToChannelSubmenu.tsx │ │ │ │ │ ├── RelationshipMenuItems.tsx │ │ │ │ │ ├── ReportGuildMenuItem.tsx │ │ │ │ │ ├── ReportMessageMenuItem.tsx │ │ │ │ │ ├── UserNoteMenuItems.tsx │ │ │ │ │ ├── UserProfileMenuItem.tsx │ │ │ │ │ ├── VoiceParticipantMenuData.tsx │ │ │ │ │ └── VoiceParticipantMenuItems.tsx │ │ │ │ ├── emoji_tooltip_content/ │ │ │ │ │ ├── EmojiTooltipContent.module.css │ │ │ │ │ └── EmojiTooltipContent.tsx │ │ │ │ ├── focus_ring/ │ │ │ │ │ ├── FocusRing.module.css │ │ │ │ │ ├── FocusRing.tsx │ │ │ │ │ ├── FocusRingContext.tsx │ │ │ │ │ ├── FocusRingManager.tsx │ │ │ │ │ ├── FocusRingScope.tsx │ │ │ │ │ └── FocusRingTypes.tsx │ │ │ │ ├── keybind_hint/ │ │ │ │ │ ├── KeybindHint.module.css │ │ │ │ │ └── KeybindHint.tsx │ │ │ │ ├── menu_bottom_sheet/ │ │ │ │ │ ├── MenuBottomSheet.module.css │ │ │ │ │ └── MenuBottomSheet.tsx │ │ │ │ ├── plutonium_link/ │ │ │ │ │ ├── PlutoniumLink.module.css │ │ │ │ │ └── PlutoniumLink.tsx │ │ │ │ ├── plutonium_upsell/ │ │ │ │ │ ├── PlutoniumUpsell.module.css │ │ │ │ │ └── PlutoniumUpsell.tsx │ │ │ │ ├── popout/ │ │ │ │ │ ├── Popout.module.css │ │ │ │ │ ├── Popout.tsx │ │ │ │ │ ├── Popouts.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── searchable_list_popout/ │ │ │ │ │ ├── SearchableListPopout.module.css │ │ │ │ │ └── SearchableListPopout.tsx │ │ │ │ ├── radio_group/ │ │ │ │ │ ├── RadioGroup.module.css │ │ │ │ │ └── RadioGroup.tsx │ │ │ │ ├── scroller/ │ │ │ │ │ ├── ScrollerMath.tsx │ │ │ │ │ ├── ScrollerTrack.module.css │ │ │ │ │ ├── ScrollerTrack.tsx │ │ │ │ │ └── useScrollerThumb.tsx │ │ │ │ ├── segmented_tabs/ │ │ │ │ │ ├── SegmentedTabs.module.css │ │ │ │ │ └── SegmentedTabs.tsx │ │ │ │ ├── sheet/ │ │ │ │ │ ├── Sheet.module.css │ │ │ │ │ └── Sheet.tsx │ │ │ │ ├── tabs/ │ │ │ │ │ ├── Tabs.module.css │ │ │ │ │ └── Tabs.tsx │ │ │ │ ├── toast/ │ │ │ │ │ ├── Toast.module.css │ │ │ │ │ ├── Toast.tsx │ │ │ │ │ ├── Toasts.module.css │ │ │ │ │ ├── Toasts.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── tooltip/ │ │ │ │ │ ├── Tooltip.module.css │ │ │ │ │ └── Tooltip.tsx │ │ │ │ └── warning_alert/ │ │ │ │ ├── WarningAlert.module.css │ │ │ │ └── WarningAlert.tsx │ │ │ ├── voice/ │ │ │ │ ├── CompactVoiceCallView.module.css │ │ │ │ ├── CompactVoiceCallView.tsx │ │ │ │ ├── FeedHiddenOverlay.module.css │ │ │ │ ├── FeedHiddenOverlay.tsx │ │ │ │ ├── GetPlaceholderAvatarColor.tsx │ │ │ │ ├── HiddenStreamPlaceholder.module.css │ │ │ │ ├── HiddenStreamPlaceholder.tsx │ │ │ │ ├── IncomingCallManager.module.css │ │ │ │ ├── IncomingCallManager.tsx │ │ │ │ ├── IncomingCallOverlayConstants.tsx │ │ │ │ ├── IncomingCallPortal.tsx │ │ │ │ ├── IncomingCallUI.module.css │ │ │ │ ├── IncomingCallUI.tsx │ │ │ │ ├── NewDeviceMonitoringManager.tsx │ │ │ │ ├── OwnStreamPreviewState.tsx │ │ │ │ ├── PiPOverlay.module.css │ │ │ │ ├── PiPOverlay.tsx │ │ │ │ ├── SignalStrengthIcon.module.css │ │ │ │ ├── SignalStrengthIcon.tsx │ │ │ │ ├── StreamFocusHeaderInfo.tsx │ │ │ │ ├── StreamInfoPill.module.css │ │ │ │ ├── StreamInfoPill.tsx │ │ │ │ ├── StreamKeys.tsx │ │ │ │ ├── StreamSpectatorsPopout.module.css │ │ │ │ ├── StreamSpectatorsPopout.tsx │ │ │ │ ├── StreamWatchHoverCard.module.css │ │ │ │ ├── StreamWatchHoverCard.tsx │ │ │ │ ├── StreamWatchHoverPopout.tsx │ │ │ │ ├── VoiceCallFullscreenFeatureFlag.tsx │ │ │ │ ├── VoiceCallLayoutContent.tsx │ │ │ │ ├── VoiceCallView.module.css │ │ │ │ ├── VoiceCallView.tsx │ │ │ │ ├── VoiceConnectionStatus.module.css │ │ │ │ ├── VoiceConnectionStatus.tsx │ │ │ │ ├── VoiceControlBar.module.css │ │ │ │ ├── VoiceControlBar.tsx │ │ │ │ ├── VoiceGridLayout.module.css │ │ │ │ ├── VoiceGridLayout.tsx │ │ │ │ ├── VoiceParticipantAvatarList.module.css │ │ │ │ ├── VoiceParticipantAvatarList.tsx │ │ │ │ ├── VoiceParticipantSortUtils.tsx │ │ │ │ ├── VoiceParticipantSpeakingUtils.tsx │ │ │ │ ├── VoiceParticipantTile.module.css │ │ │ │ ├── VoiceParticipantTile.tsx │ │ │ │ ├── VoiceReconnectionManager.tsx │ │ │ │ ├── VoiceRegionSelector.module.css │ │ │ │ ├── VoiceRegionSelector.tsx │ │ │ │ ├── VoiceSettingsMenus.module.css │ │ │ │ ├── VoiceSettingsMenus.tsx │ │ │ │ ├── VoiceStatsOverlay.module.css │ │ │ │ ├── VoiceStatsOverlay.tsx │ │ │ │ ├── usePinnedTrackRef.tsx │ │ │ │ ├── useStreamPreview.tsx │ │ │ │ ├── useStreamSpectators.tsx │ │ │ │ ├── useStreamTrackInfo.tsx │ │ │ │ ├── useStreamWatchState.tsx │ │ │ │ ├── useVoiceCallAppFullscreen.tsx │ │ │ │ └── useVoiceCallTracksAndLayout.tsx │ │ │ └── webhooks/ │ │ │ ├── WebhookListItem.module.css │ │ │ └── WebhookListItem.tsx │ │ ├── constants/ │ │ │ ├── AuditLogConstants.tsx │ │ │ ├── HelpCenterConstants.tsx │ │ │ ├── IARConstants.tsx │ │ │ └── TimeWindowPresets.tsx │ │ ├── contexts/ │ │ │ ├── AuthLayoutContext.tsx │ │ │ ├── AuthRegisterDraftContext.tsx │ │ │ └── LayoutVariantContext.tsx │ │ ├── data/ │ │ │ ├── CountryCodes.tsx │ │ │ ├── emoji-shortcuts.json │ │ │ └── emojis.json │ │ ├── devtools/ │ │ │ └── ShowMyselfTypingHelper.tsx │ │ ├── env.d.ts │ │ ├── global.css │ │ ├── hooks/ │ │ │ ├── useActivityRecorder.tsx │ │ │ ├── useAntiShiftFloating.tsx │ │ │ ├── useAudioSettingsMenu.tsx │ │ │ ├── useAuthBackground.tsx │ │ │ ├── useAuthForm.tsx │ │ │ ├── useAutoplayExpandedProfileAnimations.tsx │ │ │ ├── useBottomSheetBackHandler.tsx │ │ │ ├── useCaptcha.tsx │ │ │ ├── useChannelMemberListVisibility.tsx │ │ │ ├── useChannelSearch.tsx │ │ │ ├── useChannelSearchVisibility.tsx │ │ │ ├── useCloudUpload.tsx │ │ │ ├── useCommands.tsx │ │ │ ├── useConnectedVoiceSession.tsx │ │ │ ├── useContextMenuHoverState.tsx │ │ │ ├── useCursorAtEnd.tsx │ │ │ ├── useDeleteAttachment.tsx │ │ │ ├── useElectronScreenSharePicker.tsx │ │ │ ├── useFluxerDocumentTitle.tsx │ │ │ ├── useForceUpdate.tsx │ │ │ ├── useForm.tsx │ │ │ ├── useFormSubmit.tsx │ │ │ ├── useHashParam.tsx │ │ │ ├── useHover.tsx │ │ │ ├── useInputFocusManagement.tsx │ │ │ ├── useInviteCountdown.tsx │ │ │ ├── useInviteRevoke.tsx │ │ │ ├── useLeaveGroup.tsx │ │ │ ├── useLeaveGuild.tsx │ │ │ ├── useListNavigation.tsx │ │ │ ├── useLoginFlow.tsx │ │ │ ├── useMarkdownKeybinds.tsx │ │ │ ├── useMasonryGridNavigation.tsx │ │ │ ├── useMediaDevices.tsx │ │ │ ├── useMediaFavorite.tsx │ │ │ ├── useMediaLoading.tsx │ │ │ ├── useMemberListCustomStatus.tsx │ │ │ ├── useMemberListPresence.tsx │ │ │ ├── useMemberListSubscription.tsx │ │ │ ├── useMemberListVisible.tsx │ │ │ ├── useMergeRefs.tsx │ │ │ ├── useMessageListKeyboardNavigation.tsx │ │ │ ├── useMessageReactionsState.tsx │ │ │ ├── useMessageSubmission.tsx │ │ │ ├── useMuteSheet.tsx │ │ │ ├── useNSFWMedia.tsx │ │ │ ├── useNativePlatform.tsx │ │ │ ├── usePendingVoiceConnection.tsx │ │ │ ├── usePopout.tsx │ │ │ ├── usePremiumUpsellData.tsx │ │ │ ├── usePresenceCustomStatus.tsx │ │ │ ├── usePressable.tsx │ │ │ ├── usePushSubscriptions.tsx │ │ │ ├── useReactionTooltip.tsx │ │ │ ├── useRoleHierarchy.tsx │ │ │ ├── useRovingFocusList.tsx │ │ │ ├── useSearchInputAutofocus.tsx │ │ │ ├── useSlowmode.tsx │ │ │ ├── useStickerAnimation.tsx │ │ │ ├── useStreamWatchDoubleClick.tsx │ │ │ ├── useSudo.tsx │ │ │ ├── useSystemMessageData.tsx │ │ │ ├── useTextInputContextMenu.tsx │ │ │ ├── useTextOverflow.tsx │ │ │ ├── useTextareaAutocomplete.tsx │ │ │ ├── useTextareaAutocompleteKeyboard.tsx │ │ │ ├── useTextareaAutofocus.tsx │ │ │ ├── useTextareaDraftAndTyping.tsx │ │ │ ├── useTextareaEditing.tsx │ │ │ ├── useTextareaEmojiPicker.tsx │ │ │ ├── useTextareaExpressionHandlers.tsx │ │ │ ├── useTextareaExpressionPicker.tsx │ │ │ ├── useTextareaKeyboard.tsx │ │ │ ├── useTextareaPaste.tsx │ │ │ ├── useTextareaSegments.tsx │ │ │ ├── useTextareaSubmit.tsx │ │ │ ├── useThemeExists.tsx │ │ │ ├── useUserVoiceActivities.tsx │ │ │ ├── useUsernameSuggestions.tsx │ │ │ ├── useVoiceJoinEligibility.tsx │ │ │ ├── useWebhookUpdates.tsx │ │ │ └── useWindowFocusVideoControl.tsx │ │ ├── images/ │ │ │ └── i-like-food.d.svg.ts │ │ ├── index.tsx │ │ ├── lib/ │ │ │ ├── AccountStorage.tsx │ │ │ ├── AppStorage.tsx │ │ │ ├── AutofocusUtils.tsx │ │ │ ├── CaptchaInterceptor.tsx │ │ │ ├── ChannelMessages.test.tsx │ │ │ ├── ChannelMessages.tsx │ │ │ ├── CloudUpload.tsx │ │ │ ├── ComponentDispatch.tsx │ │ │ ├── CustomStatus.tsx │ │ │ ├── CustomStatusEmitter.tsx │ │ │ ├── E2EEncryption.tsx │ │ │ ├── Env.tsx │ │ │ ├── ExponentialBackoff.tsx │ │ │ ├── ExpressionPickerUtils.tsx │ │ │ ├── FocusManager.tsx │ │ │ ├── GatewayCompression.tsx │ │ │ ├── GatewaySocket.tsx │ │ │ ├── HttpClient.tsx │ │ │ ├── HttpError.tsx │ │ │ ├── HttpTypes.tsx │ │ │ ├── InputFocusManager.tsx │ │ │ ├── IsTextInputKeyEvent.tsx │ │ │ ├── KeybindManager.tsx │ │ │ ├── LibFluxcore.Worker.tsx │ │ │ ├── LibFluxcore.tsx │ │ │ ├── Logger.tsx │ │ │ ├── MediaDeviceCache.tsx │ │ │ ├── MessageQueue.tsx │ │ │ ├── MobXPersistence.tsx │ │ │ ├── MultiAccountGatewaySocket.tsx │ │ │ ├── PasswordManagerAutocomplete.tsx │ │ │ ├── PlaceholderSpecs.tsx │ │ │ ├── Platform.tsx │ │ │ ├── Queue.tsx │ │ │ ├── ReadStateCleanup.tsx │ │ │ ├── RelayClient.tsx │ │ │ ├── RemoteInstanceAuth.tsx │ │ │ ├── ScrollManager.tsx │ │ │ ├── SessionManager.tsx │ │ │ ├── StickerSendUtils.tsx │ │ │ ├── TextareaAutosize.tsx │ │ │ ├── UnicodeEmojis.tsx │ │ │ ├── Versioning.tsx │ │ │ ├── VoiceStatsDB.tsx │ │ │ ├── markdown/ │ │ │ │ ├── EmojiProviderSetup.tsx │ │ │ │ ├── MarkdownTableParsingConfig.tsx │ │ │ │ ├── Plaintext.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── renderers/ │ │ │ │ │ ├── EmojiRenderer.tsx │ │ │ │ │ ├── LinkRenderer.tsx │ │ │ │ │ ├── MentionRenderer.tsx │ │ │ │ │ ├── MessageJumpLink.module.css │ │ │ │ │ ├── RendererTypes.tsx │ │ │ │ │ ├── TextRenderer.tsx │ │ │ │ │ ├── TimestampRenderer.test.tsx │ │ │ │ │ ├── TimestampRenderer.tsx │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── BlockElements.tsx │ │ │ │ │ │ ├── CodeElements.tsx │ │ │ │ │ │ └── FormattingElements.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── utils/ │ │ │ │ ├── DateFormatter.test.tsx │ │ │ │ ├── DateFormatter.tsx │ │ │ │ ├── EmojiDetector.tsx │ │ │ │ ├── JumboDetector.tsx │ │ │ │ ├── TimestampValidation.test.tsx │ │ │ │ └── TimestampValidation.tsx │ │ │ ├── router/ │ │ │ │ ├── Builder.tsx │ │ │ │ ├── Core.tsx │ │ │ │ ├── History.tsx │ │ │ │ ├── React.tsx │ │ │ │ ├── RouterErrors.tsx │ │ │ │ └── RouterTypes.tsx │ │ │ └── scroll/ │ │ │ └── ScrollPosition.tsx │ │ ├── locales/ │ │ │ ├── ar/ │ │ │ │ └── messages.po │ │ │ ├── bg/ │ │ │ │ └── messages.po │ │ │ ├── cs/ │ │ │ │ └── messages.po │ │ │ ├── da/ │ │ │ │ └── messages.po │ │ │ ├── de/ │ │ │ │ └── messages.po │ │ │ ├── el/ │ │ │ │ └── messages.po │ │ │ ├── en-GB/ │ │ │ │ └── messages.po │ │ │ ├── en-US/ │ │ │ │ └── messages.po │ │ │ ├── es-419/ │ │ │ │ └── messages.po │ │ │ ├── es-ES/ │ │ │ │ └── messages.po │ │ │ ├── fi/ │ │ │ │ └── messages.po │ │ │ ├── fr/ │ │ │ │ └── messages.po │ │ │ ├── he/ │ │ │ │ └── messages.po │ │ │ ├── hi/ │ │ │ │ └── messages.po │ │ │ ├── hr/ │ │ │ │ └── messages.po │ │ │ ├── hu/ │ │ │ │ └── messages.po │ │ │ ├── id/ │ │ │ │ └── messages.po │ │ │ ├── it/ │ │ │ │ └── messages.po │ │ │ ├── ja/ │ │ │ │ └── messages.po │ │ │ ├── ko/ │ │ │ │ └── messages.po │ │ │ ├── lt/ │ │ │ │ └── messages.po │ │ │ ├── nl/ │ │ │ │ └── messages.po │ │ │ ├── no/ │ │ │ │ └── messages.po │ │ │ ├── pl/ │ │ │ │ └── messages.po │ │ │ ├── pt-BR/ │ │ │ │ └── messages.po │ │ │ ├── ro/ │ │ │ │ └── messages.po │ │ │ ├── ru/ │ │ │ │ └── messages.po │ │ │ ├── sv-SE/ │ │ │ │ └── messages.po │ │ │ ├── th/ │ │ │ │ └── messages.po │ │ │ ├── tr/ │ │ │ │ └── messages.po │ │ │ ├── uk/ │ │ │ │ └── messages.po │ │ │ ├── vi/ │ │ │ │ └── messages.po │ │ │ ├── zh-CN/ │ │ │ │ └── messages.po │ │ │ └── zh-TW/ │ │ │ └── messages.po │ │ ├── records/ │ │ │ ├── AuthSessionRecord.tsx │ │ │ ├── ChannelRecord.tsx │ │ │ ├── ConnectionRecord.tsx │ │ │ ├── DeveloperApplicationRecord.tsx │ │ │ ├── FavoriteMemeRecord.tsx │ │ │ ├── GuildEmojiRecord.tsx │ │ │ ├── GuildMemberRecord.tsx │ │ │ ├── GuildRecord.tsx │ │ │ ├── GuildRoleRecord.tsx │ │ │ ├── GuildStickerRecord.tsx │ │ │ ├── MessageRecord.tsx │ │ │ ├── ProfileRecord.tsx │ │ │ ├── RelationshipRecord.tsx │ │ │ ├── SavedMessageEntryRecord.tsx │ │ │ ├── ScheduledMessageRecord.tsx │ │ │ ├── UserGuildSettingsRecord.tsx │ │ │ ├── UserRecord.tsx │ │ │ └── WebhookRecord.tsx │ │ ├── router/ │ │ │ ├── RouterConstants.tsx │ │ │ ├── components/ │ │ │ │ ├── GuildChannelRouter.tsx │ │ │ │ └── RootComponent.tsx │ │ │ └── routes/ │ │ │ ├── AppRoutes.tsx │ │ │ ├── AuthRoutes.tsx │ │ │ ├── RootRoutes.tsx │ │ │ └── Routes.tsx │ │ ├── service_worker/ │ │ │ ├── Register.tsx │ │ │ └── Worker.tsx │ │ ├── services/ │ │ │ └── push/ │ │ │ └── PushSubscriptionService.tsx │ │ ├── stores/ │ │ │ ├── AccessibilityOverrideStore.tsx │ │ │ ├── AccessibilityStore.tsx │ │ │ ├── AccountManager.tsx │ │ │ ├── AudioVolumeStore.tsx │ │ │ ├── AuthSessionStore.tsx │ │ │ ├── AuthenticationStore.tsx │ │ │ ├── AutoAckStore.tsx │ │ │ ├── AutocompleteStore.tsx │ │ │ ├── CallAvailabilityStore.tsx │ │ │ ├── CallInitiatorStore.tsx │ │ │ ├── CallMediaPrefsStore.tsx │ │ │ ├── CallStateStore.tsx │ │ │ ├── ChannelDisplayNameStore.tsx │ │ │ ├── ChannelPinsStore.tsx │ │ │ ├── ChannelSearchStore.tsx │ │ │ ├── ChannelStickerStore.tsx │ │ │ ├── ChannelStore.tsx │ │ │ ├── CompactVoiceCallHeightStore.tsx │ │ │ ├── CompactVoiceCallPiPPositionStore.tsx │ │ │ ├── ContextMenuStore.tsx │ │ │ ├── CountryCodeStore.tsx │ │ │ ├── DeveloperModeStore.tsx │ │ │ ├── DeveloperOptionsStore.tsx │ │ │ ├── DimensionStore.tsx │ │ │ ├── DiscoveryStore.tsx │ │ │ ├── DismissedUpsellStore.tsx │ │ │ ├── DraftStore.tsx │ │ │ ├── EmojiPickerStore.tsx │ │ │ ├── EmojiStickerLayoutStore.tsx │ │ │ ├── EmojiStore.test.tsx │ │ │ ├── EmojiStore.tsx │ │ │ ├── ExpressionPickerStore.tsx │ │ │ ├── FavoriteMemeStore.tsx │ │ │ ├── FavoritesStore.tsx │ │ │ ├── FriendsTabStore.tsx │ │ │ ├── GeoIPStore.tsx │ │ │ ├── GiftStore.tsx │ │ │ ├── GuildAvailabilityStore.tsx │ │ │ ├── GuildExpressionTabCache.tsx │ │ │ ├── GuildFolderExpandedStore.tsx │ │ │ ├── GuildListStore.tsx │ │ │ ├── GuildMemberLayoutStore.tsx │ │ │ ├── GuildMemberStore.tsx │ │ │ ├── GuildNSFWAgreeStore.tsx │ │ │ ├── GuildReadStateStore.tsx │ │ │ ├── GuildSettingsModalStore.tsx │ │ │ ├── GuildStore.tsx │ │ │ ├── GuildVerificationStore.tsx │ │ │ ├── IdleStore.tsx │ │ │ ├── InboxStore.tsx │ │ │ ├── InitializationStore.tsx │ │ │ ├── InputMonitoringPromptsStore.tsx │ │ │ ├── InstanceConfigStore.tsx │ │ │ ├── InviteStore.tsx │ │ │ ├── KeybindStore.tsx │ │ │ ├── KeyboardModeStore.tsx │ │ │ ├── LayerManager.tsx │ │ │ ├── LimitOverrideStore.tsx │ │ │ ├── LocalPresenceStore.tsx │ │ │ ├── LocalVoiceStateStore.tsx │ │ │ ├── LocationStore.tsx │ │ │ ├── MediaPermissionStore.tsx │ │ │ ├── MediaViewerStore.tsx │ │ │ ├── MemberListStore.tsx │ │ │ ├── MemberPresenceSubscriptionStore.tsx │ │ │ ├── MemberSearchStore.tsx │ │ │ ├── MemberSidebarStore.test.tsx │ │ │ ├── MemberSidebarStore.tsx │ │ │ ├── MemesPickerStore.tsx │ │ │ ├── MessageEditMobileStore.tsx │ │ │ ├── MessageEditStore.tsx │ │ │ ├── MessageFocusStore.tsx │ │ │ ├── MessageReactionsStore.tsx │ │ │ ├── MessageReferenceStore.tsx │ │ │ ├── MessageReplyStore.tsx │ │ │ ├── MessageStore.tsx │ │ │ ├── MobileLayoutStore.tsx │ │ │ ├── MockIncomingCallStore.tsx │ │ │ ├── ModalStore.tsx │ │ │ ├── NagbarStore.tsx │ │ │ ├── NativePermissionStore.tsx │ │ │ ├── NativeWindowStateStore.tsx │ │ │ ├── NavigationSideEffectsStore.tsx │ │ │ ├── NavigationStore.tsx │ │ │ ├── NewDeviceMonitoringStore.tsx │ │ │ ├── NotificationStore.tsx │ │ │ ├── OverlayStackStore.tsx │ │ │ ├── PackStore.tsx │ │ │ ├── ParticipantVolumeStore.tsx │ │ │ ├── PermissionLayoutStore.tsx │ │ │ ├── PermissionStore.tsx │ │ │ ├── PiPStore.tsx │ │ │ ├── PopoutStore.tsx │ │ │ ├── PresenceStore.tsx │ │ │ ├── PrivacyPreferencesStore.tsx │ │ │ ├── QuickSwitcherStore.tsx │ │ │ ├── ReadStateStore.test.tsx │ │ │ ├── ReadStateStore.tsx │ │ │ ├── RecentMentionsStore.tsx │ │ │ ├── RelationshipStore.tsx │ │ │ ├── RtcRegionsStore.tsx │ │ │ ├── RuntimeConfigStore.tsx │ │ │ ├── RuntimeCrashStore.tsx │ │ │ ├── SavedMessagesStore.tsx │ │ │ ├── ScheduledMessageEditorStore.tsx │ │ │ ├── ScheduledMessagesStore.tsx │ │ │ ├── SearchHistoryStore.tsx │ │ │ ├── SelectedChannelStore.tsx │ │ │ ├── SelectedGuildStore.tsx │ │ │ ├── SettingsSidebarStore.tsx │ │ │ ├── SlowmodeStore.tsx │ │ │ ├── SoundStore.tsx │ │ │ ├── SpellcheckStore.tsx │ │ │ ├── StatusExpiryStore.tsx │ │ │ ├── StickerPickerStore.tsx │ │ │ ├── StickerStore.tsx │ │ │ ├── StreamAudioPrefsStore.tsx │ │ │ ├── SudoPromptStore.tsx │ │ │ ├── SudoStore.tsx │ │ │ ├── TextualPreviewStore.tsx │ │ │ ├── ThemeStore.tsx │ │ │ ├── ToastStore.tsx │ │ │ ├── TransientPresenceStore.tsx │ │ │ ├── TrustedDomainStore.tsx │ │ │ ├── TypingStore.tsx │ │ │ ├── UnreadChannelsStore.tsx │ │ │ ├── UnsavedChangesStore.tsx │ │ │ ├── UpdaterStore.tsx │ │ │ ├── UserConnectionStore.tsx │ │ │ ├── UserGuildSettingsStore.tsx │ │ │ ├── UserNoteStore.tsx │ │ │ ├── UserPinnedDMStore.tsx │ │ │ ├── UserProfileMobileStore.tsx │ │ │ ├── UserProfileStore.tsx │ │ │ ├── UserSettingsStore.tsx │ │ │ ├── UserStore.tsx │ │ │ ├── VideoVolumeStore.tsx │ │ │ ├── VoiceCallLayoutStore.tsx │ │ │ ├── VoicePromptsStore.tsx │ │ │ ├── VoiceSettingsStore.tsx │ │ │ ├── WebhookStore.tsx │ │ │ ├── WindowStore.tsx │ │ │ ├── gateway/ │ │ │ │ ├── GatewayConnectionStore.tsx │ │ │ │ └── handlers/ │ │ │ │ ├── Ready.tsx │ │ │ │ ├── Resumed.tsx │ │ │ │ ├── call/ │ │ │ │ │ ├── CallCreate.tsx │ │ │ │ │ ├── CallDelete.tsx │ │ │ │ │ └── CallUpdate.tsx │ │ │ │ ├── channel/ │ │ │ │ │ ├── ChannelCreate.tsx │ │ │ │ │ ├── ChannelDelete.tsx │ │ │ │ │ ├── ChannelPinsAck.tsx │ │ │ │ │ ├── ChannelPinsUpdate.tsx │ │ │ │ │ ├── ChannelRecipientAdd.tsx │ │ │ │ │ ├── ChannelRecipientRemove.tsx │ │ │ │ │ ├── ChannelUpdate.tsx │ │ │ │ │ └── ChannelUpdateBulk.tsx │ │ │ │ ├── guild/ │ │ │ │ │ ├── GuildBan.tsx │ │ │ │ │ ├── GuildCreate.tsx │ │ │ │ │ ├── GuildDelete.tsx │ │ │ │ │ ├── GuildEmojisUpdate.tsx │ │ │ │ │ ├── GuildMemberAdd.tsx │ │ │ │ │ ├── GuildMemberListUpdate.tsx │ │ │ │ │ ├── GuildMemberRemove.tsx │ │ │ │ │ ├── GuildMemberUpdate.tsx │ │ │ │ │ ├── GuildMembersChunk.tsx │ │ │ │ │ ├── GuildRoleCreate.tsx │ │ │ │ │ ├── GuildRoleDelete.tsx │ │ │ │ │ ├── GuildRoleUpdate.tsx │ │ │ │ │ ├── GuildRoleUpdateBulk.tsx │ │ │ │ │ ├── GuildStickersUpdate.tsx │ │ │ │ │ ├── GuildSync.tsx │ │ │ │ │ ├── GuildUpdate.tsx │ │ │ │ │ └── PassiveUpdates.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── invite/ │ │ │ │ │ ├── InviteCreate.tsx │ │ │ │ │ └── InviteDelete.tsx │ │ │ │ ├── message/ │ │ │ │ │ ├── MessageAck.tsx │ │ │ │ │ ├── MessageCreate.tsx │ │ │ │ │ ├── MessageDelete.tsx │ │ │ │ │ ├── MessageDeleteBulk.tsx │ │ │ │ │ ├── MessageReactionAdd.tsx │ │ │ │ │ ├── MessageReactionAddMany.tsx │ │ │ │ │ ├── MessageReactionRemove.tsx │ │ │ │ │ ├── MessageReactionRemoveAll.tsx │ │ │ │ │ ├── MessageReactionRemoveEmoji.tsx │ │ │ │ │ ├── MessageUpdate.tsx │ │ │ │ │ ├── RecentMentionDelete.tsx │ │ │ │ │ ├── SavedMessageCreate.tsx │ │ │ │ │ ├── SavedMessageDelete.tsx │ │ │ │ │ └── TypingStart.tsx │ │ │ │ ├── misc/ │ │ │ │ │ ├── FavoriteMemeCreate.tsx │ │ │ │ │ ├── FavoriteMemeDelete.tsx │ │ │ │ │ ├── FavoriteMemeUpdate.tsx │ │ │ │ │ └── WebhooksUpdate.tsx │ │ │ │ ├── presence/ │ │ │ │ │ ├── PresenceUpdate.tsx │ │ │ │ │ └── PresenceUpdateBulk.tsx │ │ │ │ ├── relationship/ │ │ │ │ │ ├── RelationshipAdd.tsx │ │ │ │ │ ├── RelationshipRemove.tsx │ │ │ │ │ └── RelationshipUpdate.tsx │ │ │ │ ├── user/ │ │ │ │ │ ├── AuthSessionChange.tsx │ │ │ │ │ ├── UserConnectionsUpdate.tsx │ │ │ │ │ ├── UserGuildSettingsUpdate.tsx │ │ │ │ │ ├── UserNoteUpdate.tsx │ │ │ │ │ ├── UserPinnedDmsUpdate.tsx │ │ │ │ │ ├── UserSettingsUpdate.tsx │ │ │ │ │ └── UserUpdate.tsx │ │ │ │ └── voice/ │ │ │ │ ├── VoiceServerUpdate.tsx │ │ │ │ └── VoiceStateUpdate.tsx │ │ │ └── voice/ │ │ │ ├── MediaEngineFacade.tsx │ │ │ ├── ScreenShareSubscriptionManager.tsx │ │ │ ├── VideoSubscriptionManager.tsx │ │ │ ├── VoiceAudioManager.tsx │ │ │ ├── VoiceChannelConnector.tsx │ │ │ ├── VoiceConnectionManager.tsx │ │ │ ├── VoiceConnectionThrottle.tsx │ │ │ ├── VoiceDevicePermissionStore.tsx │ │ │ ├── VoiceEntranceSoundManager.tsx │ │ │ ├── VoiceMediaEngineBridge.tsx │ │ │ ├── VoiceMediaManager.tsx │ │ │ ├── VoiceMediaStateCoordinator.tsx │ │ │ ├── VoiceParticipantManager.tsx │ │ │ ├── VoicePermissionManager.tsx │ │ │ ├── VoiceReconnectManager.tsx │ │ │ ├── VoiceRoomEventBinder.tsx │ │ │ ├── VoiceScreenShareManager.tsx │ │ │ ├── VoiceStateGatewayHandler.tsx │ │ │ ├── VoiceStateManager.tsx │ │ │ ├── VoiceStateSyncManager.tsx │ │ │ ├── VoiceStatsManager.tsx │ │ │ └── VoiceSubscriptionManager.tsx │ │ ├── styles/ │ │ │ ├── AttachmentFile.module.css │ │ │ ├── AttachmentGridItem.module.css │ │ │ ├── AttachmentLayoutGrid.module.css │ │ │ ├── AttachmentMosaic.module.css │ │ │ ├── AttachmentSingleMedia.module.css │ │ │ ├── ChannelSearchBottomSheet.module.css │ │ │ ├── CodeElements.module.css │ │ │ ├── Markup.module.css │ │ │ ├── MentionRenderer.module.css │ │ │ ├── Message.module.css │ │ │ ├── Scroller.module.css │ │ │ ├── TimestampRenderer.module.css │ │ │ ├── Typing.module.css │ │ │ └── preflight.css │ │ ├── test/ │ │ │ ├── LibfluxcoreMock.tsx │ │ │ ├── LibfluxcoreMock.wasm │ │ │ ├── Setup.tsx │ │ │ └── StyleMock.ts │ │ ├── types/ │ │ │ ├── BrandedTypes.tsx │ │ │ ├── Browser.tsx │ │ │ ├── Combokeys.d.ts │ │ │ ├── ElectronTypes.tsx │ │ │ ├── EmojiTypes.tsx │ │ │ ├── InviteTypes.tsx │ │ │ ├── Media.d.ts │ │ │ ├── Sudo.tsx │ │ │ ├── VerificationError.tsx │ │ │ ├── assets.d.ts │ │ │ ├── browser.d.ts │ │ │ ├── dom-augmentations.d.ts │ │ │ ├── electron.d.ts │ │ │ ├── favico.d.ts │ │ │ ├── gateway/ │ │ │ │ ├── GatewayGuildTypes.tsx │ │ │ │ ├── GatewayPresenceTypes.tsx │ │ │ │ └── GatewayVoiceTypes.tsx │ │ │ ├── lingui-react-macro.d.ts │ │ │ └── phosphor-icons-augmentations.d.ts │ │ ├── utils/ │ │ │ ├── AccentColorUtils.tsx │ │ │ ├── AnimatedImageUtils.tsx │ │ │ ├── ApiErrorUtils.tsx │ │ │ ├── AppProtocol.tsx │ │ │ ├── AttachmentExpiryUtils.tsx │ │ │ ├── AttachmentPreviewUtils.tsx │ │ │ ├── AttachmentUtils.tsx │ │ │ ├── AutostartUtils.tsx │ │ │ ├── AvatarUtils.tsx │ │ │ ├── BackgroundImageDB.tsx │ │ │ ├── CSSHighlightSearch.tsx │ │ │ ├── CallUtils.tsx │ │ │ ├── ChannelSearchHighlight.tsx │ │ │ ├── ChannelShared.tsx │ │ │ ├── ChannelUtils.tsx │ │ │ ├── ClientInfoUtils.tsx │ │ │ ├── CodeLinkUtils.tsx │ │ │ ├── ColorUtils.test.tsx │ │ │ ├── ColorUtils.tsx │ │ │ ├── CommandUtils.test.tsx │ │ │ ├── CommandUtils.tsx │ │ │ ├── ContextMenuUtils.tsx │ │ │ ├── CopyLinkHandlers.tsx │ │ │ ├── CustomSoundDB.tsx │ │ │ ├── DateUtils.tsx │ │ │ ├── DeepLinkUtils.test.tsx │ │ │ ├── DeepLinkUtils.tsx │ │ │ ├── DesktopRpcClient.tsx │ │ │ ├── DimensionUtils.test.tsx │ │ │ ├── DimensionUtils.tsx │ │ │ ├── DmChannelUtils.tsx │ │ │ ├── EmbeddableImageTypes.tsx │ │ │ ├── EmojiCodepointUtils.tsx │ │ │ ├── EmojiUtils.test.tsx │ │ │ ├── EmojiUtils.tsx │ │ │ ├── ExpressionPermissionUtils.tsx │ │ │ ├── ExpressionPremiumSummary.tsx │ │ │ ├── FavoriteMemeUtils.tsx │ │ │ ├── FileDownloadUtils.tsx │ │ │ ├── FilePickerUtils.tsx │ │ │ ├── FileUploadUtils.tsx │ │ │ ├── FileUtils.test.tsx │ │ │ ├── FileUtils.tsx │ │ │ ├── FormUtils.tsx │ │ │ ├── ForwardedMessageUtils.tsx │ │ │ ├── GeoUtils.tsx │ │ │ ├── GiftCodeUtils.tsx │ │ │ ├── GiftUtils.tsx │ │ │ ├── GroupDMColorUtils.test.tsx │ │ │ ├── GroupDMColorUtils.tsx │ │ │ ├── GroupDmUtils.tsx │ │ │ ├── GuildInitialsUtils.test.tsx │ │ │ ├── GuildInitialsUtils.tsx │ │ │ ├── HelpCenterUtils.tsx │ │ │ ├── ImageCacheUtils.tsx │ │ │ ├── ImageCropUtils.tsx │ │ │ ├── InviteUtils.tsx │ │ │ ├── KeybindUtils.tsx │ │ │ ├── KeyboardUtils.tsx │ │ │ ├── KlipyUtils.tsx │ │ │ ├── LinkSuppressionUtils.test.tsx │ │ │ ├── LinkSuppressionUtils.tsx │ │ │ ├── LocaleUtils.tsx │ │ │ ├── MarkdownToSegmentUtils.tsx │ │ │ ├── MediaDeviceRefresh.tsx │ │ │ ├── MediaDimensionConfig.tsx │ │ │ ├── MediaProxyUtils.tsx │ │ │ ├── MediaViewerItemUtils.tsx │ │ │ ├── MemberListLayout.test.tsx │ │ │ ├── MemberListLayout.tsx │ │ │ ├── MemberListUtils.tsx │ │ │ ├── MessageAttachmentUtils.tsx │ │ │ ├── MessageComponentUtils.tsx │ │ │ ├── MessageGroupingUtils.test.tsx │ │ │ ├── MessageGroupingUtils.tsx │ │ │ ├── MessageLinkUtils.tsx │ │ │ ├── MessageNavigator.tsx │ │ │ ├── MessageRequestUtils.test.tsx │ │ │ ├── MessageRequestUtils.tsx │ │ │ ├── MessageSelectionCopyUtils.test.tsx │ │ │ ├── MessageSelectionCopyUtils.tsx │ │ │ ├── MessageSubmitUtils.tsx │ │ │ ├── MessageUtils.tsx │ │ │ ├── MfaUtils.tsx │ │ │ ├── MobileExperience.tsx │ │ │ ├── MobileNavigation.tsx │ │ │ ├── NativePermissions.tsx │ │ │ ├── NativeUtils.tsx │ │ │ ├── NicknameUtils.tsx │ │ │ ├── NotificationUtils.tsx │ │ │ ├── PasteSegmentUtils.tsx │ │ │ ├── PermissionUtils.tsx │ │ │ ├── PlaceholderUtils.test.tsx │ │ │ ├── PlaceholderUtils.tsx │ │ │ ├── Positioning.tsx │ │ │ ├── PremiumUtils.tsx │ │ │ ├── PricingUtils.tsx │ │ │ ├── ProfileDisplayUtils.tsx │ │ │ ├── ProfileUtils.tsx │ │ │ ├── PwaUtils.tsx │ │ │ ├── React.tsx │ │ │ ├── ReactionUtils.tsx │ │ │ ├── ReducedMotionAnimation.tsx │ │ │ ├── RegexUtils.test.tsx │ │ │ ├── RegexUtils.tsx │ │ │ ├── RelationshipActionUtils.tsx │ │ │ ├── ReplaceCommandUtils.tsx │ │ │ ├── RouterUtils.tsx │ │ │ ├── ScreenShareUtils.tsx │ │ │ ├── ScrollbarDragState.tsx │ │ │ ├── SearchQueryParser.tsx │ │ │ ├── SearchQueryTokenizer.tsx │ │ │ ├── SearchSegmentManager.tsx │ │ │ ├── SearchUtils.tsx │ │ │ ├── SelectUtils.tsx │ │ │ ├── SkinToneUtils.tsx │ │ │ ├── SlashCommandUtils.test.tsx │ │ │ ├── SlashCommandUtils.tsx │ │ │ ├── SnowflakeUtils.test.tsx │ │ │ ├── SoundLabels.tsx │ │ │ ├── SoundUtils.tsx │ │ │ ├── SpoilerUtils.tsx │ │ │ ├── StreamPreviewPermissionUtils.test.tsx │ │ │ ├── StreamPreviewPermissionUtils.tsx │ │ │ ├── StringUtils.test.tsx │ │ │ ├── StringUtils.tsx │ │ │ ├── SystemMessageUtils.tsx │ │ │ ├── TenorUtils.tsx │ │ │ ├── TextareaAutocompleteFlow.test.tsx │ │ │ ├── TextareaInsertMentionFlow.test.tsx │ │ │ ├── TextareaSegmentManager.test.tsx │ │ │ ├── TextareaSegmentManager.tsx │ │ │ ├── TextareaStateManager.test.tsx │ │ │ ├── TextareaStateManager.tsx │ │ │ ├── ThemeUtils.tsx │ │ │ ├── TtsSpeechUtils.tsx │ │ │ ├── TtsTextFormatter.tsx │ │ │ ├── TtsUtils.tsx │ │ │ ├── TypingUtils.tsx │ │ │ ├── UiohookKeycodes.tsx │ │ │ ├── UrlUtils.tsx │ │ │ ├── VideoBackgroundProcessor.tsx │ │ │ ├── VoiceDeviceManager.tsx │ │ │ ├── VoiceMessageRecordingUtils.tsx │ │ │ ├── VoiceMessageSendUtils.tsx │ │ │ ├── VoiceVolumeUtils.test.tsx │ │ │ ├── VoiceVolumeUtils.tsx │ │ │ ├── WebAuthnUtils.tsx │ │ │ ├── WebhookUtils.tsx │ │ │ ├── WindowStateUtils.tsx │ │ │ ├── __tests__/ │ │ │ │ └── SearchQueryParser.test.tsx │ │ │ ├── accounts/ │ │ │ │ └── AccountSwitcherModalUtils.tsx │ │ │ ├── alerts/ │ │ │ │ └── VoiceConnectionConfirmModalUtils.tsx │ │ │ ├── errors/ │ │ │ │ └── ScreenRecordingPermissionDeniedError.tsx │ │ │ ├── friends/ │ │ │ │ ├── FriendsListUtils.module.css │ │ │ │ └── FriendsListUtils.tsx │ │ │ ├── invite/ │ │ │ │ ├── GroupDmInviteCounts.tsx │ │ │ │ └── GuildInviteActionState.tsx │ │ │ ├── limits/ │ │ │ │ ├── GlobalLimits.tsx │ │ │ │ ├── LimitContext.tsx │ │ │ │ ├── LimitResolverAdapter.tsx │ │ │ │ ├── LimitUtils.tsx │ │ │ │ └── UserLimits.tsx │ │ │ ├── modals/ │ │ │ │ ├── AddFriendsToGroupModalUtils.tsx │ │ │ │ ├── AnimatedAvifModalUtils.tsx │ │ │ │ ├── ChannelCreateModalUtils.tsx │ │ │ │ ├── ChannelDeleteModalUtils.tsx │ │ │ │ ├── ChannelSettingsModalUtils.tsx │ │ │ │ ├── ChannelTopicModalUtils.tsx │ │ │ │ ├── CreateDMModalUtils.tsx │ │ │ │ ├── ModalUtils.tsx │ │ │ │ ├── PremiumModalUtils.tsx │ │ │ │ ├── ScreenShareSettingsModalUtils.tsx │ │ │ │ ├── SettingsModalLayoutUtils.tsx │ │ │ │ └── guild_tabs/ │ │ │ │ ├── GuildAuditLogTabUtils.tsx │ │ │ │ └── GuildOverviewTabUtils.tsx │ │ │ └── quick_switcher/ │ │ │ └── QuickSwitcherModalUtils.tsx │ │ ├── videos/ │ │ │ └── banned.webm │ │ ├── viewmodels/ │ │ │ └── auth/ │ │ │ ├── AuthFlow.test.tsx │ │ │ └── AuthFlow.tsx │ │ ├── vite-env.d.ts │ │ └── workers/ │ │ ├── AnimatedImageCrop.Worker.tsx │ │ ├── AnimatedImageCropWorkerManager.tsx │ │ ├── AnimatedImageCropWorkerPool.tsx │ │ └── MemberSearch.Worker.tsx │ ├── tsconfig.json │ └── vitest.config.ts ├── fluxer_app_proxy/ │ ├── Dockerfile │ ├── package.json │ ├── src/ │ │ ├── Config.tsx │ │ ├── Instrument.tsx │ │ ├── Logger.tsx │ │ └── index.tsx │ └── tsconfig.json ├── fluxer_desktop/ │ ├── .gitignore │ ├── .npmrc │ ├── README.md │ ├── build_resources/ │ │ ├── entitlements.mac.canary.plist │ │ ├── entitlements.mac.inherit.plist │ │ ├── entitlements.mac.stable.plist │ │ ├── icons-canary/ │ │ │ ├── AppIcon.icon/ │ │ │ │ └── icon.json │ │ │ └── _compiled/ │ │ │ ├── AppIcon.icns │ │ │ ├── Assets.car │ │ │ ├── assetcatalog_generated_info.plist │ │ │ └── icon.part.plist │ │ ├── icons-stable/ │ │ │ ├── AppIcon.icon/ │ │ │ │ └── icon.json │ │ │ └── _compiled/ │ │ │ ├── AppIcon.icns │ │ │ ├── Assets.car │ │ │ ├── assetcatalog_generated_info.plist │ │ │ └── icon.part.plist │ │ ├── notarize.js │ │ └── profiles/ │ │ ├── Fluxer.provisionprofile │ │ └── Fluxer_Canary.provisionprofile │ ├── electron-builder.config.cjs │ ├── package.json │ ├── packaging/ │ │ ├── aur/ │ │ │ ├── PKGBUILD │ │ │ └── README.md │ │ ├── homebrew/ │ │ │ ├── README.md │ │ │ └── fluxer.rb │ │ ├── linux/ │ │ │ ├── README.md │ │ │ ├── app.fluxer.Fluxer.desktop │ │ │ └── app.fluxer.Fluxer.metainfo.xml │ │ └── winget/ │ │ ├── Fluxer.Fluxer.installer.yaml │ │ ├── Fluxer.Fluxer.locale.en-US.yaml │ │ ├── Fluxer.Fluxer.yaml │ │ └── README.md │ ├── pnpm-workspace.yaml │ ├── scripts/ │ │ ├── build.mjs │ │ └── set-build-channel.mjs │ ├── src/ │ │ ├── common/ │ │ │ ├── BrandedTypes.tsx │ │ │ ├── BuildChannel.tsx │ │ │ ├── Constants.tsx │ │ │ ├── DesktopConfig.tsx │ │ │ ├── Logger.tsx │ │ │ ├── Types.tsx │ │ │ └── UserDataPath.tsx │ │ ├── main/ │ │ │ ├── Autostart.tsx │ │ │ ├── DeepLinks.tsx │ │ │ ├── GlobalKeyHook.tsx │ │ │ ├── IpcHandlers.tsx │ │ │ ├── Menu.tsx │ │ │ ├── RpcServer.tsx │ │ │ ├── Spellcheck.tsx │ │ │ ├── Updater.tsx │ │ │ ├── Window.tsx │ │ │ ├── WindowsBadge.tsx │ │ │ └── index.tsx │ │ └── preload/ │ │ └── index.tsx │ └── tsconfig.json ├── fluxer_devops/ │ ├── caddy/ │ │ ├── Caddyfile.global │ │ └── compose.yaml │ ├── caddy-gateway/ │ │ ├── Caddyfile.global │ │ └── compose.yaml │ ├── cassandra/ │ │ ├── Dockerfile.backup │ │ ├── RESTORE.md │ │ ├── backup.sh │ │ ├── compose.yaml │ │ ├── conf/ │ │ │ ├── cassandra.yaml │ │ │ └── jvm-server.options │ │ └── migrations/ │ │ ├── 20251019182829_init.cql │ │ ├── 20251020105255_visionary_gifts.cql │ │ ├── 20251020111123_beta_code_allowance.cql │ │ ├── 20251020162124_premium_cancel.cql │ │ ├── 20251020162528_premium_cycle.cql │ │ ├── 20251021024919_payments_v2.cql │ │ ├── 20251021141627_gift_inventory_ack.cql │ │ ├── 20251021172928_visionary_slots_v2.cql │ │ ├── 20251022154916_favorite_meme_gifv.cql │ │ ├── 20251023131948_pinned_dms.cql │ │ ├── 20251027204850_voice_regions_v2.cql │ │ ├── 20251030154245_incoming_call_flags.cql │ │ ├── 20251030181703_group_dm_add_permission_flags.cql │ │ ├── 20251103134142_favorite_meme_tenor_id.cql │ │ ├── 20251106171446_global_names.cql │ │ ├── 20251106222624_premium_onboarding_dismiss.cql │ │ ├── 20251111164136_oauth.cql │ │ ├── 20251112093000_favorite_meme_tenor_id_str.cql │ │ ├── 20251112134500_oidc_keys_refactor.cql │ │ ├── 20251125170255_guild_member_profile_flags.cql │ │ ├── 20251202000000_push_devices.cql │ │ ├── 20251203135719_push_devices_by_fcm_token.cql │ │ ├── 20251203141656_add_ttls_devices_subscriptions.cql │ │ ├── 20251203144440_applications_and_bots.cql │ │ ├── 20251203145112_oauth_bot_tokens_by_client.cql │ │ ├── 20251204115402_oauth2_v2.cql │ │ ├── 20251205000000_fix_authorized_ips_schema.cql │ │ ├── 20251205231839_add_guild_banner_height.cql │ │ ├── 20251205233545_add_guild_banner_width.cql │ │ ├── 20251206120000_add_bot_is_public_to_applications.cql │ │ ├── 20251206163442_add_admin_archives.cql │ │ ├── 20251206164609_adjust_oauth2_access_token_ttl_7d.cql │ │ ├── 20251206180000_attachment_decay.cql │ │ ├── 20251207120000_email_change.cql │ │ ├── 20251208120000_email_change_original_proof.cql │ │ ├── 20251212120000_user_contact_change_logs.cql │ │ ├── 20251213100000_user_avatar_banner_color.cql │ │ ├── 20251214191436_guild_audit_logs_v2.cql │ │ ├── 20251215120000_pending_bulk_message_deletion.cql │ │ ├── 20251215130000_add_guild_splash_dimensions.cql │ │ ├── 20251215140000_add_guild_embed_splash.cql │ │ ├── 20251216233434_channel_state_and_bucket_index.cql │ │ ├── 20251217020455_empty_buckets.cql │ │ ├── 20251217173221_payments_version.cql │ │ ├── 20251217180000_add_version_columns.cql │ │ ├── 20251219003157_guild_splash_card_alignment.cql │ │ ├── 20251223200236_messages_has_reaction.cql │ │ ├── 20251224122758_instance_configuration.cql │ │ ├── 20251225000000_expression_packs.cql │ │ ├── 20251225012439_add_pending_verification_metadata.cql │ │ ├── 20251225120000_add_auth_session_location.cql │ │ ├── 20251225170000_add_scheduled_messages.cql │ │ ├── 20251225183000_reports_dsa.cql │ │ ├── 20251225194859_expression_packs_by_creator.cql │ │ ├── 20251226120000_status_expiry.cql │ │ ├── 20251229143845_add_role_hoist_position.cql │ │ ├── 20251229154931_swish_payments.cql │ │ ├── 20260105174407_add_auth_session_user_agent_cols.cql │ │ ├── 20260106001944_user_dm_history.cql │ │ ├── 20260107131535_add_edited_timestamp_to_message_snapshot.cql │ │ ├── 20260108222247_user_traits.cql │ │ ├── 20260109000910_bot_restricted_guild_settings.cql │ │ ├── 20260109002750_system_dm_jobs.cql │ │ ├── 20260109193656_admin_api_keys.cql │ │ ├── 20260109200406_add_admin_api_key_acls.cql │ │ ├── 20260109233843_relationships_by_target.cql │ │ ├── 20260110232608_fix_messages_by_author_clustering_key.cql │ │ ├── 20260113011925_csam_evidence_hold.cql │ │ ├── 20260113020449_csam_scan_jobs.cql │ │ ├── 20260114000000_csam_evidence_expirations.cql │ │ ├── 20260114120000_sticker_animated.cql │ │ ├── 20260114150000_message_sticker_item_animated.cql │ │ ├── 20260116171533_ncmec_submissions.cql │ │ ├── 20260122123000_voice_messages.cql │ │ ├── 20260129195639_add_klipy_slug_to_favorite_memes.cql │ │ ├── 20260130142437_trusted_domains.cql │ │ ├── 20260130160000_default_hide_muted_channels.cql │ │ ├── 20260205224843_guild_folder_flags_and_icon.cql │ │ ├── 20260206172322_message_embed_children.cql │ │ ├── 20260207140000_guild_message_history_cutoff.cql │ │ ├── 20260207160000_guild_members_indexed_at.cql │ │ ├── 20260207160233_user_connections.cql │ │ ├── 20260208165214_donation_system_unified.cql │ │ ├── 20260214120000_password_change_tickets.cql │ │ ├── 20260214123000_bot_require_code_grant.cql │ │ └── 20260217140000_guild_discovery.cql │ ├── clamav/ │ │ ├── compose.yaml │ │ └── conf/ │ │ └── clamd.conf │ ├── ghost_blog/ │ │ └── compose.yaml │ ├── livekitctl/ │ │ ├── README.md │ │ ├── cmd/ │ │ │ ├── bootstrap.go │ │ │ ├── logs.go │ │ │ ├── restart.go │ │ │ ├── root.go │ │ │ ├── status.go │ │ │ └── webhook.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── internal/ │ │ │ ├── configgen/ │ │ │ │ └── configgen.go │ │ │ ├── constants/ │ │ │ │ └── constants.go │ │ │ ├── dnswait/ │ │ │ │ └── dnswait.go │ │ │ ├── download/ │ │ │ │ └── download.go │ │ │ ├── errors/ │ │ │ │ └── errors.go │ │ │ ├── firewall/ │ │ │ │ └── firewall.go │ │ │ ├── install/ │ │ │ │ └── install.go │ │ │ ├── netutil/ │ │ │ │ └── netutil.go │ │ │ ├── ops/ │ │ │ │ └── ops.go │ │ │ ├── platform/ │ │ │ │ └── platform.go │ │ │ ├── secrets/ │ │ │ │ └── secrets.go │ │ │ ├── state/ │ │ │ │ └── state.go │ │ │ ├── util/ │ │ │ │ └── util.go │ │ │ └── validate/ │ │ │ └── validate.go │ │ ├── main.go │ │ └── scripts/ │ │ └── install.sh │ ├── nats_core/ │ │ ├── compose.yaml │ │ └── nats.conf │ ├── nats_jetstream/ │ │ ├── compose.yaml │ │ └── nats.conf │ ├── nginx/ │ │ └── nginx.conf │ ├── signoz/ │ │ ├── compose.yaml │ │ ├── conf/ │ │ │ ├── clickhouse/ │ │ │ │ ├── cluster.xml │ │ │ │ ├── config.d/ │ │ │ │ │ └── keeper.xml │ │ │ │ ├── config.xml │ │ │ │ ├── custom-function.xml │ │ │ │ ├── user_scripts/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── users.xml │ │ │ └── signoz/ │ │ │ ├── otel-collector-config.yaml │ │ │ ├── otel-collector-opamp-config.yaml │ │ │ └── prometheus.yml │ │ ├── dashboards/ │ │ │ └── .gitkeep │ │ └── deploy.sh │ ├── turborepo_cache/ │ │ └── compose.yaml │ ├── valkey/ │ │ ├── compose.yaml │ │ ├── conf/ │ │ │ └── valkey.conf.template │ │ └── entrypoint.sh │ └── weblate/ │ └── compose.yaml ├── fluxer_docs/ │ ├── .gitignore │ ├── .npmrc │ ├── LICENSE │ ├── api-reference/ │ │ ├── introduction.mdx │ │ └── openapi.json │ ├── docs.json │ ├── gateway/ │ │ ├── close_codes.mdx │ │ ├── connection_lifecycle.mdx │ │ ├── events.mdx │ │ ├── opcodes.mdx │ │ └── overview.mdx │ ├── index.mdx │ ├── introduction/ │ │ └── authentication.mdx │ ├── media-proxy-api/ │ │ └── openapi.json │ ├── quickstart.mdx │ ├── relay-api/ │ │ └── openapi.json │ ├── resources/ │ │ ├── admin.mdx │ │ ├── auth.mdx │ │ ├── billing.mdx │ │ ├── channels.mdx │ │ ├── common.mdx │ │ ├── gateway.mdx │ │ ├── gifts.mdx │ │ ├── guilds.mdx │ │ ├── instance.mdx │ │ ├── invites.mdx │ │ ├── klipy.mdx │ │ ├── media_proxy.mdx │ │ ├── oauth2.mdx │ │ ├── overview.mdx │ │ ├── packs.mdx │ │ ├── premium.mdx │ │ ├── read_states.mdx │ │ ├── reports.mdx │ │ ├── saved_media.mdx │ │ ├── search.mdx │ │ ├── themes.mdx │ │ ├── users.mdx │ │ └── webhooks.mdx │ ├── schemas/ │ │ └── events/ │ │ ├── AUTH_SESSION_CHANGE.json │ │ ├── CALL_CREATE.json │ │ ├── CALL_DELETE.json │ │ ├── CALL_UPDATE.json │ │ ├── CHANNEL_CREATE.json │ │ ├── CHANNEL_DELETE.json │ │ ├── CHANNEL_PINS_ACK.json │ │ ├── CHANNEL_PINS_UPDATE.json │ │ ├── CHANNEL_RECIPIENT_ADD.json │ │ ├── CHANNEL_RECIPIENT_REMOVE.json │ │ ├── CHANNEL_UPDATE.json │ │ ├── CHANNEL_UPDATE_BULK.json │ │ ├── FAVORITE_MEME_CREATE.json │ │ ├── FAVORITE_MEME_DELETE.json │ │ ├── FAVORITE_MEME_UPDATE.json │ │ ├── GUILD_BAN_ADD.json │ │ ├── GUILD_BAN_REMOVE.json │ │ ├── GUILD_CREATE.json │ │ ├── GUILD_DELETE.json │ │ ├── GUILD_EMOJIS_UPDATE.json │ │ ├── GUILD_MEMBER_ADD.json │ │ ├── GUILD_MEMBER_REMOVE.json │ │ ├── GUILD_MEMBER_UPDATE.json │ │ ├── GUILD_ROLE_CREATE.json │ │ ├── GUILD_ROLE_DELETE.json │ │ ├── GUILD_ROLE_UPDATE.json │ │ ├── GUILD_ROLE_UPDATE_BULK.json │ │ ├── GUILD_STICKERS_UPDATE.json │ │ ├── GUILD_UPDATE.json │ │ ├── INVITE_CREATE.json │ │ ├── INVITE_DELETE.json │ │ ├── MESSAGE_ACK.json │ │ ├── MESSAGE_CREATE.json │ │ ├── MESSAGE_DELETE.json │ │ ├── MESSAGE_DELETE_BULK.json │ │ ├── MESSAGE_REACTION_ADD.json │ │ ├── MESSAGE_REACTION_ADD_MANY.json │ │ ├── MESSAGE_REACTION_REMOVE.json │ │ ├── MESSAGE_REACTION_REMOVE_ALL.json │ │ ├── MESSAGE_REACTION_REMOVE_EMOJI.json │ │ ├── MESSAGE_UPDATE.json │ │ ├── PRESENCE_UPDATE.json │ │ ├── READY.json │ │ ├── RECENT_MENTION_DELETE.json │ │ ├── RELATIONSHIP_ADD.json │ │ ├── RELATIONSHIP_REMOVE.json │ │ ├── RELATIONSHIP_UPDATE.json │ │ ├── RESUMED.json │ │ ├── SAVED_MESSAGE_CREATE.json │ │ ├── SAVED_MESSAGE_DELETE.json │ │ ├── SESSIONS_REPLACE.json │ │ ├── TYPING_START.json │ │ ├── USER_GUILD_SETTINGS_UPDATE.json │ │ ├── USER_NOTE_UPDATE.json │ │ ├── USER_PINNED_DMS_UPDATE.json │ │ ├── USER_SETTINGS_UPDATE.json │ │ ├── USER_UPDATE.json │ │ ├── VOICE_SERVER_UPDATE.json │ │ ├── VOICE_STATE_UPDATE.json │ │ └── WEBHOOKS_UPDATE.json │ ├── scripts/ │ │ ├── check_broken_links.mjs │ │ ├── generate_config.mjs │ │ ├── generate_error_codes.mjs │ │ ├── generate_gateway.mjs │ │ ├── generate_media_proxy.mjs │ │ ├── generate_permissions.mjs │ │ ├── generate_resources.mjs │ │ ├── generate_scopes.mjs │ │ └── shared.mjs │ ├── self-hosting/ │ │ ├── architecture.mdx │ │ ├── configuration.mdx │ │ ├── index.mdx │ │ ├── quickstart.mdx │ │ ├── upgrading.mdx │ │ └── voice.mdx │ ├── style.css │ └── topics/ │ ├── audit_log.mdx │ ├── error_codes.mdx │ ├── media_proxy.mdx │ ├── oauth2.mdx │ ├── permissions.mdx │ ├── rate_limits.mdx │ ├── snowflakes.mdx │ └── voice.mdx ├── fluxer_gateway/ │ ├── Dockerfile │ ├── config/ │ │ ├── sys.config.template │ │ ├── vm.args.src │ │ └── vm.args.template │ ├── dialyzer.ignore-warnings │ ├── include/ │ │ ├── timeout_config.hrl │ │ └── voice_state.hrl │ ├── rebar.config │ ├── scripts/ │ │ ├── docker_entrypoint.sh │ │ ├── rebar3_wrapper.sh │ │ ├── run_compile.sh │ │ ├── run_dialyzer.sh │ │ ├── run_eunit.sh │ │ ├── run_fmt.sh │ │ └── run_prod_compile.sh │ └── src/ │ ├── call/ │ │ ├── call.erl │ │ └── call_manager.erl │ ├── fluxer_gateway.app.src │ ├── gateway/ │ │ ├── fluxer_gateway_app.erl │ │ ├── fluxer_gateway_config.erl │ │ ├── fluxer_gateway_crypto.erl │ │ ├── fluxer_gateway_env.erl │ │ ├── fluxer_gateway_sup.erl │ │ ├── gateway_codec.erl │ │ ├── gateway_compress.erl │ │ ├── gateway_errors.erl │ │ ├── gateway_handler.erl │ │ ├── gateway_http_client.erl │ │ ├── gateway_nats_rpc.erl │ │ ├── gateway_rpc_call.erl │ │ ├── gateway_rpc_guild.erl │ │ ├── gateway_rpc_misc.erl │ │ ├── gateway_rpc_presence.erl │ │ ├── gateway_rpc_push.erl │ │ ├── gateway_rpc_router.erl │ │ ├── gateway_rpc_voice.erl │ │ ├── health_handler.erl │ │ ├── hot_reload.erl │ │ ├── hot_reload_handler.erl │ │ ├── rendezvous_router.erl │ │ └── rpc_client.erl │ ├── guild/ │ │ ├── guild.erl │ │ ├── guild_availability.erl │ │ ├── guild_client.erl │ │ ├── guild_common.erl │ │ ├── guild_counts_cache.erl │ │ ├── guild_data.erl │ │ ├── guild_data_index.erl │ │ ├── guild_dispatch.erl │ │ ├── guild_ets_utils.erl │ │ ├── guild_manager.erl │ │ ├── guild_manager_shard.erl │ │ ├── guild_member_list.erl │ │ ├── guild_member_list_common.erl │ │ ├── guild_member_storage.erl │ │ ├── guild_members.erl │ │ ├── guild_passive_sync.erl │ │ ├── guild_permission_cache.erl │ │ ├── guild_permissions.erl │ │ ├── guild_presence.erl │ │ ├── guild_query_handler.erl │ │ ├── guild_request_members.erl │ │ ├── guild_sessions.erl │ │ ├── guild_state.erl │ │ ├── guild_subscription_handler.erl │ │ ├── guild_subscriptions.erl │ │ ├── guild_unified_subscriptions.erl │ │ ├── guild_user_data.erl │ │ ├── guild_virtual_channel_access.erl │ │ ├── guild_visibility.erl │ │ ├── guild_voice_handler.erl │ │ ├── passive_sync_registry.erl │ │ ├── very_large_guild.erl │ │ ├── very_large_guild_member_list.erl │ │ └── voice/ │ │ ├── dm_voice.erl │ │ ├── guild_voice.erl │ │ ├── guild_voice_broadcast.erl │ │ ├── guild_voice_connection.erl │ │ ├── guild_voice_disconnect.erl │ │ ├── guild_voice_member.erl │ │ ├── guild_voice_move.erl │ │ ├── guild_voice_permission_sync.erl │ │ ├── guild_voice_permissions.erl │ │ ├── guild_voice_region.erl │ │ ├── guild_voice_server.erl │ │ ├── guild_voice_state.erl │ │ ├── guild_voice_unclaimed_account_utils.erl │ │ ├── voice_disconnect_common.erl │ │ ├── voice_pending_common.erl │ │ ├── voice_state_utils.erl │ │ └── voice_utils.erl │ ├── presence/ │ │ ├── presence.erl │ │ ├── presence_bus.erl │ │ ├── presence_bus_shard.erl │ │ ├── presence_cache.erl │ │ ├── presence_cache_shard.erl │ │ ├── presence_manager.erl │ │ ├── presence_manager_shard.erl │ │ ├── presence_payload.erl │ │ ├── presence_session.erl │ │ ├── presence_status.erl │ │ ├── presence_targets.erl │ │ └── presence_utils.erl │ ├── push/ │ │ ├── push.erl │ │ ├── push_cache.erl │ │ ├── push_core.erl │ │ ├── push_dispatcher.erl │ │ ├── push_eligibility.erl │ │ ├── push_notification.erl │ │ ├── push_sender.erl │ │ ├── push_subscriptions.erl │ │ └── push_utils.erl │ ├── session/ │ │ ├── session.erl │ │ ├── session_connection.erl │ │ ├── session_dispatch.erl │ │ ├── session_manager.erl │ │ ├── session_manager_shard.erl │ │ ├── session_monitor.erl │ │ ├── session_passive.erl │ │ ├── session_ready.erl │ │ └── session_voice.erl │ ├── telemetry/ │ │ ├── gateway_metrics_collector.erl │ │ ├── gateway_tracing.erl │ │ ├── guild_crash_logger.erl │ │ ├── otel_metrics.erl │ │ ├── process_memory_stats.erl │ │ └── process_registry.erl │ └── utils/ │ ├── backoff_utils.erl │ ├── constants.erl │ ├── custom_status_validation.erl │ ├── event_atoms.erl │ ├── list_ops.erl │ ├── map_utils.erl │ ├── snowflake_util.erl │ ├── type_conv.erl │ ├── user_utils.erl │ ├── utils.erl │ └── validation.erl ├── fluxer_integration/ │ ├── docker/ │ │ ├── compose.yaml │ │ ├── config.json │ │ └── livekit.yaml │ ├── package.json │ ├── scripts/ │ │ ├── run_integration.sh │ │ ├── server_logs.sh │ │ ├── server_start.sh │ │ └── server_stop.sh │ ├── src/ │ │ ├── Config.tsx │ │ ├── Setup.tsx │ │ ├── gateway/ │ │ │ ├── GatewayClient.tsx │ │ │ ├── GatewayConnection.test.tsx │ │ │ ├── GatewayGuildEvents.test.tsx │ │ │ ├── GatewayTypes.tsx │ │ │ └── GatewayVoiceState.test.tsx │ │ ├── globalSetup.tsx │ │ ├── globalTeardown.tsx │ │ └── helpers/ │ │ ├── AccountHelper.tsx │ │ ├── ApiClient.tsx │ │ ├── GuildHelper.tsx │ │ └── VoiceHelper.tsx │ ├── tsconfig.json │ └── vitest.config.ts ├── fluxer_marketing/ │ ├── Dockerfile │ ├── package.json │ ├── src/ │ │ ├── App.tsx │ │ ├── Config.tsx │ │ ├── HonoJsx.d.ts │ │ ├── Instrument.tsx │ │ ├── Logger.tsx │ │ └── index.tsx │ └── tsconfig.json ├── fluxer_media_proxy/ │ ├── Dockerfile │ ├── data/ │ │ └── model.onnx │ ├── package.json │ ├── src/ │ │ ├── App.tsx │ │ ├── AppMain.tsx │ │ ├── Config.tsx │ │ ├── Instrument.tsx │ │ ├── Logger.tsx │ │ ├── Metrics.tsx │ │ └── Tracing.tsx │ └── tsconfig.json ├── fluxer_relay/ │ ├── Dockerfile │ ├── config/ │ │ ├── relay.json │ │ ├── sys.config.src │ │ └── vm.args.src │ ├── rebar.config │ └── src/ │ ├── fluxer_relay.app.src │ └── relay/ │ ├── fluxer_relay_app.erl │ ├── fluxer_relay_config.erl │ ├── fluxer_relay_connection_manager.erl │ ├── fluxer_relay_env.erl │ ├── fluxer_relay_health_handler.erl │ ├── fluxer_relay_http_handler.erl │ ├── fluxer_relay_instance_discovery.erl │ ├── fluxer_relay_sup.erl │ └── fluxer_relay_ws_handler.erl ├── fluxer_relay_directory/ │ ├── Dockerfile │ ├── config/ │ │ └── directory.json │ ├── package.json │ ├── scripts/ │ │ └── GenerateOpenAPI.tsx │ ├── src/ │ │ ├── App.tsx │ │ ├── Config.tsx │ │ ├── Logger.tsx │ │ ├── controllers/ │ │ │ └── RelayController.tsx │ │ ├── database/ │ │ │ └── Database.tsx │ │ ├── index.tsx │ │ ├── middleware/ │ │ │ ├── ServiceMiddleware.tsx │ │ │ └── Validator.tsx │ │ ├── repositories/ │ │ │ └── RelayRepository.tsx │ │ └── services/ │ │ ├── GeoSelectionService.tsx │ │ ├── HealthCheckService.tsx │ │ └── RelayRegistryService.tsx │ └── tsconfig.json ├── fluxer_server/ │ ├── .dockerignore │ ├── Dockerfile │ ├── Dockerfile.dev │ ├── package.json │ ├── src/ │ │ ├── Config.tsx │ │ ├── HealthCheck.tsx │ │ ├── Instrument.tsx │ │ ├── Logger.tsx │ │ ├── Routes.tsx │ │ ├── ServiceInitializer.tsx │ │ ├── index.tsx │ │ ├── startServer.tsx │ │ └── utils/ │ │ ├── ConfigUtils.tsx │ │ ├── GatewayProcessManager.tsx │ │ └── GatewayProxy.tsx │ └── tsconfig.json ├── knip.json ├── package.json ├── packages/ │ ├── admin/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AccessControlList.tsx │ │ │ ├── AdminPackageConstants.tsx │ │ │ ├── App.tsx │ │ │ ├── HonoJsx.d.ts │ │ │ ├── Navigation.tsx │ │ │ ├── Oauth2.tsx │ │ │ ├── PublicDir.tsx │ │ │ ├── SelfHostedOverride.tsx │ │ │ ├── Session.tsx │ │ │ ├── api/ │ │ │ │ ├── AdminApiKeys.tsx │ │ │ │ ├── Archives.tsx │ │ │ │ ├── Assets.tsx │ │ │ │ ├── Audit.tsx │ │ │ │ ├── Bans.tsx │ │ │ │ ├── Bulk.tsx │ │ │ │ ├── Client.tsx │ │ │ │ ├── Codes.tsx │ │ │ │ ├── Discovery.tsx │ │ │ │ ├── Errors.tsx │ │ │ │ ├── GuildAssets.tsx │ │ │ │ ├── Guilds.tsx │ │ │ │ ├── InstanceConfig.tsx │ │ │ │ ├── JsonTypes.tsx │ │ │ │ ├── LimitConfig.tsx │ │ │ │ ├── Messages.tsx │ │ │ │ ├── Reports.tsx │ │ │ │ ├── Search.tsx │ │ │ │ ├── System.tsx │ │ │ │ ├── SystemDm.tsx │ │ │ │ ├── Users.tsx │ │ │ │ ├── VisionarySlots.tsx │ │ │ │ └── Voice.tsx │ │ │ ├── components/ │ │ │ │ ├── ErrorDisplay.tsx │ │ │ │ ├── Icons.tsx │ │ │ │ ├── Layout.tsx │ │ │ │ ├── MessageList.tsx │ │ │ │ ├── UserProfileBadges.tsx │ │ │ │ ├── VoiceComponents.tsx │ │ │ │ └── ui/ │ │ │ │ ├── Alert.tsx │ │ │ │ ├── Badge.tsx │ │ │ │ ├── Card.tsx │ │ │ │ ├── CardBody.tsx │ │ │ │ ├── CardFooter.tsx │ │ │ │ ├── CardHeader.tsx │ │ │ │ ├── Chip.tsx │ │ │ │ ├── CodeBlock.tsx │ │ │ │ ├── Container.tsx │ │ │ │ ├── EmptyState.tsx │ │ │ │ ├── Form/ │ │ │ │ │ ├── FormActions.tsx │ │ │ │ │ ├── FormCard.tsx │ │ │ │ │ ├── FormFieldGroup.tsx │ │ │ │ │ ├── FormRow.tsx │ │ │ │ │ └── FormSection.tsx │ │ │ │ ├── Grid.tsx │ │ │ │ ├── InlineStack.tsx │ │ │ │ ├── Input.tsx │ │ │ │ ├── Layout/ │ │ │ │ │ ├── Box.tsx │ │ │ │ │ ├── DetailPageLayout.tsx │ │ │ │ │ ├── Flex.tsx │ │ │ │ │ ├── FormGrid.tsx │ │ │ │ │ ├── HStack.tsx │ │ │ │ │ ├── PageContainer.tsx │ │ │ │ │ ├── PageHeader.tsx │ │ │ │ │ ├── PageLayout.tsx │ │ │ │ │ ├── SearchListPageLayout.tsx │ │ │ │ │ ├── TwoColumnGrid.tsx │ │ │ │ │ └── VStack.tsx │ │ │ │ ├── MetadataRow.tsx │ │ │ │ ├── NavLink.tsx │ │ │ │ ├── Pill.tsx │ │ │ │ ├── ResourceLink.tsx │ │ │ │ ├── Select.tsx │ │ │ │ ├── Stack.tsx │ │ │ │ ├── StatusBadge.tsx │ │ │ │ ├── Table.tsx │ │ │ │ ├── TableBody.tsx │ │ │ │ ├── TableCell.tsx │ │ │ │ ├── TableContainer.tsx │ │ │ │ ├── TableHeader.tsx │ │ │ │ ├── TableHeaderCell.tsx │ │ │ │ ├── TableRow.tsx │ │ │ │ ├── TextLink.tsx │ │ │ │ ├── Textarea.tsx │ │ │ │ └── Typography.tsx │ │ │ ├── hooks/ │ │ │ │ └── usePaginationUrl.ts │ │ │ ├── middleware/ │ │ │ │ ├── Auth.tsx │ │ │ │ ├── Csrf.tsx │ │ │ │ └── ErrorHandler.tsx │ │ │ ├── navigation/ │ │ │ │ └── NavigationTypes.tsx │ │ │ ├── pages/ │ │ │ │ ├── AdminApiKeysPage.tsx │ │ │ │ ├── ArchivesPage.tsx │ │ │ │ ├── AssetPurgePage.tsx │ │ │ │ ├── AuditLogsPage.tsx │ │ │ │ ├── BanManagementPage.tsx │ │ │ │ ├── BulkActionsPage.tsx │ │ │ │ ├── DiscoveryPage.tsx │ │ │ │ ├── GatewayPage.tsx │ │ │ │ ├── GiftCodesPage.tsx │ │ │ │ ├── GuildDetailPage.tsx │ │ │ │ ├── GuildsPage.tsx │ │ │ │ ├── InstanceConfigPage.tsx │ │ │ │ ├── LimitConfigPage.tsx │ │ │ │ ├── LoginPage.tsx │ │ │ │ ├── MessagesPage.tsx │ │ │ │ ├── ReportDetailPage.tsx │ │ │ │ ├── ReportsPage.tsx │ │ │ │ ├── SearchIndexPage.tsx │ │ │ │ ├── StrangePlacePage.tsx │ │ │ │ ├── SystemDmPage.tsx │ │ │ │ ├── UserDetailPage.tsx │ │ │ │ ├── UsersPage.tsx │ │ │ │ ├── VisionarySlotsPage.tsx │ │ │ │ ├── VoiceRegionsPage.tsx │ │ │ │ ├── VoiceServersPage.tsx │ │ │ │ ├── guild_detail/ │ │ │ │ │ ├── Forms.tsx │ │ │ │ │ └── tabs/ │ │ │ │ │ ├── EmojisTab.tsx │ │ │ │ │ ├── FeaturesTab.tsx │ │ │ │ │ ├── MembersTab.tsx │ │ │ │ │ ├── ModerationTab.tsx │ │ │ │ │ ├── OverviewTab.tsx │ │ │ │ │ ├── SettingsTab.tsx │ │ │ │ │ └── StickersTab.tsx │ │ │ │ └── user_detail/ │ │ │ │ ├── Forms.tsx │ │ │ │ └── tabs/ │ │ │ │ ├── AccountTab.tsx │ │ │ │ ├── DmHistoryTab.tsx │ │ │ │ ├── GuildsTab.tsx │ │ │ │ ├── ModerationTab.tsx │ │ │ │ └── OverviewTab.tsx │ │ │ ├── routes/ │ │ │ │ ├── Admin.tsx │ │ │ │ ├── Auth.tsx │ │ │ │ ├── Bans.tsx │ │ │ │ ├── Codes.tsx │ │ │ │ ├── Discovery.tsx │ │ │ │ ├── Guilds.tsx │ │ │ │ ├── Messages.tsx │ │ │ │ ├── Reports.tsx │ │ │ │ ├── RouteContext.tsx │ │ │ │ ├── RouteTypes.tsx │ │ │ │ ├── System.tsx │ │ │ │ ├── Users.tsx │ │ │ │ ├── VisionarySlots.tsx │ │ │ │ └── Voice.tsx │ │ │ ├── styles/ │ │ │ │ └── app.css │ │ │ ├── types/ │ │ │ │ ├── App.tsx │ │ │ │ └── Config.tsx │ │ │ └── utils/ │ │ │ ├── Bigint.tsx │ │ │ ├── ClassNames.tsx │ │ │ ├── Forms.tsx │ │ │ └── User.tsx │ │ └── tsconfig.json │ ├── api/ │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── BrandedTypes.tsx │ │ │ ├── Config.tsx │ │ │ ├── ILogger.tsx │ │ │ ├── Logger.tsx │ │ │ ├── RateLimitConfig.tsx │ │ │ ├── SearchFactory.tsx │ │ │ ├── Tables.tsx │ │ │ ├── Telemetry.tsx │ │ │ ├── Validator.tsx │ │ │ ├── ZodErrorMap.tsx │ │ │ ├── admin/ │ │ │ │ ├── AdminRepository.tsx │ │ │ │ ├── AdminService.tsx │ │ │ │ ├── IAdminRepository.tsx │ │ │ │ ├── controllers/ │ │ │ │ │ ├── AdminApiKeyAdminController.tsx │ │ │ │ │ ├── ArchiveAdminController.tsx │ │ │ │ │ ├── AssetAdminController.tsx │ │ │ │ │ ├── AuditLogAdminController.tsx │ │ │ │ │ ├── BanAdminController.tsx │ │ │ │ │ ├── BulkAdminController.tsx │ │ │ │ │ ├── ChildSafetyAdminController.tsx │ │ │ │ │ ├── CodesAdminController.tsx │ │ │ │ │ ├── DiscoveryAdminController.tsx │ │ │ │ │ ├── GatewayAdminController.tsx │ │ │ │ │ ├── GuildAdminController.tsx │ │ │ │ │ ├── InstanceConfigAdminController.tsx │ │ │ │ │ ├── LimitConfigAdminController.tsx │ │ │ │ │ ├── MessageAdminController.tsx │ │ │ │ │ ├── ReportAdminController.tsx │ │ │ │ │ ├── SearchAdminController.tsx │ │ │ │ │ ├── SnowflakeReservationAdminController.tsx │ │ │ │ │ ├── SystemDmAdminController.tsx │ │ │ │ │ ├── UserAdminController.tsx │ │ │ │ │ ├── VisionarySlotAdminController.tsx │ │ │ │ │ ├── VoiceAdminController.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── models/ │ │ │ │ │ ├── AdminArchiveModel.tsx │ │ │ │ │ ├── GuildTypes.tsx │ │ │ │ │ └── UserTypes.tsx │ │ │ │ ├── repositories/ │ │ │ │ │ ├── AdminApiKeyRepository.tsx │ │ │ │ │ ├── AdminArchiveRepository.tsx │ │ │ │ │ ├── IAdminApiKeyRepository.tsx │ │ │ │ │ └── SystemDmJobRepository.tsx │ │ │ │ ├── services/ │ │ │ │ │ ├── AdminApiKeyService.tsx │ │ │ │ │ ├── AdminArchiveService.tsx │ │ │ │ │ ├── AdminAssetPurgeService.tsx │ │ │ │ │ ├── AdminAuditService.tsx │ │ │ │ │ ├── AdminBanManagementService.tsx │ │ │ │ │ ├── AdminCodeGenerationService.tsx │ │ │ │ │ ├── AdminGuildService.tsx │ │ │ │ │ ├── AdminMessageDeletionService.tsx │ │ │ │ │ ├── AdminMessageService.tsx │ │ │ │ │ ├── AdminMessageShredService.tsx │ │ │ │ │ ├── AdminReportService.tsx │ │ │ │ │ ├── AdminSearchService.tsx │ │ │ │ │ ├── AdminSnowflakeReservationService.tsx │ │ │ │ │ ├── AdminUserBanService.tsx │ │ │ │ │ ├── AdminUserDeletionService.tsx │ │ │ │ │ ├── AdminUserLookupService.tsx │ │ │ │ │ ├── AdminUserProfileService.tsx │ │ │ │ │ ├── AdminUserSecurityService.tsx │ │ │ │ │ ├── AdminUserService.tsx │ │ │ │ │ ├── AdminUserUpdatePropagator.tsx │ │ │ │ │ ├── AdminVisionarySlotService.tsx │ │ │ │ │ ├── AdminVoiceService.tsx │ │ │ │ │ ├── SystemDmService.tsx │ │ │ │ │ └── guild/ │ │ │ │ │ ├── AdminGuildBulkService.tsx │ │ │ │ │ ├── AdminGuildLookupService.tsx │ │ │ │ │ ├── AdminGuildManagementService.tsx │ │ │ │ │ ├── AdminGuildMembershipService.tsx │ │ │ │ │ ├── AdminGuildUpdatePropagator.tsx │ │ │ │ │ ├── AdminGuildUpdateService.tsx │ │ │ │ │ └── AdminGuildVanityService.tsx │ │ │ │ └── tests/ │ │ │ │ ├── AdminApiKeyACLValidation.test.tsx │ │ │ │ ├── AdminApiKeyAuthentication.test.tsx │ │ │ │ ├── AdminApiKeyAuthorization.test.tsx │ │ │ │ ├── AdminApiKeyLifecycle.test.tsx │ │ │ │ ├── AdminApiKeyManagement.test.tsx │ │ │ │ ├── AdminApiKeyRevocation.test.tsx │ │ │ │ ├── AdminArchivesList.test.tsx │ │ │ │ ├── AdminEndpointsAuthorization.test.tsx │ │ │ │ ├── AdminOAuth2ScopeRequirement.test.tsx │ │ │ │ ├── AdminSearchEndpoints.test.tsx │ │ │ │ ├── AdminSearchFieldCoverage.test.tsx │ │ │ │ ├── AdminTestUtils.tsx │ │ │ │ ├── DiscoveryAdminOperations.test.tsx │ │ │ │ ├── SecurityAccessControl.test.tsx │ │ │ │ └── VisionarySlotManagement.test.tsx │ │ │ ├── alert/ │ │ │ │ └── AlertService.tsx │ │ │ ├── app/ │ │ │ │ ├── APILifecycle.tsx │ │ │ │ ├── ControllerRegistry.tsx │ │ │ │ └── MiddlewarePipeline.tsx │ │ │ ├── attachment/ │ │ │ │ ├── AttachmentDecayRepository.tsx │ │ │ │ └── AttachmentDecayService.tsx │ │ │ ├── auth/ │ │ │ │ ├── AuthController.tsx │ │ │ │ ├── AuthModel.tsx │ │ │ │ ├── AuthRequestService.tsx │ │ │ │ ├── AuthService.tsx │ │ │ │ ├── services/ │ │ │ │ │ ├── AuthEmailRevertService.tsx │ │ │ │ │ ├── AuthEmailService.tsx │ │ │ │ │ ├── AuthLoginService.tsx │ │ │ │ │ ├── AuthMfaService.tsx │ │ │ │ │ ├── AuthPasswordService.tsx │ │ │ │ │ ├── AuthPhoneService.tsx │ │ │ │ │ ├── AuthRegistrationService.tsx │ │ │ │ │ ├── AuthSessionService.tsx │ │ │ │ │ ├── AuthUtilityService.tsx │ │ │ │ │ ├── DesktopHandoffService.tsx │ │ │ │ │ ├── SsoService.tsx │ │ │ │ │ ├── SsoUtils.tsx │ │ │ │ │ ├── SudoModeService.tsx │ │ │ │ │ └── SudoVerificationService.tsx │ │ │ │ └── tests/ │ │ │ │ ├── AppStoreReviewerBypass.test.tsx │ │ │ │ ├── AppStoreReviewerMultiFlag.test.tsx │ │ │ │ ├── AuthSudoMFAMethods.test.tsx │ │ │ │ ├── AuthSudoPasswordVerification.test.tsx │ │ │ │ ├── AuthSudoRequiredOperations.test.tsx │ │ │ │ ├── AuthSudoTOTPVerification.test.tsx │ │ │ │ ├── AuthTestUtils.tsx │ │ │ │ ├── BouncedEmailRecoveryFlow.test.tsx │ │ │ │ ├── CaseInsensitiveEmail.test.tsx │ │ │ │ ├── ConcurrentSessions.test.tsx │ │ │ │ ├── DesktopHandoffCodeNormalization.test.tsx │ │ │ │ ├── DesktopHandoffFlow.test.tsx │ │ │ │ ├── DesktopHandoffNegative.test.tsx │ │ │ │ ├── DesktopHandoffUsage.test.tsx │ │ │ │ ├── EmailChangeFlow.test.tsx │ │ │ │ ├── EmailChangeResendCooldown.test.tsx │ │ │ │ ├── EmailRevertFlow.test.tsx │ │ │ │ ├── EmailVerificationFlow.test.tsx │ │ │ │ ├── EmailVerificationSuspiciousFlags.test.tsx │ │ │ │ ├── IPAuthBypassFlags.test.tsx │ │ │ │ ├── IPAuthFlow.test.tsx │ │ │ │ ├── IPAuthMultipleIPs.test.tsx │ │ │ │ ├── IPAuthPoll.test.tsx │ │ │ │ ├── IPAuthResend.test.tsx │ │ │ │ ├── IPAuthStream.test.tsx │ │ │ │ ├── IPAuthTicket.test.tsx │ │ │ │ ├── IPAuthTokenValidation.test.tsx │ │ │ │ ├── LoginAndSessions.test.tsx │ │ │ │ ├── LoginDisabledFlagRecovery.test.tsx │ │ │ │ ├── LoginInvalidCredentials.test.tsx │ │ │ │ ├── LoginInviteAutoJoin.test.tsx │ │ │ │ ├── LoginInviteInvalidCode.test.tsx │ │ │ │ ├── LoginSelfDeletedRecovery.test.tsx │ │ │ │ ├── MfaConsistency.test.tsx │ │ │ │ ├── MfaEndpoints.test.tsx │ │ │ │ ├── MfaSmsEnableDisable.test.tsx │ │ │ │ ├── MfaSmsLoginFlow.test.tsx │ │ │ │ ├── MfaTicketExpiryAndReuse.test.tsx │ │ │ │ ├── MfaTotpFlag.test.tsx │ │ │ │ ├── MfaTotpWithoutSecret.test.tsx │ │ │ │ ├── PasswordChange.test.tsx │ │ │ │ ├── PasswordReset.test.tsx │ │ │ │ ├── PhoneVerificationFlow.test.tsx │ │ │ │ ├── Registration.test.tsx │ │ │ │ ├── RegistrationValidation.test.tsx │ │ │ │ ├── ResetPasswordRequiresMfa.test.tsx │ │ │ │ ├── SecurityFlagsSuspiciousActivity.test.tsx │ │ │ │ ├── SettingsDefaults.test.tsx │ │ │ │ ├── SsoFlow.test.tsx │ │ │ │ ├── SudoModeNegativeCases.test.tsx │ │ │ │ ├── TokenValidation.test.tsx │ │ │ │ ├── UnclaimedAccountRestrictions.test.tsx │ │ │ │ ├── UnclaimedClaimFlow.test.tsx │ │ │ │ ├── WebAuthnAuthenticationReplay.test.tsx │ │ │ │ ├── WebAuthnAuthenticationWrongChallenge.test.tsx │ │ │ │ ├── WebAuthnCredentialDelete.test.tsx │ │ │ │ ├── WebAuthnCredentialList.test.tsx │ │ │ │ ├── WebAuthnCredentialRegister.test.tsx │ │ │ │ ├── WebAuthnCredentialRename.test.tsx │ │ │ │ ├── WebAuthnErrorLocalization.test.tsx │ │ │ │ ├── WebAuthnMfaConsistency.test.tsx │ │ │ │ ├── WebAuthnMfaLogin.test.tsx │ │ │ │ ├── WebAuthnPasswordlessLogin.test.tsx │ │ │ │ ├── WebAuthnRegistrationUserHandle.test.tsx │ │ │ │ ├── WebAuthnTestUtils.tsx │ │ │ │ └── WebAuthnUserVerificationRequired.test.tsx │ │ │ ├── bluesky/ │ │ │ │ ├── BlueskyOAuthController.tsx │ │ │ │ ├── BlueskyOAuthService.tsx │ │ │ │ ├── BlueskyOAuthStores.tsx │ │ │ │ ├── IBlueskyOAuthService.tsx │ │ │ │ └── tests/ │ │ │ │ └── BlueskyOAuth.test.tsx │ │ │ ├── bot/ │ │ │ │ └── tests/ │ │ │ │ ├── BotAuthorizeAllowsNoRedirect.test.tsx │ │ │ │ ├── BotAuthorizeWithGuildSelectionRedirects.test.tsx │ │ │ │ ├── BotTestUtils.tsx │ │ │ │ ├── BotTokenReset.test.tsx │ │ │ │ └── BotTokenResetWithMfaSudoMode.test.tsx │ │ │ ├── channel/ │ │ │ │ ├── AttachmentDTOs.tsx │ │ │ │ ├── ChannelController.tsx │ │ │ │ ├── ChannelMappers.tsx │ │ │ │ ├── ChannelRepository.tsx │ │ │ │ ├── EmbedTypes.tsx │ │ │ │ ├── IChannelRepository.tsx │ │ │ │ ├── MessageMappers.tsx │ │ │ │ ├── MessageTypes.tsx │ │ │ │ ├── controllers/ │ │ │ │ │ ├── CallController.tsx │ │ │ │ │ ├── ChannelController.tsx │ │ │ │ │ ├── MessageController.tsx │ │ │ │ │ ├── MessageInteractionController.tsx │ │ │ │ │ ├── ScheduledMessageController.tsx │ │ │ │ │ ├── ScheduledMessageParsing.tsx │ │ │ │ │ ├── StreamController.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── repositories/ │ │ │ │ │ ├── ChannelDataRepository.tsx │ │ │ │ │ ├── ChannelRepository.tsx │ │ │ │ │ ├── IChannelDataRepository.tsx │ │ │ │ │ ├── IChannelRepositoryAggregate.tsx │ │ │ │ │ ├── IMessageInteractionRepository.tsx │ │ │ │ │ ├── IMessageRepository.tsx │ │ │ │ │ ├── MessageInteractionRepository.tsx │ │ │ │ │ ├── MessageRepository.tsx │ │ │ │ │ └── message/ │ │ │ │ │ ├── BucketScanEngine.tsx │ │ │ │ │ ├── MessageAttachmentRepository.tsx │ │ │ │ │ ├── MessageAuthorRepository.tsx │ │ │ │ │ ├── MessageDataRepository.tsx │ │ │ │ │ └── MessageDeletionRepository.tsx │ │ │ │ ├── services/ │ │ │ │ │ ├── AttachmentUploadService.tsx │ │ │ │ │ ├── AuthenticatedChannel.tsx │ │ │ │ │ ├── BaseChannelAuthService.tsx │ │ │ │ │ ├── CallService.tsx │ │ │ │ │ ├── ChannelDataService.tsx │ │ │ │ │ ├── ChannelRequestService.tsx │ │ │ │ │ ├── ChannelService.tsx │ │ │ │ │ ├── DMPermissionValidator.tsx │ │ │ │ │ ├── GroupDmService.tsx │ │ │ │ │ ├── MessageInteractionService.tsx │ │ │ │ │ ├── MessageService.tsx │ │ │ │ │ ├── ScheduledMessageService.tsx │ │ │ │ │ ├── StreamPreviewService.tsx │ │ │ │ │ ├── StreamService.tsx │ │ │ │ │ ├── channel_data/ │ │ │ │ │ │ ├── ChannelAuthService.tsx │ │ │ │ │ │ ├── ChannelOperationsService.tsx │ │ │ │ │ │ ├── ChannelUtilsService.tsx │ │ │ │ │ │ └── GroupDmUpdateService.tsx │ │ │ │ │ ├── group_dm/ │ │ │ │ │ │ ├── GroupDmHelpers.tsx │ │ │ │ │ │ └── GroupDmOperationsService.tsx │ │ │ │ │ ├── interaction/ │ │ │ │ │ │ ├── MessageInteractionAuthService.tsx │ │ │ │ │ │ ├── MessageInteractionBase.tsx │ │ │ │ │ │ ├── MessagePinService.tsx │ │ │ │ │ │ ├── MessageReactionService.tsx │ │ │ │ │ │ └── MessageReadStateService.tsx │ │ │ │ │ └── message/ │ │ │ │ │ ├── AttachmentProcessingService.tsx │ │ │ │ │ ├── DmScopeUtils.tsx │ │ │ │ │ ├── MessageAnonymizationService.tsx │ │ │ │ │ ├── MessageChannelAuthService.tsx │ │ │ │ │ ├── MessageContentService.tsx │ │ │ │ │ ├── MessageDeleteService.tsx │ │ │ │ │ ├── MessageDispatchService.tsx │ │ │ │ │ ├── MessageEditService.tsx │ │ │ │ │ ├── MessageEmbedAttachmentResolver.tsx │ │ │ │ │ ├── MessageHelpers.tsx │ │ │ │ │ ├── MessageMentionService.tsx │ │ │ │ │ ├── MessageOperationsHelpers.tsx │ │ │ │ │ ├── MessageOperationsService.tsx │ │ │ │ │ ├── MessagePersistenceService.tsx │ │ │ │ │ ├── MessageProcessingService.tsx │ │ │ │ │ ├── MessageRequestParser.tsx │ │ │ │ │ ├── MessageRequestService.tsx │ │ │ │ │ ├── MessageRetrievalService.tsx │ │ │ │ │ ├── MessageSearchService.tsx │ │ │ │ │ ├── MessageSendService.tsx │ │ │ │ │ ├── MessageStickerService.tsx │ │ │ │ │ ├── MessageSystemService.tsx │ │ │ │ │ ├── MessageValidationService.tsx │ │ │ │ │ └── ReadStateHelpers.tsx │ │ │ │ └── tests/ │ │ │ │ ├── AttachmentDecay.test.tsx │ │ │ │ ├── AttachmentTestUtils.tsx │ │ │ │ ├── AttachmentUploadValidation.test.tsx │ │ │ │ ├── BulkDeleteMessages.test.tsx │ │ │ │ ├── CallEndpoints.test.tsx │ │ │ │ ├── ChannelOperationPermissions.test.tsx │ │ │ │ ├── ChannelOperationValidation.test.tsx │ │ │ │ ├── ChannelPermissionOverwrites.test.tsx │ │ │ │ ├── ChannelTestUtils.tsx │ │ │ │ ├── DMBlockingBehaviors.test.tsx │ │ │ │ ├── DMChannelManagement.test.tsx │ │ │ │ ├── DMCreationAllowedWithFriendship.test.tsx │ │ │ │ ├── DMCreationAllowedWithMutualGuild.test.tsx │ │ │ │ ├── DMCreationRequiresFriendshipOrMutualGuild.test.tsx │ │ │ │ ├── EmbedAttachmentUrlResolution.test.tsx │ │ │ │ ├── GroupDMNameUpdate.test.tsx │ │ │ │ ├── GroupDMNicknameUpdate.test.tsx │ │ │ │ ├── GroupDMSecurityBoundaries.test.tsx │ │ │ │ ├── GroupDmAddRecipientPermissions.test.tsx │ │ │ │ ├── GroupDmLimit.test.tsx │ │ │ │ ├── GroupDmManagement.test.tsx │ │ │ │ ├── GroupDmRecipientLimit.test.tsx │ │ │ │ ├── MessageCustomEmojiSanitization.test.tsx │ │ │ │ ├── ScheduledMessageTestUtils.tsx │ │ │ │ ├── ScheduledMessageTraitGated.test.tsx │ │ │ │ ├── ScheduledMessageValidation.test.tsx │ │ │ │ ├── ScheduledMessageWorkerLifecycle.test.tsx │ │ │ │ ├── ScheduledMessagesListInvalidEntry.test.tsx │ │ │ │ ├── ScheduledMessagesListLifecycle.test.tsx │ │ │ │ ├── StreamPreviewAuth.test.tsx │ │ │ │ └── TypingIndicators.test.tsx │ │ │ ├── config/ │ │ │ │ └── APIConfig.tsx │ │ │ ├── connection/ │ │ │ │ ├── ConnectionController.tsx │ │ │ │ ├── ConnectionInitiationToken.tsx │ │ │ │ ├── ConnectionMappers.tsx │ │ │ │ ├── ConnectionRepository.tsx │ │ │ │ ├── ConnectionRequestService.tsx │ │ │ │ ├── ConnectionService.tsx │ │ │ │ ├── IConnectionRepository.tsx │ │ │ │ ├── IConnectionService.tsx │ │ │ │ ├── errors/ │ │ │ │ │ ├── BlueskyOAuthAuthorizationFailedError.tsx │ │ │ │ │ ├── BlueskyOAuthCallbackFailedError.tsx │ │ │ │ │ ├── BlueskyOAuthNotEnabledError.tsx │ │ │ │ │ ├── BlueskyOAuthSessionExpiredError.tsx │ │ │ │ │ ├── BlueskyOAuthStateInvalidError.tsx │ │ │ │ │ ├── ConnectionAlreadyExistsError.tsx │ │ │ │ │ ├── ConnectionInitiationTokenInvalidError.tsx │ │ │ │ │ ├── ConnectionInvalidTypeError.tsx │ │ │ │ │ ├── ConnectionLimitReachedError.tsx │ │ │ │ │ ├── ConnectionNotFoundError.tsx │ │ │ │ │ └── ConnectionVerificationFailedError.tsx │ │ │ │ ├── tests/ │ │ │ │ │ ├── ConnectionCrud.test.tsx │ │ │ │ │ ├── ConnectionTestUtils.tsx │ │ │ │ │ └── ConnectionVerification.test.tsx │ │ │ │ └── verification/ │ │ │ │ ├── BlueskyOAuthVerifier.tsx │ │ │ │ ├── DomainConnectionVerifier.tsx │ │ │ │ └── IConnectionVerifier.tsx │ │ │ ├── constants/ │ │ │ │ ├── Channel.tsx │ │ │ │ ├── Core.tsx │ │ │ │ ├── Gateway.tsx │ │ │ │ ├── InstanceConfig.tsx │ │ │ │ ├── IpBan.tsx │ │ │ │ └── LimitConfig.tsx │ │ │ ├── csam/ │ │ │ │ ├── CsamEvidenceRetentionService.tsx │ │ │ │ ├── CsamEvidenceService.tsx │ │ │ │ ├── CsamLegalHoldService.tsx │ │ │ │ ├── CsamReportSnapshotService.tsx │ │ │ │ ├── CsamResponseService.tsx │ │ │ │ ├── CsamScanJobService.tsx │ │ │ │ ├── CsamScanQueueService.tsx │ │ │ │ ├── CsamTypes.tsx │ │ │ │ ├── ICsamEvidenceService.tsx │ │ │ │ ├── ICsamReportSnapshotService.tsx │ │ │ │ ├── ISynchronousCsamScanner.tsx │ │ │ │ ├── NcmecReporter.tsx │ │ │ │ ├── NcmecSubmissionService.tsx │ │ │ │ ├── PhotoDnaHashClient.tsx │ │ │ │ ├── PhotoDnaMatchService.tsx │ │ │ │ ├── SynchronousCsamScanner.tsx │ │ │ │ ├── providers/ │ │ │ │ │ ├── ArachnidShieldProvider.tsx │ │ │ │ │ ├── CsamProviderFactory.tsx │ │ │ │ │ ├── ICsamScanProvider.tsx │ │ │ │ │ ├── PhotoDnaProvider.tsx │ │ │ │ │ └── tests/ │ │ │ │ │ ├── ArachnidShieldProvider.test.tsx │ │ │ │ │ └── PhotoDnaProvider.test.tsx │ │ │ │ └── tests/ │ │ │ │ ├── CsamBlockingBehavior.test.tsx │ │ │ │ ├── CsamEvidenceRetentionService.test.tsx │ │ │ │ ├── CsamLegalHoldExpiry.test.tsx │ │ │ │ ├── CsamLegalHoldService.test.tsx │ │ │ │ ├── CsamReportSnapshotService.test.tsx │ │ │ │ ├── CsamScanQueueService.test.tsx │ │ │ │ ├── CsamTestUtils.tsx │ │ │ │ ├── NcmecReporter.test.tsx │ │ │ │ ├── NcmecSubmissionService.test.tsx │ │ │ │ └── SynchronousCsamScanner.test.tsx │ │ │ ├── database/ │ │ │ │ ├── Cassandra.tsx │ │ │ │ ├── SqliteKV.tsx │ │ │ │ └── types/ │ │ │ │ ├── AdminArchiveTypes.tsx │ │ │ │ ├── AdminAuthTypes.tsx │ │ │ │ ├── AuthTypes.tsx │ │ │ │ ├── ChannelTypes.tsx │ │ │ │ ├── ConnectionTypes.tsx │ │ │ │ ├── CsamTypes.tsx │ │ │ │ ├── DatabaseRowTypes.tsx │ │ │ │ ├── DonationTypes.tsx │ │ │ │ ├── GuildDiscoveryTypes.tsx │ │ │ │ ├── GuildTypes.tsx │ │ │ │ ├── InstanceConfigTypes.tsx │ │ │ │ ├── MessageTypes.tsx │ │ │ │ ├── OAuth2Types.tsx │ │ │ │ ├── PaymentTypes.tsx │ │ │ │ ├── ReportTypes.tsx │ │ │ │ ├── SystemDmJobTypes.tsx │ │ │ │ ├── UserTypes.tsx │ │ │ │ └── VoiceTypes.tsx │ │ │ ├── donation/ │ │ │ │ ├── DonationController.tsx │ │ │ │ ├── DonationRepository.tsx │ │ │ │ ├── DonationService.tsx │ │ │ │ ├── DonationTables.tsx │ │ │ │ ├── IDonationRepository.tsx │ │ │ │ ├── IDonationService.tsx │ │ │ │ ├── models/ │ │ │ │ │ ├── Donor.tsx │ │ │ │ │ └── DonorMagicLinkToken.tsx │ │ │ │ ├── services/ │ │ │ │ │ ├── DonationCheckoutService.tsx │ │ │ │ │ └── DonationMagicLinkService.tsx │ │ │ │ └── tests/ │ │ │ │ ├── DonationCheckout.test.tsx │ │ │ │ ├── DonationManage.test.tsx │ │ │ │ ├── DonationRequestLink.test.tsx │ │ │ │ └── DonationTestUtils.tsx │ │ │ ├── download/ │ │ │ │ ├── DownloadController.tsx │ │ │ │ ├── DownloadService.tsx │ │ │ │ └── tests/ │ │ │ │ └── DownloadService.test.tsx │ │ │ ├── email/ │ │ │ │ └── EmailProviderFactory.tsx │ │ │ ├── emoji/ │ │ │ │ └── tests/ │ │ │ │ ├── EmojiBulkCreate.test.tsx │ │ │ │ ├── EmojiNameValidation.test.tsx │ │ │ │ ├── EmojiPermissions.test.tsx │ │ │ │ ├── EmojiReactions.test.tsx │ │ │ │ ├── EmojiTestUtils.tsx │ │ │ │ ├── EmojiUploadValidPng.test.tsx │ │ │ │ ├── EmojiUploadValidation.test.tsx │ │ │ │ ├── StickerPermissions.test.tsx │ │ │ │ ├── StickerUploadValidation.test.tsx │ │ │ │ └── TypingIndicatorsPermissions.test.tsx │ │ │ ├── favorite_meme/ │ │ │ │ ├── FavoriteMemeController.tsx │ │ │ │ ├── FavoriteMemeModel.tsx │ │ │ │ ├── FavoriteMemeRepository.tsx │ │ │ │ ├── FavoriteMemeRequestService.tsx │ │ │ │ ├── FavoriteMemeService.tsx │ │ │ │ ├── IFavoriteMemeRepository.tsx │ │ │ │ └── tests/ │ │ │ │ └── FavoriteMemeExtended.test.tsx │ │ │ ├── federation/ │ │ │ │ ├── EncryptionMiddleware.tsx │ │ │ │ ├── KeyManager.tsx │ │ │ │ └── tests/ │ │ │ │ ├── EncryptionMiddleware.test.tsx │ │ │ │ └── KeyManager.test.tsx │ │ │ ├── gateway/ │ │ │ │ ├── GatewayController.tsx │ │ │ │ ├── GatewayRequestService.tsx │ │ │ │ └── tests/ │ │ │ │ └── GatewayRpcService.test.tsx │ │ │ ├── guild/ │ │ │ │ ├── GuildAuditLogService.tsx │ │ │ │ ├── GuildAuditLogTypes.tsx │ │ │ │ ├── GuildController.tsx │ │ │ │ ├── GuildFeatureUtils.tsx │ │ │ │ ├── GuildMemberLimitUtils.tsx │ │ │ │ ├── GuildModel.tsx │ │ │ │ ├── controllers/ │ │ │ │ │ ├── GuildAuditLogController.tsx │ │ │ │ │ ├── GuildBaseController.tsx │ │ │ │ │ ├── GuildChannelController.tsx │ │ │ │ │ ├── GuildDiscoveryController.tsx │ │ │ │ │ ├── GuildEmojiController.tsx │ │ │ │ │ ├── GuildMemberController.tsx │ │ │ │ │ ├── GuildMemberSearchController.tsx │ │ │ │ │ ├── GuildRoleController.tsx │ │ │ │ │ ├── GuildStickerController.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── repositories/ │ │ │ │ │ ├── GuildContentRepository.tsx │ │ │ │ │ ├── GuildDataRepository.tsx │ │ │ │ │ ├── GuildDiscoveryRepository.tsx │ │ │ │ │ ├── GuildMemberRepository.tsx │ │ │ │ │ ├── GuildModerationRepository.tsx │ │ │ │ │ ├── GuildRepository.tsx │ │ │ │ │ ├── GuildRoleRepository.tsx │ │ │ │ │ ├── IGuildContentRepository.tsx │ │ │ │ │ ├── IGuildDataRepository.tsx │ │ │ │ │ ├── IGuildMemberRepository.tsx │ │ │ │ │ ├── IGuildModerationRepository.tsx │ │ │ │ │ ├── IGuildRepositoryAggregate.tsx │ │ │ │ │ └── IGuildRoleRepository.tsx │ │ │ │ ├── services/ │ │ │ │ │ ├── GuildChannelService.tsx │ │ │ │ │ ├── GuildContentService.tsx │ │ │ │ │ ├── GuildDataService.tsx │ │ │ │ │ ├── GuildDiscoveryService.tsx │ │ │ │ │ ├── GuildMemberService.tsx │ │ │ │ │ ├── GuildModerationService.tsx │ │ │ │ │ ├── GuildRoleService.tsx │ │ │ │ │ ├── GuildSearchService.tsx │ │ │ │ │ ├── GuildService.tsx │ │ │ │ │ ├── channel/ │ │ │ │ │ │ ├── ChannelHelpers.tsx │ │ │ │ │ │ └── ChannelOperationsService.tsx │ │ │ │ │ ├── content/ │ │ │ │ │ │ ├── ContentHelpers.tsx │ │ │ │ │ │ ├── EmojiService.tsx │ │ │ │ │ │ ├── ExpressionAssetPurger.tsx │ │ │ │ │ │ └── StickerService.tsx │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── GuildDataHelpers.tsx │ │ │ │ │ │ ├── GuildOperationsService.tsx │ │ │ │ │ │ ├── GuildOwnershipService.tsx │ │ │ │ │ │ └── GuildVanityService.tsx │ │ │ │ │ └── member/ │ │ │ │ │ ├── GuildMemberAuditService.tsx │ │ │ │ │ ├── GuildMemberAuthService.tsx │ │ │ │ │ ├── GuildMemberEventService.tsx │ │ │ │ │ ├── GuildMemberOperationsService.tsx │ │ │ │ │ ├── GuildMemberRoleService.tsx │ │ │ │ │ ├── GuildMemberSearchIndexService.tsx │ │ │ │ │ └── GuildMemberValidationService.tsx │ │ │ │ └── tests/ │ │ │ │ ├── DiscoveryApplicationLifecycle.test.tsx │ │ │ │ ├── DiscoveryApplicationValidation.test.tsx │ │ │ │ ├── DiscoverySearchAndJoin.test.tsx │ │ │ │ ├── GuildAssetUpload.test.tsx │ │ │ │ ├── GuildAuditLogs.test.tsx │ │ │ │ ├── GuildChannelManagement.test.tsx │ │ │ │ ├── GuildChannelPositions.test.tsx │ │ │ │ ├── GuildFeatures.test.tsx │ │ │ │ ├── GuildFolderOperations.test.tsx │ │ │ │ ├── GuildMemberManagement.test.tsx │ │ │ │ ├── GuildMfaLevel.test.tsx │ │ │ │ ├── GuildOperationPermissions.test.tsx │ │ │ │ ├── GuildOperationValidation.test.tsx │ │ │ │ ├── GuildOwnershipTransfer.test.tsx │ │ │ │ ├── GuildRoleManagement.test.tsx │ │ │ │ ├── GuildRoleOperations.test.tsx │ │ │ │ ├── GuildRoleReorder.test.tsx │ │ │ │ ├── GuildTestUtils.tsx │ │ │ │ ├── GuildUnavailableFeatureAccess.test.tsx │ │ │ │ ├── InvitePermissions.test.tsx │ │ │ │ ├── InviteSecurity.test.tsx │ │ │ │ ├── InviteValidation.test.tsx │ │ │ │ ├── RoleHierarchyEnforcement.test.tsx │ │ │ │ └── RolePermissionAssignmentHierarchy.test.tsx │ │ │ ├── infrastructure/ │ │ │ │ ├── AssetDeletionQueue.tsx │ │ │ │ ├── AvatarService.tsx │ │ │ │ ├── ClamAV.tsx │ │ │ │ ├── CloudflarePurgeQueue.tsx │ │ │ │ ├── DirectMediaService.tsx │ │ │ │ ├── DirectS3ExpirationManager.tsx │ │ │ │ ├── DirectS3ExpirationStore.tsx │ │ │ │ ├── DirectS3StorageService.tsx │ │ │ │ ├── DisabledLiveKitService.tsx │ │ │ │ ├── DisabledVirusScanService.tsx │ │ │ │ ├── DiscriminatorService.tsx │ │ │ │ ├── ElasticsearchSearchProvider.tsx │ │ │ │ ├── EmailDnsValidationService.tsx │ │ │ │ ├── EmbedService.tsx │ │ │ │ ├── EntityAssetService.tsx │ │ │ │ ├── ErrorI18nService.tsx │ │ │ │ ├── GatewayRpcClient.tsx │ │ │ │ ├── GatewayRpcError.tsx │ │ │ │ ├── GatewayService.tsx │ │ │ │ ├── IAssetDeletionQueue.tsx │ │ │ │ ├── IEmailDnsValidationService.tsx │ │ │ │ ├── IGatewayRpcTransport.tsx │ │ │ │ ├── IGatewayService.tsx │ │ │ │ ├── IKlipyService.tsx │ │ │ │ ├── ILiveKitService.tsx │ │ │ │ ├── IMediaService.tsx │ │ │ │ ├── IMetricsService.tsx │ │ │ │ ├── ISnowflakeService.tsx │ │ │ │ ├── IStorageService.tsx │ │ │ │ ├── ITenorService.tsx │ │ │ │ ├── IUnfurlerService.tsx │ │ │ │ ├── IVoiceRoomStore.tsx │ │ │ │ ├── InMemoryVoiceRoomStore.tsx │ │ │ │ ├── KVAccountDeletionQueueService.tsx │ │ │ │ ├── KVActivityTracker.tsx │ │ │ │ ├── KVBulkMessageDeletionQueueService.tsx │ │ │ │ ├── LiveKitService.tsx │ │ │ │ ├── LiveKitWebhookService.tsx │ │ │ │ ├── MediaService.tsx │ │ │ │ ├── MeilisearchSearchProvider.tsx │ │ │ │ ├── MetricsService.tsx │ │ │ │ ├── NatsGatewayRpcTransport.tsx │ │ │ │ ├── NullSearchProvider.tsx │ │ │ │ ├── SnowflakeService.tsx │ │ │ │ ├── StorageObjectHelpers.tsx │ │ │ │ ├── StorageService.tsx │ │ │ │ ├── StorageServiceFactory.tsx │ │ │ │ ├── UnfurlerService.tsx │ │ │ │ ├── UserCacheService.tsx │ │ │ │ ├── VirusScanService.tsx │ │ │ │ ├── VoiceRoomContext.tsx │ │ │ │ ├── VoiceRoomStore.tsx │ │ │ │ ├── error_i18n/ │ │ │ │ │ └── index.tsx │ │ │ │ └── tests/ │ │ │ │ └── EmailDnsValidationService.test.tsx │ │ │ ├── instance/ │ │ │ │ ├── InstanceConfigRepository.tsx │ │ │ │ ├── InstanceController.tsx │ │ │ │ ├── SnowflakeReservationRepository.tsx │ │ │ │ └── SnowflakeReservationService.tsx │ │ │ ├── invite/ │ │ │ │ ├── IInviteRepository.tsx │ │ │ │ ├── InviteController.tsx │ │ │ │ ├── InviteModel.tsx │ │ │ │ ├── InviteRepository.tsx │ │ │ │ ├── InviteRequestService.tsx │ │ │ │ ├── InviteService.tsx │ │ │ │ └── tests/ │ │ │ │ ├── GroupDMInviteRecipientsSerialization.test.tsx │ │ │ │ ├── InviteGuildMemberLimit.test.tsx │ │ │ │ ├── InvitePermissions.test.tsx │ │ │ │ ├── InviteSecurityChecks.test.tsx │ │ │ │ ├── InviteTestUtils.tsx │ │ │ │ └── InviteValidation.test.tsx │ │ │ ├── klipy/ │ │ │ │ ├── KlipyController.tsx │ │ │ │ └── KlipyService.tsx │ │ │ ├── limits/ │ │ │ │ ├── LimitConfigService.tsx │ │ │ │ ├── LimitConfigUtils.tsx │ │ │ │ ├── LimitMatchContextBuilder.tsx │ │ │ │ └── tests/ │ │ │ │ ├── LimitConfigDefaults.test.tsx │ │ │ │ └── LimitWireFormat.test.tsx │ │ │ ├── message/ │ │ │ │ └── tests/ │ │ │ │ ├── AllowedMentions.test.tsx │ │ │ │ ├── MessageAck.test.tsx │ │ │ │ ├── MessageAttachmentDeleteLastAttachmentEmptyMessage.test.tsx │ │ │ │ ├── MessageAttachmentUploadAuthorTypes.test.tsx │ │ │ │ ├── MessageEditAddNewAttachmentWithEmbed.test.tsx │ │ │ │ ├── MessageEditAttachmentDescription.test.tsx │ │ │ │ ├── MessageEditAttachmentsReplaced.test.tsx │ │ │ │ ├── MessageEditEmbedReferenceMissingAttachment.test.tsx │ │ │ │ ├── MessageEditValidation.test.tsx │ │ │ │ ├── MessageEditWithEmbedAttachmentUrl.test.tsx │ │ │ │ ├── MessageFetch.test.tsx │ │ │ │ ├── MessageFetchBeforeSingleBucket.test.tsx │ │ │ │ ├── MessageFetchEmptyChannel.test.tsx │ │ │ │ ├── MessageFetchPaginationNoDuplicates.test.tsx │ │ │ │ ├── MessageForwardingAccessControl.test.tsx │ │ │ │ ├── MessageForwardingBetweenChannels.test.tsx │ │ │ │ ├── MessageForwardingInGuildChannels.test.tsx │ │ │ │ ├── MessageForwardingPermissions.test.tsx │ │ │ │ ├── MessageForwardingSuppressedEmbeds.test.tsx │ │ │ │ ├── MessageForwardingValidationErrorsContent.test.tsx │ │ │ │ ├── MessageForwardingValidationErrorsGuildMismatch.test.tsx │ │ │ │ ├── MessageHistoryCutoff.test.tsx │ │ │ │ ├── MessageOperationValidation.test.tsx │ │ │ │ ├── MessagePermissions.test.tsx │ │ │ │ ├── MessagePins.test.tsx │ │ │ │ ├── MessageReactionOperations.test.tsx │ │ │ │ ├── MessageReactionPermissions.test.tsx │ │ │ │ ├── MessageReactionValidation.test.tsx │ │ │ │ ├── MessageShred.test.tsx │ │ │ │ ├── MessageState.test.tsx │ │ │ │ ├── MessageStickerDMPremium.test.tsx │ │ │ │ ├── MessageSuppressNotificationsFlag.test.tsx │ │ │ │ ├── MessageTestUtils.tsx │ │ │ │ └── VoiceMessageValidation.test.tsx │ │ │ ├── middleware/ │ │ │ │ ├── AdminMiddleware.tsx │ │ │ │ ├── AuditLogMiddleware.tsx │ │ │ │ ├── AuthMiddleware.tsx │ │ │ │ ├── BlockAppOriginMiddleware.tsx │ │ │ │ ├── CaptchaMiddleware.tsx │ │ │ │ ├── ConcurrencyLimitMiddleware.tsx │ │ │ │ ├── GuildAvailabilityMiddleware.tsx │ │ │ │ ├── IpBanMiddleware.tsx │ │ │ │ ├── LocalAuthMiddleware.tsx │ │ │ │ ├── LocaleMiddleware.tsx │ │ │ │ ├── MetricsMiddleware.tsx │ │ │ │ ├── OAuth2ScopeMiddleware.tsx │ │ │ │ ├── RateLimitMiddleware.tsx │ │ │ │ ├── RequestCacheMiddleware.tsx │ │ │ │ ├── RequireXForwardedForMiddleware.tsx │ │ │ │ ├── ResponseTypeMiddleware.tsx │ │ │ │ ├── ServiceMiddleware.tsx │ │ │ │ ├── ServiceRegistry.tsx │ │ │ │ ├── SudoModeMiddleware.tsx │ │ │ │ ├── UserMiddleware.tsx │ │ │ │ └── tests/ │ │ │ │ ├── GlobalRateLimitRevokesSession.test.tsx │ │ │ │ └── IpBanMiddleware.test.tsx │ │ │ ├── models/ │ │ │ │ ├── AdminApiKey.tsx │ │ │ │ ├── Application.tsx │ │ │ │ ├── Attachment.tsx │ │ │ │ ├── AuthSession.tsx │ │ │ │ ├── CallInfo.tsx │ │ │ │ ├── Channel.tsx │ │ │ │ ├── ChannelPermissionOverwrite.tsx │ │ │ │ ├── EmailRevertToken.tsx │ │ │ │ ├── EmailVerificationToken.tsx │ │ │ │ ├── Embed.tsx │ │ │ │ ├── EmbedAuthor.tsx │ │ │ │ ├── EmbedField.tsx │ │ │ │ ├── EmbedFooter.tsx │ │ │ │ ├── EmbedMedia.tsx │ │ │ │ ├── EmbedProvider.tsx │ │ │ │ ├── ExpressionPack.tsx │ │ │ │ ├── FavoriteMeme.tsx │ │ │ │ ├── GiftCode.tsx │ │ │ │ ├── Guild.tsx │ │ │ │ ├── GuildAuditLog.tsx │ │ │ │ ├── GuildBan.tsx │ │ │ │ ├── GuildChannelOverride.tsx │ │ │ │ ├── GuildEmoji.tsx │ │ │ │ ├── GuildMember.tsx │ │ │ │ ├── GuildRole.tsx │ │ │ │ ├── GuildSticker.tsx │ │ │ │ ├── Invite.tsx │ │ │ │ ├── Message.tsx │ │ │ │ ├── MessageReaction.tsx │ │ │ │ ├── MessageRef.tsx │ │ │ │ ├── MessageSnapshot.tsx │ │ │ │ ├── MfaBackupCode.tsx │ │ │ │ ├── MuteConfiguration.tsx │ │ │ │ ├── OAuth2AccessToken.tsx │ │ │ │ ├── OAuth2AuthorizationCode.tsx │ │ │ │ ├── OAuth2RefreshToken.tsx │ │ │ │ ├── PasswordResetToken.tsx │ │ │ │ ├── Payment.tsx │ │ │ │ ├── PushSubscription.tsx │ │ │ │ ├── ReadState.tsx │ │ │ │ ├── RecentMention.tsx │ │ │ │ ├── Relationship.tsx │ │ │ │ ├── SavedMessage.tsx │ │ │ │ ├── ScheduledMessage.tsx │ │ │ │ ├── StickerItem.tsx │ │ │ │ ├── User.tsx │ │ │ │ ├── UserCustomStatus.tsx │ │ │ │ ├── UserGuildFolder.tsx │ │ │ │ ├── UserGuildSettings.tsx │ │ │ │ ├── UserNote.tsx │ │ │ │ ├── UserSettings.tsx │ │ │ │ ├── VisionarySlot.tsx │ │ │ │ ├── WebAuthnCredential.tsx │ │ │ │ ├── Webhook.tsx │ │ │ │ └── tests/ │ │ │ │ └── EmbedIconUrlSanitization.test.tsx │ │ │ ├── moderation/ │ │ │ │ └── tests/ │ │ │ │ ├── BannedUserRestrictions.test.tsx │ │ │ │ ├── BlockedUserCannotInteract.test.tsx │ │ │ │ ├── ModerationTestUtils.tsx │ │ │ │ └── TimeoutModerationGuards.test.tsx │ │ │ ├── oauth/ │ │ │ │ ├── ApplicationMessageAuthorAnonymization.tsx │ │ │ │ ├── ApplicationService.tsx │ │ │ │ ├── BotAuthService.tsx │ │ │ │ ├── BotMfaMirrorService.tsx │ │ │ │ ├── OAuth2ApplicationsController.tsx │ │ │ │ ├── OAuth2ApplicationsRequestService.tsx │ │ │ │ ├── OAuth2Controller.tsx │ │ │ │ ├── OAuth2Mappers.tsx │ │ │ │ ├── OAuth2RedirectURI.tsx │ │ │ │ ├── OAuth2RequestService.tsx │ │ │ │ ├── OAuth2Service.tsx │ │ │ │ ├── OAuth2Types.tsx │ │ │ │ ├── repositories/ │ │ │ │ │ ├── ApplicationRepository.tsx │ │ │ │ │ ├── IApplicationRepository.tsx │ │ │ │ │ ├── IOAuth2TokenRepository.tsx │ │ │ │ │ └── OAuth2TokenRepository.tsx │ │ │ │ ├── tests/ │ │ │ │ │ ├── OAuth2ApplicationCreate.test.tsx │ │ │ │ │ ├── OAuth2ApplicationDelete.test.tsx │ │ │ │ │ ├── OAuth2ApplicationGet.test.tsx │ │ │ │ │ ├── OAuth2ApplicationList.test.tsx │ │ │ │ │ ├── OAuth2ApplicationUpdate.test.tsx │ │ │ │ │ ├── OAuth2AuthorizationsDeauthorize.test.tsx │ │ │ │ │ ├── OAuth2AuthorizationsList.test.tsx │ │ │ │ │ ├── OAuth2AuthorizationsRequiresAuth.test.tsx │ │ │ │ │ ├── OAuth2AuthorizeCodeFlow.test.tsx │ │ │ │ │ ├── OAuth2AuthorizeRedirectURI.test.tsx │ │ │ │ │ ├── OAuth2AuthorizeStateParameter.test.tsx │ │ │ │ │ ├── OAuth2BotGuildAdd.test.tsx │ │ │ │ │ ├── OAuth2BotToken.test.tsx │ │ │ │ │ ├── OAuth2ClientSecret.test.tsx │ │ │ │ │ ├── OAuth2CodeReplay.test.tsx │ │ │ │ │ ├── OAuth2ScopeEnforcement.test.tsx │ │ │ │ │ ├── OAuth2ScopeMiddleware.test.tsx │ │ │ │ │ ├── OAuth2ScopeValidation.test.tsx │ │ │ │ │ ├── OAuth2Scopes.test.tsx │ │ │ │ │ ├── OAuth2TestUtils.tsx │ │ │ │ │ ├── OAuth2TokenExchange.test.tsx │ │ │ │ │ ├── OAuth2TokenExpiration.test.tsx │ │ │ │ │ ├── OAuth2TokenIntrospection.test.tsx │ │ │ │ │ ├── OAuth2TokenRefresh.test.tsx │ │ │ │ │ ├── OAuth2TokenRevocation.test.tsx │ │ │ │ │ └── OAuthTestUtils.tsx │ │ │ │ └── utils/ │ │ │ │ └── ParseClientCredentials.tsx │ │ │ ├── oauth2/ │ │ │ │ └── tests/ │ │ │ │ ├── OAuth2ApplicationOperations.test.tsx │ │ │ │ ├── OAuth2AuthorizationFlow.test.tsx │ │ │ │ ├── OAuth2BotOperations.test.tsx │ │ │ │ ├── OAuth2Me.test.tsx │ │ │ │ └── OAuth2TokenRevoke.test.tsx │ │ │ ├── pack/ │ │ │ │ ├── PackExpressionAccessResolver.tsx │ │ │ │ ├── PackModel.tsx │ │ │ │ ├── PackRepository.tsx │ │ │ │ ├── PackRequestService.tsx │ │ │ │ ├── PackService.tsx │ │ │ │ ├── controllers/ │ │ │ │ │ ├── PackController.tsx │ │ │ │ │ ├── PackEmojiController.tsx │ │ │ │ │ ├── PackStickerController.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── tests/ │ │ │ │ ├── PackInviteFlow.test.tsx │ │ │ │ ├── PackPremiumRequirements.test.tsx │ │ │ │ └── PackTestUtils.tsx │ │ │ ├── rate_limit_configs/ │ │ │ │ ├── AdminRateLimitConfig.tsx │ │ │ │ ├── AuthRateLimitConfig.tsx │ │ │ │ ├── ChannelRateLimitConfig.tsx │ │ │ │ ├── ConnectionRateLimitConfig.tsx │ │ │ │ ├── DiscoveryRateLimitConfig.tsx │ │ │ │ ├── DonationRateLimitConfig.tsx │ │ │ │ ├── GuildRateLimitConfig.tsx │ │ │ │ ├── IntegrationRateLimitConfig.tsx │ │ │ │ ├── InviteRateLimitConfig.tsx │ │ │ │ ├── MiscRateLimitConfig.tsx │ │ │ │ ├── OAuthRateLimitConfig.tsx │ │ │ │ ├── PackRateLimitConfig.tsx │ │ │ │ ├── RateLimitHelpers.tsx │ │ │ │ ├── UserRateLimitConfig.tsx │ │ │ │ └── WebhookRateLimitConfig.tsx │ │ │ ├── read_state/ │ │ │ │ ├── IReadStateRepository.tsx │ │ │ │ ├── ReadStateController.tsx │ │ │ │ ├── ReadStateRepository.tsx │ │ │ │ ├── ReadStateRequestService.tsx │ │ │ │ └── ReadStateService.tsx │ │ │ ├── report/ │ │ │ │ ├── IReportRepository.tsx │ │ │ │ ├── ReportController.tsx │ │ │ │ ├── ReportRepository.tsx │ │ │ │ ├── ReportRequestService.tsx │ │ │ │ ├── ReportService.tsx │ │ │ │ └── tests/ │ │ │ │ └── ContentReporting.test.tsx │ │ │ ├── rpc/ │ │ │ │ ├── NatsApiRpcListener.tsx │ │ │ │ ├── RpcService.tsx │ │ │ │ └── tests/ │ │ │ │ └── RpcGuildMemberCountRepair.test.tsx │ │ │ ├── search/ │ │ │ │ ├── BuildMessageSearchFilters.tsx │ │ │ │ ├── ChannelIndexingUtils.tsx │ │ │ │ ├── GlobalSearchService.tsx │ │ │ │ ├── IAuditLogSearchService.tsx │ │ │ │ ├── IGuildMemberSearchService.tsx │ │ │ │ ├── IGuildSearchService.tsx │ │ │ │ ├── IMessageSearchService.tsx │ │ │ │ ├── IReportSearchService.tsx │ │ │ │ ├── ISearchProvider.tsx │ │ │ │ ├── IUserSearchService.tsx │ │ │ │ ├── MessageSearchResponseMapper.tsx │ │ │ │ ├── SearchConstants.tsx │ │ │ │ ├── SearchService.tsx │ │ │ │ ├── SearchTaskTracker.tsx │ │ │ │ ├── SearchWarmup.tsx │ │ │ │ ├── auditlog/ │ │ │ │ │ └── AuditLogSearchSerializer.tsx │ │ │ │ ├── controllers/ │ │ │ │ │ └── SearchController.tsx │ │ │ │ ├── elasticsearch/ │ │ │ │ │ ├── ElasticsearchAuditLogSearchService.tsx │ │ │ │ │ ├── ElasticsearchGuildMemberSearchService.tsx │ │ │ │ │ ├── ElasticsearchGuildSearchService.tsx │ │ │ │ │ ├── ElasticsearchMessageSearchService.tsx │ │ │ │ │ ├── ElasticsearchReportSearchService.tsx │ │ │ │ │ ├── ElasticsearchSearchServiceBase.tsx │ │ │ │ │ └── ElasticsearchUserSearchService.tsx │ │ │ │ ├── guild/ │ │ │ │ │ └── GuildSearchSerializer.tsx │ │ │ │ ├── guild_member/ │ │ │ │ │ └── GuildMemberSearchSerializer.tsx │ │ │ │ ├── meilisearch/ │ │ │ │ │ ├── MeilisearchAuditLogSearchService.tsx │ │ │ │ │ ├── MeilisearchGuildMemberSearchService.tsx │ │ │ │ │ ├── MeilisearchGuildSearchService.tsx │ │ │ │ │ ├── MeilisearchMessageSearchService.tsx │ │ │ │ │ ├── MeilisearchReportSearchService.tsx │ │ │ │ │ ├── MeilisearchSearchServiceBase.tsx │ │ │ │ │ └── MeilisearchUserSearchService.tsx │ │ │ │ ├── message/ │ │ │ │ │ ├── MessageSearchSerializer.tsx │ │ │ │ │ └── tests/ │ │ │ │ │ └── MessageSearchSerializer.test.tsx │ │ │ │ ├── report/ │ │ │ │ │ └── ReportSearchSerializer.tsx │ │ │ │ ├── tests/ │ │ │ │ │ ├── GuildMemberSearchEndpoint.test.tsx │ │ │ │ │ ├── MessageSearchEndpoint.test.tsx │ │ │ │ │ ├── MessageSearchExactPhrase.test.tsx │ │ │ │ │ ├── MessageSearchFilters.test.tsx │ │ │ │ │ ├── MessageSearchPermissions.test.tsx │ │ │ │ │ └── MessageSearchSorting.test.tsx │ │ │ │ └── user/ │ │ │ │ └── UserSearchSerializer.tsx │ │ │ ├── sticker/ │ │ │ │ └── tests/ │ │ │ │ └── StickerUploadValidation.test.tsx │ │ │ ├── stripe/ │ │ │ │ ├── ProductRegistry.tsx │ │ │ │ ├── StripeController.tsx │ │ │ │ ├── StripeModel.tsx │ │ │ │ ├── StripeService.tsx │ │ │ │ ├── StripeSubscriptionPeriod.tsx │ │ │ │ ├── StripeUtils.tsx │ │ │ │ ├── VisionarySlotInitializer.tsx │ │ │ │ ├── services/ │ │ │ │ │ ├── StripeCheckoutService.tsx │ │ │ │ │ ├── StripeGiftService.tsx │ │ │ │ │ ├── StripePremiumService.tsx │ │ │ │ │ ├── StripeSubscriptionService.tsx │ │ │ │ │ └── StripeWebhookService.tsx │ │ │ │ └── tests/ │ │ │ │ ├── StripeCheckoutService.test.tsx │ │ │ │ ├── StripeGiftService.test.tsx │ │ │ │ ├── StripePremiumService.test.tsx │ │ │ │ ├── StripeSubscriptionService.test.tsx │ │ │ │ ├── StripeUtils.test.tsx │ │ │ │ ├── StripeWebhookCheckout.test.tsx │ │ │ │ ├── StripeWebhookCore.test.tsx │ │ │ │ ├── StripeWebhookDispute.test.tsx │ │ │ │ ├── StripeWebhookEdgeCases.test.tsx │ │ │ │ ├── StripeWebhookIdempotency.test.tsx │ │ │ │ ├── StripeWebhookInvoice.test.tsx │ │ │ │ ├── StripeWebhookRefund.test.tsx │ │ │ │ ├── StripeWebhookSubscription.test.tsx │ │ │ │ └── StripeWebhookTestUtils.tsx │ │ │ ├── system_dm/ │ │ │ │ └── TargetFinder.tsx │ │ │ ├── telemetry/ │ │ │ │ ├── BusinessSpans.tsx │ │ │ │ ├── CsamTelemetry.tsx │ │ │ │ ├── MessageTelemetry.tsx │ │ │ │ └── Tracing.tsx │ │ │ ├── tenor/ │ │ │ │ ├── TenorController.tsx │ │ │ │ └── TenorService.tsx │ │ │ ├── test/ │ │ │ │ ├── ApiTestHarness.tsx │ │ │ │ ├── NoopGatewayService.tsx │ │ │ │ ├── NoopWorkerService.tsx │ │ │ │ ├── Setup.tsx │ │ │ │ ├── TestConstants.tsx │ │ │ │ ├── TestHarnessController.tsx │ │ │ │ ├── TestHarnessReset.tsx │ │ │ │ ├── TestMediaService.tsx │ │ │ │ ├── TestRequestBuilder.tsx │ │ │ │ ├── TestS3Service.tsx │ │ │ │ ├── fixtures/ │ │ │ │ │ └── ncmec/ │ │ │ │ │ └── NcmecXmlFixtures.tsx │ │ │ │ ├── meilisearch/ │ │ │ │ │ └── MeilisearchTestServer.tsx │ │ │ │ ├── mocks/ │ │ │ │ │ ├── MockAssetDeletionQueue.tsx │ │ │ │ │ ├── MockBlueskyOAuthService.tsx │ │ │ │ │ ├── MockCsamEvidenceService.tsx │ │ │ │ │ ├── MockCsamReportSnapshotService.tsx │ │ │ │ │ ├── MockCsamScanQueueService.tsx │ │ │ │ │ ├── MockGatewayRpcTransport.tsx │ │ │ │ │ ├── MockGatewayService.tsx │ │ │ │ │ ├── MockKVProvider.tsx │ │ │ │ │ ├── MockLiveKitService.tsx │ │ │ │ │ ├── MockMediaService.tsx │ │ │ │ │ ├── MockNcmecReporter.tsx │ │ │ │ │ ├── MockPhotoDnaHashClient.tsx │ │ │ │ │ ├── MockSnowflakeService.tsx │ │ │ │ │ ├── MockStorageService.tsx │ │ │ │ │ ├── MockSynchronousCsamScanner.tsx │ │ │ │ │ ├── MockVirusScanService.tsx │ │ │ │ │ └── NoopLogger.tsx │ │ │ │ └── msw/ │ │ │ │ ├── handlers/ │ │ │ │ │ ├── ArachnidShieldHandlers.tsx │ │ │ │ │ ├── BlueskyApiHandlers.tsx │ │ │ │ │ ├── DockerEngineHandlers.tsx │ │ │ │ │ ├── MeilisearchHandlers.tsx │ │ │ │ │ ├── NcmecHandlers.tsx │ │ │ │ │ ├── PhotoDnaHandlers.tsx │ │ │ │ │ ├── PwnedPasswordsHandlers.tsx │ │ │ │ │ ├── StripeApiHandlers.tsx │ │ │ │ │ └── WikipediaApiHandlers.tsx │ │ │ │ └── server.tsx │ │ │ ├── tests/ │ │ │ │ └── Smoke.test.tsx │ │ │ ├── theme/ │ │ │ │ ├── ThemeController.tsx │ │ │ │ ├── ThemeService.tsx │ │ │ │ └── tests/ │ │ │ │ ├── ThemeAuthRequired.test.tsx │ │ │ │ ├── ThemeBotUserDenied.test.tsx │ │ │ │ ├── ThemeCreation.test.tsx │ │ │ │ ├── ThemeCssSizeLimit.test.tsx │ │ │ │ └── ThemeValidation.test.tsx │ │ │ ├── types/ │ │ │ │ ├── AttachmentDecayTypes.tsx │ │ │ │ └── HonoEnv.tsx │ │ │ ├── typing/ │ │ │ │ └── tests/ │ │ │ │ ├── TypingInDMChannel.test.tsx │ │ │ │ ├── TypingInGuildChannel.test.tsx │ │ │ │ ├── TypingPermissions.test.tsx │ │ │ │ └── TypingTestUtils.tsx │ │ │ ├── unfurler/ │ │ │ │ ├── resolvers/ │ │ │ │ │ ├── AudioResolver.tsx │ │ │ │ │ ├── BaseResolver.tsx │ │ │ │ │ ├── BlueskyResolver.tsx │ │ │ │ │ ├── DefaultResolver.tsx │ │ │ │ │ ├── HackerNewsResolver.tsx │ │ │ │ │ ├── ImageResolver.tsx │ │ │ │ │ ├── KlipyResolver.tsx │ │ │ │ │ ├── TenorResolver.tsx │ │ │ │ │ ├── VideoResolver.tsx │ │ │ │ │ ├── WikipediaResolver.tsx │ │ │ │ │ ├── XkcdResolver.tsx │ │ │ │ │ ├── YouTubeResolver.tsx │ │ │ │ │ ├── bluesky/ │ │ │ │ │ │ ├── BlueskyApiClient.tsx │ │ │ │ │ │ ├── BlueskyEmbedProcessor.tsx │ │ │ │ │ │ ├── BlueskyTextFormatter.tsx │ │ │ │ │ │ └── BlueskyTypes.tsx │ │ │ │ │ ├── media/ │ │ │ │ │ │ └── MediaMetadataHelpers.tsx │ │ │ │ │ └── subresolvers/ │ │ │ │ │ ├── ActivityPubFetcher.tsx │ │ │ │ │ ├── ActivityPubFormatter.tsx │ │ │ │ │ ├── ActivityPubResolver.tsx │ │ │ │ │ ├── ActivityPubTypes.tsx │ │ │ │ │ └── ActivityPubUtils.tsx │ │ │ │ └── tests/ │ │ │ │ ├── ActivityPubFetcher.test.tsx │ │ │ │ ├── ActivityPubFormatter.test.tsx │ │ │ │ ├── ActivityPubResolver.test.tsx │ │ │ │ ├── AudioResolver.test.tsx │ │ │ │ ├── BaseResolver.test.tsx │ │ │ │ ├── BlueskyEmbedProcessor.test.tsx │ │ │ │ ├── BlueskyResolver.test.tsx │ │ │ │ ├── DefaultResolver.test.tsx │ │ │ │ ├── HackerNewsResolver.test.tsx │ │ │ │ ├── ImageResolver.test.tsx │ │ │ │ ├── KlipyResolver.test.tsx │ │ │ │ ├── ResolverTestUtils.tsx │ │ │ │ ├── TenorResolver.test.tsx │ │ │ │ ├── VideoResolver.test.tsx │ │ │ │ ├── WikipediaResolver.test.tsx │ │ │ │ ├── XkcdResolver.test.tsx │ │ │ │ └── YouTubeResolver.test.tsx │ │ │ ├── user/ │ │ │ │ ├── IUserRepository.tsx │ │ │ │ ├── UserCacheHelpers.tsx │ │ │ │ ├── UserHarvestModel.tsx │ │ │ │ ├── UserHarvestRepository.tsx │ │ │ │ ├── UserHelpers.tsx │ │ │ │ ├── UserMappers.tsx │ │ │ │ ├── UserModel.tsx │ │ │ │ ├── controllers/ │ │ │ │ │ ├── UserAccountController.tsx │ │ │ │ │ ├── UserAuthController.tsx │ │ │ │ │ ├── UserChannelController.tsx │ │ │ │ │ ├── UserContentController.tsx │ │ │ │ │ ├── UserController.tsx │ │ │ │ │ ├── UserRelationshipController.tsx │ │ │ │ │ └── UserScheduledMessageController.tsx │ │ │ │ ├── repositories/ │ │ │ │ │ ├── GiftCodeRepository.tsx │ │ │ │ │ ├── IUserAccountRepository.tsx │ │ │ │ │ ├── IUserAuthRepository.tsx │ │ │ │ │ ├── IUserChannelRepository.tsx │ │ │ │ │ ├── IUserContentRepository.tsx │ │ │ │ │ ├── IUserRelationshipRepository.tsx │ │ │ │ │ ├── IUserRepositoryAggregate.tsx │ │ │ │ │ ├── IUserSettingsRepository.tsx │ │ │ │ │ ├── PaymentRepository.tsx │ │ │ │ │ ├── PushSubscriptionRepository.tsx │ │ │ │ │ ├── RecentMentionRepository.tsx │ │ │ │ │ ├── SavedMessageRepository.tsx │ │ │ │ │ ├── ScheduledMessageRepository.tsx │ │ │ │ │ ├── UserAccountRepository.tsx │ │ │ │ │ ├── UserAuthRepository.tsx │ │ │ │ │ ├── UserChannelRepository.tsx │ │ │ │ │ ├── UserContactChangeLogRepository.tsx │ │ │ │ │ ├── UserContentRepository.tsx │ │ │ │ │ ├── UserRelationshipRepository.tsx │ │ │ │ │ ├── UserRepository.tsx │ │ │ │ │ ├── UserSettingsRepository.tsx │ │ │ │ │ ├── VisionarySlotRepository.tsx │ │ │ │ │ ├── account/ │ │ │ │ │ │ ├── UserAccountRepository.tsx │ │ │ │ │ │ ├── UserDeletionRepository.tsx │ │ │ │ │ │ ├── UserGuildRepository.tsx │ │ │ │ │ │ ├── UserLookupRepository.tsx │ │ │ │ │ │ └── crud/ │ │ │ │ │ │ ├── UserDataRepository.tsx │ │ │ │ │ │ ├── UserIndexRepository.tsx │ │ │ │ │ │ └── UserSearchRepository.tsx │ │ │ │ │ └── auth/ │ │ │ │ │ ├── AuthSessionRepository.tsx │ │ │ │ │ ├── EmailChangeRepository.tsx │ │ │ │ │ ├── IpAuthorizationRepository.tsx │ │ │ │ │ ├── MfaBackupCodeRepository.tsx │ │ │ │ │ ├── PasswordChangeRepository.tsx │ │ │ │ │ ├── TokenRepository.tsx │ │ │ │ │ └── WebAuthnRepository.tsx │ │ │ │ ├── services/ │ │ │ │ │ ├── BaseUserUpdatePropagator.tsx │ │ │ │ │ ├── CustomStatusValidator.tsx │ │ │ │ │ ├── EmailChangeService.tsx │ │ │ │ │ ├── PasswordChangeService.tsx │ │ │ │ │ ├── UserAccountLifecycleService.tsx │ │ │ │ │ ├── UserAccountLookupService.tsx │ │ │ │ │ ├── UserAccountNotesService.tsx │ │ │ │ │ ├── UserAccountProfileService.tsx │ │ │ │ │ ├── UserAccountRequestService.tsx │ │ │ │ │ ├── UserAccountSecurityService.tsx │ │ │ │ │ ├── UserAccountService.tsx │ │ │ │ │ ├── UserAccountSettingsService.tsx │ │ │ │ │ ├── UserAccountUpdatePropagator.tsx │ │ │ │ │ ├── UserAuthRequestService.tsx │ │ │ │ │ ├── UserAuthService.tsx │ │ │ │ │ ├── UserChannelRequestService.tsx │ │ │ │ │ ├── UserChannelService.tsx │ │ │ │ │ ├── UserContactChangeLogService.tsx │ │ │ │ │ ├── UserContentRequestService.tsx │ │ │ │ │ ├── UserContentService.tsx │ │ │ │ │ ├── UserDeletionEligibilityService.tsx │ │ │ │ │ ├── UserDeletionService.tsx │ │ │ │ │ ├── UserRelationshipRequestService.tsx │ │ │ │ │ ├── UserRelationshipService.tsx │ │ │ │ │ └── UserService.tsx │ │ │ │ ├── tests/ │ │ │ │ │ ├── AccountDeleteAutoCancelOnLogin.test.tsx │ │ │ │ │ ├── AccountDeleteGracePeriod.test.tsx │ │ │ │ │ ├── AccountDeleteMentionResolution.test.tsx │ │ │ │ │ ├── AccountDeleteMessagePagination.test.tsx │ │ │ │ │ ├── AccountDeletePermanent.test.tsx │ │ │ │ │ ├── AccountDisable.test.tsx │ │ │ │ │ ├── FavoriteMemeLimits.test.tsx │ │ │ │ │ ├── FavoriteMemeOperations.test.tsx │ │ │ │ │ ├── FavoriteMemeTestUtils.tsx │ │ │ │ │ ├── HarvestDownloadExpirationBoundary.test.tsx │ │ │ │ │ ├── HarvestDownloadExpired.test.tsx │ │ │ │ │ ├── HarvestDownloadNotExpired.test.tsx │ │ │ │ │ ├── HarvestTestUtils.tsx │ │ │ │ │ ├── InactivityDeletion.test.tsx │ │ │ │ │ ├── PasswordChangeFlow.test.tsx │ │ │ │ │ ├── ProfileImageUpload.test.tsx │ │ │ │ │ ├── PushSubscriptionLifecycle.test.tsx │ │ │ │ │ ├── RelationshipAcceptAfterPrivacyChangeAllowsExistingRequest.test.tsx │ │ │ │ │ ├── RelationshipBlocking.test.tsx │ │ │ │ │ ├── RelationshipBlockingBehaviors.test.tsx │ │ │ │ │ ├── RelationshipNicknameUpdate.test.tsx │ │ │ │ │ ├── RelationshipTestUtils.tsx │ │ │ │ │ ├── UnclaimedAccountRestrictions.test.tsx │ │ │ │ │ ├── UserAccountAndSettings.test.tsx │ │ │ │ │ ├── UserAuthorizedIps.test.tsx │ │ │ │ │ ├── UserChannelService.test.tsx │ │ │ │ │ ├── UserContactChangeLogService.test.tsx │ │ │ │ │ ├── UserCustomStatusEmojiPremium.test.tsx │ │ │ │ │ ├── UserDeletionEligibilityService.test.tsx │ │ │ │ │ ├── UserDisableAndDeleteEndpoints.test.tsx │ │ │ │ │ ├── UserFlagsResponse.test.tsx │ │ │ │ │ ├── UserNoteLifecycle.test.tsx │ │ │ │ │ ├── UserPremiumReset.test.tsx │ │ │ │ │ ├── UserProfileConnectionVisibility.test.tsx │ │ │ │ │ ├── UserProfileImageValidation.test.tsx │ │ │ │ │ ├── UserProfileTextValidation.test.tsx │ │ │ │ │ ├── UserRelationshipEndpoints.test.tsx │ │ │ │ │ ├── UserRelationshipStateTransitions.test.tsx │ │ │ │ │ ├── UserReservedDiscriminatorRoll.test.tsx │ │ │ │ │ ├── UserSettingsGuildFolders.test.tsx │ │ │ │ │ ├── UserSettingsValidation.test.tsx │ │ │ │ │ ├── UserTestUtils.tsx │ │ │ │ │ └── UserUsernameCaseUpdate.test.tsx │ │ │ │ └── utils/ │ │ │ │ └── GuildFolderUtils.tsx │ │ │ ├── utils/ │ │ │ │ ├── AgeUtils.tsx │ │ │ │ ├── AttachmentDecay.tsx │ │ │ │ ├── AuditSerializationUtils.tsx │ │ │ │ ├── AvatarColorUtils.tsx │ │ │ │ ├── CurrencyUtils.tsx │ │ │ │ ├── DOMUtils.tsx │ │ │ │ ├── EmojiUtils.tsx │ │ │ │ ├── FetchUtils.tsx │ │ │ │ ├── GeoUtils.tsx │ │ │ │ ├── GuildVerificationUtils.tsx │ │ │ │ ├── IdUtils.tsx │ │ │ │ ├── InviteUtils.tsx │ │ │ │ ├── IpRangeUtils.tsx │ │ │ │ ├── IpUtils.tsx │ │ │ │ ├── LosslessJsonParser.tsx │ │ │ │ ├── PasswordUtils.tsx │ │ │ │ ├── PermissionUtils.tsx │ │ │ │ ├── RandomUtils.tsx │ │ │ │ ├── RegexUtils.tsx │ │ │ │ ├── RequestPathUtils.tsx │ │ │ │ ├── StringUtils.tsx │ │ │ │ ├── SudoCookieUtils.tsx │ │ │ │ ├── TotpGenerator.tsx │ │ │ │ ├── UnfurlerUtils.tsx │ │ │ │ ├── UrlSanitizer.tsx │ │ │ │ ├── UserAgentUtils.tsx │ │ │ │ ├── UserPermissionUtils.tsx │ │ │ │ ├── UsernameGenerator.tsx │ │ │ │ ├── UsernameSuggestionUtils.tsx │ │ │ │ ├── featureUtils.tsx │ │ │ │ └── tests/ │ │ │ │ ├── AgeUtils.test.tsx │ │ │ │ ├── BucketUtils.test.tsx │ │ │ │ ├── CurrencyUtils.test.tsx │ │ │ │ ├── DOMUtils.test.tsx │ │ │ │ ├── GeoUtils.test.tsx │ │ │ │ ├── IdUtils.test.tsx │ │ │ │ ├── IpRangeUtils.test.tsx │ │ │ │ ├── LosslessJsonParser.test.tsx │ │ │ │ ├── RegexUtils.test.tsx │ │ │ │ ├── StringUtils.test.tsx │ │ │ │ └── UrlSanitizer.test.tsx │ │ │ ├── validation/ │ │ │ │ └── tests/ │ │ │ │ └── ValidationErrorInterpolation.test.tsx │ │ │ ├── voice/ │ │ │ │ ├── IVoiceRepository.tsx │ │ │ │ ├── VoiceAvailabilityService.tsx │ │ │ │ ├── VoiceConstants.tsx │ │ │ │ ├── VoiceDataInitializer.tsx │ │ │ │ ├── VoiceModel.tsx │ │ │ │ ├── VoiceReconciliationWorker.tsx │ │ │ │ ├── VoiceRegionSelection.tsx │ │ │ │ ├── VoiceRepository.tsx │ │ │ │ ├── VoiceService.tsx │ │ │ │ ├── VoiceTopology.tsx │ │ │ │ └── tests/ │ │ │ │ ├── VoiceAvailabilityService.test.tsx │ │ │ │ ├── VoiceCallEligibility.test.tsx │ │ │ │ ├── VoiceCallRinging.test.tsx │ │ │ │ ├── VoiceCallUpdate.test.tsx │ │ │ │ ├── VoiceChannelPermissions.test.tsx │ │ │ │ ├── VoiceChannelRtcRegion.test.tsx │ │ │ │ ├── VoiceRegionSelection.test.tsx │ │ │ │ ├── VoiceTestUtils.tsx │ │ │ │ ├── VoiceTopology.test.tsx │ │ │ │ └── VoiceUnclaimedAccountRestrictions.test.tsx │ │ │ ├── webhook/ │ │ │ │ ├── IWebhookRepository.tsx │ │ │ │ ├── SweegoWebhookService.tsx │ │ │ │ ├── WebhookController.tsx │ │ │ │ ├── WebhookModel.tsx │ │ │ │ ├── WebhookRepository.tsx │ │ │ │ ├── WebhookRequestService.tsx │ │ │ │ ├── WebhookService.tsx │ │ │ │ ├── tests/ │ │ │ │ │ ├── GitHubCheckTransformer.test.tsx │ │ │ │ │ ├── GitHubCommitTransformer.test.tsx │ │ │ │ │ ├── GitHubIssueTransformer.test.tsx │ │ │ │ │ ├── GitHubPullRequestTransformer.test.tsx │ │ │ │ │ ├── GitHubPushTransformer.test.tsx │ │ │ │ │ ├── GitHubRepositoryTransformer.test.tsx │ │ │ │ │ ├── GitHubTransformer.test.tsx │ │ │ │ │ ├── SentryTransformer.test.tsx │ │ │ │ │ ├── SlackTransformer.test.tsx │ │ │ │ │ ├── SweegoWebhookService.test.tsx │ │ │ │ │ ├── WebhookChannelValidation.test.tsx │ │ │ │ │ ├── WebhookCompareUser.test.tsx │ │ │ │ │ ├── WebhookEmojiBypass.test.tsx │ │ │ │ │ ├── WebhookExecution.test.tsx │ │ │ │ │ ├── WebhookExecutionAdvanced.test.tsx │ │ │ │ │ ├── WebhookGitHub.test.tsx │ │ │ │ │ ├── WebhookLimits.test.tsx │ │ │ │ │ ├── WebhookMultipartAttachmentUploads.test.tsx │ │ │ │ │ ├── WebhookOperations.test.tsx │ │ │ │ │ ├── WebhookPermissions.test.tsx │ │ │ │ │ ├── WebhookSentry.test.tsx │ │ │ │ │ ├── WebhookStickerBypass.test.tsx │ │ │ │ │ ├── WebhookTestUtils.tsx │ │ │ │ │ ├── WebhookTokenAuth.test.tsx │ │ │ │ │ └── WebhookValidation.test.tsx │ │ │ │ └── transformers/ │ │ │ │ ├── GitHubCheckTransformer.tsx │ │ │ │ ├── GitHubCommitTransformer.tsx │ │ │ │ ├── GitHubIssueTransformer.tsx │ │ │ │ ├── GitHubPullRequestTransformer.tsx │ │ │ │ ├── GitHubRepositoryTransformer.tsx │ │ │ │ ├── GitHubTransformer.tsx │ │ │ │ ├── SentryTransformer.tsx │ │ │ │ └── SlackTransformer.tsx │ │ │ ├── words/ │ │ │ │ ├── Words.tsx │ │ │ │ ├── scales.txt │ │ │ │ └── tails.txt │ │ │ └── worker/ │ │ │ ├── CronScheduler.tsx │ │ │ ├── DirectWorkerService.tsx │ │ │ ├── HttpWorkerQueue.tsx │ │ │ ├── JetStreamWorkerQueue.tsx │ │ │ ├── WorkerContext.tsx │ │ │ ├── WorkerDependencies.tsx │ │ │ ├── WorkerMain.tsx │ │ │ ├── WorkerMetricsCollector.tsx │ │ │ ├── WorkerRunner.tsx │ │ │ ├── WorkerService.tsx │ │ │ ├── WorkerTaskRegistry.tsx │ │ │ ├── executors/ │ │ │ │ ├── ScheduledMessageExecutor.tsx │ │ │ │ └── SystemDmExecutor.tsx │ │ │ ├── services/ │ │ │ │ ├── ChannelEventDispatcher.tsx │ │ │ │ └── MessageDeletionService.tsx │ │ │ ├── tasks/ │ │ │ │ ├── ApplicationProcessDeletion.tsx │ │ │ │ ├── BatchGuildAuditLogMessageDeletes.tsx │ │ │ │ ├── BulkDeleteUserMessages.tsx │ │ │ │ ├── CleanupCsamEvidence.tsx │ │ │ │ ├── CsamScanConsumerWorker.tsx │ │ │ │ ├── DeleteUserMessagesInGuildByTime.tsx │ │ │ │ ├── ExpireAttachments.tsx │ │ │ │ ├── ExtractEmbeds.tsx │ │ │ │ ├── HandleMentions.tsx │ │ │ │ ├── HarvestGuildData.tsx │ │ │ │ ├── HarvestUserData.tsx │ │ │ │ ├── IndexChannelMessages.tsx │ │ │ │ ├── IndexGuildMembers.tsx │ │ │ │ ├── MessageShred.tsx │ │ │ │ ├── ProcessAssetDeletionQueue.tsx │ │ │ │ ├── ProcessCloudflarePurgeQueue.tsx │ │ │ │ ├── ProcessInactivityDeletions.tsx │ │ │ │ ├── ProcessPendingBulkMessageDeletions.tsx │ │ │ │ ├── RefreshSearchIndex.tsx │ │ │ │ ├── RevalidateUserConnections.tsx │ │ │ │ ├── SendScheduledMessage.tsx │ │ │ │ ├── SendSystemDm.tsx │ │ │ │ ├── SyncDiscoveryIndex.tsx │ │ │ │ ├── UserProcessPendingDeletion.tsx │ │ │ │ ├── UserProcessPendingDeletions.tsx │ │ │ │ ├── tests/ │ │ │ │ │ └── CsamScanConsumerWorker.test.tsx │ │ │ │ └── utils/ │ │ │ │ └── MessageDeletion.tsx │ │ │ └── utils/ │ │ │ └── AssetArchiveHelpers.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── app_proxy/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── AppProxyTypes.tsx │ │ │ ├── AppServer.tsx │ │ │ ├── AppServerTypes.tsx │ │ │ ├── ErrorClassification.tsx │ │ │ ├── app_proxy/ │ │ │ │ ├── AppProxyMiddleware.tsx │ │ │ │ ├── AppProxyRoutes.tsx │ │ │ │ └── proxy/ │ │ │ │ ├── AssetsProxy.tsx │ │ │ │ └── ProxyRequest.tsx │ │ │ └── app_server/ │ │ │ ├── AppServerMiddleware.tsx │ │ │ ├── AppServerRoutes.tsx │ │ │ ├── routes/ │ │ │ │ ├── SpaIndexRoute.tsx │ │ │ │ └── SpaRoute.tsx │ │ │ └── utils/ │ │ │ ├── CSP.tsx │ │ │ ├── Mime.tsx │ │ │ ├── SentryDSN.tsx │ │ │ └── StaticFileUtils.tsx │ │ └── tsconfig.json │ ├── cache/ │ │ ├── BEST_PRACTICES.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── CacheKeyClassification.tsx │ │ │ ├── CacheLockValidation.tsx │ │ │ ├── CacheProviderTypes.tsx │ │ │ ├── CacheSerialization.tsx │ │ │ ├── ICacheService.tsx │ │ │ ├── RedisClientTypes.tsx │ │ │ ├── providers/ │ │ │ │ ├── InMemoryProvider.tsx │ │ │ │ ├── KVCacheProvider.tsx │ │ │ │ ├── RedisCacheProvider.tsx │ │ │ │ └── tests/ │ │ │ │ ├── InMemoryProvider.test.tsx │ │ │ │ └── KVCacheProvider.test.tsx │ │ │ └── utils/ │ │ │ ├── Coalescer.tsx │ │ │ └── tests/ │ │ │ └── Coalescer.test.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── captcha/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── CaptchaProviderFactory.tsx │ │ │ ├── ICaptchaProvider.tsx │ │ │ └── providers/ │ │ │ ├── HcaptchaProvider.tsx │ │ │ ├── HttpCaptchaProvider.tsx │ │ │ ├── RecaptchaProvider.tsx │ │ │ ├── TestProvider.tsx │ │ │ ├── TurnstileProvider.tsx │ │ │ └── UnavailableCaptchaProvider.tsx │ │ └── tsconfig.json │ ├── cassandra/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── CassandraRuntime.tsx │ │ │ ├── CassandraTypes.tsx │ │ │ ├── Client.tsx │ │ │ ├── Logger.tsx │ │ │ ├── Queries.tsx │ │ │ └── Table.tsx │ │ └── tsconfig.json │ ├── config/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── BuildMetadata.tsx │ │ │ ├── ConfigLoader.tsx │ │ │ ├── EndpointDerivation.tsx │ │ │ ├── JsonValidation.tsx │ │ │ ├── MasterZodSchema.tsx │ │ │ ├── ServiceConfigSlices.tsx │ │ │ ├── __tests__/ │ │ │ │ ├── ConfigLoader.test.tsx │ │ │ │ ├── ConfigObjectMerge.test.tsx │ │ │ │ ├── EndpointDerivation.test.tsx │ │ │ │ ├── EnvironmentOverrides.test.tsx │ │ │ │ └── ServiceConfigSlices.test.tsx │ │ │ ├── config_loader/ │ │ │ │ ├── ConfigObjectMerge.tsx │ │ │ │ ├── EnvironmentOverrides.tsx │ │ │ │ └── JsonConfigReader.tsx │ │ │ └── schema/ │ │ │ ├── bundle.ts │ │ │ ├── defs/ │ │ │ │ ├── auth.json │ │ │ │ ├── common.json │ │ │ │ ├── database.json │ │ │ │ ├── discovery.json │ │ │ │ ├── domain.json │ │ │ │ ├── instance.json │ │ │ │ ├── integrations/ │ │ │ │ │ ├── captcha.json │ │ │ │ │ ├── clamav.json │ │ │ │ │ ├── cloudflare.json │ │ │ │ │ ├── csam.json │ │ │ │ │ ├── email.json │ │ │ │ │ ├── gif.json │ │ │ │ │ ├── integrations.json │ │ │ │ │ ├── klipy.json │ │ │ │ │ ├── ncmec.json │ │ │ │ │ ├── photo_dna.json │ │ │ │ │ ├── search.json │ │ │ │ │ ├── sms.json │ │ │ │ │ ├── stripe.json │ │ │ │ │ ├── tenor.json │ │ │ │ │ ├── voice.json │ │ │ │ │ └── youtube.json │ │ │ │ ├── services/ │ │ │ │ │ ├── admin.json │ │ │ │ │ ├── api.json │ │ │ │ │ ├── app_proxy.json │ │ │ │ │ ├── gateway.json │ │ │ │ │ ├── marketing.json │ │ │ │ │ ├── media_proxy.json │ │ │ │ │ ├── nats.json │ │ │ │ │ ├── queue.json │ │ │ │ │ ├── s3.json │ │ │ │ │ ├── server.json │ │ │ │ │ └── services.json │ │ │ │ └── telemetry.json │ │ │ └── root.json │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── constants/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AdminACLs.tsx │ │ │ ├── ApiErrorCodes.tsx │ │ │ ├── ApiErrorCodesDescriptions.tsx │ │ │ ├── AppConstants.tsx │ │ │ ├── AuditLogActionType.tsx │ │ │ ├── Authentication.tsx │ │ │ ├── BotConstants.tsx │ │ │ ├── Cache.tsx │ │ │ ├── CdnEndpoints.tsx │ │ │ ├── ChannelConstants.tsx │ │ │ ├── ConnectionConstants.tsx │ │ │ ├── Cookies.tsx │ │ │ ├── Core.tsx │ │ │ ├── DiscoveryConstants.tsx │ │ │ ├── DiscriminatorConstants.tsx │ │ │ ├── DonationConstants.tsx │ │ │ ├── EmojiConstants.tsx │ │ │ ├── Errors.tsx │ │ │ ├── Federation.tsx │ │ │ ├── GatewayConstants.tsx │ │ │ ├── GuildConstants.tsx │ │ │ ├── Headers.tsx │ │ │ ├── HttpConstants.tsx │ │ │ ├── JumpConstants.tsx │ │ │ ├── LimitBounds.tsx │ │ │ ├── LimitConfigMetadata.tsx │ │ │ ├── LimitConstants.tsx │ │ │ ├── Locales.tsx │ │ │ ├── MediaProxyAssetSizes.tsx │ │ │ ├── MediaProxyImageSizes.tsx │ │ │ ├── NotificationConstants.tsx │ │ │ ├── OAuth2Constants.tsx │ │ │ ├── Pagination.tsx │ │ │ ├── PlutoniumPerks.tsx │ │ │ ├── PressAssets.tsx │ │ │ ├── QuickSwitcherConstants.tsx │ │ │ ├── ReportCategories.tsx │ │ │ ├── Services.tsx │ │ │ ├── SmsVerificationConstants.tsx │ │ │ ├── StatusConstants.tsx │ │ │ ├── StorageConstants.tsx │ │ │ ├── StreamConstants.tsx │ │ │ ├── Timeouts.tsx │ │ │ ├── UserConstants.tsx │ │ │ ├── ValidationErrorCodes.tsx │ │ │ ├── ValidationErrorCodesDescriptions.tsx │ │ │ ├── ValueOf.tsx │ │ │ └── VoiceMessageConstants.tsx │ │ └── tsconfig.json │ ├── date_utils/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── DateComparison.tsx │ │ │ ├── DateConstants.tsx │ │ │ ├── DateDuration.tsx │ │ │ ├── DateFormatterCache.tsx │ │ │ ├── DateFormatting.tsx │ │ │ ├── DateHourCycle.tsx │ │ │ ├── DateIntrospection.tsx │ │ │ ├── DateParsing.tsx │ │ │ ├── DateTimestampStyle.tsx │ │ │ └── DateTypes.tsx │ │ └── tsconfig.json │ ├── elasticsearch_search/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ElasticsearchClient.tsx │ │ │ ├── ElasticsearchFilterUtils.tsx │ │ │ ├── ElasticsearchIndexDefinitions.tsx │ │ │ └── adapters/ │ │ │ ├── ElasticsearchAuditLogAdapter.tsx │ │ │ ├── ElasticsearchGuildAdapter.tsx │ │ │ ├── ElasticsearchGuildMemberAdapter.tsx │ │ │ ├── ElasticsearchIndexAdapter.tsx │ │ │ ├── ElasticsearchMessageAdapter.tsx │ │ │ ├── ElasticsearchReportAdapter.tsx │ │ │ └── ElasticsearchUserAdapter.tsx │ │ └── tsconfig.json │ ├── email/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── EmailI18nService.tsx │ │ │ ├── EmailProviderTypes.tsx │ │ │ ├── EmailService.tsx │ │ │ ├── IEmailService.tsx │ │ │ ├── ITestEmailService.tsx │ │ │ ├── SmtpEmailProvider.tsx │ │ │ ├── TestEmailService.tsx │ │ │ └── email_i18n/ │ │ │ ├── EmailI18n.test.tsx │ │ │ ├── EmailI18n.tsx │ │ │ ├── EmailI18nTypes.generated.tsx │ │ │ ├── EmailI18nTypes.tsx │ │ │ └── locales/ │ │ │ ├── ar.yaml │ │ │ ├── bg.yaml │ │ │ ├── cs.yaml │ │ │ ├── da.yaml │ │ │ ├── de.yaml │ │ │ ├── el.yaml │ │ │ ├── en-GB.yaml │ │ │ ├── es-419.yaml │ │ │ ├── es-ES.yaml │ │ │ ├── fi.yaml │ │ │ ├── fr.yaml │ │ │ ├── he.yaml │ │ │ ├── hi.yaml │ │ │ ├── hr.yaml │ │ │ ├── hu.yaml │ │ │ ├── id.yaml │ │ │ ├── it.yaml │ │ │ ├── ja.yaml │ │ │ ├── ko.yaml │ │ │ ├── lt.yaml │ │ │ ├── messages.yaml │ │ │ ├── nl.yaml │ │ │ ├── no.yaml │ │ │ ├── pl.yaml │ │ │ ├── pt-BR.yaml │ │ │ ├── ro.yaml │ │ │ ├── ru.yaml │ │ │ ├── sv-SE.yaml │ │ │ ├── th.yaml │ │ │ ├── tr.yaml │ │ │ ├── uk.yaml │ │ │ ├── vi.yaml │ │ │ ├── zh-CN.yaml │ │ │ └── zh-TW.yaml │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── errors/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── CaptchaErrors.tsx │ │ │ ├── ErrorHandler.tsx │ │ │ ├── FluxerError.tsx │ │ │ ├── HttpErrors.tsx │ │ │ ├── ValidationError.tsx │ │ │ ├── __tests__/ │ │ │ │ ├── AppErrorHandlers.test.tsx │ │ │ │ ├── CaptchaErrors.test.tsx │ │ │ │ ├── DomainErrors.test.tsx │ │ │ │ ├── ErrorHandler.test.tsx │ │ │ │ ├── FluxerError.test.tsx │ │ │ │ ├── HttpErrors.test.tsx │ │ │ │ ├── RateLimitError.test.tsx │ │ │ │ └── ValidationError.test.tsx │ │ │ ├── domains/ │ │ │ │ ├── admin/ │ │ │ │ │ ├── AdminApiKeyNotFoundError.tsx │ │ │ │ │ └── NotOwnerOfAdminApiKeyError.tsx │ │ │ │ ├── auth/ │ │ │ │ │ ├── BotUserAuthEndpointAccessDeniedError.tsx │ │ │ │ │ ├── BotUserAuthSessionCreationDeniedError.tsx │ │ │ │ │ ├── EmailServiceNotTestableError.tsx │ │ │ │ │ ├── EmailVerificationRequiredError.tsx │ │ │ │ │ ├── GuildPhoneVerificationRequiredError.tsx │ │ │ │ │ ├── HandoffCodeExpiredError.tsx │ │ │ │ │ ├── HttpGetAuthorizeNotSupportedError.tsx │ │ │ │ │ ├── InvalidGatewayAuthTokenError.tsx │ │ │ │ │ ├── InvalidHandoffCodeError.tsx │ │ │ │ │ ├── InvalidPhoneNumberError.tsx │ │ │ │ │ ├── InvalidPhoneVerificationCodeError.tsx │ │ │ │ │ ├── InvalidWebAuthnAuthenticationCounterError.tsx │ │ │ │ │ ├── InvalidWebAuthnCredentialCounterError.tsx │ │ │ │ │ ├── InvalidWebAuthnCredentialError.tsx │ │ │ │ │ ├── InvalidWebAuthnPublicKeyFormatError.tsx │ │ │ │ │ ├── IpAuthorizationRequiredError.tsx │ │ │ │ │ ├── IpAuthorizationResendCooldownError.tsx │ │ │ │ │ ├── IpAuthorizationResendLimitExceededError.tsx │ │ │ │ │ ├── MfaNotDisabledError.tsx │ │ │ │ │ ├── MfaNotEnabledError.tsx │ │ │ │ │ ├── MissingGatewayAuthorizationError.tsx │ │ │ │ │ ├── MissingOAuthFieldsError.tsx │ │ │ │ │ ├── NoPasskeysRegisteredError.tsx │ │ │ │ │ ├── OAuth2Error.tsx │ │ │ │ │ ├── PasskeyAuthenticationFailedError.tsx │ │ │ │ │ ├── PhoneAlreadyUsedError.tsx │ │ │ │ │ ├── PhoneRequiredForSmsMfaError.tsx │ │ │ │ │ ├── PhoneVerificationRequiredError.tsx │ │ │ │ │ ├── SessionTokenMismatchError.tsx │ │ │ │ │ ├── SmsMfaNotEnabledError.tsx │ │ │ │ │ ├── SmsMfaRequiresTotpError.tsx │ │ │ │ │ ├── SmsVerificationUnavailableError.tsx │ │ │ │ │ ├── SsoRequiredError.tsx │ │ │ │ │ ├── SudoModeRequiredError.tsx │ │ │ │ │ ├── UnknownWebAuthnCredentialError.tsx │ │ │ │ │ └── WebAuthnCredentialLimitReachedError.tsx │ │ │ │ ├── channel/ │ │ │ │ │ ├── CallAlreadyExistsError.tsx │ │ │ │ │ ├── CannotEditOtherUserMessageError.tsx │ │ │ │ │ ├── CannotEditSystemMessageError.tsx │ │ │ │ │ ├── CannotReportOwnMessageError.tsx │ │ │ │ │ ├── CannotSendEmptyMessageError.tsx │ │ │ │ │ ├── CannotSendMessageToNonTextChannelError.tsx │ │ │ │ │ ├── CannotSendMessagesToUserError.tsx │ │ │ │ │ ├── ChannelIndexingError.tsx │ │ │ │ │ ├── EmptyStreamThumbnailPayloadError.tsx │ │ │ │ │ ├── InvalidChannelTypeError.tsx │ │ │ │ │ ├── InvalidChannelTypeForCallError.tsx │ │ │ │ │ ├── InvalidStreamKeyFormatError.tsx │ │ │ │ │ ├── InvalidStreamThumbnailPayloadError.tsx │ │ │ │ │ ├── MaxCategoryChannelsError.tsx │ │ │ │ │ ├── MaxGroupDmRecipientsError.tsx │ │ │ │ │ ├── MaxGroupDmsError.tsx │ │ │ │ │ ├── MaxReactionsPerMessageError.tsx │ │ │ │ │ ├── MaxUsersPerMessageReactionError.tsx │ │ │ │ │ ├── MaxWebhooksPerChannelError.tsx │ │ │ │ │ ├── MessageTotalSizeTooLargeError.tsx │ │ │ │ │ ├── NoActiveCallError.tsx │ │ │ │ │ ├── StreamKeyChannelMismatchError.tsx │ │ │ │ │ ├── UnclaimedAccountCannotAddReactionsError.tsx │ │ │ │ │ ├── UnclaimedAccountCannotJoinGroupDmsError.tsx │ │ │ │ │ ├── UnclaimedAccountCannotJoinOneOnOneVoiceCallsError.tsx │ │ │ │ │ ├── UnclaimedAccountCannotJoinVoiceChannelsError.tsx │ │ │ │ │ ├── UnclaimedAccountCannotSendDirectMessagesError.tsx │ │ │ │ │ ├── UnclaimedAccountCannotSendMessagesError.tsx │ │ │ │ │ ├── UnknownChannelError.tsx │ │ │ │ │ └── UnknownMessageError.tsx │ │ │ │ ├── connection/ │ │ │ │ │ ├── ConnectionAlreadyExistsError.tsx │ │ │ │ │ ├── ConnectionInvalidIdentifierError.tsx │ │ │ │ │ ├── ConnectionInvalidTypeError.tsx │ │ │ │ │ ├── ConnectionLimitReachedError.tsx │ │ │ │ │ ├── ConnectionNotFoundError.tsx │ │ │ │ │ └── ConnectionVerificationFailedError.tsx │ │ │ │ ├── content/ │ │ │ │ │ └── ContentBlockedError.tsx │ │ │ │ ├── core/ │ │ │ │ │ ├── AccessDeniedError.tsx │ │ │ │ │ ├── AclsMustBeNonEmptyError.tsx │ │ │ │ │ ├── AuditLogIndexingError.tsx │ │ │ │ │ ├── BadGatewayError.tsx │ │ │ │ │ ├── BadRequestError.tsx │ │ │ │ │ ├── CannotExecuteOnDmError.tsx │ │ │ │ │ ├── CannotRemoveOtherRecipientsError.tsx │ │ │ │ │ ├── CannotShrinkReservedSlotsError.tsx │ │ │ │ │ ├── CaptchaVerificationRequiredError.tsx │ │ │ │ │ ├── ConflictError.tsx │ │ │ │ │ ├── CreationFailedError.tsx │ │ │ │ │ ├── DeletionFailedError.tsx │ │ │ │ │ ├── ErrorHandlers.tsx │ │ │ │ │ ├── FeatureAccessError.tsx │ │ │ │ │ ├── FeatureNotAvailableSelfHostedError.tsx │ │ │ │ │ ├── FeatureTemporarilyDisabledError.tsx │ │ │ │ │ ├── FileSizeTooLargeError.tsx │ │ │ │ │ ├── ForbiddenError.tsx │ │ │ │ │ ├── GatewayTimeoutError.tsx │ │ │ │ │ ├── GoneError.tsx │ │ │ │ │ ├── InputValidationError.tsx │ │ │ │ │ ├── InternalServerError.tsx │ │ │ │ │ ├── InvalidAclsFormatError.tsx │ │ │ │ │ ├── InvalidApiOriginError.tsx │ │ │ │ │ ├── InvalidCaptchaError.tsx │ │ │ │ │ ├── InvalidFlagsFormatError.tsx │ │ │ │ │ ├── InvalidPermissionsIntegerError.tsx │ │ │ │ │ ├── InvalidPermissionsNegativeError.tsx │ │ │ │ │ ├── InvalidRequestError.tsx │ │ │ │ │ ├── InvalidSuspiciousFlagsFormatError.tsx │ │ │ │ │ ├── InvalidSystemFlagError.tsx │ │ │ │ │ ├── InvalidTimestampError.tsx │ │ │ │ │ ├── InvalidTokenError.tsx │ │ │ │ │ ├── LockedError.tsx │ │ │ │ │ ├── MaxBookmarksError.tsx │ │ │ │ │ ├── MaxFavoriteMemesError.tsx │ │ │ │ │ ├── MediaMetadataError.tsx │ │ │ │ │ ├── MethodNotAllowedError.tsx │ │ │ │ │ ├── MissingACLError.tsx │ │ │ │ │ ├── MissingAccessError.tsx │ │ │ │ │ ├── MissingOAuthAdminScopeError.tsx │ │ │ │ │ ├── MissingPermissionsError.tsx │ │ │ │ │ ├── NoPendingDeletionError.tsx │ │ │ │ │ ├── NotFoundError.tsx │ │ │ │ │ ├── NotImplementedError.tsx │ │ │ │ │ ├── PreviewMustBeJpegError.tsx │ │ │ │ │ ├── ProcessingFailedError.tsx │ │ │ │ │ ├── RateLimitError.tsx │ │ │ │ │ ├── ResourceLockedError.tsx │ │ │ │ │ ├── ServiceUnavailableError.tsx │ │ │ │ │ ├── SlowmodeRateLimitError.tsx │ │ │ │ │ ├── TestHarnessDisabledError.tsx │ │ │ │ │ ├── TestHarnessForbiddenError.tsx │ │ │ │ │ ├── ThrottledError.tsx │ │ │ │ │ ├── UnauthorizedError.tsx │ │ │ │ │ ├── UnknownFavoriteMemeError.tsx │ │ │ │ │ ├── UnknownSuspiciousFlagError.tsx │ │ │ │ │ ├── UpdateFailedError.tsx │ │ │ │ │ └── ValidationError.tsx │ │ │ │ ├── csam/ │ │ │ │ │ └── CsamScanErrors.tsx │ │ │ │ ├── discovery/ │ │ │ │ │ ├── DiscoveryAlreadyAppliedError.tsx │ │ │ │ │ ├── DiscoveryApplicationAlreadyReviewedError.tsx │ │ │ │ │ ├── DiscoveryApplicationNotFoundError.tsx │ │ │ │ │ ├── DiscoveryDisabledError.tsx │ │ │ │ │ ├── DiscoveryInsufficientMembersError.tsx │ │ │ │ │ ├── DiscoveryInvalidCategoryError.tsx │ │ │ │ │ └── DiscoveryNotDiscoverableError.tsx │ │ │ │ ├── donation/ │ │ │ │ │ ├── DonationAmountInvalidError.tsx │ │ │ │ │ ├── DonationMagicLinkExpiredError.tsx │ │ │ │ │ ├── DonationMagicLinkInvalidError.tsx │ │ │ │ │ ├── DonationMagicLinkUsedError.tsx │ │ │ │ │ └── DonorNotFoundError.tsx │ │ │ │ ├── federation/ │ │ │ │ │ ├── DecryptionFailedError.tsx │ │ │ │ │ ├── EmptyEncryptedBodyError.tsx │ │ │ │ │ ├── EncryptionErrors.tsx │ │ │ │ │ ├── EncryptionFailedError.tsx │ │ │ │ │ ├── InvalidDecryptedJsonError.tsx │ │ │ │ │ ├── InvalidEphemeralKeyError.tsx │ │ │ │ │ ├── InvalidIvError.tsx │ │ │ │ │ ├── MissingEphemeralKeyError.tsx │ │ │ │ │ └── MissingIvError.tsx │ │ │ │ ├── guild/ │ │ │ │ │ ├── AccountTooNewForGuildError.tsx │ │ │ │ │ ├── BannedFromGuildError.tsx │ │ │ │ │ ├── CannotReportOwnGuildError.tsx │ │ │ │ │ ├── CannotTransferOwnershipToBotError.tsx │ │ │ │ │ ├── GuildVerificationRequiredError.tsx │ │ │ │ │ ├── IpBannedFromGuildError.tsx │ │ │ │ │ ├── MaxGuildChannelsError.tsx │ │ │ │ │ ├── MaxGuildEmojisAnimatedError.tsx │ │ │ │ │ ├── MaxGuildEmojisStaticError.tsx │ │ │ │ │ ├── MaxGuildInvitesError.tsx │ │ │ │ │ ├── MaxGuildMembersError.tsx │ │ │ │ │ ├── MaxGuildRolesError.tsx │ │ │ │ │ ├── MaxGuildStickersStaticError.tsx │ │ │ │ │ ├── MaxGuildsError.tsx │ │ │ │ │ ├── MaxWebhooksPerGuildError.tsx │ │ │ │ │ ├── UnknownGuildEmojiError.tsx │ │ │ │ │ ├── UnknownGuildError.tsx │ │ │ │ │ ├── UnknownGuildMemberError.tsx │ │ │ │ │ ├── UnknownGuildRoleError.tsx │ │ │ │ │ ├── UnknownGuildStickerError.tsx │ │ │ │ │ └── UserOwnsGuildsError.tsx │ │ │ │ ├── invite/ │ │ │ │ │ ├── InvitesDisabledError.tsx │ │ │ │ │ ├── TemporaryInviteRequiresPresenceError.tsx │ │ │ │ │ └── UnknownInviteError.tsx │ │ │ │ ├── moderation/ │ │ │ │ │ ├── CannotReportYourselfError.tsx │ │ │ │ │ ├── CommunicationDisabledError.tsx │ │ │ │ │ ├── ExplicitContentCannotBeSentError.tsx │ │ │ │ │ ├── HarvestExpiredError.tsx │ │ │ │ │ ├── HarvestFailedError.tsx │ │ │ │ │ ├── HarvestNotReadyError.tsx │ │ │ │ │ ├── HarvestOnCooldownError.tsx │ │ │ │ │ ├── InvalidDsaReportTargetError.tsx │ │ │ │ │ ├── InvalidDsaTicketError.tsx │ │ │ │ │ ├── InvalidDsaVerificationCodeError.tsx │ │ │ │ │ ├── IpBannedError.tsx │ │ │ │ │ ├── NcmecAlreadySubmittedError.tsx │ │ │ │ │ ├── NcmecSubmissionFailedError.tsx │ │ │ │ │ ├── NsfwContentRequiresAgeVerificationError.tsx │ │ │ │ │ ├── ReportAlreadyResolvedError.tsx │ │ │ │ │ ├── ReportBannedError.tsx │ │ │ │ │ ├── UnknownHarvestError.tsx │ │ │ │ │ └── UnknownReportError.tsx │ │ │ │ ├── oauth/ │ │ │ │ │ ├── ApplicationNotFoundError.tsx │ │ │ │ │ ├── BotAlreadyInGuildError.tsx │ │ │ │ │ ├── BotApplicationNotFoundError.tsx │ │ │ │ │ ├── BotIsPrivateError.tsx │ │ │ │ │ ├── BotUserNotFoundError.tsx │ │ │ │ │ ├── BotsCannotSendFriendRequestsError.tsx │ │ │ │ │ ├── InvalidBotFlagError.tsx │ │ │ │ │ ├── InvalidClientError.tsx │ │ │ │ │ ├── InvalidClientSecretError.tsx │ │ │ │ │ ├── InvalidGrantError.tsx │ │ │ │ │ ├── InvalidRedirectUriError.tsx │ │ │ │ │ ├── InvalidResponseTypeForNonBotError.tsx │ │ │ │ │ ├── InvalidScopeError.tsx │ │ │ │ │ ├── MissingClientSecretError.tsx │ │ │ │ │ ├── MissingOAuthScopeError.tsx │ │ │ │ │ ├── MissingRedirectUriError.tsx │ │ │ │ │ ├── NotABotApplicationError.tsx │ │ │ │ │ ├── RedirectUriRequiredForNonBotError.tsx │ │ │ │ │ ├── StreamKeyScopeMismatchError.tsx │ │ │ │ │ ├── UnclaimedAccountCannotCreateApplicationsError.tsx │ │ │ │ │ ├── UnknownApplicationError.tsx │ │ │ │ │ └── UnsupportedGrantTypeError.tsx │ │ │ │ ├── pack/ │ │ │ │ │ ├── InvalidPackTypeError.tsx │ │ │ │ │ ├── MaxPackExpressionsError.tsx │ │ │ │ │ ├── MaxPackLimitError.tsx │ │ │ │ │ ├── PackAccessDeniedError.tsx │ │ │ │ │ └── UnknownPackError.tsx │ │ │ │ ├── payment/ │ │ │ │ │ ├── CannotRedeemPlutoniumWithVisionaryError.tsx │ │ │ │ │ ├── GiftCodeAlreadyRedeemedError.tsx │ │ │ │ │ ├── NoActiveSubscriptionError.tsx │ │ │ │ │ ├── NoVisionarySlotsAvailableError.tsx │ │ │ │ │ ├── PremiumPurchaseBlockedError.tsx │ │ │ │ │ ├── StripeError.tsx │ │ │ │ │ ├── StripeGiftRedemptionInProgressError.tsx │ │ │ │ │ ├── StripeInvalidProductConfigurationError.tsx │ │ │ │ │ ├── StripeInvalidProductError.tsx │ │ │ │ │ ├── StripeNoActiveSubscriptionError.tsx │ │ │ │ │ ├── StripeNoPurchaseHistoryError.tsx │ │ │ │ │ ├── StripeNoSubscriptionError.tsx │ │ │ │ │ ├── StripePaymentNotAvailableError.tsx │ │ │ │ │ ├── StripeSubscriptionAlreadyCancelingError.tsx │ │ │ │ │ ├── StripeSubscriptionNotCancelingError.tsx │ │ │ │ │ ├── StripeSubscriptionPeriodEndMissingError.tsx │ │ │ │ │ ├── StripeWebhookNotAvailableError.tsx │ │ │ │ │ ├── StripeWebhookSignatureInvalidError.tsx │ │ │ │ │ ├── StripeWebhookSignatureMissingError.tsx │ │ │ │ │ └── UnknownGiftCodeError.tsx │ │ │ │ ├── user/ │ │ │ │ │ ├── AccountPermanentlySuspendedError.tsx │ │ │ │ │ ├── AccountSuspiciousActivityError.tsx │ │ │ │ │ ├── AccountTemporarilySuspendedError.tsx │ │ │ │ │ ├── AlreadyFriendsError.tsx │ │ │ │ │ ├── CannotSendFriendRequestToBlockedUserError.tsx │ │ │ │ │ ├── CannotSendFriendRequestToSelfError.tsx │ │ │ │ │ ├── FriendRequestBlockedError.tsx │ │ │ │ │ ├── InvalidDiscriminatorError.tsx │ │ │ │ │ ├── MaxRelationshipsError.tsx │ │ │ │ │ ├── NoUsersWithFluxertagError.tsx │ │ │ │ │ ├── NotFriendsWithUserError.tsx │ │ │ │ │ ├── TagAlreadyTakenError.tsx │ │ │ │ │ ├── UnclaimedAccountCannotAcceptFriendRequestsError.tsx │ │ │ │ │ ├── UnclaimedAccountCannotMakePurchasesError.tsx │ │ │ │ │ ├── UnclaimedAccountCannotSendFriendRequestsError.tsx │ │ │ │ │ ├── UnknownUserError.tsx │ │ │ │ │ ├── UnknownUserFlagError.tsx │ │ │ │ │ └── UserNotInVoiceError.tsx │ │ │ │ ├── voice/ │ │ │ │ │ ├── UnknownVoiceRegionError.tsx │ │ │ │ │ └── UnknownVoiceServerError.tsx │ │ │ │ └── webhook/ │ │ │ │ └── UnknownWebhookError.tsx │ │ │ ├── error_handling/ │ │ │ │ ├── ErrorIntrospection.tsx │ │ │ │ └── ErrorResponse.tsx │ │ │ └── i18n/ │ │ │ ├── ErrorCodeMappings.tsx │ │ │ ├── ErrorI18n.test.tsx │ │ │ ├── ErrorI18n.tsx │ │ │ ├── ErrorI18nService.tsx │ │ │ ├── ErrorI18nTypes.generated.tsx │ │ │ └── locales/ │ │ │ ├── ar.yaml │ │ │ ├── bg.yaml │ │ │ ├── cs.yaml │ │ │ ├── da.yaml │ │ │ ├── de.yaml │ │ │ ├── el.yaml │ │ │ ├── en-GB.yaml │ │ │ ├── es-419.yaml │ │ │ ├── es-ES.yaml │ │ │ ├── fi.yaml │ │ │ ├── fr.yaml │ │ │ ├── he.yaml │ │ │ ├── hi.yaml │ │ │ ├── hr.yaml │ │ │ ├── hu.yaml │ │ │ ├── id.yaml │ │ │ ├── it.yaml │ │ │ ├── ja.yaml │ │ │ ├── ko.yaml │ │ │ ├── lt.yaml │ │ │ ├── messages.yaml │ │ │ ├── nl.yaml │ │ │ ├── no.yaml │ │ │ ├── pl.yaml │ │ │ ├── pt-BR.yaml │ │ │ ├── ro.yaml │ │ │ ├── ru.yaml │ │ │ ├── sv-SE.yaml │ │ │ ├── th.yaml │ │ │ ├── tr.yaml │ │ │ ├── uk.yaml │ │ │ ├── vi.yaml │ │ │ ├── zh-CN.yaml │ │ │ └── zh-TW.yaml │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── geo_utils/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── RegionCodeValidation.tsx │ │ │ ├── RegionDisplayNameResolver.tsx │ │ │ ├── RegionFormatting.tsx │ │ │ └── __tests__/ │ │ │ ├── RegionCodeValidation.test.tsx │ │ │ ├── RegionDisplayNameResolver.test.tsx │ │ │ └── RegionFormatting.test.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── geoip/ │ │ ├── package.json │ │ ├── src/ │ │ │ └── GeoipLookup.tsx │ │ └── tsconfig.json │ ├── hono/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── Flash.tsx │ │ │ ├── Server.tsx │ │ │ ├── Session.tsx │ │ │ ├── middleware/ │ │ │ │ ├── CacheHeaders.tsx │ │ │ │ ├── Cors.tsx │ │ │ │ ├── ErrorHandler.tsx │ │ │ │ ├── InternalAuth.tsx │ │ │ │ ├── Metrics.tsx │ │ │ │ ├── MiddlewareStack.tsx │ │ │ │ ├── RateLimit.tsx │ │ │ │ ├── RequestId.tsx │ │ │ │ ├── RequestLogger.tsx │ │ │ │ ├── TelemetryAdapters.tsx │ │ │ │ ├── Tracing.tsx │ │ │ │ ├── tests/ │ │ │ │ │ ├── CacheHeaders.test.tsx │ │ │ │ │ ├── Cors.test.tsx │ │ │ │ │ ├── ErrorHandler.test.tsx │ │ │ │ │ ├── InternalAuth.test.tsx │ │ │ │ │ ├── Metrics.test.tsx │ │ │ │ │ ├── MiddlewareStack.test.tsx │ │ │ │ │ ├── RateLimit.test.tsx │ │ │ │ │ ├── RequestId.test.tsx │ │ │ │ │ ├── RequestLogger.test.tsx │ │ │ │ │ └── Tracing.test.tsx │ │ │ │ └── utils/ │ │ │ │ └── PathMatchers.tsx │ │ │ └── security/ │ │ │ ├── CsrfProtection.tsx │ │ │ ├── OutboundEndpoint.tsx │ │ │ └── tests/ │ │ │ ├── CsrfProtection.test.tsx │ │ │ └── OutboundEndpoint.test.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── hono_types/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── HonoTypes.tsx │ │ │ ├── MetricsTypes.tsx │ │ │ └── TracingTypes.tsx │ │ └── tsconfig.json │ ├── http_client/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── HttpClient.tsx │ │ │ ├── HttpClientRequestInternals.tsx │ │ │ ├── HttpClientTelemetryTypes.tsx │ │ │ ├── HttpClientTypes.tsx │ │ │ ├── HttpError.tsx │ │ │ ├── PublicInternetRequestUrlPolicy.tsx │ │ │ └── __tests__/ │ │ │ ├── HttpClient.test.tsx │ │ │ ├── PublicInternetRequestUrlPolicy.test.tsx │ │ │ └── TestHttpServer.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── i18n/ │ │ ├── package.json │ │ ├── scripts/ │ │ │ ├── GenerateI18nTypes.ts │ │ │ └── PruneUnusedI18nKeys.ts │ │ ├── src/ │ │ │ ├── interpolation/ │ │ │ │ └── SimpleInterpolator.tsx │ │ │ ├── io/ │ │ │ │ ├── LocaleFilePath.tsx │ │ │ │ └── ParseYamlRecord.tsx │ │ │ ├── normalization/ │ │ │ │ └── IdentityLocale.tsx │ │ │ └── runtime/ │ │ │ ├── BuildTemplates.tsx │ │ │ ├── CompileTemplate.tsx │ │ │ ├── CreateI18n.tsx │ │ │ ├── GetEffectiveLocale.tsx │ │ │ ├── GetTemplate.tsx │ │ │ ├── I18nTypes.tsx │ │ │ ├── LoadLocale.tsx │ │ │ └── tests/ │ │ │ └── CreateI18n.test.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── initialization/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── CreateServiceInstrumentation.tsx │ │ │ ├── Init.tsx │ │ │ └── ServiceInitializationTypes.tsx │ │ └── tsconfig.json │ ├── ip_utils/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ClientIp.tsx │ │ │ ├── IpAddress.tsx │ │ │ └── __tests__/ │ │ │ ├── ClientIp.test.tsx │ │ │ └── IpAddress.test.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── kv_client/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── IKVProvider.tsx │ │ │ ├── KVClient.tsx │ │ │ ├── KVClientConfig.tsx │ │ │ ├── KVClientError.tsx │ │ │ ├── KVCommandArguments.tsx │ │ │ ├── KVPipeline.tsx │ │ │ └── KVSubscription.tsx │ │ └── tsconfig.json │ ├── limits/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ILimitConfigCodec.tsx │ │ │ ├── ILimitEvaluator.tsx │ │ │ ├── LimitConfigCodec.tsx │ │ │ ├── LimitDefaults.tsx │ │ │ ├── LimitDiffer.tsx │ │ │ ├── LimitEvaluator.tsx │ │ │ ├── LimitHashing.tsx │ │ │ ├── LimitMatcher.tsx │ │ │ ├── LimitMerger.tsx │ │ │ ├── LimitResolver.tsx │ │ │ ├── LimitRuleRuntime.tsx │ │ │ ├── LimitSpecificity.tsx │ │ │ ├── LimitTypes.tsx │ │ │ └── __tests__/ │ │ │ ├── LimitDiffer.test.tsx │ │ │ ├── LimitResolver.test.tsx │ │ │ └── LimitSpecificity.test.tsx │ │ └── tsconfig.json │ ├── list_utils/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ListFormatting.tsx │ │ │ ├── ListFormattingCache.tsx │ │ │ ├── ListFormattingFallback.tsx │ │ │ ├── ListFormattingSupport.tsx │ │ │ └── ListFormattingTypes.tsx │ │ └── tsconfig.json │ ├── locale/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── LocaleService.tsx │ │ │ ├── catalog/ │ │ │ │ └── LocaleCatalog.tsx │ │ │ ├── resolution/ │ │ │ │ └── AcceptLanguageNegotiation.tsx │ │ │ └── tests/ │ │ │ └── LocaleService.test.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── logger/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── Logger.tsx │ │ │ ├── LoggerInterface.tsx │ │ │ └── mock.tsx │ │ └── tsconfig.json │ ├── markdown_parser/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ ├── AstUtils.test.tsx │ │ │ │ ├── BlockParsers.test.tsx │ │ │ │ ├── EmojiParsers.test.tsx │ │ │ │ ├── FormattingContext.test.tsx │ │ │ │ ├── InlineParsers.test.tsx │ │ │ │ ├── LinkParsers.test.tsx │ │ │ │ ├── ListParsers.test.tsx │ │ │ │ ├── MentionParsers.test.tsx │ │ │ │ ├── Parser.test.tsx │ │ │ │ ├── StringUtils.test.tsx │ │ │ │ ├── TableParsers.test.tsx │ │ │ │ ├── TestEmojiSetup.tsx │ │ │ │ └── TimestampParsers.test.tsx │ │ │ ├── parser/ │ │ │ │ ├── FormattingContext.tsx │ │ │ │ ├── Parser.tsx │ │ │ │ ├── ParserEngine.tsx │ │ │ │ └── ParserInput.tsx │ │ │ ├── parsers/ │ │ │ │ ├── BlockParsers.tsx │ │ │ │ ├── EmojiParsers.tsx │ │ │ │ ├── InlineParsers.tsx │ │ │ │ ├── LinkParsers.tsx │ │ │ │ ├── ListParsers.tsx │ │ │ │ ├── MentionParsers.tsx │ │ │ │ ├── TableParsers.tsx │ │ │ │ └── TimestampParsers.tsx │ │ │ ├── types/ │ │ │ │ ├── Enums.tsx │ │ │ │ ├── MarkdownConstants.tsx │ │ │ │ └── Nodes.tsx │ │ │ └── utils/ │ │ │ ├── AstUtils.tsx │ │ │ ├── StringUtils.tsx │ │ │ └── UrlUtils.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── marketing/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── DeviceUtils.tsx │ │ │ ├── GeoIp.tsx │ │ │ ├── HonoJsx.d.ts │ │ │ ├── I18n.tsx │ │ │ ├── InstallScripts.tsx │ │ │ ├── MarketingConfig.tsx │ │ │ ├── MarketingContext.tsx │ │ │ ├── MarketingHttpClient.tsx │ │ │ ├── MarketingTelemetry.tsx │ │ │ ├── PathUtils.tsx │ │ │ ├── PricingUtils.tsx │ │ │ ├── PublicDir.tsx │ │ │ ├── RedirectPathUtils.tsx │ │ │ ├── Sitemap.tsx │ │ │ ├── SlugUtils.tsx │ │ │ ├── UrlUtils.tsx │ │ │ ├── __tests__/ │ │ │ │ ├── InlineScriptEscaping.test.tsx │ │ │ │ ├── RedirectPathUtils.test.tsx │ │ │ │ └── fixtures/ │ │ │ │ └── priv/ │ │ │ │ └── terms/ │ │ │ │ └── en-US.md │ │ │ ├── app/ │ │ │ │ ├── MarketingContextFactory.tsx │ │ │ │ ├── MarketingMiddlewareStack.tsx │ │ │ │ ├── MarketingRouteRegistrar.tsx │ │ │ │ └── MarketingStaticAssets.tsx │ │ │ ├── components/ │ │ │ │ ├── ContentToc.tsx │ │ │ │ ├── CurrentFeaturesSection.tsx │ │ │ │ ├── FeatureCard.tsx │ │ │ │ ├── FeaturePill.tsx │ │ │ │ ├── FeaturesGrid.tsx │ │ │ │ ├── FinalCtaSection.tsx │ │ │ │ ├── Flags.tsx │ │ │ │ ├── Footer.tsx │ │ │ │ ├── GetInvolvedSection.tsx │ │ │ │ ├── HackernewsBanner.tsx │ │ │ │ ├── Hero.tsx │ │ │ │ ├── HeroBase.tsx │ │ │ │ ├── LocaleSelector.tsx │ │ │ │ ├── MarketingButton.tsx │ │ │ │ ├── MarketingCard.tsx │ │ │ │ ├── Navigation.tsx │ │ │ │ ├── PartnerSection.tsx │ │ │ │ ├── Picture.tsx │ │ │ │ ├── PlatformDownloadButton.tsx │ │ │ │ ├── PlutoniumSection.tsx │ │ │ │ ├── PwaInstallDialog.tsx │ │ │ │ ├── Section.tsx │ │ │ │ ├── SupportCard.tsx │ │ │ │ └── icons/ │ │ │ │ ├── AndroidIcon.tsx │ │ │ │ ├── AppleIcon.tsx │ │ │ │ ├── ArrowRightIcon.tsx │ │ │ │ ├── ArrowUpIcon.tsx │ │ │ │ ├── BlueskyIcon.tsx │ │ │ │ ├── BugIcon.tsx │ │ │ │ ├── CalendarCheckIcon.tsx │ │ │ │ ├── CaretDownIcon.tsx │ │ │ │ ├── ChatCenteredTextIcon.tsx │ │ │ │ ├── ChatsCircleIcon.tsx │ │ │ │ ├── ChatsIcon.tsx │ │ │ │ ├── CheckIcon.tsx │ │ │ │ ├── CodeIcon.tsx │ │ │ │ ├── CoinsIcon.tsx │ │ │ │ ├── CrossIcon.tsx │ │ │ │ ├── CrownIcon.tsx │ │ │ │ ├── DevicesIcon.tsx │ │ │ │ ├── DownloadArrowIcon.tsx │ │ │ │ ├── DownloadIcon.tsx │ │ │ │ ├── FluxerLogoWordmarkIcon.tsx │ │ │ │ ├── FluxerPartnerIcon.tsx │ │ │ │ ├── FluxerPremiumIcon.tsx │ │ │ │ ├── FluxerStaffIcon.tsx │ │ │ │ ├── GearIcon.tsx │ │ │ │ ├── GifIcon.tsx │ │ │ │ ├── GithubIcon.tsx │ │ │ │ ├── GlobeIcon.tsx │ │ │ │ ├── HashIcon.tsx │ │ │ │ ├── HeartIcon.tsx │ │ │ │ ├── IconRegistry.tsx │ │ │ │ ├── InfinityIcon.tsx │ │ │ │ ├── LinkIcon.tsx │ │ │ │ ├── LinuxIcon.tsx │ │ │ │ ├── MagnifyingGlassIcon.tsx │ │ │ │ ├── MedalIcon.tsx │ │ │ │ ├── MenuIcon.tsx │ │ │ │ ├── MicrophoneIcon.tsx │ │ │ │ ├── NewspaperIcon.tsx │ │ │ │ ├── PaletteIcon.tsx │ │ │ │ ├── RocketIcon.tsx │ │ │ │ ├── RocketLaunchIcon.tsx │ │ │ │ ├── RssIcon.tsx │ │ │ │ ├── SealCheckIcon.tsx │ │ │ │ ├── ShieldCheckIcon.tsx │ │ │ │ ├── SmileyIcon.tsx │ │ │ │ ├── SparkleIcon.tsx │ │ │ │ ├── SpeakerHighIcon.tsx │ │ │ │ ├── SwishIcon.tsx │ │ │ │ ├── TranslateIcon.tsx │ │ │ │ ├── TshirtIcon.tsx │ │ │ │ ├── UserCircleIcon.tsx │ │ │ │ ├── UserPlusIcon.tsx │ │ │ │ ├── VideoCameraIcon.tsx │ │ │ │ ├── VideoIcon.tsx │ │ │ │ ├── WindowsIcon.tsx │ │ │ │ └── XIcon.tsx │ │ │ ├── content/ │ │ │ │ ├── help/ │ │ │ │ │ ├── Metadata.tsx │ │ │ │ │ ├── attachment-expiry.md │ │ │ │ │ ├── change-date-of-birth.md │ │ │ │ │ ├── copyright.md │ │ │ │ │ ├── data-deletion.md │ │ │ │ │ ├── data-export.md │ │ │ │ │ ├── data-retention.md │ │ │ │ │ ├── delete-account.md │ │ │ │ │ ├── dsa-dispute-resolution.md │ │ │ │ │ ├── regional-restrictions.md │ │ │ │ │ ├── report-bug.md │ │ │ │ │ └── visionary.md │ │ │ │ └── policies/ │ │ │ │ ├── Metadata.tsx │ │ │ │ ├── company-information.md │ │ │ │ ├── guidelines.md │ │ │ │ ├── privacy.md │ │ │ │ ├── security.md │ │ │ │ └── terms.md │ │ │ ├── help/ │ │ │ │ └── HelpContentLoader.tsx │ │ │ ├── markdown/ │ │ │ │ ├── AstHtmlRenderer.tsx │ │ │ │ ├── MarkdownContentLoader.tsx │ │ │ │ ├── MarkdownFrontmatter.tsx │ │ │ │ ├── MarkdownRenderer.tsx │ │ │ │ └── tests/ │ │ │ │ ├── AstHtmlRenderer.test.tsx │ │ │ │ ├── MarkdownFrontmatter.test.tsx │ │ │ │ └── MarkdownRenderer.test.tsx │ │ │ ├── marketing_i18n/ │ │ │ │ ├── MarketingI18n.test.tsx │ │ │ │ ├── MarketingI18n.tsx │ │ │ │ ├── MarketingI18nService.tsx │ │ │ │ ├── MarketingI18nTypes.generated.tsx │ │ │ │ ├── MarketingI18nTypes.tsx │ │ │ │ └── locales/ │ │ │ │ ├── ar.yaml │ │ │ │ ├── bg.yaml │ │ │ │ ├── cs.yaml │ │ │ │ ├── da.yaml │ │ │ │ ├── de.yaml │ │ │ │ ├── el.yaml │ │ │ │ ├── en-GB.yaml │ │ │ │ ├── es-419.yaml │ │ │ │ ├── es-ES.yaml │ │ │ │ ├── fi.yaml │ │ │ │ ├── fr.yaml │ │ │ │ ├── he.yaml │ │ │ │ ├── hi.yaml │ │ │ │ ├── hr.yaml │ │ │ │ ├── hu.yaml │ │ │ │ ├── id.yaml │ │ │ │ ├── it.yaml │ │ │ │ ├── ja.yaml │ │ │ │ ├── ko.yaml │ │ │ │ ├── lt.yaml │ │ │ │ ├── messages.yaml │ │ │ │ ├── nl.yaml │ │ │ │ ├── no.yaml │ │ │ │ ├── pl.yaml │ │ │ │ ├── pt-BR.yaml │ │ │ │ ├── ro.yaml │ │ │ │ ├── ru.yaml │ │ │ │ ├── sv-SE.yaml │ │ │ │ ├── th.yaml │ │ │ │ ├── tr.yaml │ │ │ │ ├── uk.yaml │ │ │ │ ├── vi.yaml │ │ │ │ ├── zh-CN.yaml │ │ │ │ └── zh-TW.yaml │ │ │ ├── middleware/ │ │ │ │ ├── CacheHeadersMiddleware.tsx │ │ │ │ └── Csrf.tsx │ │ │ ├── pages/ │ │ │ │ ├── CareersPage.tsx │ │ │ │ ├── DonateManagePage.tsx │ │ │ │ ├── DonatePage.tsx │ │ │ │ ├── DonateSuccessPage.tsx │ │ │ │ ├── DownloadPage.tsx │ │ │ │ ├── HelpArticlePage.tsx │ │ │ │ ├── HelpIndexPage.tsx │ │ │ │ ├── HomePage.tsx │ │ │ │ ├── InlineScriptEscaping.tsx │ │ │ │ ├── Layout.tsx │ │ │ │ ├── NotFoundPage.tsx │ │ │ │ ├── PartnersPage.tsx │ │ │ │ ├── PlutoniumPage.tsx │ │ │ │ ├── PolicyPage.tsx │ │ │ │ ├── PressPage.tsx │ │ │ │ ├── donations/ │ │ │ │ │ ├── DonationForm.tsx │ │ │ │ │ └── DonationManageForm.tsx │ │ │ │ └── layout/ │ │ │ │ ├── Icons.tsx │ │ │ │ ├── LayoutDocument.tsx │ │ │ │ ├── Meta.tsx │ │ │ │ └── Scripts.tsx │ │ │ ├── policies/ │ │ │ │ └── PolicyContentLoader.tsx │ │ │ ├── routes/ │ │ │ │ └── RouteTypes.tsx │ │ │ ├── styles/ │ │ │ │ └── app.css │ │ │ └── utils/ │ │ │ └── NumberFormatUtils.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── media_proxy/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── controllers/ │ │ │ │ ├── AttachmentsController.tsx │ │ │ │ ├── ExternalMediaController.test.tsx │ │ │ │ ├── ExternalMediaController.tsx │ │ │ │ ├── FrameExtractionController.tsx │ │ │ │ ├── ImageController.test.tsx │ │ │ │ ├── ImageController.tsx │ │ │ │ ├── MetadataController.tsx │ │ │ │ ├── StaticProxyController.tsx │ │ │ │ ├── StickerController.test.tsx │ │ │ │ ├── StickerController.tsx │ │ │ │ ├── ThemeController.tsx │ │ │ │ └── ThumbnailController.tsx │ │ │ ├── lib/ │ │ │ │ ├── BinaryUtils.tsx │ │ │ │ ├── CloudflareEdgeIPService.tsx │ │ │ │ ├── CodecValidation.tsx │ │ │ │ ├── FFmpegUtils.tsx │ │ │ │ ├── HttpUtils.tsx │ │ │ │ ├── ImageProcessing.tsx │ │ │ │ ├── InMemoryCoalescer.tsx │ │ │ │ ├── MediaTransformService.tsx │ │ │ │ ├── MediaTypes.tsx │ │ │ │ ├── MediaValidation.tsx │ │ │ │ ├── MimeTypeUtils.tsx │ │ │ │ ├── NSFWDetectionService.tsx │ │ │ │ └── S3Utils.tsx │ │ │ ├── middleware/ │ │ │ │ ├── AuthMiddleware.tsx │ │ │ │ ├── CloudflareFirewall.tsx │ │ │ │ └── MetricsMiddleware.tsx │ │ │ ├── schemas/ │ │ │ │ └── ValidationSchemas.tsx │ │ │ ├── services/ │ │ │ │ ├── FrameService.tsx │ │ │ │ └── MetadataService.tsx │ │ │ ├── types/ │ │ │ │ ├── HonoEnv.tsx │ │ │ │ ├── MediaProxyConfig.tsx │ │ │ │ ├── MediaProxyServices.tsx │ │ │ │ ├── Metrics.tsx │ │ │ │ └── Tracing.tsx │ │ │ └── utils/ │ │ │ ├── FetchUtils.test.tsx │ │ │ └── FetchUtils.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── media_proxy_utils/ │ │ ├── package.json │ │ └── src/ │ │ ├── ExternalMediaProxyPathCodec.tsx │ │ ├── ExternalMediaProxyUrlBuilder.tsx │ │ ├── MediaProxySigner.tsx │ │ └── MediaProxyUtils.tsx │ ├── meilisearch_search/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── MeilisearchClient.tsx │ │ │ ├── MeilisearchFilterUtils.tsx │ │ │ ├── MeilisearchIndexDefinitions.tsx │ │ │ └── adapters/ │ │ │ ├── MeilisearchAuditLogAdapter.tsx │ │ │ ├── MeilisearchGuildAdapter.tsx │ │ │ ├── MeilisearchGuildMemberAdapter.tsx │ │ │ ├── MeilisearchIndexAdapter.tsx │ │ │ ├── MeilisearchMessageAdapter.tsx │ │ │ ├── MeilisearchReportAdapter.tsx │ │ │ └── MeilisearchUserAdapter.tsx │ │ └── tsconfig.json │ ├── mime_utils/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ContentTypeUtils.tsx │ │ │ └── index.tsx │ │ └── tsconfig.json │ ├── nats/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── INatsConnectionManager.tsx │ │ │ ├── JetStreamConnectionManager.tsx │ │ │ ├── NatsConnectionManager.tsx │ │ │ └── NatsConnectionOptions.tsx │ │ └── tsconfig.json │ ├── number_utils/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── NumberConstants.tsx │ │ │ ├── NumberFormatterCache.tsx │ │ │ ├── NumberFormatting.tsx │ │ │ ├── NumberParsing.tsx │ │ │ └── NumberTypes.tsx │ │ └── tsconfig.json │ ├── oauth2/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── OAuth2.tsx │ │ │ ├── Token.tsx │ │ │ ├── User.tsx │ │ │ ├── __tests__/ │ │ │ │ ├── OAuth2.test.tsx │ │ │ │ ├── Token.test.tsx │ │ │ │ └── User.test.tsx │ │ │ ├── client/ │ │ │ │ ├── IOAuth2Client.tsx │ │ │ │ ├── OAuth2Client.tsx │ │ │ │ └── tests/ │ │ │ │ └── OAuth2Client.test.tsx │ │ │ ├── config/ │ │ │ │ └── OAuth2ClientConfig.tsx │ │ │ ├── http/ │ │ │ │ ├── FetchHttpClient.tsx │ │ │ │ └── IOAuth2HttpClient.tsx │ │ │ ├── logging/ │ │ │ │ └── IOAuth2Logger.tsx │ │ │ └── models/ │ │ │ ├── OAuth2TokenResponse.tsx │ │ │ └── OAuth2UserInfo.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── openapi/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── GenerateOpenAPISpec.tsx │ │ │ ├── OpenAPIGenerationTypes.tsx │ │ │ ├── OpenAPIGenerator.tsx │ │ │ ├── OpenAPITypes.tsx │ │ │ ├── Types.tsx │ │ │ ├── converters/ │ │ │ │ ├── BuiltInSchemas.tsx │ │ │ │ └── ZodToOpenAPI.tsx │ │ │ ├── extractors/ │ │ │ │ ├── MiddlewareAnalyzer.tsx │ │ │ │ └── RouteExtractor.tsx │ │ │ ├── generator/ │ │ │ │ ├── OpenAPIGeneratorCatalog.tsx │ │ │ │ ├── OpenAPIOperationBuilder.tsx │ │ │ │ ├── OpenAPISchemaReferenceCollector.tsx │ │ │ │ └── OpenAPISchemaRegistryLoader.tsx │ │ │ ├── output/ │ │ │ │ ├── SpecValidator.tsx │ │ │ │ └── SpecWriter.tsx │ │ │ ├── registry/ │ │ │ │ ├── ParameterRegistry.tsx │ │ │ │ ├── ResponseRegistry.tsx │ │ │ │ ├── SchemaLoader.tsx │ │ │ │ └── SchemaRegistry.tsx │ │ │ ├── schemas/ │ │ │ │ └── CustomSchemaType.tsx │ │ │ └── scripts/ │ │ │ └── GenerateSpec.tsx │ │ └── tsconfig.json │ ├── queue/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── __tests__/ │ │ │ │ ├── CronScheduler.test.tsx │ │ │ │ ├── DelayQueue.test.tsx │ │ │ │ ├── PriorityQueue.test.tsx │ │ │ │ └── QueueEngine.test.tsx │ │ │ ├── api/ │ │ │ │ ├── Handlers.tsx │ │ │ │ ├── QueueApiTypes.tsx │ │ │ │ ├── QueueRequestSchemas.tsx │ │ │ │ ├── QueueResponseTypes.tsx │ │ │ │ └── Routes.tsx │ │ │ ├── contracts/ │ │ │ │ ├── ICronScheduler.tsx │ │ │ │ ├── IQueueEngine.tsx │ │ │ │ └── IQueueEnqueueClient.tsx │ │ │ ├── cron/ │ │ │ │ └── CronScheduler.tsx │ │ │ ├── domain/ │ │ │ │ ├── QueueDomainTypes.tsx │ │ │ │ └── QueuePayloadCodec.tsx │ │ │ ├── engine/ │ │ │ │ ├── DelayQueue.tsx │ │ │ │ ├── PriorityQueue.tsx │ │ │ │ └── QueueEngine.tsx │ │ │ └── types/ │ │ │ ├── JobTypes.tsx │ │ │ ├── JsonTypes.tsx │ │ │ └── QueueConfig.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── rate_limit/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ICacheService.tsx │ │ │ ├── IRateLimitService.tsx │ │ │ ├── InMemoryCacheService.tsx │ │ │ ├── KVRequiredError.tsx │ │ │ ├── RateLimitService.tsx │ │ │ ├── __tests__/ │ │ │ │ ├── InMemoryCacheService.test.tsx │ │ │ │ ├── KVRequiredError.test.tsx │ │ │ │ ├── RateLimitMiddleware.test.tsx │ │ │ │ └── RateLimitService.test.tsx │ │ │ ├── internal/ │ │ │ │ ├── GcraRateLimiter.tsx │ │ │ │ ├── RateLimitCacheState.tsx │ │ │ │ ├── RateLimitKeyFactory.tsx │ │ │ │ └── RateLimitValidation.tsx │ │ │ └── middleware/ │ │ │ └── RateLimitMiddleware.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── s3/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── __tests__/ │ │ │ │ ├── App.test.tsx │ │ │ │ ├── Controllers.test.tsx │ │ │ │ ├── Crypto.test.tsx │ │ │ │ ├── PresignedUrlGenerator.test.tsx │ │ │ │ ├── S3AuthMiddleware.test.tsx │ │ │ │ ├── S3Error.test.tsx │ │ │ │ ├── S3Service.test.tsx │ │ │ │ └── Xml.test.tsx │ │ │ ├── app/ │ │ │ │ ├── S3AppConfigTypes.tsx │ │ │ │ ├── S3ErrorHandling.tsx │ │ │ │ ├── S3MiddlewareSetup.tsx │ │ │ │ ├── S3RateLimitResolver.tsx │ │ │ │ ├── S3ResponseHeadersMiddleware.tsx │ │ │ │ └── S3RouteRegistrar.tsx │ │ │ ├── errors/ │ │ │ │ └── S3Error.tsx │ │ │ ├── middleware/ │ │ │ │ ├── S3AuthMiddleware.tsx │ │ │ │ └── S3RequestAuthenticator.tsx │ │ │ ├── s3/ │ │ │ │ ├── BucketController.tsx │ │ │ │ ├── ObjectController.tsx │ │ │ │ ├── PresignedUrlGenerator.tsx │ │ │ │ └── S3Service.tsx │ │ │ ├── types/ │ │ │ │ └── HonoEnv.tsx │ │ │ └── utils/ │ │ │ ├── Crypto.tsx │ │ │ └── XmlUtils.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── schema/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── branded/ │ │ │ │ └── WireIds.tsx │ │ │ ├── contracts/ │ │ │ │ └── search/ │ │ │ │ ├── SearchAdapterTypes.tsx │ │ │ │ └── SearchDocumentTypes.tsx │ │ │ ├── domains/ │ │ │ │ ├── admin/ │ │ │ │ │ ├── AdminGuildSchemas.tsx │ │ │ │ │ ├── AdminMessageSchemas.tsx │ │ │ │ │ ├── AdminSchemas.tsx │ │ │ │ │ ├── AdminUserSchemas.tsx │ │ │ │ │ └── AdminVoiceSchemas.tsx │ │ │ │ ├── auth/ │ │ │ │ │ └── AuthSchemas.tsx │ │ │ │ ├── channel/ │ │ │ │ │ ├── ChannelRequestSchemas.tsx │ │ │ │ │ ├── ChannelSchemas.tsx │ │ │ │ │ └── GuildChannelOrdering.tsx │ │ │ │ ├── common/ │ │ │ │ │ ├── CommonParamSchemas.tsx │ │ │ │ │ └── CommonQuerySchemas.tsx │ │ │ │ ├── connection/ │ │ │ │ │ ├── BlueskyOAuthSchemas.tsx │ │ │ │ │ └── ConnectionSchemas.tsx │ │ │ │ ├── donation/ │ │ │ │ │ └── DonationSchemas.tsx │ │ │ │ ├── download/ │ │ │ │ │ └── DownloadSchemas.tsx │ │ │ │ ├── error/ │ │ │ │ │ ├── ErrorCodeSchemas.tsx │ │ │ │ │ └── ErrorSchemas.tsx │ │ │ │ ├── gateway/ │ │ │ │ │ └── GatewaySchemas.tsx │ │ │ │ ├── guild/ │ │ │ │ │ ├── GuildAuditLogSchemas.tsx │ │ │ │ │ ├── GuildDiscoverySchemas.tsx │ │ │ │ │ ├── GuildEmojiSchemas.tsx │ │ │ │ │ ├── GuildMemberSchemas.tsx │ │ │ │ │ ├── GuildMemberSearchSchemas.tsx │ │ │ │ │ ├── GuildRequestSchemas.tsx │ │ │ │ │ ├── GuildResponseSchemas.tsx │ │ │ │ │ └── GuildRoleSchemas.tsx │ │ │ │ ├── instance/ │ │ │ │ │ └── InstanceSchemas.tsx │ │ │ │ ├── invite/ │ │ │ │ │ └── InviteSchemas.tsx │ │ │ │ ├── klipy/ │ │ │ │ │ └── KlipySchemas.tsx │ │ │ │ ├── media_proxy/ │ │ │ │ │ └── MediaProxySchemas.tsx │ │ │ │ ├── meme/ │ │ │ │ │ └── MemeSchemas.tsx │ │ │ │ ├── message/ │ │ │ │ │ ├── AttachmentSchemas.tsx │ │ │ │ │ ├── EmbedSchemas.tsx │ │ │ │ │ ├── MessageRequestSchemas.tsx │ │ │ │ │ ├── MessageResponseSchemas.tsx │ │ │ │ │ ├── ScheduledMessageSchemas.tsx │ │ │ │ │ └── SharedMessageSchemas.tsx │ │ │ │ ├── oauth/ │ │ │ │ │ └── OAuthSchemas.tsx │ │ │ │ ├── oauth2/ │ │ │ │ │ └── FederationOAuth2Schemas.tsx │ │ │ │ ├── pack/ │ │ │ │ │ └── PackSchemas.tsx │ │ │ │ ├── premium/ │ │ │ │ │ ├── GiftCodeSchemas.tsx │ │ │ │ │ └── PremiumSchemas.tsx │ │ │ │ ├── relay/ │ │ │ │ │ └── RelaySchemas.tsx │ │ │ │ ├── report/ │ │ │ │ │ └── ReportSchemas.tsx │ │ │ │ ├── rpc/ │ │ │ │ │ └── RpcSchemas.tsx │ │ │ │ ├── tenor/ │ │ │ │ │ └── TenorSchemas.tsx │ │ │ │ ├── tests/ │ │ │ │ │ ├── ChannelSchemas.test.tsx │ │ │ │ │ ├── EmbedSchemas.test.tsx │ │ │ │ │ ├── GuildChannelOrdering.test.tsx │ │ │ │ │ ├── GuildResponseSchemas.test.tsx │ │ │ │ │ └── UserResponseSchemas.test.tsx │ │ │ │ ├── theme/ │ │ │ │ │ └── ThemeSchemas.tsx │ │ │ │ ├── user/ │ │ │ │ │ ├── UserHarvestSchemas.tsx │ │ │ │ │ ├── UserRequestSchemas.tsx │ │ │ │ │ └── UserResponseSchemas.tsx │ │ │ │ └── webhook/ │ │ │ │ ├── GitHubWebhookSchemas.tsx │ │ │ │ ├── SentryWebhookSchemas.tsx │ │ │ │ ├── WebhookRequestSchemas.tsx │ │ │ │ └── WebhookSchemas.tsx │ │ │ └── primitives/ │ │ │ ├── AuditLogValidators.tsx │ │ │ ├── ChannelValidators.tsx │ │ │ ├── DeletionValidators.tsx │ │ │ ├── EmojiValidators.tsx │ │ │ ├── FileValidators.tsx │ │ │ ├── GuildValidators.tsx │ │ │ ├── InviteValidators.tsx │ │ │ ├── LocaleSchema.tsx │ │ │ ├── MessageValidators.tsx │ │ │ ├── PermissionValidators.tsx │ │ │ ├── QueryValidators.tsx │ │ │ ├── SchemaPrimitives.tsx │ │ │ ├── UrlValidators.tsx │ │ │ ├── UserSettingsValidators.tsx │ │ │ ├── UserValidators.tsx │ │ │ ├── WebhookValidators.tsx │ │ │ └── tests/ │ │ │ ├── AuditLogValidators.test.tsx │ │ │ ├── ChannelValidators.test.tsx │ │ │ ├── EmojiValidators.test.tsx │ │ │ ├── FileValidators.test.tsx │ │ │ ├── GuildValidators.test.tsx │ │ │ ├── MessageValidators.test.tsx │ │ │ ├── QueryValidators.test.tsx │ │ │ ├── SchemaPrimitives.test.tsx │ │ │ ├── UrlValidators.test.tsx │ │ │ ├── UserValidators.test.tsx │ │ │ └── WebhookValidators.test.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── sentry/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── Sentry.tsx │ │ │ ├── SentryConfig.tsx │ │ │ ├── SentryContracts.tsx │ │ │ ├── SentryLogger.tsx │ │ │ ├── SentryNodeClient.tsx │ │ │ └── SentryService.tsx │ │ └── tsconfig.json │ ├── sms/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ISmsService.tsx │ │ │ ├── SmsService.tsx │ │ │ ├── SmsVerificationUtils.tsx │ │ │ ├── __tests__/ │ │ │ │ ├── SmsProviderFactory.test.tsx │ │ │ │ ├── SmsService.test.tsx │ │ │ │ ├── TestSmsProvider.test.tsx │ │ │ │ └── TwilioSmsProvider.test.tsx │ │ │ └── providers/ │ │ │ ├── ISmsProvider.tsx │ │ │ ├── SmsProviderFactory.tsx │ │ │ ├── TestSmsProvider.tsx │ │ │ ├── TwilioSmsProvider.tsx │ │ │ └── UnavailableSmsProvider.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── snowflake/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── Snowflake.tsx │ │ │ ├── SnowflakeBuckets.tsx │ │ │ ├── SnowflakeUtils.tsx │ │ │ └── __tests__/ │ │ │ └── Snowflake.test.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── telemetry/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── Metrics.tsx │ │ │ ├── Telemetry.tsx │ │ │ ├── Tracing.tsx │ │ │ └── telemetry_runtime/ │ │ │ ├── TelemetryConfig.tsx │ │ │ ├── TelemetryInstrumentations.tsx │ │ │ ├── TelemetryLogger.tsx │ │ │ ├── TelemetryManager.tsx │ │ │ └── TelemetrySdk.tsx │ │ └── tsconfig.json │ ├── time/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── Clock.tsx │ │ │ ├── DelayMath.tsx │ │ │ ├── ExponentialBackoff.tsx │ │ │ ├── Rfc3339Timestamp.tsx │ │ │ ├── Sleep.tsx │ │ │ └── tests/ │ │ │ ├── Clock.test.tsx │ │ │ ├── DelayMath.test.tsx │ │ │ ├── ExponentialBackoff.test.tsx │ │ │ ├── Rfc3339Timestamp.test.tsx │ │ │ └── Sleep.test.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── ui/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── HonoJsx.d.ts │ │ │ ├── components/ │ │ │ │ ├── Alert.tsx │ │ │ │ ├── Badge.tsx │ │ │ │ ├── Button.tsx │ │ │ │ ├── Card.tsx │ │ │ │ ├── CheckboxForm.tsx │ │ │ │ ├── CsrfInput.tsx │ │ │ │ ├── EmptyState.tsx │ │ │ │ ├── Flash.tsx │ │ │ │ ├── Form.tsx │ │ │ │ ├── FormFieldGroup.tsx │ │ │ │ ├── FormModal.tsx │ │ │ │ ├── FormSection.tsx │ │ │ │ ├── InputGroup.tsx │ │ │ │ ├── Layout.tsx │ │ │ │ ├── Navigation.tsx │ │ │ │ ├── Pagination.tsx │ │ │ │ ├── RadioGroup.tsx │ │ │ │ ├── SearchForm.tsx │ │ │ │ ├── SliderInput.tsx │ │ │ │ ├── Table.tsx │ │ │ │ ├── ToggleSwitch.tsx │ │ │ │ └── Typography.tsx │ │ │ ├── pages/ │ │ │ │ └── ErrorPage.tsx │ │ │ ├── styles/ │ │ │ │ ├── FormControls.tsx │ │ │ │ ├── Gradients.tsx │ │ │ │ └── Spacing.tsx │ │ │ ├── types/ │ │ │ │ └── Common.tsx │ │ │ └── utils/ │ │ │ ├── AvatarMediaUtils.tsx │ │ │ ├── ClassNames.tsx │ │ │ ├── ColorVariants.tsx │ │ │ ├── FormatNumber.tsx │ │ │ ├── FormatSize.tsx │ │ │ ├── FormatUser.tsx │ │ │ └── VariantClasses.tsx │ │ └── tsconfig.json │ ├── validation/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── Validator.tsx │ │ │ ├── ZodErrorMap.tsx │ │ │ ├── __tests__/ │ │ │ │ ├── ValidationErrorCodes.test.tsx │ │ │ │ ├── Validator.test.tsx │ │ │ │ └── ZodErrorMap.test.tsx │ │ │ ├── error_map/ │ │ │ │ └── ZodIssueErrorCodeResolver.tsx │ │ │ ├── shared/ │ │ │ │ └── ValidationErrorCodeUtils.tsx │ │ │ └── validator/ │ │ │ ├── ValidatorErrorFactory.tsx │ │ │ ├── ValidatorIssueVariables.tsx │ │ │ ├── ValidatorRequestValue.tsx │ │ │ ├── ValidatorTypes.tsx │ │ │ └── ValidatorValueNormalizer.tsx │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── virus_scan/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── IVirusScanProvider.tsx │ │ │ ├── IVirusScanService.tsx │ │ │ ├── VirusScanProviderResult.tsx │ │ │ ├── VirusScanResult.tsx │ │ │ ├── VirusScanService.tsx │ │ │ ├── cache/ │ │ │ │ ├── IVirusHashCache.tsx │ │ │ │ ├── IVirusScanCacheStore.tsx │ │ │ │ └── VirusHashCache.tsx │ │ │ ├── failures/ │ │ │ │ ├── IVirusScanFailureReporter.tsx │ │ │ │ ├── NoopVirusScanFailureReporter.tsx │ │ │ │ ├── VirusScanFailureContext.tsx │ │ │ │ └── WebhookVirusScanFailureReporter.tsx │ │ │ └── providers/ │ │ │ ├── ClamAVProvider.tsx │ │ │ └── DisabledProvider.tsx │ │ └── tsconfig.json │ └── worker/ │ ├── package.json │ ├── src/ │ │ ├── context/ │ │ │ └── WorkerContext.tsx │ │ ├── contracts/ │ │ │ ├── IWorkerService.tsx │ │ │ ├── WorkerTask.tsx │ │ │ └── WorkerTypes.tsx │ │ ├── providers/ │ │ │ ├── DirectQueueProvider.tsx │ │ │ ├── HttpWorkerQueue.tsx │ │ │ ├── IQueueProvider.tsx │ │ │ └── QueueProviderFactory.tsx │ │ ├── runtime/ │ │ │ ├── WorkerFactory.tsx │ │ │ ├── WorkerRunner.tsx │ │ │ └── WorkerTaskRegistry.tsx │ │ └── services/ │ │ ├── WorkerMetricsCollector.tsx │ │ └── WorkerService.tsx │ └── tsconfig.json ├── patches/ │ └── @phosphor-icons__react@2.1.10.patch ├── pnpm-workspace.yaml ├── scripts/ │ ├── ci/ │ │ ├── ci_steps.py │ │ ├── ci_utils.py │ │ ├── ci_workflow.py │ │ ├── cli_release.py │ │ ├── deploy_workflow.py │ │ ├── erlang_hot_reload.py │ │ ├── pyproject.toml │ │ ├── release_workflow.py │ │ └── workflows/ │ │ ├── __init__.py │ │ ├── build_desktop.py │ │ ├── channel_vars.py │ │ ├── ci.py │ │ ├── ci_scripts.py │ │ ├── deploy_admin.py │ │ ├── deploy_api.py │ │ ├── deploy_app.py │ │ ├── deploy_gateway.py │ │ ├── deploy_kv.py │ │ ├── deploy_marketing.py │ │ ├── deploy_media_proxy.py │ │ ├── deploy_queue.py │ │ ├── deploy_relay.py │ │ ├── deploy_relay_directory.py │ │ ├── deploy_static_proxy.py │ │ ├── migrate_cassandra.py │ │ ├── promote_canary_to_main.py │ │ ├── release_livekitctl.py │ │ ├── release_relay.py │ │ ├── release_relay_directory.py │ │ ├── release_server.py │ │ ├── restart_gateway.py │ │ ├── sync_desktop.py │ │ ├── sync_static.py │ │ ├── test_cassandra_backup.py │ │ └── update_word_lists.py │ ├── dev_bootstrap.sh │ ├── dev_css_watch.sh │ ├── dev_fluxer_app.sh │ ├── dev_gateway.sh │ ├── dev_process_entry.sh │ ├── run_dev.sh │ └── watch_css.sh ├── tsconfig.json ├── tsconfigs/ │ ├── base.json │ ├── dom-globals.d.ts │ ├── frontend.json │ ├── hono-service.json │ ├── package-hono.json │ ├── package.json │ └── service.json └── turbo.json