fix(app): label pending composer attachments for screen readers (#1889)
fix(app): label pending composer attachments for screen readers (#1889)
Inspect stored evidence paths
fluxer_app/src/features/channel/components/ChannelAttachmentArea.tsx
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): label pending composer attachments for screen readers (#1889)
fluxer_app/src/features/channel/components/ChannelAttachmentArea.tsxfix(app): request attachment images at their real mosaic tile size (#1888)
fluxer_app/src/features/channel/components/MessageAttachmentUtils.tsfluxer_app/src/features/channel/components/embeds/attachments/Attachment.tsxfluxer_app/src/features/channel/components/embeds/attachments/AttachmentGridItem.tsxfluxer_app/src/features/channel/components/embeds/attachments/AttachmentLayoutGrid.tsxfluxer_app/src/features/channel/components/embeds/attachments/AttachmentSingleMedia.tsxfluxer_app/src/features/theme/styles/AttachmentGridItem.module.cssfluxer_app/src/features/ui/utils/DimensionUtils.test.tsfluxer_app/src/features/ui/utils/DimensionUtils.tsfeat(app): render search filters as inline tokens you can type through (#1887)
fluxer_app/src/features/lexical/nodes/SearchFilterNode.tsxfluxer_app/src/features/lexical/search/LexicalSearchInput.module.cssfluxer_app/src/features/lexical/search/LexicalSearchInput.tsxfluxer_app/src/features/lexical/search/SearchEditorModel.tsfluxer_app/src/features/lexical/search/SearchFilterPill.module.cssfluxer_app/src/features/lexical/search/SearchFilterPill.tsxfluxer_app/src/features/lexical/search/SearchFilterPillSelections.tsfluxer_app/src/features/lexical/search/SearchTokenNode.tsfeat(app): keep search history per conversation and allow in: in DMs (#1886)
fluxer_app/src/features/channel/components/ChannelSearchResults.tsxfluxer_app/src/features/channel/hooks/useChannelSearch.tsfluxer_app/src/features/search/state/SearchHistory.tsfluxer_app/src/features/search/utils/SearchUtils.tsfeat(app): keep search history per conversation and allow in: in DMs
fluxer_app/src/features/channel/components/ChannelSearchResults.tsxfluxer_app/src/features/channel/hooks/useChannelSearch.tsfluxer_app/src/features/search/state/SearchHistory.tsfluxer_app/src/features/search/utils/SearchUtils.tsfix(app): open channels at the unread divider and settle jump scrolling (#1885)
fluxer_app/src/features/channel/components/ChannelMessages.tsxfluxer_app/src/features/platform/utils/ScrollManager.tsfluxer_app/src/features/platform/utils/scroll_manager/shared.test.tsfluxer_app/src/features/platform/utils/scroll_manager/shared.tsfix(api): distinguish a deleted reply target from no reply (#1884)
fluxer_admin/openapi-admin.jsonfluxer_api/src/api/openapi/openapi.jsonfluxer_app/src/features/channel/components/ReplyPreview.tsxfluxer_app/src/features/messaging/state/MessageReferences.tsfluxer_app/src/features/voice/utils/VoiceTtsUtils.tsxfluxer_messages/src/shard_impl.rsfluxer_messages/src/types.rspackages/schema/src/domains/message/MessageResponseSchemas.tsfix(app): animate reaction emoji only while hovering them (#1883)
fluxer_app/src/features/channel/components/MessageReactions.tsxfluxer_app/src/features/messaging/components/ReactionImage.tsxfluxer_app/src/features/messaging/components/popouts/ReactionTooltip.tsxfluxer_app/src/features/messaging/utils/MessageReactionUtils.tsfluxer_app/src/features/messaging/utils/ReactionUtils.tsperf(app): preload reaction menu emoji at the size they render (#1882)
fluxer_app/src/features/channel/components/MessageActionBottomSheet.tsxfluxer_app/src/features/channel/components/QuickReactionsRow.tsxperf(app): preload reaction menu emoji at the size they render
fluxer_app/src/features/channel/components/MessageActionBottomSheet.tsxfluxer_app/src/features/channel/components/QuickReactionsRow.tsxfix(app): stop the quick switcher list rebuilding while you navigate (#1881)
fluxer_app/src/features/search/state/QuickSwitcher.tsxfluxer_app/src/features/search/state/QuickSwitcherSelection.test.tsfluxer_app/src/features/search/state/QuickSwitcherSelection.tsperf(app): load the keyboard mode intro modal only when it is shown (#1880)
fluxer_app/src/features/app/components/layout/KeyboardModeListener.tsfluxer_app/src/features/ui/state/KeyboardMode.tsxfix(app): show the server avatar on message notifications (#1879)
fluxer_app/src/features/app/hooks/useRovingFocusList.tsfluxer_app/src/features/notification/utils/NotificationIconURL.tsfluxer_app/src/features/notification/utils/NotificationUtils.tsfluxer_app/src/features/ui/state/Notification.tsfluxer_app/src/features/window/commands/WindowCommands.tsfix(app): order member mention results by search relevance (#1878)
fluxer_app/src/features/channel/components/modals/channel_tabs/channel_overview_tab/shared.tsfluxer_app/src/features/messaging/utils/AutocompleteOptionBuilders.tsperf(app): play gif embeds from the viewport not a js decoder (#1877)
fluxer_app/src/features/app/hooks/useAnimatedImageDecoder.test.tsfluxer_app/src/features/app/hooks/useAnimatedImageDecoder.tsfluxer_app/src/features/app/hooks/useShouldAnimate.tsfluxer_app/src/features/app/hooks/useViewportPlayback.tsfluxer_app/src/features/channel/components/embeds/media/EmbedGifv.module.cssfluxer_app/src/features/channel/components/embeds/media/EmbedGifv.tsxfluxer_app/src/features/channel/components/embeds/media/GIFVRenderStateMachine.tsfluxer_app/src/features/channel/components/embeds/media/GifViewportGate.tsfluxer_app/src/features/channel/components/embeds/media/MediaContainer.tsxfluxer_app/src/features/channel/components/embeds/media/MediaOverlayFit.tsfluxer_app/src/features/channel/components/embeds/media/VideoDimensionUtils.test.tsfluxer_app/src/features/channel/components/embeds/media/VideoDimensionUtils.tsfluxer_app/src/features/platform/utils/SharedIntersectionObserver.tsfluxer_app/src/features/platform/utils/ViewportPlaybackRegistry.tsfeat(app): warm full-size media while hovering an attachment (#1876)
fluxer_app/src/features/messaging/hooks/useMediaViewerHoverWarm.tsfix(app): stop overlaying a sharpening canvas in the media viewer (#1875)
fluxer_app/src/features/messaging/components/modals/MediaViewerModal.module.cssfluxer_app/src/features/messaging/components/modals/MediaViewerModal.tsxfluxer_app/src/features/messaging/utils/MediaViewerItemUtils.tsfluxer_app/src/features/ui/state/MediaViewer.test.tsfluxer_app/src/features/ui/state/MediaViewer.tsfix(app): stop seeking and hidden tabs from stranding playback (#1874)
fluxer_app/src/features/channel/components/embeds/media/VoiceMessagePlayer.tsxfluxer_app/src/features/voice/components/media_player/MediaProgressBar.module.cssfluxer_app/src/features/voice/components/media_player/VideoPlayerRenderStateMachine.test.tsfluxer_app/src/features/voice/components/media_player/VideoPlayerRenderStateMachine.tsfluxer_app/src/features/voice/components/media_player/components/AudioPlayer.tsxfluxer_app/src/features/voice/components/media_player/components/InlineAudioPlayer.tsxfluxer_app/src/features/voice/components/media_player/components/MediaProgressBar.tsxfluxer_app/src/features/voice/components/media_player/components/VideoPlayer.tsxfluxer_app/src/features/voice/components/media_player/hooks/useHiddenPlaybackGuard.tsfluxer_app/src/features/voice/components/media_player/hooks/useMediaPlayer.tsfluxer_app/src/features/voice/components/media_player/hooks/useMediaProgress.tsfluxer_app/src/features/voice/components/media_player/hooks/useMetadataPreload.tsfluxer_app/src/features/voice/components/media_player/hooks/useVideoDecodability.tsfluxer_app/src/features/voice/components/media_player/utils/MediaConstants.tsfluxer_app/src/features/voice/components/media_player/utils/MediaDecodability.tsfluxer_app/src/features/voice/components/media_player/utils/MediaSeekUtils.test.tsfluxer_app/src/features/voice/components/media_player/utils/MediaSeekUtils.tsfluxer_app/src/features/voice/state/AudioVolume.tsfix(app): size youtube embeds with the shared embed limits (#1873)
fluxer_app/src/features/channel/components/embeds/media/EmbedYouTube.tsxfeat(app): drop the compact attachments media size preference (#1872)
fluxer_api/src/api/channel/services/message/MessageValidationService.tsfluxer_app/src/features/accessibility/state/Accessibility.tsfluxer_app/src/features/channel/components/embeds/attachments/Attachment.tsxfluxer_app/src/features/channel/components/embeds/attachments/AttachmentGridItem.tsxfluxer_app/src/features/channel/components/embeds/attachments/AttachmentMosaic.tsxfluxer_app/src/features/channel/components/embeds/attachments/AttachmentSingleMedia.tsxfluxer_app/src/features/messaging/commands/ScheduledMessageCommands.tsxfluxer_app/src/features/messaging/hooks/useMessageSubmission.tsxfluxer_app/src/features/messaging/utils/MediaDimensionConfig.tsfluxer_app/src/features/messaging/utils/MessageRequestUtils.tsfluxer_app/src/features/messaging/utils/MessageSubmitUtils.tsfluxer_app/src/features/user/components/modals/tabs/ChatSettingsTab.tsxfluxer_app/src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabInline.tsxfluxer_app/src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabMediaTab.module.cssfluxer_app/src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabMediaTab.tsxpackages/constants/src/ChannelConstants.tspackages/schema/proto/fluxer/user/preferences/v1/accessibility.protopackages/schema/src/gen/fluxer/user/preferences/v1/accessibility_pb.ts