fix(messages): accept null version on legacy message rows (#3004)
fix(messages): accept null version on legacy message rows (#3004)
Inspect stored evidence paths
fluxer_messages/src/shard_impl.rsfluxer_messages/src/types.rs
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(messages): accept null version on legacy message rows (#3004)
fluxer_messages/src/shard_impl.rsfluxer_messages/src/types.rsci(gateway): drop cached gateway build output before compiling (#3003)
.github/workflows/tests.yamlfeat(push): clear ack notifications client side This can help if the gateway connection was unreliable and the server send the push before the ack.
ios/Runner/ApplePushBridge.swiftlib/core/providers/app_startup_provider.dartlib/core/push/push_notifications_coordinator.dartlib/core/push/push_tray_background_listener_provider.dartlib/core/push/push_tray_drain.dartlib/core/push/push_tray_registry.dartlib/core/push/push_tray_registry_provider.dartlib/features/channels/data/ack_batcher.dartlib/features/channels/data/read_state_repository.dartlib/features/channels/providers/ack_batcher_provider.dartlib/features/channels/providers/read_state_repository_provider.darttest/core/push/push_tray_registry_test.darttest/features/channels/data/ack_batcher_test.dartfix(app): use +:shortcode: for reactions, no space before emoji (#3001)
fluxer_app/src/features/channel/components/LexicalChannelTextareaContent.tsxfluxer_app/src/features/lexical/composer/ComposerEmojiShortcode.tsfluxer_app/src/features/lexical/composer/ComposerInsertion.tsfluxer_app/src/features/lexical/composer/useLexicalAutocomplete.tsfluxer_app/src/features/messaging/hooks/useTextareaSubmit.tsfluxer_app/src/features/messaging/utils/ReactionShorthandUtils.tsrefactor(push): retire the push service delivery experiment (#3000)
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/admin/tests/InstanceConfigAdminController.test.tsfluxer_api/src/api/admin/tests/PushRelayConsentAdmin.test.tsfluxer_api/src/api/auth/AuthSessionRevocation.tsfluxer_api/src/api/infrastructure/GatewayService.tsfluxer_api/src/api/infrastructure/IGatewayService.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/instance/PushRelayConfigPublisher.tsfluxer_api/src/api/middleware/ServiceSingletons.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/test/NoopGatewayService.tsfluxer_api/src/api/user/services/UserContentService.tsfluxer_app/src/features/app/components/setup/SelfHostedSetupWizardGate.tsxfluxer_docs/src/content/docs/admin-api/instance.mdxfluxer_docs/src/content/docs/operator/configuration.mdxfluxer_gateway/rebar.configfluxer_gateway/rebar.lockfluxer_gateway/src/fluxer_gateway.app.srcfluxer_gateway/src/gateway/fluxer_gateway_app.erlfluxer_gateway/src/gateway/fluxer_gateway_config.erlfluxer_gateway/src/gateway/fluxer_gateway_sup.erlfluxer_gateway/src/gateway/gateway_http_client.erlfluxer_gateway/src/gateway/gateway_http_client_request.erlfluxer_gateway/src/gateway/gateway_http_client_response.erlfluxer_gateway/src/gateway/gateway_nats_rpc.erlfluxer_gateway/src/gateway/gateway_rpc_presence.erlfluxer_gateway/src/gateway/gateway_rpc_push.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_apns.erlfluxer_gateway/src/push/push_delivery_config.erlfluxer_gateway/src/push/push_dispatcher.erlfluxer_gateway/src/push/push_eligibility.erlfluxer_gateway/src/push/push_endpoint_guard.erlfluxer_gateway/src/push/push_ets_cache.erlfluxer_gateway/src/push/push_fcm.erlfluxer_gateway/src/push/push_fcm_payload.erlfluxer_gateway/src/push/push_job_publisher.erlfluxer_gateway/src/push/push_notification.erlfluxer_gateway/src/push/push_notification_format.erlfluxer_gateway/src/push/push_outbox.erlrefactor(push): retire the push service delivery experiment
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/admin/tests/InstanceConfigAdminController.test.tsfluxer_api/src/api/admin/tests/PushRelayConsentAdmin.test.tsfluxer_api/src/api/auth/AuthSessionRevocation.tsfluxer_api/src/api/infrastructure/GatewayService.tsfluxer_api/src/api/infrastructure/IGatewayService.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/instance/PushRelayConfigPublisher.tsfluxer_api/src/api/middleware/ServiceSingletons.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/test/NoopGatewayService.tsfluxer_api/src/api/user/services/UserContentService.tsfluxer_app/src/features/app/components/setup/SelfHostedSetupWizardGate.tsxfluxer_docs/src/content/docs/admin-api/instance.mdxfluxer_docs/src/content/docs/operator/configuration.mdxfluxer_gateway/rebar.configfluxer_gateway/rebar.lockfluxer_gateway/src/fluxer_gateway.app.srcfluxer_gateway/src/gateway/fluxer_gateway_app.erlfluxer_gateway/src/gateway/fluxer_gateway_config.erlfluxer_gateway/src/gateway/fluxer_gateway_sup.erlfluxer_gateway/src/gateway/gateway_http_client.erlfluxer_gateway/src/gateway/gateway_http_client_request.erlfluxer_gateway/src/gateway/gateway_http_client_response.erlfluxer_gateway/src/gateway/gateway_nats_rpc.erlfluxer_gateway/src/gateway/gateway_rpc_presence.erlfluxer_gateway/src/gateway/gateway_rpc_push.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_apns.erlfluxer_gateway/src/push/push_delivery_config.erlfluxer_gateway/src/push/push_dispatcher.erlfluxer_gateway/src/push/push_eligibility.erlfluxer_gateway/src/push/push_endpoint_guard.erlfluxer_gateway/src/push/push_ets_cache.erlfluxer_gateway/src/push/push_fcm.erlfluxer_gateway/src/push/push_fcm_payload.erlfluxer_gateway/src/push/push_job_publisher.erlfluxer_gateway/src/push/push_notification.erlfluxer_gateway/src/push/push_notification_format.erlfluxer_gateway/src/push/push_outbox.erlfix(dev): drop the stray -- from the tunnel public URL hint (#2999)
tools/dev/src/tunnel.rsfeat(app): make +emoji react on send and target replies (#2998)
fluxer_app/src/features/lexical/composer/useLexicalAutocomplete.tsfluxer_app/src/features/messaging/hooks/useTextareaSubmit.tsfluxer_app/src/features/messaging/utils/ReactionShorthandUtils.tsfeat(installer): let upgrades copy the uploads uncompressed (#2995)
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.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/core/push/relay_consent/push_relay_consent_sheet.dartlib/core/push/web_push/web_push_relay.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.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.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.dartfix(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.erl