fix(gateway): keep ets tids opaque in the permission cache
fix(gateway): keep ets tids opaque in the permission cache
Inspect stored evidence paths
fluxer_gateway/src/guild/guild_permission_cache.erl
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(gateway): keep ets tids opaque in the permission cache
fluxer_gateway/src/guild/guild_permission_cache.erlperf(gateway): trim large guild connect snapshots by default (#2653)
fluxer_gateway/src/guild/guild_data.erlperf(gateway): read cached members from the guild member table (#2652)
fluxer_gateway/src/guild/guild_permission_cache.erlfluxer_gateway/test/guild_permission_cache_member_table_tests.erlchore(marketing): advance pointer 5908507 → 7867cf8 (#2650)
fluxer_marketingchore(i18n): update public marketing catalogs (#2651)
packages/i18n/marketing/ar.popackages/i18n/marketing/bg.popackages/i18n/marketing/cs.popackages/i18n/marketing/da.popackages/i18n/marketing/de.popackages/i18n/marketing/el.popackages/i18n/marketing/en-GB.popackages/i18n/marketing/en-US.popackages/i18n/marketing/es-419.popackages/i18n/marketing/es-ES.popackages/i18n/marketing/fi.popackages/i18n/marketing/fr.popackages/i18n/marketing/he.popackages/i18n/marketing/hi.popackages/i18n/marketing/hr.popackages/i18n/marketing/hu.popackages/i18n/marketing/id.popackages/i18n/marketing/it.popackages/i18n/marketing/ja.popackages/i18n/marketing/ko.popackages/i18n/marketing/lt.popackages/i18n/marketing/nl.popackages/i18n/marketing/no.popackages/i18n/marketing/pl.popackages/i18n/marketing/pt-BR.popackages/i18n/marketing/ro.popackages/i18n/marketing/ru.popackages/i18n/marketing/sv-SE.popackages/i18n/marketing/th.popackages/i18n/marketing/tr.popackages/i18n/marketing/uk.popackages/i18n/marketing/vi.popackages/i18n/marketing/zh-CN.popackages/i18n/marketing/zh-TW.pochore(marketing): advance pointer to 7867cf8
fluxer_marketingfix(installer): resolve the compose file name Compose loads (#2649)
fluxer_docs/scripts/VerifyDocsCoverage.tsfluxer_docs/src/installer/install.ps1fluxer_docs/src/installer/install.shfix(api): price gifts in the base currency everywhere (#2648)
fluxer_api/src/api/stripe/tests/StripeCheckoutCountryEnforcement.test.tsfluxer_api/src/api/utils/CurrencyUtils.tsfluxer_api/src/api/utils/tests/CurrencyUtils.test.tsfix(app): tidy the Plutonium billing and pricing layout (#2647)
fluxer_app/src/features/app/components/dialogs/components/plutonium/PricingSection.module.cssfluxer_app/src/features/app/components/dialogs/components/plutonium/PurchaseHistorySection.module.cssfluxer_app/src/features/app/components/dialogs/components/plutonium/PurchaseHistorySection.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.pochore(sdk): regenerate from OpenAPI
lib/export.dartlib/models/create_checkout_session_request.dartlib/models/create_checkout_session_request.g.dartlib/models/premium_pricing_state.dartlib/models/premium_pricing_state.g.dartlib/models/pricing_mode_enum.dartlib/premium/premium_api.dartlib/premium/premium_api.g.dartfeat(api)!: always use localized pricing where it is offered (#2646)
fluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/premium/PremiumController.tsfluxer_api/src/api/stripe/StripeController.tsfluxer_api/src/api/stripe/StripeService.tsfluxer_api/src/api/stripe/services/PremiumStateService.tsfluxer_api/src/api/stripe/services/StripeCheckoutService.tsfluxer_api/src/api/stripe/tests/PremiumStatePricing.test.tsfluxer_api/src/api/stripe/tests/StripeCheckoutCountryEnforcement.test.tsfluxer_api/src/api/utils/CurrencyUtils.tsfluxer_api/vitest.config.tsfluxer_app/src/features/app/components/dialogs/components/PlutoniumContent.tsxfluxer_app/src/features/app/components/dialogs/components/plutonium/BottomCTASection.tsxfluxer_app/src/features/app/components/dialogs/components/plutonium/GiftSection.tsxfluxer_app/src/features/app/components/dialogs/components/plutonium/PricingContextPanel.module.cssfluxer_app/src/features/app/components/dialogs/components/plutonium/PricingContextPanel.tsxfluxer_app/src/features/app/components/dialogs/components/plutonium/PricingSection.tsxfluxer_app/src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsxfluxer_app/src/features/app/components/dialogs/components/plutonium/hooks/usePremiumData.tsfluxer_app/src/features/app/config/I18nDisplayConstants.tsfluxer_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.poMerge branch 'canary' into beta
android/app/src/main/kotlin/com/fluxer/NotificationCancelBridge.ktandroid/app/src/main/res/drawable/quick_action_dms.xmlandroid/app/src/main/res/drawable/quick_action_notifications.xmlandroid/app/src/main/res/drawable/quick_action_search.xmlandroid/app/src/main/res/raw/keep.xmlios/Runner.xcodeproj/project.pbxprojios/Runner/Assets.xcassets/quick_action_dms.imageset/Contents.jsonios/Runner/Assets.xcassets/quick_action_dms.imageset/quick_action_dms.svgios/Runner/Assets.xcassets/quick_action_notifications.imageset/Contents.jsonios/Runner/Assets.xcassets/quick_action_notifications.imageset/quick_action_notifications.svgios/Runner/Assets.xcassets/quick_action_search.imageset/Contents.jsonios/Runner/Assets.xcassets/quick_action_search.imageset/quick_action_search.svglib/app.dartlib/core/database/fluxer_database.dartlib/core/database/tables/servers.dartlib/core/deep_links/deep_link_handler.dartlib/core/media/fluxer_media_url.dartlib/core/notifications/system_notification_sound_policy.dartlib/core/providers/app_startup_provider.dartlib/core/providers/fluxer_sfx_provider.dartlib/core/push/push_account_lifecycle.dartlib/core/quick_actions/home_quick_action.dartlib/core/quick_actions/home_quick_action_items.dartlib/core/quick_actions/home_quick_actions_binding.dartlib/core/quick_actions/home_quick_actions_plugin.dartlib/core/quick_actions/pending_home_quick_action_provider.dartlib/features/channels/presentation/channel_settings/widgets/channel_add_override_popout.dartlib/features/channels/presentation/widgets/guild_sidebar.dartlib/features/chat/presentation/sheets/channel_details_more_sheet.dartlib/features/chat/presentation/sheets/channel_details_sheet.dartlib/features/chat/presentation/sheets/forward_message_sheet.dartlib/features/chat/presentation/sheets/message_reactions_sheet.dartlib/features/chat/presentation/sheets/mobile_media_options_sheet.dartlib/features/chat/presentation/sheets/textual_attachment_language_sheet.dartlib/features/chat/presentation/widgets/embeds/embed_invite.dartlib/features/chat/presentation/widgets/media/animated_image_playback_controller.dartlib/features/chat/presentation/widgets/media/fluxer_animated_image.dartlib/features/chat/presentation/widgets/message_actions/message_bottom_sheet.dartlib/features/chat/presentation/widgets/message_actions/reply_preview.dartlib/features/chat/presentation/widgets/message_actions/swipe_to_reply.dartlib/features/chat/presentation/widgets/messages/message_item.dartlib/features/chat/presentation/widgets/messages/message_list.dartlib/features/chat/providers/core/chat_view_model.dartlib/features/chat/providers/pickers/emoji_picker_provider.dartlib/features/chat/service/message_notification_sfx_gate.dartlib/features/chat/utils/emoji_picker_precache.dartlib/features/chat/utils/media_dimension_utils.dartlib/features/discovery/presentation/widgets/discovery_language_select.dartlib/features/dm/presentation/widgets/add_friends_to_group_body.dartlib/features/dm/presentation/widgets/dm_list.dartfix(chat): coasting flings being eaten
lib/features/chat/presentation/widgets/message_actions/swipe_to_reply.dartlib/features/chat/presentation/widgets/messages/message_list.dartlib/features/shell/presentation/sidebar_drawer.dartlib/shared/gestures/axis_locking_horizontal_drag_recognizer.dartlib/shared/gestures/defer_horizontal_drag_while_coasting.darttest/features/chat/presentation/widgets/message_actions/swipe_to_reply_test.darttest/features/chat/presentation/widgets/messages/message_list_gesture_scroll_test.darttest/features/shell/presentation/sidebar_drawer_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/chat/presentation/widgets/message_actions/swipe_to_reply.dartlib/features/chat/presentation/widgets/messages/message_list.dartlib/features/shell/presentation/sidebar_drawer.dartlib/shared/gestures/axis_locking_horizontal_drag_recognizer.dartlib/shared/gestures/defer_horizontal_drag_while_coasting.darttest/features/chat/presentation/widgets/message_actions/swipe_to_reply_test.darttest/features/chat/presentation/widgets/messages/message_list_gesture_scroll_test.darttest/features/shell/presentation/sidebar_drawer_test.darti18n: 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.dartMerge remote-tracking branch 'origin/canary' into canary
lib/core/media/fluxer_media_url.dartlib/features/chat/presentation/widgets/message_actions/message_bottom_sheet.dartlib/features/chat/presentation/widgets/messages/message_item.dartlib/features/chat/providers/pickers/emoji_picker_provider.dartlib/features/chat/utils/emoji_picker_precache.dartlib/features/ui/input/emoji_inline_token.dartlib/l10n/fluxer_en.arblib/l10n/generated/fluxer_localizations.dartlib/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.dartlib/shared/utils/emoji_image_cache.dartpackages/fluxer_markdown/lib/src/contexts/fluxer_markdown_features.dartpackages/fluxer_markdown/lib/src/fluxer_markdown.dartpackages/fluxer_markdown/lib/src/renderers/fluxer_markdown_renderers.dartpackages/fluxer_markdown/lib/src/widgets/fluxer_markdown.dartpackages/fluxer_markdown/lib/src/widgets/fluxer_markdown_link_registry.dartpackages/fluxer_markdown/test/animate_custom_emoji_test.dartpackages/fluxer_markdown/test/restricted_inline_reply_test.darttest/core/media/fluxer_media_url_test.darttest/features/chat/presentation/widgets/messages/message_item_link_long_press_test.darttest/shared/utils/emoji_image_cache_test.dartfix(chat): render headings and lists in reply preview, fixes #769
packages/fluxer_markdown/lib/src/contexts/fluxer_markdown_features.dartpackages/fluxer_markdown/lib/src/renderers/fluxer_markdown_renderers.dartpackages/fluxer_markdown/test/restricted_inline_reply_test.dartfix(chat): offer link actions when long pressing a link, fixes #773
lib/features/chat/presentation/widgets/message_actions/message_bottom_sheet.dartlib/features/chat/presentation/widgets/messages/message_item.dartlib/l10n/fluxer_en.arblib/l10n/generated/fluxer_localizations.dartlib/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.dartpackages/fluxer_markdown/lib/src/fluxer_markdown.dartpackages/fluxer_markdown/lib/src/renderers/fluxer_markdown_renderers.dartpackages/fluxer_markdown/lib/src/widgets/fluxer_markdown.dartpackages/fluxer_markdown/lib/src/widgets/fluxer_markdown_link_registry.darttest/features/chat/presentation/widgets/messages/message_item_link_long_press_test.dartfix(emoji): request lossless animated custom emoji, fixes #776
lib/core/media/fluxer_media_url.dartlib/features/chat/providers/pickers/emoji_picker_provider.dartlib/features/chat/utils/emoji_picker_precache.dartlib/features/ui/input/emoji_inline_token.dartlib/shared/utils/emoji_image_cache.dartpackages/fluxer_markdown/lib/src/renderers/fluxer_markdown_renderers.dartpackages/fluxer_markdown/test/animate_custom_emoji_test.darttest/core/media/fluxer_media_url_test.darttest/shared/utils/emoji_image_cache_test.dartfix(chat): drag axis lock
lib/features/chat/presentation/widgets/message_actions/swipe_to_reply.dartlib/features/shell/presentation/sidebar_drawer.dartlib/shared/gestures/horizontal_drag_axis_lock.darttest/features/chat/presentation/widgets/message_actions/swipe_to_reply_test.darttest/features/chat/presentation/widgets/messages/message_list_gesture_scroll_test.darttest/features/shell/presentation/sidebar_drawer_test.darttest/shared/gestures/horizontal_drag_axis_lock_test.dart