fix(api): report final system DM progress (#3074)
fix(api): report final system DM progress (#3074)
Inspect stored evidence paths
fluxer_api/src/api/worker/tasks/SendSystemDm.tsfluxer_api/src/api/worker/tests/SendSystemDmCancel.test.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(api): report final system DM progress (#3074)
fluxer_api/src/api/worker/tasks/SendSystemDm.tsfluxer_api/src/api/worker/tests/SendSystemDmCancel.test.tsfeat(admin): allow system DMs to all users (#3073)
fluxer_admin/openapi-admin.jsonfluxer_admin/src/api/system_dm.rsfluxer_admin/src/api/types/system_dm.rsfluxer_admin/src/routes/message_actions.rsfluxer_admin/src/templates/pages/system_dm.rsfluxer_api/src/api/admin/AdminService.tsfluxer_api/src/api/admin/controllers/SystemDmAdminController.tsfluxer_api/src/api/worker/tasks/SendSystemDm.tsfluxer_api/src/api/worker/tests/SendSystemDmCancel.test.tsfluxer_docs/src/content/docs/admin-api/system-dms.mdxpackages/schema/src/domains/admin/AdminSchemas.tsperf(gateway): speed up presence and harden guild queries (#3072)
fluxer_api/src/api/infrastructure/GatewayRpcError.tsfluxer_api/src/api/infrastructure/GatewayService.tsfluxer_api/src/api/infrastructure/tests/GatewayServiceErrorMapping.test.tsfluxer_app/src/features/gateway/events/EventRouter.tsfluxer_app/src/features/gateway/types/GatewayGuildTypes.tsfluxer_app/src/features/guild/events/GuildCreate.tsfluxer_app/src/features/guild/events/GuildDelete.tsfluxer_app/src/features/guild/events/GuildHealthUpdate.tsfluxer_app/src/features/guild/state/GuildAvailability.tsfluxer_gateway/src/gateway/fluxer_gateway_sup.erlfluxer_gateway/src/gateway/gateway_clock_offset.erlfluxer_gateway/src/gateway/gateway_rpc_guild_infra.erlfluxer_gateway/src/gateway/gateway_rpc_guild_lifecycle.erlfluxer_gateway/src/gateway/gateway_rpc_guild_members.erlfluxer_gateway/src/guild/guild.erlfluxer_gateway/src/guild/guild_data.erlfluxer_gateway/src/guild/guild_data_index.erlfluxer_gateway/src/guild/guild_data_index_members.erlfluxer_gateway/src/guild/guild_data_wire.erlfluxer_gateway/src/guild/guild_dispatch_push.erlfluxer_gateway/src/guild/guild_ets_owner.erlfluxer_gateway/src/guild/guild_health.erlfluxer_gateway/src/guild/guild_member_list_engine.erlfluxer_gateway/src/guild/guild_member_list_read.erlfluxer_gateway/src/guild/guild_member_list_subscribe.erlfluxer_gateway/src/guild/guild_member_list_sync_batch.erlfluxer_gateway/src/guild/guild_member_list_write.erlfluxer_gateway/src/guild/guild_presence.erlfluxer_gateway/src/guild/guild_query_handler.erlfluxer_gateway/src/guild/guild_read_model.erlfluxer_gateway/src/guild/guild_request_counts.erlfluxer_gateway/src/guild/guild_sessions_connect.erlfluxer_gateway/src/guild/guild_sessions_presence.erlfluxer_gateway/src/session/session.erlfluxer_gateway/src/session/session_connection_guild.erlfluxer_gateway/src/session/session_guild_health.erlfluxer_gateway/src/session/session_guilds.erlfluxer_gateway/src/session/session_init.erlfluxer_gateway/src/session/session_lifecycle.erlfluxer_gateway/src/session/session_ready_dispatch.erlfluxer_gateway/src/utils/event_atoms.erlfluxer_gateway/test/fluxer_gateway_sup_tests.erlfluxer_gateway/test/guild_data_tests.erlfluxer_gateway/test/guild_member_list_engine_tests.erlperf(gateway): speed up presence and harden guild queries
fluxer_api/src/api/infrastructure/GatewayRpcError.tsfluxer_api/src/api/infrastructure/GatewayService.tsfluxer_api/src/api/infrastructure/tests/GatewayServiceErrorMapping.test.tsfluxer_app/src/features/gateway/events/EventRouter.tsfluxer_app/src/features/gateway/types/GatewayGuildTypes.tsfluxer_app/src/features/guild/events/GuildCreate.tsfluxer_app/src/features/guild/events/GuildDelete.tsfluxer_app/src/features/guild/events/GuildHealthUpdate.tsfluxer_app/src/features/guild/state/GuildAvailability.tsfluxer_gateway/src/gateway/fluxer_gateway_sup.erlfluxer_gateway/src/gateway/gateway_clock_offset.erlfluxer_gateway/src/gateway/gateway_rpc_guild_infra.erlfluxer_gateway/src/gateway/gateway_rpc_guild_lifecycle.erlfluxer_gateway/src/gateway/gateway_rpc_guild_members.erlfluxer_gateway/src/guild/guild.erlfluxer_gateway/src/guild/guild_data.erlfluxer_gateway/src/guild/guild_data_index.erlfluxer_gateway/src/guild/guild_data_index_members.erlfluxer_gateway/src/guild/guild_data_wire.erlfluxer_gateway/src/guild/guild_dispatch_push.erlfluxer_gateway/src/guild/guild_ets_owner.erlfluxer_gateway/src/guild/guild_health.erlfluxer_gateway/src/guild/guild_member_list_engine.erlfluxer_gateway/src/guild/guild_member_list_read.erlfluxer_gateway/src/guild/guild_member_list_subscribe.erlfluxer_gateway/src/guild/guild_member_list_sync_batch.erlfluxer_gateway/src/guild/guild_member_list_write.erlfluxer_gateway/src/guild/guild_presence.erlfluxer_gateway/src/guild/guild_query_handler.erlfluxer_gateway/src/guild/guild_read_model.erlfluxer_gateway/src/guild/guild_request_counts.erlfluxer_gateway/src/guild/guild_sessions_connect.erlfluxer_gateway/src/guild/guild_sessions_presence.erlfluxer_gateway/src/session/session.erlfluxer_gateway/src/session/session_connection_guild.erlfluxer_gateway/src/session/session_guild_health.erlfluxer_gateway/src/session/session_guilds.erlfluxer_gateway/src/session/session_init.erlfluxer_gateway/src/session/session_lifecycle.erlfluxer_gateway/src/session/session_ready_dispatch.erlfluxer_gateway/src/utils/event_atoms.erlfluxer_gateway/test/fluxer_gateway_sup_tests.erlfluxer_gateway/test/guild_data_tests.erlfluxer_gateway/test/guild_member_list_engine_tests.erlfix(premium): drop the grace period after a voluntary cancel (#3071)
fluxer_api/src/api/stripe/services/StripeSubscriptionWebhookHandler.tsfluxer_api/src/api/stripe/tests/StripeWebhookSubscription.test.tsfluxer_app/src/features/app/components/dialogs/components/PlutoniumContent.tsxfluxer_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_docs/src/content/docs/http-api/premium.mdxfix(voice): preserve microphone channels during screen sharing (#3070)
fluxer_app/pkgs/livekit-client/src/room/PCTransport.test.tsfluxer_app/pkgs/livekit-client/src/room/PCTransport.tsfluxer_app/pkgs/livekit-client/src/room/participant/LocalParticipant.test.tsfluxer_app/pkgs/livekit-client/src/room/participant/LocalParticipant.tsfluxer_app/pkgs/livekit-client/src/room/track/LocalTrackPublication.tsfluxer_app/src/features/user/components/modals/tabs/UserVoiceTab.tsxfluxer_app/src/features/voice/utils/noise_suppression/NoiseSuppressionChoices.test.tsfluxer_app/src/features/voice/utils/noise_suppression/NoiseSuppressionChoices.tsfix(voice): preserve microphone channels during screen sharing
fluxer_app/pkgs/livekit-client/src/room/PCTransport.test.tsfluxer_app/pkgs/livekit-client/src/room/PCTransport.tsfluxer_app/pkgs/livekit-client/src/room/participant/LocalParticipant.test.tsfluxer_app/pkgs/livekit-client/src/room/participant/LocalParticipant.tsfluxer_app/pkgs/livekit-client/src/room/track/LocalTrackPublication.tsfluxer_app/src/features/user/components/modals/tabs/UserVoiceTab.tsxfluxer_app/src/features/voice/utils/noise_suppression/NoiseSuppressionChoices.test.tsfluxer_app/src/features/voice/utils/noise_suppression/NoiseSuppressionChoices.tschore(sdk): regenerate from OpenAPI
lib/models/user_private_response.dartfeat(premium): give failed renewals a billing-cycle grace period (#3066)
fluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/stripe/services/StripeSubscriptionWebhookHandler.tsfluxer_api/src/api/stripe/tests/StripeWebhookInvoice.test.tsfluxer_api/src/api/stripe/tests/StripeWebhookSubscription.test.tsfluxer_api/src/api/test/msw/handlers/StripeApiHandlers.tsfluxer_api/src/api/user/UserHelpers.test.tsfluxer_api/src/api/user/UserHelpers.tsfluxer_api/src/api/worker/tasks/ProcessPremiumStateReconciliationQueue.tsfluxer_api/src/api/worker/tests/ProcessPremiumStateReconciliationQueue.test.tsfluxer_app/src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsxfluxer_app/src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionStatus.tsfluxer_app/src/features/app/components/layout/app_layout/AppLayoutHooks.tsfluxer_app/src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsxfluxer_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/premium/utils/PremiumGrace.tsfluxer_app/src/features/user/models/User.tsfluxer_docs/src/content/docs/http-api/premium.mdxfeat(premium): give failed renewals a billing-cycle grace period
fluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/stripe/services/StripeSubscriptionWebhookHandler.tsfluxer_api/src/api/stripe/tests/StripeWebhookInvoice.test.tsfluxer_api/src/api/stripe/tests/StripeWebhookSubscription.test.tsfluxer_api/src/api/test/msw/handlers/StripeApiHandlers.tsfluxer_api/src/api/user/UserHelpers.test.tsfluxer_api/src/api/user/UserHelpers.tsfluxer_api/src/api/worker/tasks/ProcessPremiumStateReconciliationQueue.tsfluxer_api/src/api/worker/tests/ProcessPremiumStateReconciliationQueue.test.tsfluxer_app/src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsxfluxer_app/src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionStatus.tsfluxer_app/src/features/app/components/layout/app_layout/AppLayoutHooks.tsfluxer_app/src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsxfluxer_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/premium/utils/PremiumGrace.tsfluxer_app/src/features/user/models/User.tsfluxer_docs/src/content/docs/http-api/premium.mdxfix(ci): correct TTL fixtures and unused dependencies (#3065)
fluxer_api/pkgs/geoip/package.jsonfluxer_api/src/api/database/PostgresKvDefaultTtl.test.tsknip.jsonpnpm-lock.yamlfix(ci): correct TTL fixtures and unused dependencies
fluxer_api/pkgs/geoip/package.jsonfluxer_api/src/api/database/PostgresKvDefaultTtl.test.tsknip.jsonpnpm-lock.yamlfix(deps): bump yanked yoke-derive to 0.8.4 (#3063)
Cargo.lockrefactor(ban): drop ipinfo cgnat blast-radius guard (#3062)
deploy/self-hosting/.env.exampledeploy/self-hosting/docker-compose.ymlfluxer_admin/openapi-admin.jsonfluxer_api/pkgs/geoip/src/CassandraIpInfoCache.tsfluxer_api/pkgs/geoip/src/CassandraIpInfoRequestAudit.tsfluxer_api/pkgs/geoip/src/IpInfoService.tsfluxer_api/pkgs/geoip/src/PostgresIpInfoKv.tsfluxer_api/pkgs/geoip/src/TieredIpInfoCache.tsfluxer_api/src/api/Config.tsfluxer_api/src/api/admin/AdminService.tsfluxer_api/src/api/admin/controllers/BanAdminController.tsfluxer_api/src/api/admin/services/AdminBanManagementService.tsfluxer_api/src/api/admin/tests/AdminBanManagementIpDecline.test.tsfluxer_api/src/api/admin/tests/AdminDeletionQueue.test.tsfluxer_api/src/api/ban/IpBanCgnatGuard.tsfluxer_api/src/api/ban/IpInfoCacheFactory.tsfluxer_api/src/api/ban/__tests__/IpBanCgnatGuard.test.tsfluxer_api/src/api/ban/__tests__/IpInfoServiceCache.test.tsfluxer_api/src/api/ban/__tests__/PostgresIpInfoKv.test.tsfluxer_api/src/api/ban/__tests__/TieredIpInfoCache.test.tsfluxer_api/src/api/config/APIConfig.tsfluxer_api/src/api/database/CassandraDefaultTtlParity.test.tsfluxer_api/src/api/database/PostgresKvDefaultTtl.test.tsfluxer_api/src/api/database/PostgresKvDefaultTtlExpiry.tsfluxer_api/src/api/guild/services/GuildMemberService.tsfluxer_api/src/api/guild/services/GuildModerationService.tsfluxer_api/src/api/guild/services/GuildService.tsfluxer_api/src/api/guild/services/member/GuildMemberValidationService.tsfluxer_api/src/api/middleware/GuildStackServiceFactory.tsfluxer_api/src/api/middleware/ServiceMiddleware.tsfluxer_api/src/api/test/ApiTestHarness.tsfluxer_api/src/api/test/msw/handlers/IpInfoHandlers.tsfluxer_api/src/api/test/msw/server.tsfluxer_api/src/api/worker/WorkerDependencies.tsfluxer_api/src/api/worker/tasks/admin_bulk/AdminBulkServices.tsfluxer_api/src/api/worker/tests/AdminBulkGuildTasks.test.tsfluxer_docs/src/content/docs/admin-api/blocklists.mdxfluxer_docs/src/content/docs/admin-api/index.mdxfluxer_docs/src/content/docs/operator/configuration.mdxpackages/config/src/ConfigLoader.tspackages/config/src/MasterConfig.tspackages/config/src/__tests__/ConfigLoader.test.tspackages/config/src/__tests__/EnvironmentOverrides.test.tspackages/config/src/config_loader/EnvironmentOverrides.tstools/dev/cassandra_target_schema.jsonchore(sdk): regenerate from OpenAPI
lib/guilds/guilds_api.dartlib/models/instance_community_schema.dartlib/models/instance_community_schema.g.dartfeat(admin,api): restrict community creation on self-hosted (#3055)
fluxer_admin/openapi-admin.jsonfluxer_admin/src/admin_hints.rsfluxer_admin/src/api/types/instance_config.rsfluxer_admin/src/lib.rsfluxer_admin/src/routes/system_actions.rsfluxer_admin/src/styles/app.cssfluxer_admin/src/templates/components/mod.rsfluxer_admin/src/templates/components/tooltip.rsfluxer_admin/src/templates/pages/instance_config.rsfluxer_admin/src/templates/pages/limit_config.rsfluxer_admin/tests/api_deserialization.rsfluxer_api/src/api/admin/controllers/InstanceConfigAdminController.tsfluxer_api/src/api/admin/tests/InstanceConfigGuildCreateAccess.test.tsfluxer_api/src/api/guild/controllers/GuildBaseController.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/openapi/openapi.jsonfluxer_app/src/features/app/state/RuntimeConfig.tsfluxer_docs/src/content/docs/admin-api/instance.mdxfluxer_docs/src/content/docs/http-api/errors.mdfluxer_docs/src/content/docs/http-api/instance.mdxpackages/constants/src/ApiErrorCodes.tspackages/constants/src/LimitConfigMetadata.tspackages/errors/src/domains/guild/GuildCreationPermissionRequiredError.tspackages/errors/src/i18n/ErrorCodeMappings.tspackages/errors/src/i18n/ErrorI18nMessages.tspackages/errors/src/i18n/locales/ar.tspackages/errors/src/i18n/locales/bg.tspackages/errors/src/i18n/locales/cs.tspackages/errors/src/i18n/locales/da.tspackages/errors/src/i18n/locales/de.tspackages/errors/src/i18n/locales/el.tspackages/errors/src/i18n/locales/en-GB.tspackages/errors/src/i18n/locales/es-419.tspackages/errors/src/i18n/locales/es-ES.tspackages/errors/src/i18n/locales/fi.tspackages/errors/src/i18n/locales/fr.tspackages/errors/src/i18n/locales/he.tspackages/errors/src/i18n/locales/hi.tspackages/errors/src/i18n/locales/hr.tspackages/errors/src/i18n/locales/hu.tspackages/errors/src/i18n/locales/id.tspackages/errors/src/i18n/locales/it.tspackages/errors/src/i18n/locales/ja.tspackages/errors/src/i18n/locales/ko.tspackages/errors/src/i18n/locales/lt.tspackages/errors/src/i18n/locales/nl.tspackages/errors/src/i18n/locales/no.tspackages/errors/src/i18n/locales/pl.tspackages/errors/src/i18n/locales/pt-BR.tspackages/errors/src/i18n/locales/ro.tsfix(app): let hidden sidebar buttons be shown again (#3061)
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.pofluxer_app/src/features/user/components/modals/tabs/AdvancedSettingDirectControls.tsxfluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsxfluxer_app/src/features/user/components/settings_utils/search_index/AppearanceIndex.tsfluxer_app/src/features/user/components/settings_utils/section_registry/SharedDescriptors.tsMerge branch 'canary' into beta
android/app/src/main/AndroidManifest.xmlassets/images/plutonium/perk-expressions.webpassets/images/plutonium/perk-profile.webpassets/images/plutonium/perk-upload.webpassets/images/promo-plutonium-crown.pngdart_sdkfluxerios/Runner/Info.plistlib/core/premium/plutonium_store_gate.dartlib/core/push/apns/apns_mobile_device_registration.dartlib/core/push/apns/apns_voip_mobile_device_registration.dartlib/core/push/fcm/fcm_mobile_device_registration.dartlib/features/chat/presentation/widgets/messages/forwarded_message_content.dartlib/features/chat/presentation/widgets/messages/message_item.dartlib/features/chat/presentation/widgets/messages/message_list.dartlib/features/chat/presentation/widgets/messages/message_sticker_image.dartlib/features/settings/presentation/sheets/profile_local_time_sheet.dartlib/features/settings/presentation/user_settings_modal.dartlib/features/settings/presentation/user_settings_nav.dartlib/features/settings/presentation/widgets/plutonium/premium_purchase_disclaimer.dartlib/features/settings/presentation/widgets/plutonium/store/plutonium_store_backdrop.dartlib/features/settings/presentation/widgets/plutonium/store/plutonium_store_bar.dartlib/features/settings/presentation/widgets/plutonium/store/plutonium_store_comparison.dartlib/features/settings/presentation/widgets/plutonium/store/plutonium_store_hero.dartlib/features/settings/presentation/widgets/plutonium/store/plutonium_store_highlights.dartlib/features/settings/presentation/widgets/plutonium/store/plutonium_store_page.dartlib/features/settings/presentation/widgets/plutonium/store/plutonium_store_perk.dartlib/features/settings/presentation/widgets/plutonium/store/plutonium_store_stars.dartlib/features/settings/presentation/widgets/plutonium/store/plutonium_store_style.dartlib/features/settings/presentation/widgets/user_plutonium_settings.dartlib/features/settings/providers/plutonium_store_provider.dartlib/features/settings/providers/store_billing_context_provider.dartlib/features/settings/services/plutonium_store_products.dartlib/features/settings/services/plutonium_store_purchase_client.dartlib/features/settings/services/premium_checkout_service.dartlib/features/settings/utils/plutonium_store_bar_mode.dartlib/features/settings/utils/premium_formatting.dartlib/features/settings/utils/premium_subscription_manage.dartlib/features/settings/utils/premium_subscription_status.dartlib/features/settings/utils/user_settings_billing_nav.dartlib/features/settings/utils/user_settings_billing_utils.dartlib/features/settings/utils/user_settings_search.dartlib/features/shell/presentation/shell_route_listeners.dartlib/features/shell/presentation/widgets/nagbars/premium_expired_nagbar.dartlib/features/shell/presentation/widgets/nagbars/premium_grace_period_nagbar.dartlib/features/shell/presentation/widgets/nagbars/premium_nagbar_manage.dartlib/features/ui/page_sheet/fluxer_page_sheet.dartlib/features/ui/plutonium_upsell/fluxer_plutonium_upsell.dartlib/l10n/fluxer_en.arblib/l10n/generated/fluxer_localizations.dartfix(app): let hidden sidebar buttons be shown again
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.pofluxer_app/src/features/user/components/modals/tabs/AdvancedSettingDirectControls.tsxfluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsxfluxer_app/src/features/user/components/settings_utils/search_index/AppearanceIndex.tsfluxer_app/src/features/user/components/settings_utils/section_registry/SharedDescriptors.tsfix(test): failing test
test/core/instance/instance_config_snapshot_test.darttest/core/instance/instance_discovery_service_test.dart