Merge remote-tracking branch 'origin/main'
Merge remote-tracking branch 'origin/main'
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'
perf(push): cache endpoint guard dns verdicts (#2907)
fluxer_gateway/src/gateway/fluxer_gateway_config.erlfluxer_gateway/src/push/push_endpoint_guard.erlfluxer_gateway/src/push/push_ets_cache.erlfluxer_gateway/test/fluxer_gateway_config_tests.erlfluxer_gateway/test/push_endpoint_guard_tests.erlfluxer_gateway/test/push_ets_cache_tests.erlfeat(push): relay based encrypted notifications
android/app/src/fcm/kotlin/com/fluxer/FcmMessageForwarder.ktandroid/app/src/fcm/kotlin/com/fluxer/FluxerFirebaseMessagingReceiver.ktandroid/app/src/fcm/kotlin/com/fluxer/FluxerFirebaseMessagingService.ktandroid/app/src/fcm/test/kotlin/com/fluxer/FcmMessageForwarderTest.ktandroid/app/src/main/kotlin/com/fluxer/NotificationCancelBridge.ktios/NotificationService/NotificationService.entitlementsios/NotificationService/NotificationService.swiftios/Runner.xcodeproj/project.pbxprojios/Runner/AppDelegate.swiftios/Runner/ApplePushBridge.swiftios/Runner/Runner.entitlementsios/Runner/en.lproj/Localizable.stringsios/Shared/NotificationPayloadMedia.swiftios/Shared/PushNotificationPayload.swiftios/Shared/WebPushKeychain.swiftios/Shared/WebPushRecordDecryptor.swiftlib/core/providers/app_startup_provider.dartlib/core/push/android/android_push_pipeline.dartlib/core/push/apns/apns_mobile_device_registration.dartlib/core/push/apns/apns_registration_logic.dartlib/core/push/fcm/fcm_android_system_notification_cancel_bridge.dartlib/core/push/fcm/fcm_background_handler_policy.dartlib/core/push/fcm/fcm_entrypoint.fcm.dartlib/core/push/fcm/fcm_gcm_notification_enrichment.dartlib/core/push/fcm/fcm_mobile_device_registration.dartlib/core/push/fcm/fcm_notification_tap_binding.dartlib/core/push/fcm/fcm_pending_notification_tap.dartlib/core/push/fcm/fcm_registration_logic.dartlib/core/push/fcm/fcm_tap_payload_cache.dartlib/core/push/local_push_notifications.dartlib/core/push/pending_push_notification_path_provider.dartlib/core/push/pending_push_notification_route.dartlib/core/push/push_account_lifecycle.dartlib/core/push/push_notification_clear.dartlib/core/push/push_notification_media.dartlib/core/push/push_notification_payload.dartlib/core/push/push_notification_tap_handler.dartlib/core/push/services/firebase_messaging_push_service.fcm.dartlib/core/push/services/unified_push_service.dartlib/core/push/unified_push/unified_push_incoming_policy.dartlib/core/push/unified_push/unified_push_message_mapper.dartlib/core/push/unified_push/unified_push_mobile_device_registration.dartlib/core/push/web_push/web_push_codec.dartlib/core/push/web_push/web_push_crypto.dartlib/core/push/web_push/web_push_decrypt.dartlib/core/push/web_push/web_push_envelope.dartlib/core/push/web_push/web_push_key_store.dartlib/core/push/web_push/web_push_registration.dartlib/core/push/web_push/web_push_relay.dartpackages/fluxer_fcm/lib/fcm_android_system_notification_cancel.dartMerge remote-tracking branch 'origin/main'
fluxer_gateway/src/gateway/fluxer_gateway_config.erlfluxer_gateway/src/push/push_endpoint_guard.erlfluxer_gateway/src/push/push_ets_cache.erlfluxer_gateway/test/fluxer_gateway_config_tests.erlfluxer_gateway/test/push_endpoint_guard_tests.erlfluxer_gateway/test/push_ets_cache_tests.erlMerge remote-tracking branch 'origin/main'
fluxer_gateway/src/gateway/fluxer_gateway_config.erlfluxer_gateway/src/push/push_endpoint_guard.erlfluxer_gateway/src/push/push_ets_cache.erlfluxer_gateway/test/fluxer_gateway_config_tests.erlfluxer_gateway/test/push_endpoint_guard_tests.erlfluxer_gateway/test/push_ets_cache_tests.erlMerge remote-tracking branch 'origin/canary' into canary
android/app/src/fcm/kotlin/com/fluxer/FcmMessageForwarder.ktandroid/app/src/fcm/kotlin/com/fluxer/FluxerFirebaseMessagingReceiver.ktandroid/app/src/fcm/kotlin/com/fluxer/FluxerFirebaseMessagingService.ktandroid/app/src/fcm/test/kotlin/com/fluxer/FcmMessageForwarderTest.ktandroid/app/src/main/kotlin/com/fluxer/NotificationCancelBridge.ktios/NotificationService/NotificationService.entitlementsios/NotificationService/NotificationService.swiftios/Runner.xcodeproj/project.pbxprojios/Runner/AppDelegate.swiftios/Runner/ApplePushBridge.swiftios/Runner/Runner.entitlementsios/Runner/en.lproj/Localizable.stringsios/Shared/NotificationPayloadMedia.swiftios/Shared/PushNotificationPayload.swiftios/Shared/WebPushKeychain.swiftios/Shared/WebPushRecordDecryptor.swiftlib/core/providers/app_startup_provider.dartlib/core/push/android/android_push_pipeline.dartlib/core/push/apns/apns_mobile_device_registration.dartlib/core/push/apns/apns_registration_logic.dartlib/core/push/fcm/fcm_android_system_notification_cancel_bridge.dartlib/core/push/fcm/fcm_background_handler_policy.dartlib/core/push/fcm/fcm_entrypoint.fcm.dartlib/core/push/fcm/fcm_gcm_notification_enrichment.dartlib/core/push/fcm/fcm_mobile_device_registration.dartlib/core/push/fcm/fcm_notification_tap_binding.dartlib/core/push/fcm/fcm_pending_notification_tap.dartlib/core/push/fcm/fcm_registration_logic.dartlib/core/push/fcm/fcm_tap_payload_cache.dartlib/core/push/local_push_notifications.dartlib/core/push/pending_push_notification_path_provider.dartlib/core/push/pending_push_notification_route.dartlib/core/push/push_account_lifecycle.dartlib/core/push/push_notification_clear.dartlib/core/push/push_notification_media.dartlib/core/push/push_notification_payload.dartlib/core/push/push_notification_tap_handler.dartlib/core/push/services/firebase_messaging_push_service.fcm.dartlib/core/push/services/unified_push_service.dartlib/core/push/unified_push/unified_push_incoming_policy.dartlib/core/push/unified_push/unified_push_message_mapper.dartlib/core/push/unified_push/unified_push_mobile_device_registration.dartlib/core/push/web_push/web_push_codec.dartlib/core/push/web_push/web_push_crypto.dartlib/core/push/web_push/web_push_decrypt.dartlib/core/push/web_push/web_push_envelope.dartlib/core/push/web_push/web_push_key_store.dartlib/core/push/web_push/web_push_registration.dartlib/core/push/web_push/web_push_relay.dartpackages/fluxer_fcm/lib/fcm_android_system_notification_cancel.darti18n: regenerate localizations
lib/l10n/generated/fluxer_localizations_es.dartlib/l10n/generated/fluxer_localizations_uk.dartchore: update submodules
dart_sdkfluxerMerge remote-tracking branch 'origin/canary' into canary
dart_sdkfluxerchore(sdk): regenerate from OpenAPI
lib/models/register_mobile_device_request.dartlib/models/unregister_mobile_device_request.dartlib/users/users_api.dartfeat(push): relay notifications as encrypted web push (#2906)
.github/labeller.yaml.github/workflows/build-push.yamlCargo.lockCargo.tomldeploy/self-hosting/.env.exampledeploy/self-hosting/docker-compose.ymlfluxer_admin/openapi-admin.jsonfluxer_admin/src/api/types/instance_config.rsfluxer_admin/src/routes/reports.rsfluxer_admin/src/routes/system_actions.rsfluxer_admin/src/templates/pages/instance_config.rsfluxer_admin/tests/api_deserialization.rsfluxer_admin/tests/htmx_acceptance.rsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/admin/tests/InstanceConfigAdminController.test.tsfluxer_api/src/api/admin/tests/InstanceConfigStaleSectionWrites.test.tsfluxer_api/src/api/auth/AuthRegistration.tsfluxer_api/src/api/auth/services/SsoService.tsfluxer_api/src/api/auth/tests/RegistrationSignupRaces.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/instance/PushServiceDeliveryConfigPublisher.tsfluxer_api/src/api/instance/tests/InstanceConfigWriteRaceExecutor.tsfluxer_api/src/api/middleware/ServiceSingletons.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/rpc/RpcService.tsfluxer_api/src/api/user/controllers/UserAccountController.tsfluxer_api/src/api/user/repositories/account/UserAccountRepository.tsfluxer_api/src/api/user/services/UserContentService.tsfluxer_api/src/api/user/tests/PushSubscriptionLifecycle.test.tsfluxer_app/src/features/platform/service_worker/Worker.tsfluxer_app/src/features/platform/service_worker/WorkerPushPayload.tsfluxer_docs/astro.config.tsfluxer_docs/scripts/VerifyDocsCoverage.tsfluxer_docs/scripts/VerifyDocsStyle.tsfluxer_docs/src/content/docs/admin-api/instance.mdxfluxer_docs/src/content/docs/http-api/users/push-notifications.mdxfluxer_docs/src/content/docs/operator/configuration.mdxfluxer_docs/src/content/docs/operator/reverse-proxy.mdxfluxer_gateway/src/gateway/fluxer_gateway_config.erlfluxer_gateway/src/gateway/fluxer_gateway_sup.erlfluxer_gateway/src/gateway/gateway_handler.erlfluxer_gateway/src/gateway/gateway_nats_rpc.erlfluxer_gateway/src/gateway/gateway_rpc_presence.erlfluxer_gateway/src/gateway/metrics_handler.erlfluxer_gateway/src/guild/guild_dispatch_push.erlfluxer_gateway/src/presence/presence_update.erlfluxer_gateway/src/push/push.erlfluxer_gateway/src/push/push_delivery_config.erlfluxer_gateway/src/push/push_eligibility.erlMerge remote-tracking branch 'origin/main'
.github/labeller.yaml.github/workflows/build-push.yamlCargo.lockCargo.tomldeploy/self-hosting/.env.exampledeploy/self-hosting/docker-compose.ymlfluxer_admin/openapi-admin.jsonfluxer_admin/src/api/types/instance_config.rsfluxer_admin/src/routes/reports.rsfluxer_admin/src/routes/system_actions.rsfluxer_admin/src/templates/pages/instance_config.rsfluxer_admin/tests/api_deserialization.rsfluxer_admin/tests/htmx_acceptance.rsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/admin/tests/InstanceConfigAdminController.test.tsfluxer_api/src/api/admin/tests/InstanceConfigStaleSectionWrites.test.tsfluxer_api/src/api/auth/AuthRegistration.tsfluxer_api/src/api/auth/services/SsoService.tsfluxer_api/src/api/auth/tests/RegistrationSignupRaces.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/instance/PushServiceDeliveryConfigPublisher.tsfluxer_api/src/api/instance/tests/InstanceConfigWriteRaceExecutor.tsfluxer_api/src/api/middleware/ServiceSingletons.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/rpc/RpcService.tsfluxer_api/src/api/user/controllers/UserAccountController.tsfluxer_api/src/api/user/repositories/account/UserAccountRepository.tsfluxer_api/src/api/user/services/UserContentService.tsfluxer_api/src/api/user/tests/PushSubscriptionLifecycle.test.tsfluxer_app/src/features/platform/service_worker/Worker.tsfluxer_app/src/features/platform/service_worker/WorkerPushPayload.tsfluxer_docs/astro.config.tsfluxer_docs/scripts/VerifyDocsCoverage.tsfluxer_docs/scripts/VerifyDocsStyle.tsfluxer_docs/src/content/docs/admin-api/instance.mdxfluxer_docs/src/content/docs/http-api/users/push-notifications.mdxfluxer_docs/src/content/docs/operator/configuration.mdxfluxer_docs/src/content/docs/operator/reverse-proxy.mdxfluxer_gateway/src/gateway/fluxer_gateway_config.erlfluxer_gateway/src/gateway/fluxer_gateway_sup.erlfluxer_gateway/src/gateway/gateway_handler.erlfluxer_gateway/src/gateway/gateway_nats_rpc.erlfluxer_gateway/src/gateway/gateway_rpc_presence.erlfluxer_gateway/src/gateway/metrics_handler.erlfluxer_gateway/src/guild/guild_dispatch_push.erlfluxer_gateway/src/presence/presence_update.erlfluxer_gateway/src/push/push.erlfluxer_gateway/src/push/push_delivery_config.erlfluxer_gateway/src/push/push_eligibility.erlMerge remote-tracking branch 'origin/main'
.github/labeller.yaml.github/workflows/build-push.yamlCargo.lockCargo.tomldeploy/self-hosting/.env.exampledeploy/self-hosting/docker-compose.ymlfluxer_admin/openapi-admin.jsonfluxer_admin/src/api/types/instance_config.rsfluxer_admin/src/routes/reports.rsfluxer_admin/src/routes/system_actions.rsfluxer_admin/src/templates/pages/instance_config.rsfluxer_admin/tests/api_deserialization.rsfluxer_admin/tests/htmx_acceptance.rsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/admin/tests/InstanceConfigAdminController.test.tsfluxer_api/src/api/admin/tests/InstanceConfigStaleSectionWrites.test.tsfluxer_api/src/api/auth/AuthRegistration.tsfluxer_api/src/api/auth/services/SsoService.tsfluxer_api/src/api/auth/tests/RegistrationSignupRaces.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/instance/PushServiceDeliveryConfigPublisher.tsfluxer_api/src/api/instance/tests/InstanceConfigWriteRaceExecutor.tsfluxer_api/src/api/middleware/ServiceSingletons.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/rpc/RpcService.tsfluxer_api/src/api/user/controllers/UserAccountController.tsfluxer_api/src/api/user/repositories/account/UserAccountRepository.tsfluxer_api/src/api/user/services/UserContentService.tsfluxer_api/src/api/user/tests/PushSubscriptionLifecycle.test.tsfluxer_app/src/features/platform/service_worker/Worker.tsfluxer_app/src/features/platform/service_worker/WorkerPushPayload.tsfluxer_docs/astro.config.tsfluxer_docs/scripts/VerifyDocsCoverage.tsfluxer_docs/scripts/VerifyDocsStyle.tsfluxer_docs/src/content/docs/admin-api/instance.mdxfluxer_docs/src/content/docs/http-api/users/push-notifications.mdxfluxer_docs/src/content/docs/operator/configuration.mdxfluxer_docs/src/content/docs/operator/reverse-proxy.mdxfluxer_gateway/src/gateway/fluxer_gateway_config.erlfluxer_gateway/src/gateway/fluxer_gateway_sup.erlfluxer_gateway/src/gateway/gateway_handler.erlfluxer_gateway/src/gateway/gateway_nats_rpc.erlfluxer_gateway/src/gateway/gateway_rpc_presence.erlfluxer_gateway/src/gateway/metrics_handler.erlfluxer_gateway/src/guild/guild_dispatch_push.erlfluxer_gateway/src/presence/presence_update.erlfluxer_gateway/src/push/push.erlfluxer_gateway/src/push/push_delivery_config.erlfluxer_gateway/src/push/push_eligibility.erlfix: allow copying message snapshots (#2905)
fluxer_app/src/features/channel/components/MessageActionMenu.tsxfluxer_app/src/features/channel/components/MessageActionUtils.tsxfluxer_app/src/features/messaging/utils/MessageCopyTextUtils.tsMerge remote-tracking branch 'origin/main'
fluxer_app/src/features/channel/components/MessageActionMenu.tsxfluxer_app/src/features/channel/components/MessageActionUtils.tsxfluxer_app/src/features/messaging/utils/MessageCopyTextUtils.tsMerge remote-tracking branch 'origin/main'
fluxer_app/src/features/channel/components/MessageActionMenu.tsxfluxer_app/src/features/channel/components/MessageActionUtils.tsxfluxer_app/src/features/messaging/utils/MessageCopyTextUtils.tsfeat(push): relay notifications as encrypted web push
.github/labeller.yaml.github/workflows/build-push.yamlCargo.lockCargo.tomldeploy/self-hosting/.env.exampledeploy/self-hosting/docker-compose.ymlfluxer_admin/openapi-admin.jsonfluxer_admin/src/api/types/instance_config.rsfluxer_admin/src/routes/reports.rsfluxer_admin/src/routes/system_actions.rsfluxer_admin/src/templates/pages/instance_config.rsfluxer_admin/tests/api_deserialization.rsfluxer_admin/tests/htmx_acceptance.rsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/admin/tests/InstanceConfigAdminController.test.tsfluxer_api/src/api/admin/tests/InstanceConfigStaleSectionWrites.test.tsfluxer_api/src/api/auth/AuthRegistration.tsfluxer_api/src/api/auth/services/SsoService.tsfluxer_api/src/api/auth/tests/RegistrationSignupRaces.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.test.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/instance/PushServiceDeliveryConfigPublisher.tsfluxer_api/src/api/instance/tests/InstanceConfigWriteRaceExecutor.tsfluxer_api/src/api/middleware/ServiceSingletons.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/rpc/RpcService.tsfluxer_api/src/api/user/controllers/UserAccountController.tsfluxer_api/src/api/user/repositories/account/UserAccountRepository.tsfluxer_api/src/api/user/services/UserContentService.tsfluxer_api/src/api/user/tests/PushSubscriptionLifecycle.test.tsfluxer_app/src/features/platform/service_worker/Worker.tsfluxer_app/src/features/platform/service_worker/WorkerPushPayload.tsfluxer_docs/astro.config.tsfluxer_docs/scripts/VerifyDocsCoverage.tsfluxer_docs/scripts/VerifyDocsStyle.tsfluxer_docs/src/content/docs/admin-api/instance.mdxfluxer_docs/src/content/docs/http-api/users/push-notifications.mdxfluxer_docs/src/content/docs/operator/configuration.mdxfluxer_docs/src/content/docs/operator/reverse-proxy.mdxfluxer_gateway/src/gateway/fluxer_gateway_config.erlfluxer_gateway/src/gateway/fluxer_gateway_sup.erlfluxer_gateway/src/gateway/gateway_handler.erlfluxer_gateway/src/gateway/gateway_nats_rpc.erlfluxer_gateway/src/gateway/gateway_rpc_presence.erlfluxer_gateway/src/gateway/metrics_handler.erlfluxer_gateway/src/guild/guild_dispatch_push.erlfluxer_gateway/src/presence/presence_update.erlfluxer_gateway/src/push/push.erlfluxer_gateway/src/push/push_delivery_config.erlfluxer_gateway/src/push/push_eligibility.erlfix: allow copying snapshots
fluxer_app/src/features/channel/components/MessageActionMenu.tsxfluxer_app/src/features/channel/components/MessageActionUtils.tsxfluxer_app/src/features/messaging/utils/MessageCopyTextUtils.tsMerge branch 'canary' into beta
.github/scripts/app_version.py.github/scripts/beta_release_metadata.py.github/scripts/ensure_beta_release_metadata.py.github/scripts/forbidden_beta_numbers.txt.github/scripts/resolve_beta_version_name.sh.github/workflows/calendar-version.yml.github/workflows/emoji-list-sync.ymlCONTRIBUTING.mdassets/emoji-sprites/spritesheet-1f3fb@2x.pngassets/emoji-sprites/spritesheet-1f3fc@2x.pngassets/emoji-sprites/spritesheet-1f3fd@2x.pngassets/emoji-sprites/spritesheet-1f3fe@2x.pngassets/emoji-sprites/spritesheet-1f3ff@2x.pngassets/emoji-sprites/spritesheet-emoji@2x.pngassets/emojis.jsondart_sdkfastlane/Fastfilefluxerlib/core/gateway/gateway_event_handler.dartlib/core/instance/instance_config_snapshot.dartlib/core/instance/instance_endpoints.dartlib/core/instance/instance_runtime_config.dartlib/core/limits/limit_wire_format.dartlib/core/premium/premium_state_response_json.dartlib/core/theme/providers/theme_preference_provider.dartlib/features/auth/data/auth_repository.dartlib/features/auth/presentation/widgets/login_form.dartlib/features/auth/presentation/widgets/sso_button.dartlib/features/auth/providers/phone_verification_view_model.dartlib/features/bookmarks/data/saved_messages_repository.dartlib/features/channels/data/channel_repository.dartlib/features/channels/data/unread_settings_resolver.dartlib/features/channels/domain/channel_overview_update.dartlib/features/channels/domain/channel_permission_overwrite_update.dartlib/features/channels/presentation/channel_settings/tabs/channel_overview_widget.dartlib/features/channels/presentation/channel_settings/tabs/channel_webhooks_widget.dartlib/features/channels/presentation/channel_settings/widgets/channel_webhook_list_item.dartlib/features/channels/presentation/delete_channel_flow.dartlib/features/channels/presentation/sheets/channel_notification_settings_sheet.dartlib/features/channels/presentation/sheets/create_channel_sheet.dartlib/features/channels/presentation/sheets/mute_duration_sheet.dartlib/features/channels/presentation/widgets/channel_notification_menu_content.dartlib/features/channels/presentation/widgets/guild_sidebar.dartlib/features/channels/providers/channel_mute_provider.dartlib/features/channels/providers/channel_notification_menu_provider.dartlib/features/channels/utils/webhook_utils.dartlib/features/chat/data/attachment_upload_client.dartlib/features/chat/data/channel_pins_repository.dartlib/features/chat/data/composer_autocomplete_members.dartlib/features/chat/data/message_search_repository.dartcore(macos): update app name
macos/Runner/Configs/AppInfo.xcconfig