fix(app): retry hydrating message authors after a reconnect (#1849)
fix(app): retry hydrating message authors after a reconnect (#1849)
Inspect stored evidence paths
fluxer_app/src/features/member/state/GuildMembers.ts
Reading the persisted public view.
Datamining / findings
Evidence records derived from public code, builds, assets, APIs or schemas. A detection is not automatically a release, announcement or confirmed feature.
Classification overview
fix(app): retry hydrating message authors after a reconnect (#1849)
fluxer_app/src/features/member/state/GuildMembers.tsfix(app): keep the member list in sync when switching channels (#1848)
fluxer_app/src/features/guild/events/GuildMemberListUpdate.tsfluxer_app/src/features/member/hooks/useMemberListSubscription.tsfluxer_app/src/features/member/state/MemberSidebar.tsfluxer_app/src/features/member/utils/MemberListHydration.tsfluxer_app/src/features/member/utils/MemberListIdentity.tsfluxer_app/src/features/member/utils/MemberListLayout.tsfluxer_app/src/features/member/utils/MemberListRangeUtils.test.tsfluxer_app/src/features/member/utils/MemberListRangeUtils.tsfix(app): make the media volume slider track loudness (#1847)
fluxer_app/src/features/voice/components/media_player/hooks/useMediaVolume.tsfix(app): hide the video controls again after a few idle seconds (#1846)
fluxer_app/src/features/voice/components/media_player/MediaControlsVisibilityStateMachine.test.tsfluxer_app/src/features/voice/components/media_player/MediaControlsVisibilityStateMachine.tsfluxer_app/src/features/voice/components/media_player/hooks/useControlsVisibility.tsfix(app): keep local image previews from disappearing before upload (#1845)
fluxer_app/src/features/messaging/upload/CloudUpload.tsfluxer_app/src/features/messaging/utils/LocalAttachmentPreviewUtils.test.tsfluxer_app/src/features/messaging/utils/LocalAttachmentPreviewUtils.tsrefactor(app): rename ComponentDispatch to ComponentBus (#1844)
fluxer_app/src/features/app/components/dialogs/components/DesktopSettingsView.tsxfluxer_app/src/features/app/components/dialogs/components/PlutoniumContent.tsxfluxer_app/src/features/app/components/dialogs/components/plutonium/GiftInventoryBanner.tsxfluxer_app/src/features/app/components/layout/GuildLayout.tsxfluxer_app/src/features/app/components/layout/GuildsLayout.tsxfluxer_app/src/features/app/components/layout/KeyboardModeListener.tsfluxer_app/src/features/app/keybindings/keybind_manager/handlers/defaultHandlers.tsfluxer_app/src/features/channel/components/ChannelAttachmentArea.tsxfluxer_app/src/features/channel/components/ChannelComposerDismissal.tsfluxer_app/src/features/channel/components/ChannelHeader.tsxfluxer_app/src/features/channel/components/ChannelMessages.tsxfluxer_app/src/features/channel/components/ChannelStickersArea.tsxfluxer_app/src/features/channel/components/EditingMessageInput.tsxfluxer_app/src/features/channel/components/EmojiPicker.tsxfluxer_app/src/features/channel/components/GiftEmbed.tsxfluxer_app/src/features/channel/components/InviteEmbed.tsxfluxer_app/src/features/channel/components/LexicalChannelTextareaContent.tsxfluxer_app/src/features/channel/components/MessageActionBar.tsxfluxer_app/src/features/channel/components/MessageActionUtils.tsxfluxer_app/src/features/channel/components/MobileEmojiPicker.tsxfluxer_app/src/features/channel/components/MobileMemesPicker.tsxfluxer_app/src/features/channel/components/MobileStickersPicker.tsxfluxer_app/src/features/channel/components/PinSystemMessage.tsxfluxer_app/src/features/channel/components/PreloadableUserPopout.tsxfluxer_app/src/features/channel/components/StickersPicker.tsxfluxer_app/src/features/channel/components/UploadManager.tsxfluxer_app/src/features/channel/components/channel_view/DMChannelView.tsxfluxer_app/src/features/channel/components/channel_view/GuildChannelView.tsxfluxer_app/src/features/channel/components/emoji_picker/SkinToneSelector.tsxfluxer_app/src/features/channel/components/message_search_bar/useMessageSearchAutocomplete.tsfluxer_app/src/features/channel/components/pickers/gif/GifPickerGridItem.tsxfluxer_app/src/features/channel/components/pickers/memes/MemeGridItem.tsxfluxer_app/src/features/channel/components/useChannelComposerGlobalShortcuts.tsfluxer_app/src/features/channel/hooks/useChannelMemberListVisibility.tsfluxer_app/src/features/channel/hooks/useChannelSearchVisibility.tsfluxer_app/src/features/channel/state/QuickReactionStore.tsfluxer_app/src/features/devtools/commands/DeveloperOptionsCommands.tsfluxer_app/src/features/emoji/state/Emoji.tsfluxer_app/src/features/emoji/state/EmojiPicker.tsfluxer_app/src/features/emoji/state/EmojiSticker.tsfluxer_app/src/features/emoji/state/MemesPicker.tsfluxer_app/src/features/emoji/state/StickerPicker.tsfluxer_app/src/features/expressions/components/modals/ExpressionPickerSheet.tsxfluxer_app/src/features/expressions/components/popouts/ExpressionPickerPopout.tsxfluxer_app/src/features/inbox/commands/InboxCommands.tsxfluxer_app/src/features/lexical/composer/useLexicalAutocomplete.tsfluxer_app/src/features/messaging/commands/MessageCommands.tsxfluxer_app/src/features/messaging/hooks/useMarkdownKeybinds.tsfluxer_app/src/features/messaging/hooks/useMessageSubmission.tsxfluxer_app/src/features/messaging/hooks/useTextareaAutocomplete.tsrefactor(app): rename ComponentDispatch to ComponentBus
fluxer_app/src/features/app/components/dialogs/components/DesktopSettingsView.tsxfluxer_app/src/features/app/components/dialogs/components/PlutoniumContent.tsxfluxer_app/src/features/app/components/dialogs/components/plutonium/GiftInventoryBanner.tsxfluxer_app/src/features/app/components/layout/GuildLayout.tsxfluxer_app/src/features/app/components/layout/GuildsLayout.tsxfluxer_app/src/features/app/components/layout/KeyboardModeListener.tsfluxer_app/src/features/app/keybindings/keybind_manager/handlers/defaultHandlers.tsfluxer_app/src/features/channel/components/ChannelAttachmentArea.tsxfluxer_app/src/features/channel/components/ChannelComposerDismissal.tsfluxer_app/src/features/channel/components/ChannelHeader.tsxfluxer_app/src/features/channel/components/ChannelMessages.tsxfluxer_app/src/features/channel/components/ChannelStickersArea.tsxfluxer_app/src/features/channel/components/EditingMessageInput.tsxfluxer_app/src/features/channel/components/EmojiPicker.tsxfluxer_app/src/features/channel/components/GiftEmbed.tsxfluxer_app/src/features/channel/components/InviteEmbed.tsxfluxer_app/src/features/channel/components/LexicalChannelTextareaContent.tsxfluxer_app/src/features/channel/components/MessageActionBar.tsxfluxer_app/src/features/channel/components/MessageActionUtils.tsxfluxer_app/src/features/channel/components/MobileEmojiPicker.tsxfluxer_app/src/features/channel/components/MobileMemesPicker.tsxfluxer_app/src/features/channel/components/MobileStickersPicker.tsxfluxer_app/src/features/channel/components/PinSystemMessage.tsxfluxer_app/src/features/channel/components/PreloadableUserPopout.tsxfluxer_app/src/features/channel/components/StickersPicker.tsxfluxer_app/src/features/channel/components/UploadManager.tsxfluxer_app/src/features/channel/components/channel_view/DMChannelView.tsxfluxer_app/src/features/channel/components/channel_view/GuildChannelView.tsxfluxer_app/src/features/channel/components/emoji_picker/SkinToneSelector.tsxfluxer_app/src/features/channel/components/message_search_bar/useMessageSearchAutocomplete.tsfluxer_app/src/features/channel/components/pickers/gif/GifPickerGridItem.tsxfluxer_app/src/features/channel/components/pickers/memes/MemeGridItem.tsxfluxer_app/src/features/channel/components/useChannelComposerGlobalShortcuts.tsfluxer_app/src/features/channel/hooks/useChannelMemberListVisibility.tsfluxer_app/src/features/channel/hooks/useChannelSearchVisibility.tsfluxer_app/src/features/channel/state/QuickReactionStore.tsfluxer_app/src/features/devtools/commands/DeveloperOptionsCommands.tsfluxer_app/src/features/emoji/state/Emoji.tsfluxer_app/src/features/emoji/state/EmojiPicker.tsfluxer_app/src/features/emoji/state/EmojiSticker.tsfluxer_app/src/features/emoji/state/MemesPicker.tsfluxer_app/src/features/emoji/state/StickerPicker.tsfluxer_app/src/features/expressions/components/modals/ExpressionPickerSheet.tsxfluxer_app/src/features/expressions/components/popouts/ExpressionPickerPopout.tsxfluxer_app/src/features/inbox/commands/InboxCommands.tsxfluxer_app/src/features/lexical/composer/useLexicalAutocomplete.tsfluxer_app/src/features/messaging/commands/MessageCommands.tsxfluxer_app/src/features/messaging/hooks/useMarkdownKeybinds.tsfluxer_app/src/features/messaging/hooks/useMessageSubmission.tsxfluxer_app/src/features/messaging/hooks/useTextareaAutocomplete.tsfix(app): size the chat skeleton from the remembered viewport height (#1843)
fluxer_app/src/app/globals.cssfluxer_app/src/features/app/components/skeleton/ChatSkeleton.module.cssfluxer_app/src/features/app/components/skeleton/ChatSkeleton.tsxfluxer_app/src/features/app/components/skeleton/PlaceholderSpecs.tsfluxer_app/src/features/app/components/skeleton/ResolveChatSkeleton.tsfluxer_app/src/features/app/components/skeleton/ScrollFillerSkeleton.module.cssfluxer_app/src/features/app/components/skeleton/ScrollFillerSkeleton.tsxfluxer_app/src/features/channel/components/ChannelMessages.tsxfluxer_app/src/features/theme/variables/ThemeVariableManifest.tsfix(app): request avatar and banner sizes the media proxy serves (#1842)
fluxer_app/src/features/invite/components/modals/InviteAcceptModal.tsxfluxer_app/src/features/invite/components/modals/InvitePagePreviewModal.tsxfluxer_app/src/features/invite/components/pages/InviteLoginPage.tsxfluxer_app/src/features/invite/components/pages/InviteRegisterPage.tsxfluxer_app/src/features/user/components/modals/UserProfileMobileSheet.tsxfluxer_app/src/features/user/components/modals/tabs/appearance_tab/InterfaceTab.tsxfluxer_app/src/features/user/utils/AvatarSourceUtils.tsfluxer_app/src/features/user/utils/AvatarUtils.tsfix(media-proxy): stop re-encoding jpeg and video frames losslessly (#1841)
fluxer_media_proxy/src/server.rsfix(admin): render sticker previews at 320px instead of 160px (#1840)
fluxer_api/src/api/admin/services/guild/AdminGuildLookupService.tsfix(desktop): stop reading whole voice backgrounds to classify them (#1839)
fluxer_app/src/features/platform/types/Electron.tsfluxer_app/src/types/electron.d.tsfluxer_desktop/src/common/Types.tsfluxer_desktop/src/main/ChromiumRuntime.test.mjsfluxer_desktop/src/main/VoiceBackgroundMediaCache.tsfluxer_desktop/src/preload/index.tsfix(unfurl): cache empty results briefly and key entries by provider (#1838)
fluxer_unfurl/src/cache_policy.rsfluxer_unfurl/src/main.rsfluxer_unfurl/src/router_impl.rsfluxer_unfurl/src/shard_impl.rsperf(app): stop the service worker caching static assets (#1837)
fluxer_app/src/features/platform/service_worker/Worker.tsfluxer_app/src/features/platform/service_worker/WorkerCacheCleanup.test.tsfluxer_app/src/features/platform/service_worker/WorkerCacheCleanup.tsfluxer_app/src/features/platform/service_worker/WorkerFetchRouting.test.tsfluxer_app/src/features/platform/service_worker/WorkerFetchRouting.tsfix(common): stop advertising static assets as immutable (#1836)
fluxer_static/Caddyfilepackages/hono/src/middleware/CacheHeaders.tspackages/hono/src/middleware/tests/CacheHeaders.test.tstools/ci/src/app_proxy.rsfix(media-proxy): stop proxy paths carrying fragments or credentials (#1835)
Cargo.lockfluxer_api/pkgs/media_proxy_utils/src/ExternalMediaProxyPathCodec.test.tsfluxer_api/pkgs/media_proxy_utils/src/ExternalMediaProxyPathCodec.tsfluxer_common/Cargo.tomlfluxer_common/src/external_media_path.rsfluxer_common/src/testdata/external_media_proxy_path_vectors.jsonfluxer_media_proxy/src/external_path.rsfix(media-proxy): clamp the webp effort override to the encoder maximum (#1834)
fluxer_media_proxy/src/media_process.rsfix(media-proxy): serve and request images on one size ladder (#1833)
fluxer_app/src/features/messaging/utils/MediaProxyRequestSize.tsfluxer_app/src/features/messaging/utils/MediaProxyUtils.tsfluxer_media_proxy/src/constants.rspackages/constants/src/MediaProxyImageSizes.tsfix(media-proxy): serve and request images on one size ladder
fluxer_app/src/features/messaging/utils/MediaProxyRequestSize.tsfluxer_app/src/features/messaging/utils/MediaProxyUtils.tsfluxer_media_proxy/src/constants.rspackages/constants/src/MediaProxyImageSizes.tsfix(media-proxy): stop marking cached media immutable (#1832)
fluxer_media_proxy/src/http_headers.rs