Merge remote-tracking branch 'origin/main'
Merge remote-tracking branch 'origin/main'
Inspect stored evidence paths
fluxer_docs/src/content/docs/operator/upgrading.mdxfluxer_docs/src/installer/install.ps1fluxer_docs/src/installer/install.sh
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
Merge remote-tracking branch 'origin/main'
fluxer_docs/src/content/docs/operator/upgrading.mdxfluxer_docs/src/installer/install.ps1fluxer_docs/src/installer/install.shMerge remote-tracking branch 'origin/main'
fluxer_docs/src/content/docs/operator/upgrading.mdxfluxer_docs/src/installer/install.ps1fluxer_docs/src/installer/install.shgpg: Signature made Sun Sep 27 23:42:24 2026 CEST gpg: using EDDSA key 546B08CAB70587D156E3AC50399E21922D24129D gpg: Good signature from "Hampus Kraft <hampus@fluxer.com>" [ultimate] feat(installer): let upgrades copy the uploads uncompressed (#2994)
fluxer_docs/src/content/docs/operator/upgrading.mdxfluxer_docs/src/installer/install.ps1fluxer_docs/src/installer/install.shMerge remote-tracking branch 'origin/main'
fluxer_push/src/providers/web_push.rsMerge remote-tracking branch 'origin/main'
fluxer_push/src/providers/web_push.rsfix(push): stop retrying relay rate limit refusals (#2993)
fluxer_push/src/providers/web_push.rsfix(push): skip relay consent on the official instance Signed-off-by: Hampus Kraft <hampus@fluxer.com>
lib/core/push/relay_consent/push_relay_consent_logic.dartlib/core/push/relay_consent/push_relay_consent_provider.dartlib/features/settings/presentation/widgets/user_notifications_settings.dartlib/l10n/fluxer_ar.arblib/l10n/fluxer_bg.arblib/l10n/fluxer_cs.arblib/l10n/fluxer_da.arblib/l10n/fluxer_de.arblib/l10n/fluxer_el.arblib/l10n/fluxer_en_GB.arblib/l10n/fluxer_en_US.arblib/l10n/fluxer_es.arblib/l10n/fluxer_es_419.arblib/l10n/fluxer_fi.arblib/l10n/fluxer_fr.arblib/l10n/fluxer_he.arblib/l10n/fluxer_hi.arblib/l10n/fluxer_hr.arblib/l10n/fluxer_hu.arblib/l10n/fluxer_id.arblib/l10n/fluxer_it.arblib/l10n/fluxer_ja.arblib/l10n/fluxer_ko.arblib/l10n/fluxer_lt.arblib/l10n/fluxer_nb.arblib/l10n/fluxer_nl.arblib/l10n/fluxer_pl.arblib/l10n/fluxer_pt.arblib/l10n/fluxer_pt_BR.arblib/l10n/fluxer_ro.arblib/l10n/fluxer_ru.arblib/l10n/fluxer_sv.arblib/l10n/fluxer_th.arblib/l10n/fluxer_tr.arblib/l10n/fluxer_uk.arblib/l10n/fluxer_vi.arblib/l10n/fluxer_zh.arblib/l10n/fluxer_zh_Hant.arblib/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.dartMerge remote-tracking branch 'origin/main'
fluxer_gateway/src/gateway/fluxer_gateway_config.erlMerge remote-tracking branch 'origin/main'
fluxer_gateway/src/gateway/fluxer_gateway_config.erlfix(gateway): parse push relay hosts as binaries (#2989)
fluxer_gateway/src/gateway/fluxer_gateway_config.erlMerge remote-tracking branch 'origin/main'
fluxer_api/src/api/Config.tsfluxer_api/src/api/risk/IpBanExemptions.tsfluxer_api/src/api/risk/__tests__/IpBanExemptions.test.tsfluxer_docs/src/content/docs/operator/configuration.mdxMerge remote-tracking branch 'origin/main'
fluxer_api/src/api/Config.tsfluxer_api/src/api/risk/IpBanExemptions.tsfluxer_api/src/api/risk/__tests__/IpBanExemptions.test.tsfluxer_docs/src/content/docs/operator/configuration.mdxfeat(api): accept CIDR ranges in FLUXER_API_IP_BAN_EXEMPT_IPS (#2988)
fluxer_api/src/api/Config.tsfluxer_api/src/api/risk/IpBanExemptions.tsfluxer_api/src/api/risk/__tests__/IpBanExemptions.test.tsfluxer_docs/src/content/docs/operator/configuration.mdxMerge remote-tracking branch 'origin/main'
fluxer_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.pofluxer_app/src/features/i18n/locales/zh-CN/messages.pofluxer_app/src/features/i18n/locales/zh-TW/messages.poMerge remote-tracking branch 'origin/main'
fluxer_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.pofluxer_app/src/features/i18n/locales/zh-CN/messages.pofluxer_app/src/features/i18n/locales/zh-TW/messages.pofix(i18n): translate the push relay notice strings (#2987)
fluxer_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.pofluxer_app/src/features/i18n/locales/zh-CN/messages.pofluxer_app/src/features/i18n/locales/zh-TW/messages.pochore(sdk): regenerate from OpenAPI
lib/export.dartlib/models/altcha_captcha_assignment_response.dartlib/models/altcha_captcha_assignment_response.g.dartlib/models/experiment_assignments_response_assignments.dartlib/models/experiment_assignments_response_assignments.g.dartMerge remote-tracking branch 'origin/main'
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_api/package.jsonfluxer_api/pkgs/captcha/package.jsonfluxer_api/pkgs/captcha/src/ICaptchaProvider.tsfluxer_api/pkgs/captcha/src/providers/AltchaProvider.tsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/auth/tests/AltchaCaptcha.test.tsfluxer_api/src/api/experiment/ExperimentController.tsfluxer_api/src/api/experiment/tests/ExperimentController.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/middleware/CaptchaMiddleware.tsfluxer_api/src/api/middleware/tests/CaptchaProviderHeader.test.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_app/package.jsonfluxer_app/src/features/auth/altcha/AltchaSolver.tsfluxer_app/src/features/auth/altcha/AltchaSolverWorker.tsfluxer_app/src/features/auth/components/AltchaVerification.module.cssfluxer_app/src/features/auth/components/AltchaVerification.tsxfluxer_app/src/features/auth/components/CaptchaInterceptor.tsxfluxer_app/src/features/auth/components/modals/CaptchaModal.tsxfluxer_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.poMerge remote-tracking branch 'origin/main'
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_api/package.jsonfluxer_api/pkgs/captcha/package.jsonfluxer_api/pkgs/captcha/src/ICaptchaProvider.tsfluxer_api/pkgs/captcha/src/providers/AltchaProvider.tsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/auth/tests/AltchaCaptcha.test.tsfluxer_api/src/api/experiment/ExperimentController.tsfluxer_api/src/api/experiment/tests/ExperimentController.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/middleware/CaptchaMiddleware.tsfluxer_api/src/api/middleware/tests/CaptchaProviderHeader.test.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_app/package.jsonfluxer_app/src/features/auth/altcha/AltchaSolver.tsfluxer_app/src/features/auth/altcha/AltchaSolverWorker.tsfluxer_app/src/features/auth/components/AltchaVerification.module.cssfluxer_app/src/features/auth/components/AltchaVerification.tsxfluxer_app/src/features/auth/components/CaptchaInterceptor.tsxfluxer_app/src/features/auth/components/modals/CaptchaModal.tsxfluxer_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.pofeat(captcha): add ALTCHA proof-of-work captcha experiment (#2986)
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_api/package.jsonfluxer_api/pkgs/captcha/package.jsonfluxer_api/pkgs/captcha/src/ICaptchaProvider.tsfluxer_api/pkgs/captcha/src/providers/AltchaProvider.tsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/auth/tests/AltchaCaptcha.test.tsfluxer_api/src/api/experiment/ExperimentController.tsfluxer_api/src/api/experiment/tests/ExperimentController.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/middleware/CaptchaMiddleware.tsfluxer_api/src/api/middleware/tests/CaptchaProviderHeader.test.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_app/package.jsonfluxer_app/src/features/auth/altcha/AltchaSolver.tsfluxer_app/src/features/auth/altcha/AltchaSolverWorker.tsfluxer_app/src/features/auth/components/AltchaVerification.module.cssfluxer_app/src/features/auth/components/AltchaVerification.tsxfluxer_app/src/features/auth/components/CaptchaInterceptor.tsxfluxer_app/src/features/auth/components/modals/CaptchaModal.tsxfluxer_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.po