fix(constants): add captcha, cache and feature headers (#2342)
fix(constants): add captcha, cache and feature headers (#2342)
Inspect stored evidence paths
fluxer_api/src/api/utils/featureUtils.tspackages/constants/src/Headers.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(constants): add captcha, cache and feature headers (#2342)
fluxer_api/src/api/utils/featureUtils.tspackages/constants/src/Headers.tsfix(http-client): validate public addresses at connect time (#2341)
fluxer_api/pkgs/http_client/package.jsonfluxer_api/pkgs/http_client/src/HttpClient.tsfluxer_api/pkgs/http_client/src/PublicInternetRequestUrlPolicy.tspnpm-lock.yamlchore(i18n): resync message catalogs with source (#2340)
fluxer_app/src/features/i18n/locales/ar/messages.pofluxer_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.pofluxer_app/src/features/i18n/locales/zh-CN/messages.pofluxer_app/src/features/i18n/locales/zh-TW/messages.poi18n: regenerate localizations
lib/l10n/generated/fluxer_localizations_ar.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_hu.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_pl.dartlib/l10n/generated/fluxer_localizations_pt.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_zh.dartfeat(voice): enable web camera background effects
fluxer_app/src/features/voice/utils/VoiceBackgroundAvailability.tsfix(voice): gate the camera preview and update effects in place
fluxer_app/src/features/i18n/locales/ar/messages.pofluxer_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.pofluxer_app/src/features/i18n/locales/zh-CN/messages.pofluxer_app/src/features/i18n/locales/zh-TW/messages.pofluxer_app/src/features/voice/components/modals/CameraPreviewModal.tsxfix(channel): restore composer draft and message focus
fluxer_app/src/features/channel/components/ChannelMessage.tsxfluxer_app/src/features/channel/components/ChannelMessageFocusTarget.tsfluxer_app/src/features/channel/components/ChannelMessages.tsxfluxer_app/src/features/channel/components/LexicalChannelTextareaContent.tsxfluxer_app/src/features/channel/components/useChannelComposerDraftFocusRestore.tsfluxer_app/src/features/i18n/locales/ar/messages.pofluxer_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.pofluxer_app/src/features/i18n/locales/zh-CN/messages.pofluxer_app/src/features/i18n/locales/zh-TW/messages.pofix(auth): guard stale submissions and rework form error mapping
fluxer_app/src/features/app/hooks/useForm.tsfluxer_app/src/features/auth/components/pages/EmailRevertPage.tsxfluxer_app/src/features/auth/components/pages/ForgotPasswordPage.tsxfluxer_app/src/features/auth/components/pages/ResetPasswordPage.tsxfluxer_app/src/features/auth/flow/AuthMinimalRegisterFormCore.tsxfluxer_app/src/features/auth/flow/AuthRegisterFormCore.tsxfluxer_app/src/features/auth/flow/MfaScreen.tsxfluxer_app/src/features/auth/flow/auth_login_core/AuthLoginEmailPasswordForm.tsxfluxer_app/src/features/auth/hooks/useAuthForm.tsfluxer_app/src/features/i18n/locales/ar/messages.pofluxer_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.pofluxer_app/src/features/i18n/locales/zh-CN/messages.pofluxer_app/src/features/i18n/locales/zh-TW/messages.pofix(api): send stickers through webhooks (#2338)
fluxer_api/src/api/channel/services/message/MessageSendService.tsfluxer_api/src/api/webhook/tests/WebhookStickerBypass.test.tsfeat(guilds): improve mobile community creation
lib/features/guilds/presentation/modals/add_guild_modal.dartlib/features/ui/stepped_carousel/fluxer_stepped_carousel.dartlib/features/ui/ui.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/guilds/presentation/modals/add_guild_modal.dartlib/features/ui/stepped_carousel/fluxer_stepped_carousel.dartlib/features/ui/ui.dartfix(voice): pip missing material wrap
lib/features/voice/presentation/widgets/pip/voice_pip_card.dartlib/features/voice/presentation/widgets/pip/voice_pip_layer.darttest/features/voice/presentation/widgets/pip/voice_pip_layer_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/voice/presentation/widgets/pip/voice_pip_card.dartlib/features/voice/presentation/widgets/pip/voice_pip_layer.darttest/features/voice/presentation/widgets/pip/voice_pip_layer_test.dartfix(voice): correct web match for voice unmute Fixes: #722
lib/features/input/services/keybind_handlers.dartlib/features/voice/providers/voice_session_provider.darttest/features/voice/providers/local_voice_state_provider_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/input/services/keybind_handlers.dartlib/features/voice/providers/voice_session_provider.darttest/features/voice/providers/local_voice_state_provider_test.dartfix(test): correct failing tests
test/features/chat/presentation/pages/channel_search_page_test.darttest/features/chat/presentation/sheets/channel_details_search_jump_test.darttest/features/chat/presentation/widgets/messages/message_item_avatar_unset_test.darttest/features/chat/presentation/widgets/messages/message_item_compact_test.darttest/features/chat/presentation/widgets/messages/message_item_cozy_test.darttest/features/chat/presentation/widgets/messages/message_item_padding_test.darttest/features/chat/presentation/widgets/messages/message_item_semantics_test.darttest/features/chat/presentation/widgets/messages/message_list_send_ack_anchor_test.darttest/features/profile/presentation/widgets/user_profile_header_test.darttest/features/settings/user_look_and_feel_test.darttest/features/shell/presentation/gateway_reconnect_banner_test.darttest/features/shell/presentation/splash_screen_test.darttest/helpers/instance_runtime_config_override.darttest/helpers/pump_fluxer_app.dartMerge remote-tracking branch 'origin/canary' into canary
test/features/chat/presentation/pages/channel_search_page_test.darttest/features/chat/presentation/sheets/channel_details_search_jump_test.darttest/features/chat/presentation/widgets/messages/message_item_avatar_unset_test.darttest/features/chat/presentation/widgets/messages/message_item_compact_test.darttest/features/chat/presentation/widgets/messages/message_item_cozy_test.darttest/features/chat/presentation/widgets/messages/message_item_padding_test.darttest/features/chat/presentation/widgets/messages/message_item_semantics_test.darttest/features/chat/presentation/widgets/messages/message_list_send_ack_anchor_test.darttest/features/profile/presentation/widgets/user_profile_header_test.darttest/features/settings/user_look_and_feel_test.darttest/features/shell/presentation/gateway_reconnect_banner_test.darttest/features/shell/presentation/splash_screen_test.darttest/helpers/instance_runtime_config_override.darttest/helpers/pump_fluxer_app.dartfeat(core): implement more self hosted config options Fixes: #723
lib/app.dartlib/core/premium/should_show_premium_commerce_provider.dartlib/features/auth/presentation/required_action_modal.dartlib/features/chat/presentation/sheets/forward_message_sheet.dartlib/features/chat/presentation/sheets/share_media_sheet.dartlib/features/chat/providers/core/chat_view_model.dartlib/features/chat/providers/messages/message_length_limits_provider.dartlib/features/chat/utils/client_system_message.dartlib/features/dm/data/dm_conversation_mapper.dartlib/features/dm/data/dm_repository.dartlib/features/dm/domain/dm_channel_types.dartlib/features/dm/domain/dm_conversation.dartlib/features/dm/providers/dm_providers.dartlib/features/guilds/presentation/widgets/guild_navbar.dartlib/features/members/presentation/widgets/guild_members_desktop_table.dartlib/features/members/presentation/widgets/guild_members_mobile_list_view.dartlib/features/moderation/iar/iar_copy.dartlib/features/moderation/iar/iar_report_sheet.dartlib/features/moderation/iar/iar_simple_report_sheet.dartlib/features/profile/presentation/widgets/user_profile_badges.dartlib/features/profile/presentation/widgets/user_profile_bio_card.dartlib/features/profile/presentation/widgets/user_profile_view.dartlib/features/settings/presentation/user_settings_modal.dartlib/features/settings/presentation/widgets/guild/invites/guild_disable_invites_button.dartlib/features/settings/presentation/widgets/profile_preview_card.dartlib/features/settings/presentation/widgets/user_accessibility.dartlib/features/settings/presentation/widgets/user_advanced_settings.dartlib/features/settings/presentation/widgets/user_authorized_apps.dartlib/features/settings/presentation/widgets/user_connections.dartlib/features/settings/presentation/widgets/user_look_and_feel.dartlib/features/settings/presentation/widgets/user_messages_media.dartlib/features/settings/presentation/widgets/user_notifications_permission_banner.dartlib/features/settings/presentation/widgets/user_profile.dartlib/features/settings/presentation/widgets/user_security_login.dartlib/features/settings/utils/user_settings_search.dartlib/features/settings/utils/user_settings_search_index.dartlib/features/shell/presentation/widgets/nagbars/premium_onboarding_nagbar.dartlib/features/ui/plutonium_upsell/fluxer_plutonium_upsell.dartlib/features/ui/system_permissions/system_permission_settings_prompt.dartlib/l10n/fluxer_ar.arblib/l10n/fluxer_cs.arblib/l10n/fluxer_da.arblib/l10n/fluxer_de.arblib/l10n/fluxer_el.arblib/l10n/fluxer_en.arblib/l10n/fluxer_en_GB.arblib/l10n/fluxer_en_US.arblib/l10n/fluxer_es.arblib/l10n/fluxer_es_419.arblib/l10n/fluxer_fi.arbMerge remote-tracking branch 'origin/canary' into canary
lib/app.dartlib/core/premium/should_show_premium_commerce_provider.dartlib/features/auth/presentation/required_action_modal.dartlib/features/chat/presentation/sheets/forward_message_sheet.dartlib/features/chat/presentation/sheets/share_media_sheet.dartlib/features/chat/providers/core/chat_view_model.dartlib/features/chat/providers/messages/message_length_limits_provider.dartlib/features/chat/utils/client_system_message.dartlib/features/dm/data/dm_conversation_mapper.dartlib/features/dm/data/dm_repository.dartlib/features/dm/domain/dm_channel_types.dartlib/features/dm/domain/dm_conversation.dartlib/features/dm/providers/dm_providers.dartlib/features/guilds/presentation/widgets/guild_navbar.dartlib/features/members/presentation/widgets/guild_members_desktop_table.dartlib/features/members/presentation/widgets/guild_members_mobile_list_view.dartlib/features/moderation/iar/iar_copy.dartlib/features/moderation/iar/iar_report_sheet.dartlib/features/moderation/iar/iar_simple_report_sheet.dartlib/features/profile/presentation/widgets/user_profile_badges.dartlib/features/profile/presentation/widgets/user_profile_bio_card.dartlib/features/profile/presentation/widgets/user_profile_view.dartlib/features/settings/presentation/user_settings_modal.dartlib/features/settings/presentation/widgets/guild/invites/guild_disable_invites_button.dartlib/features/settings/presentation/widgets/profile_preview_card.dartlib/features/settings/presentation/widgets/user_accessibility.dartlib/features/settings/presentation/widgets/user_advanced_settings.dartlib/features/settings/presentation/widgets/user_authorized_apps.dartlib/features/settings/presentation/widgets/user_connections.dartlib/features/settings/presentation/widgets/user_look_and_feel.dartlib/features/settings/presentation/widgets/user_messages_media.dartlib/features/settings/presentation/widgets/user_notifications_permission_banner.dartlib/features/settings/presentation/widgets/user_profile.dartlib/features/settings/presentation/widgets/user_security_login.dartlib/features/settings/utils/user_settings_search.dartlib/features/settings/utils/user_settings_search_index.dartlib/features/shell/presentation/widgets/nagbars/premium_onboarding_nagbar.dartlib/features/ui/plutonium_upsell/fluxer_plutonium_upsell.dartlib/features/ui/system_permissions/system_permission_settings_prompt.dartlib/l10n/fluxer_ar.arblib/l10n/fluxer_cs.arblib/l10n/fluxer_da.arblib/l10n/fluxer_de.arblib/l10n/fluxer_el.arblib/l10n/fluxer_en.arblib/l10n/fluxer_en_GB.arblib/l10n/fluxer_en_US.arblib/l10n/fluxer_es.arblib/l10n/fluxer_es_419.arblib/l10n/fluxer_fi.arbfix(chat): relative future time format not matching desktop Fixes: #729
lib/features/chat/utils/markdown_timestamp_format.dartlib/l10n/fluxer_en.arblib/l10n/generated/fluxer_localizations.dartlib/l10n/generated/fluxer_localizations_ar.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_hu.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_pl.dartlib/l10n/generated/fluxer_localizations_pt.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_zh.dartlib/shared/utils/relative_time.dartpackages/fluxer_markdown/lib/src/renderers/fluxer_markdown_renderers.dartpackages/fluxer_markdown/lib/src/widgets/fluxer_live_timestamp.dartpackages/fluxer_markdown/test/timestamp_syntax_test.darttest/features/chat/utils/markdown_timestamp_format_test.darttest/shared/utils/relative_time_test.dart