feat(shell): allow taps to open peak drawer
feat(shell): allow taps to open peak drawer
Inspect stored evidence paths
lib/features/shell/presentation/sidebar_drawer.darttest/features/shell/presentation/sidebar_drawer_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
feat(shell): allow taps to open peak drawer
lib/features/shell/presentation/sidebar_drawer.darttest/features/shell/presentation/sidebar_drawer_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/shell/presentation/sidebar_drawer.darttest/features/shell/presentation/sidebar_drawer_test.dartfeat(api): exempt configured ASNs from abusive IP auto-bans (#2833)
fluxer_api/src/api/middleware/AbusiveIpAutoBanner.tsfluxer_api/src/api/middleware/tests/AbusiveIpAutoBanner.test.tsfluxer_api/src/api/risk/AutoBanAsnExemptions.tsfluxer_api/src/api/test/ResetServiceState.tsfluxer_docs/src/content/docs/operator/configuration.mdxfeat(api): exempt configured ASNs from abusive IP auto-bans
fluxer_api/src/api/middleware/AbusiveIpAutoBanner.tsfluxer_api/src/api/middleware/tests/AbusiveIpAutoBanner.test.tsfluxer_api/src/api/risk/AutoBanAsnExemptions.tsfluxer_api/src/api/test/ResetServiceState.tsfluxer_docs/src/content/docs/operator/configuration.mdxfix(voice): only swap to PIP after 50%
lib/features/shell/presentation/sidebar_drawer.dartlib/features/shell/providers/drawer_past_half_screen_provider.dartlib/features/voice/providers/voice_pip_providers.darttest/features/shell/presentation/sidebar_drawer_test.darttest/features/voice/presentation/widgets/pip/voice_pip_layer_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/shell/presentation/sidebar_drawer.dartlib/features/shell/providers/drawer_past_half_screen_provider.dartlib/features/voice/providers/voice_pip_providers.darttest/features/shell/presentation/sidebar_drawer_test.darttest/features/voice/presentation/widgets/pip/voice_pip_layer_test.dartfix(voice): hide inline chat button on small tablets
lib/features/voice/presentation/voice_channel_page_view.darttest/features/voice/presentation/voice_channel_page_view_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/voice/presentation/voice_channel_page_view.darttest/features/voice/presentation/voice_channel_page_view_test.dartfeat(shell): keep left bottom nav items on peak mode devices
lib/features/shell/presentation/app_bottom_nav_bar.dartlib/features/shell/presentation/mobile_channel_drawer_shell.darttest/features/shell/presentation/app_bottom_nav_bar_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/shell/presentation/app_bottom_nav_bar.dartlib/features/shell/presentation/mobile_channel_drawer_shell.darttest/features/shell/presentation/app_bottom_nav_bar_test.dartfeat(drawer): add peak mode drawer darken
lib/features/shell/presentation/sidebar_drawer.darttest/features/shell/presentation/sidebar_drawer_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/shell/presentation/sidebar_drawer.darttest/features/shell/presentation/sidebar_drawer_test.dartfix(composer): large screen device touch attachment picker Fixes: #822
lib/features/chat/presentation/menus/composer_attach_source_menu.dartlib/features/chat/presentation/widgets/composer/channel_textarea.dartlib/features/chat/providers/pickers/mobile_keyboard_metrics_provider.dartlib/features/chat/utils/composer/bottom_input_slot_layout.dartlib/features/chat/utils/composer/composer_panel.darttest/features/chat/presentation/menus/composer_attach_source_menu_test.darttest/features/chat/presentation/widgets/pickers/chat_bottom_input_slot_test.darttest/features/chat/providers/pickers/mobile_keyboard_metrics_provider_test.darttest/features/chat/utils/composer/bottom_input_slot_layout_test.darttest/features/chat/utils/composer/composer_panel_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/chat/presentation/menus/composer_attach_source_menu.dartlib/features/chat/presentation/widgets/composer/channel_textarea.dartlib/features/chat/providers/pickers/mobile_keyboard_metrics_provider.dartlib/features/chat/utils/composer/bottom_input_slot_layout.dartlib/features/chat/utils/composer/composer_panel.darttest/features/chat/presentation/menus/composer_attach_source_menu_test.darttest/features/chat/presentation/widgets/pickers/chat_bottom_input_slot_test.darttest/features/chat/providers/pickers/mobile_keyboard_metrics_provider_test.darttest/features/chat/utils/composer/bottom_input_slot_layout_test.darttest/features/chat/utils/composer/composer_panel_test.dartfix(channels): action menu missing position offset Fixes: #821
lib/features/channels/presentation/widgets/guild_sidebar.dartlib/features/favorites/presentation/widgets/favorites_channel_list.dartlib/features/ui/action_menu/fluxer_action_menu.darttest/features/channels/presentation/widgets/guild_sidebar_test.darttest/features/ui/action_menu/fluxer_action_menu_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/channels/presentation/widgets/guild_sidebar.dartlib/features/favorites/presentation/widgets/favorites_channel_list.dartlib/features/ui/action_menu/fluxer_action_menu.darttest/features/channels/presentation/widgets/guild_sidebar_test.darttest/features/ui/action_menu/fluxer_action_menu_test.dartfix(emoji): visibility key collision Fixes: #833
lib/shared/utils/emoji_image_cache.darttest/shared/utils/emoji_image_cache_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/shared/utils/emoji_image_cache.darttest/shared/utils/emoji_image_cache_test.dartfeat(settings): support applications settings
lib/core/constants/user_flags.dartlib/features/settings/presentation/sheets/application_create_sheet.dartlib/features/settings/presentation/user_settings_modal.dartlib/features/settings/presentation/widgets/applications/application_bot_profile_section.dartlib/features/settings/presentation/widgets/applications/application_danger_section.dartlib/features/settings/presentation/widgets/applications/application_detail.dartlib/features/settings/presentation/widgets/applications/application_header.dartlib/features/settings/presentation/widgets/applications/application_info_section.dartlib/features/settings/presentation/widgets/applications/application_oauth_builder_section.dartlib/features/settings/presentation/widgets/applications/application_read_only_input.dartlib/features/settings/presentation/widgets/applications/application_secrets_section.dartlib/features/settings/presentation/widgets/user_applications.dartlib/features/settings/providers/applications_view_model.dartlib/features/settings/utils/bot_username.dartlib/features/settings/utils/oauth_authorize_url.dartlib/features/settings/utils/user_settings_field_registry.dartlib/features/settings/utils/user_settings_search_index.dartlib/l10n/fluxer_en.arblib/l10n/generated/fluxer_localizations.dartlib/l10n/generated/fluxer_localizations_ar.dartlib/l10n/generated/fluxer_localizations_bg.dartlib/l10n/generated/fluxer_localizations_cs.dartlib/l10n/generated/fluxer_localizations_da.dartlib/l10n/generated/fluxer_localizations_de.dartlib/l10n/generated/fluxer_localizations_el.dartlib/l10n/generated/fluxer_localizations_en.dartlib/l10n/generated/fluxer_localizations_es.dartlib/l10n/generated/fluxer_localizations_fi.dartlib/l10n/generated/fluxer_localizations_fr.dartlib/l10n/generated/fluxer_localizations_he.dartlib/l10n/generated/fluxer_localizations_hi.dartlib/l10n/generated/fluxer_localizations_hr.dartlib/l10n/generated/fluxer_localizations_hu.dartlib/l10n/generated/fluxer_localizations_id.dartlib/l10n/generated/fluxer_localizations_it.dartlib/l10n/generated/fluxer_localizations_ja.dartlib/l10n/generated/fluxer_localizations_ko.dartlib/l10n/generated/fluxer_localizations_lt.dartlib/l10n/generated/fluxer_localizations_nb.dartlib/l10n/generated/fluxer_localizations_nl.dartlib/l10n/generated/fluxer_localizations_pl.dartlib/l10n/generated/fluxer_localizations_pt.dartlib/l10n/generated/fluxer_localizations_ro.dartlib/l10n/generated/fluxer_localizations_ru.dartlib/l10n/generated/fluxer_localizations_sv.dartlib/l10n/generated/fluxer_localizations_th.dartlib/l10n/generated/fluxer_localizations_tr.dartlib/l10n/generated/fluxer_localizations_uk.dartlib/l10n/generated/fluxer_localizations_vi.dartlib/l10n/generated/fluxer_localizations_zh.dartMerge remote-tracking branch 'origin/canary' into canary
lib/core/constants/user_flags.dartlib/features/settings/presentation/sheets/application_create_sheet.dartlib/features/settings/presentation/user_settings_modal.dartlib/features/settings/presentation/widgets/applications/application_bot_profile_section.dartlib/features/settings/presentation/widgets/applications/application_danger_section.dartlib/features/settings/presentation/widgets/applications/application_detail.dartlib/features/settings/presentation/widgets/applications/application_header.dartlib/features/settings/presentation/widgets/applications/application_info_section.dartlib/features/settings/presentation/widgets/applications/application_oauth_builder_section.dartlib/features/settings/presentation/widgets/applications/application_read_only_input.dartlib/features/settings/presentation/widgets/applications/application_secrets_section.dartlib/features/settings/presentation/widgets/user_applications.dartlib/features/settings/providers/applications_view_model.dartlib/features/settings/utils/bot_username.dartlib/features/settings/utils/oauth_authorize_url.dartlib/features/settings/utils/user_settings_field_registry.dartlib/features/settings/utils/user_settings_search_index.dartlib/l10n/fluxer_en.arblib/l10n/generated/fluxer_localizations.dartlib/l10n/generated/fluxer_localizations_ar.dartlib/l10n/generated/fluxer_localizations_bg.dartlib/l10n/generated/fluxer_localizations_cs.dartlib/l10n/generated/fluxer_localizations_da.dartlib/l10n/generated/fluxer_localizations_de.dartlib/l10n/generated/fluxer_localizations_el.dartlib/l10n/generated/fluxer_localizations_en.dartlib/l10n/generated/fluxer_localizations_es.dartlib/l10n/generated/fluxer_localizations_fi.dartlib/l10n/generated/fluxer_localizations_fr.dartlib/l10n/generated/fluxer_localizations_he.dartlib/l10n/generated/fluxer_localizations_hi.dartlib/l10n/generated/fluxer_localizations_hr.dartlib/l10n/generated/fluxer_localizations_hu.dartlib/l10n/generated/fluxer_localizations_id.dartlib/l10n/generated/fluxer_localizations_it.dartlib/l10n/generated/fluxer_localizations_ja.dartlib/l10n/generated/fluxer_localizations_ko.dartlib/l10n/generated/fluxer_localizations_lt.dartlib/l10n/generated/fluxer_localizations_nb.dartlib/l10n/generated/fluxer_localizations_nl.dartlib/l10n/generated/fluxer_localizations_pl.dartlib/l10n/generated/fluxer_localizations_pt.dartlib/l10n/generated/fluxer_localizations_ro.dartlib/l10n/generated/fluxer_localizations_ru.dartlib/l10n/generated/fluxer_localizations_sv.dartlib/l10n/generated/fluxer_localizations_th.dartlib/l10n/generated/fluxer_localizations_tr.dartlib/l10n/generated/fluxer_localizations_uk.dartlib/l10n/generated/fluxer_localizations_vi.dartlib/l10n/generated/fluxer_localizations_zh.dart