fix(read-state): keep a failed ack dispatch from failing acks (#2350)
fix(read-state): keep a failed ack dispatch from failing acks (#2350)
Inspect stored evidence paths
fluxer_api/src/api/read_state/ReadStateService.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(read-state): keep a failed ack dispatch from failing acks (#2350)
fluxer_api/src/api/read_state/ReadStateService.tsfeat(api): serve well-known discovery with etag and 304 (#2349)
fluxer_api/src/api/app/MiddlewarePipeline.tsfluxer_api/src/api/instance/DiscoveryValidators.tsfluxer_api/src/api/instance/InstanceController.tsfluxer_api/src/api/utils/EntityTag.tsfix(auth): bucket phone attempt risk by v4 and v6 subnet (#2348)
fluxer_api/src/api/auth/services/PhoneAttemptRiskService.tsfix(auth): harden login rate keys and totp reuse (#2347)
fluxer_api/src/api/auth/AuthLogin.tsfluxer_api/src/api/auth/AuthMfa.tsfix(api): validate push and domain verification targets (#2346)
fluxer_api/src/api/connection/verification/DomainConnectionVerifier.tsfluxer_api/src/api/user/services/UserContentService.tspackages/schema/src/domains/connection/ConnectionSchemas.tspackages/schema/src/domains/user/UserRequestSchemas.tspackages/schema/src/primitives/UrlValidators.tsfix(api): trust recorded upload types and bound edit sizes (#2345)
fluxer_api/src/api/channel/services/message/AttachmentProcessingService.tsfluxer_api/src/api/channel/services/message/MessagePersistenceService.tsfix(api): bound storage listings, ranges and search paging (#2344)
fluxer_api/src/api/download/DownloadService.tsfluxer_api/src/api/infrastructure/IStorageService.tsfluxer_api/src/api/infrastructure/StorageService.test.tsfluxer_api/src/api/infrastructure/StorageService.tsfluxer_api/src/api/search/MessageSearchResultReconciler.tsfluxer_api/src/api/test/mocks/MockStorageService.tsfluxer_api/src/api/user/controllers/UserContentController.tspackages/schema/src/domains/message/MessageRequestSchemas.tsfix(captcha): drop the body-email contact policy exemption (#2343)
fluxer_api/src/api/middleware/CaptchaMiddleware.tsfix(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.dart