fix(chat): forwarding double pop
fix(chat): forwarding double pop Fixes: #755
Inspect stored evidence paths
lib/features/ui/bottom_sheet/fluxer_bottom_sheet.darttest/features/ui/bottom_sheet/fluxer_bottom_sheet_test.dart
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(chat): forwarding double pop Fixes: #755
lib/features/ui/bottom_sheet/fluxer_bottom_sheet.darttest/features/ui/bottom_sheet/fluxer_bottom_sheet_test.dartMerge remote-tracking branch 'origin/main'
Merge remote-tracking branch 'origin/main'
Merge remote-tracking branch 'origin/canary' into canary
lib/features/ui/bottom_sheet/fluxer_bottom_sheet.darttest/features/ui/bottom_sheet/fluxer_bottom_sheet_test.dartfix(guild): render activity log entries deterministically (2766)
fluxer_admin/build.rsfluxer_admin/openapi-admin.jsonfluxer_admin/src/api/types/instance_config.rsfluxer_admin/src/routes/system_actions.rsfluxer_admin/src/templates/pages/instance_config.rsfluxer_admin/tests/api_deserialization.rsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/channel/controllers/ChannelController.tsfluxer_api/src/api/channel/controllers/MessageController.tsfluxer_api/src/api/channel/controllers/MessageInteractionController.tsfluxer_api/src/api/channel/services/ChannelDataService.tsfluxer_api/src/api/channel/services/ChannelRequestService.tsfluxer_api/src/api/channel/services/MessageInteractionService.tsfluxer_api/src/api/channel/services/channel_data/ChannelOperationsService.tsfluxer_api/src/api/channel/services/interaction/MessagePinService.tsfluxer_api/src/api/channel/services/message/MessageDeleteService.tsfluxer_api/src/api/experiment/ExperimentController.tsfluxer_api/src/api/experiment/tests/ExperimentController.test.tsfluxer_api/src/api/guild/GuildAuditLogEntryMapper.tsfluxer_api/src/api/guild/GuildAuditLogService.tsfluxer_api/src/api/guild/services/GuildMemberService.tsfluxer_api/src/api/guild/services/GuildModerationService.tsfluxer_api/src/api/guild/services/GuildRoleService.tsfluxer_api/src/api/guild/services/GuildService.tsfluxer_api/src/api/guild/services/data/GuildDataHelpers.tsfluxer_api/src/api/guild/services/data/GuildOperationsService.tsfluxer_api/src/api/guild/services/data/GuildOwnershipService.tsfluxer_api/src/api/guild/services/data/GuildVanityService.tsfluxer_api/src/api/guild/services/member/GuildMemberOperationsService.tsfluxer_api/src/api/guild/services/role/RoleOrderAuditUtils.tsfluxer_api/src/api/guild/services/role/tests/RoleOrderAuditUtils.test.tsfluxer_api/src/api/guild/tests/GuildAuditLogChannelWriters.test.tsfluxer_api/src/api/guild/tests/GuildAuditLogContentWriters.test.tsfluxer_api/src/api/guild/tests/GuildAuditLogEntryMapper.test.tsfluxer_api/src/api/guild/tests/GuildAuditLogGuildWriters.test.tsfluxer_api/src/api/guild/tests/GuildAuditLogMemberWriters.test.tsfluxer_api/src/api/guild/tests/GuildAuditLogMessageWriters.test.tsfluxer_api/src/api/guild/tests/GuildAuditLogRoleWriters.test.tsfluxer_api/src/api/guild/tests/GuildAuditLogService.test.tsfluxer_api/src/api/guild/tests/GuildAuditLogs.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/utils/AuditSerializationUtils.tsfluxer_app/src/features/app/config/AuditLogConstants.tsfluxer_app/src/features/guild/components/modals/guild_tabs/GuildAuditLogSentence.test.tsxfluxer_app/src/features/guild/components/modals/guild_tabs/GuildAuditLogSentence.tsxfluxer_app/src/features/guild/components/modals/guild_tabs/GuildAuditLogTab.module.cssfluxer_app/src/features/guild/components/modals/guild_tabs/GuildAuditLogTab.test.tsxfluxer_app/src/features/guild/components/modals/guild_tabs/GuildAuditLogTab.tsxfix(you): hide purchase date Fixes: #801
lib/features/settings/presentation/widgets/profile_preview_card.dartlib/features/settings/providers/user_settings_view_model.darttest/features/profile/presentation/widgets/user_profile_view_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/settings/presentation/widgets/profile_preview_card.dartlib/features/settings/providers/user_settings_view_model.darttest/features/profile/presentation/widgets/user_profile_view_test.dartfix(synced_preferences): fix favorites local sync
lib/core/synced_preferences/engine/synced_field_adapter.dartlib/core/synced_preferences/engine/synced_preferences_store.dartlib/core/synced_preferences/fields/favorites_synced_field.darttest/core/synced_preferences/guild_folders_sync_store_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/core/synced_preferences/engine/synced_field_adapter.dartlib/core/synced_preferences/engine/synced_preferences_store.dartlib/core/synced_preferences/fields/favorites_synced_field.darttest/core/synced_preferences/guild_folders_sync_store_test.dartfix(app): gate blocked group rendering behind an experiment (#2763)
fluxer_admin/openapi-admin.jsonfluxer_admin/src/api/types/instance_config.rsfluxer_admin/src/routes/system_actions.rsfluxer_admin/src/templates/pages/instance_config.rsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/experiment/ExperimentController.tsfluxer_api/src/api/experiment/tests/ExperimentController.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_app/src/app/App.tsxfluxer_app/src/features/channel/components/BlockedMessageGroups.module.cssfluxer_app/src/features/channel/components/BlockedMessageGroups.test.tsxfluxer_app/src/features/channel/components/BlockedMessageGroups.tsxfluxer_app/src/features/channel/state/BlockedMessageGroupsRollout.test.tsfluxer_app/src/features/channel/state/BlockedMessageGroupsRollout.tsfluxer_docs/src/content/docs/admin-api/instance.mdxfluxer_docs/src/content/docs/http-api/experiments.mdxpackages/schema/src/domains/admin/AdminSchemas.tspackages/schema/src/domains/experiment/BlockedMessageGroupsSchemas.tspackages/schema/src/domains/experiment/ExperimentSchemas.tspackages/schema/src/domains/tests/BlockedMessageGroupsSchemas.test.tsfeat(core): add share attachment audio controller Fixes: #699
lib/core/audio/chat_attachment/chat_attachment_audio_controller.dartlib/core/audio/chat_attachment/chat_attachment_audio_playback.dartlib/features/chat/presentation/widgets/attachments/attachment_audio.dartlib/features/chat/presentation/widgets/attachments/voice_message_player.darttest/core/audio/chat_attachment_audio_controller_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/core/audio/chat_attachment/chat_attachment_audio_controller.dartlib/core/audio/chat_attachment/chat_attachment_audio_playback.dartlib/features/chat/presentation/widgets/attachments/attachment_audio.dartlib/features/chat/presentation/widgets/attachments/voice_message_player.darttest/core/audio/chat_attachment_audio_controller_test.dartfix(app): gate one-Tab message focus behind an experiment (#2762)
fluxer_admin/openapi-admin.jsonfluxer_admin/src/api/types/instance_config.rsfluxer_admin/src/routes/system_actions.rsfluxer_admin/src/templates/pages/instance_config.rsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/experiment/ExperimentController.tsfluxer_api/src/api/experiment/tests/ExperimentController.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_app/src/features/app/components/layout/KeyboardModeListener.tsfluxer_app/src/features/channel/components/BlockedMessageGroups.tsxfluxer_app/src/features/channel/components/ChannelMessage.tsxfluxer_app/src/features/channel/components/ChannelMessageFocusTarget.test.tsfluxer_app/src/features/channel/components/ChannelMessageStream.tsxfluxer_app/src/features/channel/components/ChannelMessages.tsxfluxer_app/src/features/channel/components/LexicalChannelTextareaContent.tsxfluxer_app/src/features/channel/components/MessageFocusRingContract.test.tsfluxer_app/src/features/channel/components/useChannelComposerDraftFocusRestore.test.tsxfluxer_app/src/features/lexical/composer/LexicalComposerInput.tsxfluxer_app/src/features/lexical/composer/LexicalRichInput.tsxfluxer_app/src/features/messaging/hooks/useMessageListKeyboardNavigation.test.tsxfluxer_app/src/features/messaging/hooks/useMessageListKeyboardNavigation.tsfluxer_app/src/features/messaging/state/MessageKeyboardFocusRollout.test.tsfluxer_app/src/features/messaging/state/MessageKeyboardFocusRollout.tsfluxer_app/src/features/messaging/utils/MessageNodeSelectors.test.tsfluxer_app/src/features/messaging/utils/MessageNodeSelectors.tsfluxer_app/src/features/platform/utils/ScrollManager.tsfluxer_app/src/features/ui/focus_ring/FocusRingScope.test.tsxfluxer_docs/src/content/docs/admin-api/instance.mdxfluxer_docs/src/content/docs/http-api/experiments.mdxpackages/schema/src/domains/admin/AdminSchemas.tspackages/schema/src/domains/experiment/ExperimentSchemas.tspackages/schema/src/domains/experiment/MessageKeyboardFocusSchemas.tspackages/schema/src/domains/tests/MessageKeyboardFocusSchemas.test.tsfix(app): gate single-source message hover behind an experiment (#2761)
fluxer_admin/openapi-admin.jsonfluxer_admin/src/api/types/instance_config.rsfluxer_admin/src/routes/system_actions.rsfluxer_admin/src/templates/pages/instance_config.rsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/experiment/ExperimentController.tsfluxer_api/src/api/experiment/tests/ExperimentController.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_app/src/app/App.tsxfluxer_app/src/features/app/hooks/useContextMenuHoverState.tsfluxer_app/src/features/channel/components/ChannelMessage.tsxfluxer_app/src/features/channel/components/MessageActionBar.module.cssfluxer_app/src/features/channel/components/MessageHoverState.tsfluxer_app/src/features/channel/components/MessageHoverStyleContract.test.tsfluxer_app/src/features/channel/components/MessageHoverTracking.test.tsfluxer_app/src/features/channel/components/MessageHoverTracking.tsfluxer_app/src/features/channel/state/MessageHoverTrackingRollout.test.tsfluxer_app/src/features/channel/state/MessageHoverTrackingRollout.tsfluxer_app/src/features/theme/styles/Message.module.cssfluxer_app/src/features/ui/utils/WindowFocusInteractionGuard.test.tsfluxer_app/src/features/ui/utils/WindowFocusInteractionGuard.tsfluxer_docs/src/content/docs/admin-api/instance.mdxfluxer_docs/src/content/docs/http-api/experiments.mdxpackages/schema/src/domains/admin/AdminSchemas.tspackages/schema/src/domains/experiment/ClientBehaviorExperiment.tspackages/schema/src/domains/experiment/ExperimentSchemas.tspackages/schema/src/domains/experiment/MessageHoverTrackingSchemas.tspackages/schema/src/domains/tests/MessageHoverTrackingSchemas.test.tsfix(android): inconsistent community back button Fixes: #551
lib/features/guilds/presentation/widgets/guild_bottom_sheet.dartlib/features/shell/presentation/mobile_channel_drawer_shell.darttest/features/shell/presentation/mobile_chat_back_scope_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/guilds/presentation/widgets/guild_bottom_sheet.dartlib/features/shell/presentation/mobile_channel_drawer_shell.darttest/features/shell/presentation/mobile_chat_back_scope_test.dartdocs: reword vague sentences and fix wrong claims (#2760)
fluxer_docs/src/content/docs/admin-api/api-keys.mdxfluxer_docs/src/content/docs/admin-api/applications.mdxfluxer_docs/src/content/docs/admin-api/archives.mdxfluxer_docs/src/content/docs/admin-api/blocklists.mdxfluxer_docs/src/content/docs/admin-api/bulk-jobs.mdxfluxer_docs/src/content/docs/admin-api/discovery.mdxfluxer_docs/src/content/docs/admin-api/gateway.mdxfluxer_docs/src/content/docs/admin-api/gift-codes.mdxfluxer_docs/src/content/docs/admin-api/guilds.mdxfluxer_docs/src/content/docs/admin-api/index.mdxfluxer_docs/src/content/docs/admin-api/instance.mdxfluxer_docs/src/content/docs/admin-api/jobs.mdxfluxer_docs/src/content/docs/admin-api/messages.mdxfluxer_docs/src/content/docs/admin-api/reports.mdxfluxer_docs/src/content/docs/admin-api/search-indexes.mdxfluxer_docs/src/content/docs/admin-api/system-dms.mdxfluxer_docs/src/content/docs/admin-api/users.mdxfluxer_docs/src/content/docs/admin-api/voice.mdxfluxer_docs/src/content/docs/authentication.mdfluxer_docs/src/content/docs/gateway/commands.mdfluxer_docs/src/content/docs/gateway/event-filtering.mdfluxer_docs/src/content/docs/gateway/events.mdfluxer_docs/src/content/docs/gateway/limits-and-rate-limits.mdfluxer_docs/src/content/docs/gateway/opcodes-and-close-codes.mdfluxer_docs/src/content/docs/gateway/overview.mdfluxer_docs/src/content/docs/http-api/applications.mdxfluxer_docs/src/content/docs/http-api/authentication.mdxfluxer_docs/src/content/docs/http-api/billing.mdxfluxer_docs/src/content/docs/http-api/calls.mdxfluxer_docs/src/content/docs/http-api/channels.mdxfluxer_docs/src/content/docs/http-api/connections.mdxfluxer_docs/src/content/docs/http-api/deployment-availability.mdfluxer_docs/src/content/docs/http-api/discovery.mdxfluxer_docs/src/content/docs/http-api/donations.mdxfluxer_docs/src/content/docs/http-api/downloads.mdxfluxer_docs/src/content/docs/http-api/entrance-sounds.mdxfluxer_docs/src/content/docs/http-api/errors.mdfluxer_docs/src/content/docs/http-api/experiments.mdxfluxer_docs/src/content/docs/http-api/gateway.mdxfluxer_docs/src/content/docs/http-api/gifs.mdxfluxer_docs/src/content/docs/http-api/gifts.mdxfluxer_docs/src/content/docs/http-api/guild-audit-logs.mdxfluxer_docs/src/content/docs/http-api/guild-channels.mdxfluxer_docs/src/content/docs/http-api/guild-emojis.mdxfluxer_docs/src/content/docs/http-api/guild-member-search.mdxfluxer_docs/src/content/docs/http-api/guild-members.mdxfluxer_docs/src/content/docs/http-api/guild-moderation.mdxfluxer_docs/src/content/docs/http-api/guild-stickers.mdxfluxer_docs/src/content/docs/http-api/guilds.mdxfluxer_docs/src/content/docs/http-api/index.mdfix(android): native call to close browser session Fixes: #638
android/app/src/main/AndroidManifest.xmlandroid/app/src/main/kotlin/com/fluxer/BrowserLaunchBridge.ktandroid/app/src/main/kotlin/com/fluxer/InAppBrowserTasks.ktandroid/app/src/test/kotlin/com/fluxer/InAppBrowserTasksTest.ktlib/shared/external_links/external_url_launcher.dartlib/shared/external_links/platform_browser_launcher.dartMerge remote-tracking branch 'origin/canary' into canary
android/app/src/main/AndroidManifest.xmlandroid/app/src/main/kotlin/com/fluxer/BrowserLaunchBridge.ktandroid/app/src/main/kotlin/com/fluxer/InAppBrowserTasks.ktandroid/app/src/test/kotlin/com/fluxer/InAppBrowserTasksTest.ktlib/shared/external_links/external_url_launcher.dartlib/shared/external_links/platform_browser_launcher.dartfix(app): copy selected message text without markdown (#2759)
fluxer_app/src/features/channel/components/UserMessage.tsxfluxer_app/src/features/messaging/components/markdown/renderers/common/BlockElements.tsxfluxer_app/src/features/messaging/utils/MessageCopyTextUtils.tsfluxer_app/src/features/messaging/utils/MessageSelectionCopyUtils.test.ts