Merge remote-tracking branch 'origin/canary' into canary
Merge remote-tracking branch 'origin/canary' into canary
Inspect stored evidence paths
CONTRIBUTING.mdREADME.md
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/canary' into canary
CONTRIBUTING.mdREADME.mdfix(api): dedupe and budget ipinfo lookups across api pods (#2584)
fluxer_api/pkgs/geoip/src/GeoipLookup.tsfluxer_api/pkgs/geoip/src/GeoipStartup.tsfluxer_api/pkgs/geoip/src/IpInfoService.tsfluxer_api/pkgs/geoip/src/TieredIpInfoCache.tsfluxer_api/src/api/middleware/AbusiveIpAutoBanner.tsfluxer_api/src/api/middleware/ServiceMiddleware.tsfluxer_api/src/api/middleware/tests/AbusiveIpAutoBanner.test.tsfluxer_api/src/api/middleware/tests/AbusiveIpClassReplication.test.tsfluxer_api/src/api/risk/IpInfoBudget.tsfluxer_api/src/api/risk/IpInfoCacheFactory.tsfluxer_api/src/api/risk/RegistrationIpPrescreen.tsfluxer_api/src/api/risk/RiskToolboxFactory.tsfluxer_api/src/api/risk/__tests__/GeoIpAdapters.test.tsfluxer_api/src/api/risk/__tests__/IpInfoAdapterPrescreen.test.tsfluxer_api/src/api/risk/__tests__/IpInfoBudget.test.tsfluxer_api/src/api/risk/__tests__/IpInfoServiceCache.test.tsfluxer_api/src/api/risk/__tests__/RegistrationIpPrescreen.test.tsfluxer_api/src/api/risk/__tests__/TieredIpInfoCache.test.tsfluxer_api/src/api/risk/adapters/GeoIpAdapters.tsfluxer_api/src/api/risk/adapters/IpInfoAdapter.tsfluxer_api/src/api/test/ResetServiceState.tsfluxer_api/src/api/test/msw/handlers/IpInfoHandlers.tsfluxer_api/src/api/test/msw/server.tsfluxer_docs/src/content/docs/operator/configuration.mdxfix(api): let channel managers edit a mature channel (#2583)
fluxer_api/src/api/channel/controllers/ChannelController.tsfluxer_api/src/api/channel/services/ChannelDataService.tsfluxer_api/src/api/channel/services/channel_data/ChannelOperationsService.tsfluxer_api/src/api/channel/tests/ChannelOperationPermissions.test.tsfluxer_app/src/features/channel/components/bottomsheets/channel_details_bottom_sheet/MoreOptionsSheet.tsxfluxer_app/src/features/ui/action_menu/items/ChannelMenuData.tsxfix(api): skip the mature gate when no birth date is collected (#2582)
fluxer_api/src/api/instance/DateOfBirthCollectionCache.tsfluxer_api/src/api/instance/InstanceConfigRepository.tsfluxer_api/src/api/utils/AgeUtils.test.tsfluxer_api/src/api/utils/AgeUtils.tsfix(svc): authenticate to nats with the configured token (#2581)
deploy/self-hosting/docker-compose.ymlfluxer_docs/src/content/docs/operator/configuration.mdxfluxer_gifs/src/main.rsfluxer_messages/src/main.rsfluxer_snowflakes/src/main.rsfluxer_svc/src/config.rsfluxer_svc/src/lib.rsfluxer_svc/src/router.rsfluxer_svc/src/shard.rsfluxer_svc/src/transport.rsfluxer_unfurl/src/main.rsfluxer_users/src/main.rsdocs(operator): drop the redundant caddy forwarded-for setter (#2580)
deploy/self-hosting/Caddyfilefluxer_docs/src/content/docs/operator/reverse-proxy.mdxfix(self-host): keep seaweedfs inside its memory ceiling (#2579)
deploy/self-hosting/.env.exampledeploy/self-hosting/docker-compose.ymlfluxer_docs/src/content/docs/operator/configuration.mdxfix(self-host): strip the caddy file capability in fluxer-static (#2578)
fluxer_static/Dockerfilei18n: regenerate localizations
lib/l10n/generated/fluxer_localizations_ar.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_hu.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_pl.dartlib/l10n/generated/fluxer_localizations_pt.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_zh.dartdocs(operator): drop the redundant caddy forwarded-for setter
deploy/self-hosting/Caddyfilefluxer_docs/src/content/docs/operator/reverse-proxy.mdxfix(self-host): keep seaweedfs inside its memory ceiling
deploy/self-hosting/.env.exampledeploy/self-hosting/docker-compose.ymlfluxer_docs/src/content/docs/operator/configuration.mdxfix(docs): drop visible pipe escapes from union notation prose (#2577)
fluxer_docs/src/content/docs/conventions.mdfix(self-host): strip the caddy file capability in fluxer-static
fluxer_static/Dockerfilefix(webhook): stop gating webhook file uploads on creator perms (#2576)
fluxer_api/src/api/channel/services/AttachmentUploadService.tsfluxer_api/src/api/channel/services/ChannelService.tsfluxer_api/src/api/channel/services/message/MessageRequestParser.tsfluxer_api/src/api/channel/services/message/MessageSendService.tsfluxer_api/src/api/webhook/WebhookController.tsfluxer_api/src/api/webhook/tests/WebhookMultipartAttachmentUploads.test.tsfluxer_api/src/api/webhook/tests/WebhookOrphanedCreator.test.tsfix(ci): beta release build
.github/workflows/android-beta-fcm.ymlMerge remote-tracking branch 'origin/canary' into canary
.github/workflows/android-beta-fcm.ymlfeat(theme): default new accounts to the dark theme (#2575)
fluxer_api/src/api/models/UserSettings.tsfluxer_app/src/features/app/components/setup/SelfHostedSetupWizardGate.tsxfluxer_app/src/features/user/state/UserSettings.tsfluxer_docs/src/content/docs/http-api/users/settings.mdxMerge branch 'canary' into beta
.github/workflows/android-beta-fcm.yml.github/workflows/beta-release-all.ymlCONTRIBUTING.mdREADME.mdandroid/app/src/main/AndroidManifest.xmllib/features/chat/domain/message.dartlib/features/chat/presentation/widgets/composer/voice_message_recorder.dartlib/features/chat/presentation/widgets/composer/voice_message_recording_bar.dartlib/features/chat/presentation/widgets/composer/voice_message_recording_controller.dartlib/features/chat/presentation/widgets/embeds/embed_video.dartlib/features/chat/presentation/widgets/message_actions/message_bottom_sheet.dartlib/features/chat/presentation/widgets/messages/neko_sprite.dartlib/features/chat/utils/voice_message_recording_gestures.dartlib/features/members/providers/member_list_desired_ranges_provider.dartlib/features/members/providers/member_list_viewport_provider.dartlib/features/ui/bottom_sheet/fluxer_bottom_sheet.dartlib/features/ui/bottom_sheet/fluxer_bottom_sheet_drag.dartpackages/fluxer_markdown/lib/src/renderers/fluxer_markdown_renderers.dartpackages/fluxer_markdown/lib/src/utils/bounded_text.dartpackages/fluxer_markdown/lib/src/utils/jumbo_emoji.dartpackages/fluxer_markdown/test/bounded_text_test.dartpackages/fluxer_markdown/test/jumbo_emoji_test.dartpackages/fluxer_markdown/test/restricted_inline_reply_test.darttest/features/chat/domain/message_test.darttest/features/chat/presentation/sheets/channel_details_sheet_drag_dismiss_test.darttest/features/chat/presentation/widgets/composer/voice_message_recorder_test.darttest/features/chat/presentation/widgets/embeds/embed_video_test.darttest/features/chat/presentation/widgets/message_actions/message_bottom_sheet_test.darttest/features/chat/presentation/widgets/messages/neko_sprite_test.darttest/features/chat/utils/voice_message_recording_gestures_test.darttest/features/profile/presentation/widgets/user_profile_sheet_overscroll_test.darttest/features/ui/bottom_sheet/fluxer_bottom_sheet_drag_test.darttest/features/ui/bottom_sheet/fluxer_bottom_sheet_test.darttest/shared/text/bounded_text_test.dartfix(test): failing test
lib/features/members/providers/member_list_desired_ranges_provider.dartlib/features/members/providers/member_list_viewport_provider.darttest/features/chat/presentation/sheets/channel_details_sheet_drag_dismiss_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/members/providers/member_list_desired_ranges_provider.dartlib/features/members/providers/member_list_viewport_provider.darttest/features/chat/presentation/sheets/channel_details_sheet_drag_dismiss_test.dart