fix(iOS): add NSVoIP desc
fix(iOS): add NSVoIP desc
Inspect stored evidence paths
ios/Runner.xcodeproj/project.pbxprojios/Runner/Info.plist
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(iOS): add NSVoIP desc
ios/Runner.xcodeproj/project.pbxprojios/Runner/Info.plistfix(api): stop treating users without a birth date as minors (#3040)
fluxer_api/src/api/rpc/RpcService.tsfluxer_api/src/api/user/services/UserAccountSettingsService.tsfluxer_api/src/api/user/tests/UserSettingsSensitiveContentFilter.test.tsfix(voice): lower DeepFilterNet attenuation limit to 30 dB (#3039)
fluxer_app/src/features/voice/utils/DeepFilterNoiseProcessor.tsfix(UseForwardDestinations): hide system user (#3038)
fluxer_app/src/features/app/components/dialogs/shared/UseForwardDestinations.tsfix(UseForwardDestinations): hide system user
fluxer_app/src/features/app/components/dialogs/shared/UseForwardDestinations.tschore(sdk): regenerate from OpenAPI
lib/auth/auth_api.dartlib/channels/channels_api.dartlib/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.dartlib/models/instance_captcha_provider_schema.dartlib/models/instance_captcha_schema.dartlib/models/instance_captcha_schema.g.dartlib/o_auth2/o_auth2_api.dartlib/users/users_api.dartfeat(captcha): make ALTCHA the only captcha (#3035)
config/env/development.envdeploy/self-hosting/.env.exampledeploy/self-hosting/docker-compose.ymlfluxer_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/pkgs/captcha/src/CaptchaProviderFactory.tsfluxer_api/pkgs/captcha/src/ICaptchaProvider.tsfluxer_api/pkgs/captcha/src/providers/AltchaProvider.tsfluxer_api/pkgs/captcha/src/providers/HcaptchaProvider.tsfluxer_api/pkgs/captcha/src/providers/HttpCaptchaProvider.tsfluxer_api/pkgs/captcha/src/providers/RecaptchaProvider.tsfluxer_api/pkgs/captcha/src/providers/TestProvider.tsfluxer_api/pkgs/captcha/src/providers/TurnstileProvider.tsfluxer_api/pkgs/captcha/src/providers/UnavailableCaptchaProvider.tsfluxer_api/src/api/Config.tsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/auth/AuthController.tsfluxer_api/src/api/auth/AuthPhone.tsfluxer_api/src/api/auth/PhoneVerificationClient.tsfluxer_api/src/api/auth/tests/AltchaCaptcha.test.tsfluxer_api/src/api/auth/tests/CaptchaBypassFlags.test.tsfluxer_api/src/api/auth/tests/CaptchaChallenge.test.tsfluxer_api/src/api/auth/tests/PhoneVerificationClient.test.tsfluxer_api/src/api/auth/tests/Registration.test.tsfluxer_api/src/api/channel/controllers/ChannelController.tsfluxer_api/src/api/channel/tests/GroupDmCaptchaRateLimit.test.tsfluxer_api/src/api/config/APIConfig.tsfluxer_api/src/api/experiment/ExperimentController.tsfluxer_api/src/api/experiment/ExperimentTargeting.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/instance/InstanceController.test.tsfluxer_api/src/api/instance/InstanceController.tsfluxer_api/src/api/middleware/CaptchaMiddleware.tsfluxer_api/src/api/middleware/tests/CaptchaMiddleware.test.tsfluxer_api/src/api/middleware/tests/CaptchaProviderHeader.test.tsfluxer_api/src/api/oauth/OAuth2ApplicationsController.tsfluxer_api/src/api/oauth/tests/OAuth2ApplicationCreate.test.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/stripe/tests/GiftCodeRedeemCaptcha.test.tsfluxer_api/src/api/test/CaptchaTestUtils.tsfluxer_api/src/api/test/Setup.tsfluxer_api/src/api/user/controllers/UserAuthController.tsfluxer_api/src/api/user/controllers/UserChannelController.tsfluxer_api/src/api/user/services/UserAuthRequestService.tsfluxer_app/package.jsonfeat(captcha): make ALTCHA the only captcha
config/env/development.envdeploy/self-hosting/.env.exampledeploy/self-hosting/docker-compose.ymlfluxer_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/pkgs/captcha/src/CaptchaProviderFactory.tsfluxer_api/pkgs/captcha/src/ICaptchaProvider.tsfluxer_api/pkgs/captcha/src/providers/AltchaProvider.tsfluxer_api/pkgs/captcha/src/providers/HcaptchaProvider.tsfluxer_api/pkgs/captcha/src/providers/HttpCaptchaProvider.tsfluxer_api/pkgs/captcha/src/providers/RecaptchaProvider.tsfluxer_api/pkgs/captcha/src/providers/TestProvider.tsfluxer_api/pkgs/captcha/src/providers/TurnstileProvider.tsfluxer_api/pkgs/captcha/src/providers/UnavailableCaptchaProvider.tsfluxer_api/src/api/Config.tsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/auth/AuthController.tsfluxer_api/src/api/auth/AuthPhone.tsfluxer_api/src/api/auth/PhoneVerificationClient.tsfluxer_api/src/api/auth/tests/AltchaCaptcha.test.tsfluxer_api/src/api/auth/tests/CaptchaBypassFlags.test.tsfluxer_api/src/api/auth/tests/CaptchaChallenge.test.tsfluxer_api/src/api/auth/tests/PhoneVerificationClient.test.tsfluxer_api/src/api/auth/tests/Registration.test.tsfluxer_api/src/api/channel/controllers/ChannelController.tsfluxer_api/src/api/channel/tests/GroupDmCaptchaRateLimit.test.tsfluxer_api/src/api/config/APIConfig.tsfluxer_api/src/api/experiment/ExperimentController.tsfluxer_api/src/api/experiment/ExperimentTargeting.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/instance/InstanceController.test.tsfluxer_api/src/api/instance/InstanceController.tsfluxer_api/src/api/middleware/CaptchaMiddleware.tsfluxer_api/src/api/middleware/tests/CaptchaMiddleware.test.tsfluxer_api/src/api/middleware/tests/CaptchaProviderHeader.test.tsfluxer_api/src/api/oauth/OAuth2ApplicationsController.tsfluxer_api/src/api/oauth/tests/OAuth2ApplicationCreate.test.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/stripe/tests/GiftCodeRedeemCaptcha.test.tsfluxer_api/src/api/test/CaptchaTestUtils.tsfluxer_api/src/api/test/Setup.tsfluxer_api/src/api/user/controllers/UserAuthController.tsfluxer_api/src/api/user/controllers/UserChannelController.tsfluxer_api/src/api/user/services/UserAuthRequestService.tsfluxer_app/package.jsonchore(sdk): regenerate from OpenAPI
lib/export.dartlib/models/experiment_assignments_response_assignments.dartlib/models/experiment_assignments_response_assignments.g.dartlib/models/profile_timezone_assignment_response.dartlib/models/profile_timezone_assignment_response.g.dartlib/models/user_update_with_verification_request.dartfeat(profile): ship profile timezone to everyone (#3034)
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/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.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/user/UserHelpers.tsfluxer_api/src/api/user/services/UserAccountLookupService.tsfluxer_api/src/api/user/services/UserAccountProfileService.tsfluxer_api/src/api/user/services/UserAccountRequestService.tsfluxer_api/src/api/user/tests/UserProfileTimezoneVisibility.test.tsfluxer_app/src/features/experiment/state/ExperimentAssignments.test.tsfluxer_app/src/features/user/components/modals/tabs/MyProfileTab.tsxfluxer_app/src/features/user/state/ProfileTimezoneRollout.tsfluxer_app/src/features/user/utils/ProfileUtils.tsfluxer_docs/src/content/docs/admin-api/instance.mdxfluxer_docs/src/content/docs/http-api/experiments.mdxfluxer_docs/src/content/docs/http-api/users.mdxfluxer_docs/src/content/docs/http-api/users/current-user.mdxpackages/schema/src/domains/admin/AdminSchemas.tspackages/schema/src/domains/admin/ProfileTimezoneSchemas.test.tspackages/schema/src/domains/admin/ProfileTimezoneSchemas.tspackages/schema/src/domains/experiment/ExperimentSchemas.tspackages/schema/src/domains/user/UserRequestSchemas.tsfix(push): stop pushes for read, silent and muted messages (#3033)
fluxer_api/src/api/channel/services/CallService.tsfluxer_api/src/api/channel/services/message/MessagePersistenceService.tsfluxer_api/src/api/infrastructure/GatewayService.tsfluxer_api/src/api/read_state/IReadStateRepository.tsfluxer_api/src/api/read_state/PushClearOnReply.test.tsfluxer_api/src/api/read_state/ReadStateRepository.test.tsfluxer_api/src/api/read_state/ReadStateRepository.tsfluxer_api/src/api/read_state/ReadStateService.test.tsfluxer_api/src/api/read_state/ReadStateService.tsfluxer_api/src/api/rpc/RpcService.tsfluxer_api/src/api/user/services/UserAccountUpdatePropagator.tsfluxer_api/src/api/user/tests/PrivateChannelSettingsPushSync.test.tsfluxer_app/src/features/platform/service_worker/Worker.tsfluxer_app/src/features/platform/service_worker/WorkerPushPayload.tsfluxer_gateway/src/gateway/gateway_rpc_push.erlfluxer_gateway/src/gateway/metrics_handler.erlfluxer_gateway/src/gateway/rpc_client.erlfluxer_gateway/src/guild/guild.erlfluxer_gateway/src/guild/guild_dispatch_push.erlfluxer_gateway/src/guild/guild_sessions.erlfluxer_gateway/src/presence/presence.erlfluxer_gateway/src/presence/presence_update.erlfluxer_gateway/src/push/push.erlfluxer_gateway/src/push/push_eligibility.erlfluxer_gateway/src/push/push_job_publisher.erlfluxer_gateway/src/push/push_message_params.erlfluxer_gateway/src/push/push_outbox.erlfluxer_gateway/src/session/session_connection_guild.erlfluxer_gateway/src/session/session_lifecycle.erlfluxer_gateway/test/guild_push_engagement_tests.erlfluxer_gateway/test/guild_push_silent_tests.erlfluxer_gateway/test/push_outbox_read_tests.erlfluxer_gateway/test/push_read_dm_tests.erlfluxer_gateway/test/session_connection_guild_tests.erlfluxer_gateway/test/session_lifecycle_tests.erlfluxer_push/src/dedupe.rsfluxer_push/src/job.rsfluxer_push/src/metrics.rsfluxer_push/src/payload.rsfluxer_push/src/providers/mod.rsfluxer_push/src/providers/own_relay.rsfluxer_push/src/providers/web_push.rsfluxer_push/src/relay/mod.rsfluxer_push/src/relay/quota.rspackages/schema/src/domains/rpc/RpcSchemas.tsfeat(app): add quick reply and edit keybinds (#3032)
fluxer_app/src/features/app/keybindings/KeybindScopeUtils.tsfluxer_app/src/features/app/keybindings/keybind_manager/handlers/messageHandlers.tsfluxer_app/src/features/channel/components/ChannelMessages.tsxfluxer_app/src/features/channel/components/MessageActionUtils.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.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/input/state/InputKeybind.tsfluxer_app/src/features/input/state/input_keybind/shared.tsfluxer_app/src/features/platform/utils/ComponentBus.tsfluxer_app/src/features/user/components/modals/tabs/keybinds_tab/shared.tschore: dart format
lib/features/settings/presentation/sheets/profile_local_time_sheet.dartMerge branch 'canary' into beta
.vscode/tasks.jsonanalysis_options.yamlandroid/app/src/main/AndroidManifest.xmlandroid/app/src/main/kotlin/com/fluxer/SsoAuthSessionTasks.ktandroid/app/src/main/kotlin/com/fluxer/SsoCallbackActivity.ktandroid/app/src/test/kotlin/com/fluxer/SsoAuthSessionTasksTest.ktfluxerios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolvedios/Runner/CallKit/IncomingCallReporter.swiftios/Runner/CallKit/VoipRegistry.swiftios/RunnerTests/CallRingPayloadTests.swiftios/Shared/CallRingPayload.swiftlib/core/api/altcha_pbkdf2.dartlib/core/api/altcha_solver.dartlib/core/api/captcha_api_codes.dartlib/core/api/captcha_dialog.dartlib/core/api/captcha_interceptor.dartlib/core/api/fluxer_client_provider.dartlib/core/providers/app_startup_provider.dartlib/core/providers/startup_session_expiry.dartlib/core/push/android/android_push_pipeline.dartlib/core/push/launch_notification_account.dartlib/core/push/local_push_notifications.dartlib/core/push/push_notification_payload.dartlib/core/push/push_notification_tap_handler.dartlib/core/push/unified_push/unified_push_incoming_policy.dartlib/features/auth/data/auth_repository.dartlib/features/auth/domain/auth_failure.dartlib/features/auth/domain/login_error.dartlib/features/auth/domain/phone_verification_failure.dartlib/features/auth/providers/account_manager_provider.dartlib/features/auth/providers/login_error_l10n.dartlib/features/auth/providers/login_view_model.dartlib/features/auth/providers/mfa_view_model.dartlib/features/auth/utils/phone_verification_error_l10n.dartlib/features/auth/utils/phone_verification_errors.dartlib/features/chat/presentation/widgets/channel/header/channel_header_left_section.dartlib/features/chat/presentation/widgets/composer/channel_textarea.dartlib/features/chat/presentation/widgets/pickers/chat_composer_column.dartlib/features/chat/presentation/widgets/pickers/chat_expression_expandable_sheet.dartlib/features/chat/providers/pickers/bottom_input_slot_provider.dartlib/features/chat/providers/pickers/mobile_keyboard_metrics_provider.dartlib/features/chat/utils/composer/bottom_input_slot_layout.dartlib/features/profile/domain/profile_timezone_privacy_flags.dartlib/features/profile/presentation/widgets/user_profile_custom_status.dartlib/features/profile/utils/timezone_catalog.dartlib/features/settings/presentation/sheets/profile_local_time_sheet.dartlib/features/settings/presentation/widgets/profile_local_time_settings_section.dartlib/features/settings/presentation/widgets/profile_preview_card.dartlib/features/settings/presentation/widgets/user_profile.dartfeat(profile): add timezone setting
lib/features/profile/domain/profile_timezone_privacy_flags.dartlib/features/profile/utils/timezone_catalog.dartlib/features/settings/presentation/sheets/profile_local_time_sheet.dartlib/features/settings/presentation/widgets/profile_local_time_settings_section.dartlib/features/settings/presentation/widgets/profile_preview_card.dartlib/features/settings/presentation/widgets/user_profile.dartlib/features/settings/providers/profile_update_payload.dartlib/features/settings/providers/user_settings_view_model.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.dartpubspec.lockpubspec.yamltest/features/profile/utils/timezone_catalog_test.darttest/features/settings/profile_update_request_test.dartfix(test): failing test
packages/fluxer_markdown_native/hook/build.dartchore: update submodule
fluxerfix(profile): don't clamp custom display status Fixes: #863
lib/features/profile/presentation/widgets/user_profile_custom_status.dartlib/shared/widgets/custom_status_display.darttest/features/profile/presentation/widgets/user_profile_custom_status_test.dartfix(media): slow high fps animated gifs Fixes: #457 Co-Authored-By: M0N7Y5 <17201053+M0n7y5@users.noreply.github.com>
pubspec.lockpubspec.yamlfix(chat): show topic with markdown rendering Fixes: #670
lib/features/chat/presentation/widgets/channel/header/channel_header_left_section.darttest/features/chat/presentation/widgets/channel/header/channel_header_left_section_test.dart