fix(sidebar_drawer): wait till after first paint
fix(sidebar_drawer): wait till after first paint
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
fix(sidebar_drawer): wait till after first paint
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(chat): add bookmark toast Fixes: #836
lib/features/bookmarks/presentation/widgets/saved_messages_body.dartlib/features/bookmarks/utils/saved_message_actions.dartlib/features/chat/presentation/widgets/message_actions/message_bottom_sheet.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.darttest/features/bookmarks/utils/saved_message_actions_test.darttest/features/chat/presentation/widgets/message_actions/message_bottom_sheet_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/bookmarks/presentation/widgets/saved_messages_body.dartlib/features/bookmarks/utils/saved_message_actions.dartlib/features/chat/presentation/widgets/message_actions/message_bottom_sheet.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.darttest/features/bookmarks/utils/saved_message_actions_test.darttest/features/chat/presentation/widgets/message_actions/message_bottom_sheet_test.dartfix: bookmark sheet not closing on jump Fixes: #835
lib/features/bookmarks/presentation/widgets/bookmarks_sheet.dartlib/features/bookmarks/presentation/widgets/saved_messages_body.dartlib/features/notifications/presentation/inbox_popout.darttest/core/database/daos/saved_message_dao_test.darttest/features/bookmarks/presentation/bookmarks_sheet_jump_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/bookmarks/presentation/widgets/bookmarks_sheet.dartlib/features/bookmarks/presentation/widgets/saved_messages_body.dartlib/features/notifications/presentation/inbox_popout.darttest/core/database/daos/saved_message_dao_test.darttest/features/bookmarks/presentation/bookmarks_sheet_jump_test.dartfix: new bookmarks showing up last Fixes: #834
lib/core/database/daos/saved_message_dao.dartlib/features/bookmarks/data/saved_messages_repository.darttest/core/database/daos/saved_message_dao_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/core/database/daos/saved_message_dao.dartlib/features/bookmarks/data/saved_messages_repository.darttest/core/database/daos/saved_message_dao_test.darttest(voice): remove the slow screen share delivery proof (#2836)
fluxer_app/src/features/voice/engine/ScreenShareDeliveryProofAdmission.test.tsfluxer_app/src/features/voice/engine/ScreenShareDeliveryProofHarness.tsfluxer_app/src/features/voice/engine/ScreenShareDeliveryProofRuntimeA.test.tsfluxer_app/src/features/voice/engine/ScreenShareDeliveryProofRuntimeB.test.tsfluxer_app/src/features/voice/engine/ScreenShareDeliveryProofRuntimeC.test.tsfluxer_app/src/features/voice/engine/ScreenShareDeliveryProofRuntimeD.test.tsfluxer_app/src/features/voice/engine/ScreenShareDeliveryProofViewers.test.tsfix(voice): stop screen shares failing to reach their viewers (#2835)
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_admin/tests/api_deserialization.rsfluxer_admin/tests/htmx_acceptance.rsfluxer_admin/tests/voice_restriction_writes.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/pkgs/livekit-client/src/room/PCTransport.test.tsfluxer_app/pkgs/livekit-client/src/room/PCTransport.tsfluxer_app/pkgs/livekit-client/src/room/RTCEngine.test.tsfluxer_app/pkgs/livekit-client/src/room/RTCEngine.tsfluxer_app/src/features/i18n/locales/ar/messages.pofluxer_app/src/features/i18n/locales/auto-i18n-reviewed-unchanged.jsonfluxer_app/src/features/i18n/locales/bg/messages.pofluxer_app/src/features/i18n/locales/cs/messages.pofluxer_app/src/features/i18n/locales/da/messages.pofluxer_app/src/features/i18n/locales/de/messages.pofluxer_app/src/features/i18n/locales/el/messages.pofluxer_app/src/features/i18n/locales/en-GB/messages.pofluxer_app/src/features/i18n/locales/en-US/messages.pofluxer_app/src/features/i18n/locales/es-419/messages.pofluxer_app/src/features/i18n/locales/es-ES/messages.pofluxer_app/src/features/i18n/locales/fi/messages.pofluxer_app/src/features/i18n/locales/fr/messages.pofluxer_app/src/features/i18n/locales/he/messages.pofluxer_app/src/features/i18n/locales/hi/messages.pofluxer_app/src/features/i18n/locales/hr/messages.pofluxer_app/src/features/i18n/locales/hu/messages.pofluxer_app/src/features/i18n/locales/id/messages.pofluxer_app/src/features/i18n/locales/it/messages.pofluxer_app/src/features/i18n/locales/ja/messages.pofluxer_app/src/features/i18n/locales/ko/messages.pofluxer_app/src/features/i18n/locales/lt/messages.pofluxer_app/src/features/i18n/locales/nl/messages.pofluxer_app/src/features/i18n/locales/no/messages.pofluxer_app/src/features/i18n/locales/pl/messages.pofluxer_app/src/features/i18n/locales/pt-BR/messages.pofluxer_app/src/features/i18n/locales/ro/messages.pofluxer_app/src/features/i18n/locales/ru/messages.pofluxer_app/src/features/i18n/locales/sv-SE/messages.pofluxer_app/src/features/i18n/locales/th/messages.pofluxer_app/src/features/i18n/locales/tr/messages.pofluxer_app/src/features/i18n/locales/uk/messages.pofluxer_app/src/features/i18n/locales/vi/messages.pofeat(api): make tor and breached password lookups opt-in (#2834)
deploy/self-hosting/.env.exampledeploy/self-hosting/docker-compose.ymlfluxer_api/src/api/App.tsfluxer_api/src/api/Config.test.tsfluxer_api/src/api/Config.tsfluxer_api/src/api/app/APILifecycle.tsfluxer_api/src/api/app/MiddlewarePipeline.tsfluxer_api/src/api/app/tests/MiddlewarePipeline.test.tsfluxer_api/src/api/auth/AuthPassword.tsfluxer_api/src/api/auth/tests/PwnedPasswordCheck.test.tsfluxer_api/src/api/config/APIConfig.tsfluxer_docs/src/content/docs/http-api/users/current-user.mdxfluxer_docs/src/content/docs/operator/configuration.mdxpackages/config/src/ConfigLoader.tspackages/config/src/MasterConfig.tspackages/config/src/__tests__/ConfigLoader.test.tspackages/config/src/config_loader/EnvironmentOverrides.tsfeat(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.dart