Merge remote-tracking branch 'origin/main'
Merge remote-tracking branch 'origin/main'
Inspect stored evidence paths
fluxer_app/src/features/channel/models/Channel.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
Merge remote-tracking branch 'origin/main'
fluxer_app/src/features/channel/models/Channel.tsMerge remote-tracking branch 'origin/main'
fluxer_app/src/features/channel/models/Channel.tsfix(app): handle swapped overwrites when comparing channels (#2949)
fluxer_app/src/features/channel/models/Channel.tsMerge remote-tracking branch 'origin/main'
fluxer_app/src/features/channel/components/embeds/EmbedRenderUtils.tsfluxer_app/src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsxfluxer_app/src/features/channel/components/embeds/channel_embed/EmbedParts.tsxfluxer_app/src/features/channel/components/embeds/channel_embed/RichEmbed.tsxfluxer_app/src/features/messaging/utils/MessageCopyTextUtils.tsMerge remote-tracking branch 'origin/main'
fluxer_app/src/features/channel/components/embeds/EmbedRenderUtils.tsfluxer_app/src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsxfluxer_app/src/features/channel/components/embeds/channel_embed/EmbedParts.tsxfluxer_app/src/features/channel/components/embeds/channel_embed/RichEmbed.tsxfluxer_app/src/features/messaging/utils/MessageCopyTextUtils.tsfix(app): only parse markdown in rich embeds (#2948)
fluxer_app/src/features/channel/components/embeds/EmbedRenderUtils.tsfluxer_app/src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsxfluxer_app/src/features/channel/components/embeds/channel_embed/EmbedParts.tsxfluxer_app/src/features/channel/components/embeds/channel_embed/RichEmbed.tsxfluxer_app/src/features/messaging/utils/MessageCopyTextUtils.tsMerge remote-tracking branch 'origin/main'
.dockerignore.github/workflows/tests.yaml.gitignorefluxer_api/src/api/infrastructure/StorageObjectHelpers.test.tsfluxer_api/src/api/infrastructure/StorageObjectHelpers.tsfluxer_app/rspack.config.mjsfluxer_app/rust/libfluxcore/LICENSE-ZSTD-RS.txtfluxer_app/rust/libfluxcore/LICENSE-ZSTD-SYS.txtfluxer_app/rust/libfluxcore/LICENSE-ZSTD.txtfluxer_app/rust/libfluxcore/NOTICE.mdfluxer_app/rust/libfluxcore/src/formats.rsfluxer_app/rust/libfluxcore/src/lib.rsfluxer_app/rust/libfluxcore/src/rgba.rsfluxer_app/rust/libfluxwebp/Cargo.lockfluxer_app/rust/libfluxwebp/Cargo.tomlfluxer_app/rust/libfluxwebp/LICENSE-LIBWEBP-SYS.txtfluxer_app/rust/libfluxwebp/LICENSE-LIBWEBP.txtfluxer_app/rust/libfluxwebp/NOTICE.mdfluxer_app/rust/libfluxwebp/PATENTS-LIBWEBP.txtfluxer_app/rust/libfluxwebp/shim/assert.hfluxer_app/rust/libfluxwebp/shim/inttypes.hfluxer_app/rust/libfluxwebp/shim/math.hfluxer_app/rust/libfluxwebp/shim/stdio.hfluxer_app/rust/libfluxwebp/shim/stdlib.hfluxer_app/rust/libfluxwebp/shim/string.hfluxer_app/rust/libfluxwebp/simd/LICENSEfluxer_app/rust/libfluxwebp/simd/emmintrin.hfluxer_app/rust/libfluxwebp/simd/xmmintrin.hfluxer_app/rust/libfluxwebp/src/lib.rsfluxer_app/rust/libfluxwebp/src/shim.rsfluxer_app/scripts/build/rspack/static-files.mjsfluxer_app/src/features/channel/components/modals/EditGroupBottomSheet.tsxfluxer_app/src/features/channel/components/modals/EditGroupModal.tsxfluxer_app/src/features/expressions/components/modals/AssetCropModal.tsxfluxer_app/src/features/expressions/utils/AnimatedAvifModalUtils.tsxfluxer_app/src/features/expressions/utils/AnimatedImageUtils.tsfluxer_app/src/features/expressions/utils/ImageUploadFileUtils.tsfluxer_app/src/features/expressions/workers/AnimatedCropPlan.tsfluxer_app/src/features/expressions/workers/AnimatedFrameCodecs.tsfluxer_app/src/features/expressions/workers/AnimatedImageCropMessages.tsfluxer_app/src/features/expressions/workers/AnimatedImageCropWorker.tsfluxer_app/src/features/expressions/workers/AnimatedImageCropWorkerManager.tsfluxer_app/src/features/expressions/workers/AnimatedImageCropWorkerPool.tsfluxer_app/src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsxfluxer_app/src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsxfluxer_app/src/features/guild/components/modals/guild_tabs/guild_overview_tab/hooks/useGuildImageAssetField.tsxfluxer_app/src/features/guild/components/modals/guild_tabs/guild_overview_tab/utils/ImageAsset.tsfluxer_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.poMerge remote-tracking branch 'origin/main'
.dockerignore.github/workflows/tests.yaml.gitignorefluxer_api/src/api/infrastructure/StorageObjectHelpers.test.tsfluxer_api/src/api/infrastructure/StorageObjectHelpers.tsfluxer_app/rspack.config.mjsfluxer_app/rust/libfluxcore/LICENSE-ZSTD-RS.txtfluxer_app/rust/libfluxcore/LICENSE-ZSTD-SYS.txtfluxer_app/rust/libfluxcore/LICENSE-ZSTD.txtfluxer_app/rust/libfluxcore/NOTICE.mdfluxer_app/rust/libfluxcore/src/formats.rsfluxer_app/rust/libfluxcore/src/lib.rsfluxer_app/rust/libfluxcore/src/rgba.rsfluxer_app/rust/libfluxwebp/Cargo.lockfluxer_app/rust/libfluxwebp/Cargo.tomlfluxer_app/rust/libfluxwebp/LICENSE-LIBWEBP-SYS.txtfluxer_app/rust/libfluxwebp/LICENSE-LIBWEBP.txtfluxer_app/rust/libfluxwebp/NOTICE.mdfluxer_app/rust/libfluxwebp/PATENTS-LIBWEBP.txtfluxer_app/rust/libfluxwebp/shim/assert.hfluxer_app/rust/libfluxwebp/shim/inttypes.hfluxer_app/rust/libfluxwebp/shim/math.hfluxer_app/rust/libfluxwebp/shim/stdio.hfluxer_app/rust/libfluxwebp/shim/stdlib.hfluxer_app/rust/libfluxwebp/shim/string.hfluxer_app/rust/libfluxwebp/simd/LICENSEfluxer_app/rust/libfluxwebp/simd/emmintrin.hfluxer_app/rust/libfluxwebp/simd/xmmintrin.hfluxer_app/rust/libfluxwebp/src/lib.rsfluxer_app/rust/libfluxwebp/src/shim.rsfluxer_app/scripts/build/rspack/static-files.mjsfluxer_app/src/features/channel/components/modals/EditGroupBottomSheet.tsxfluxer_app/src/features/channel/components/modals/EditGroupModal.tsxfluxer_app/src/features/expressions/components/modals/AssetCropModal.tsxfluxer_app/src/features/expressions/utils/AnimatedAvifModalUtils.tsxfluxer_app/src/features/expressions/utils/AnimatedImageUtils.tsfluxer_app/src/features/expressions/utils/ImageUploadFileUtils.tsfluxer_app/src/features/expressions/workers/AnimatedCropPlan.tsfluxer_app/src/features/expressions/workers/AnimatedFrameCodecs.tsfluxer_app/src/features/expressions/workers/AnimatedImageCropMessages.tsfluxer_app/src/features/expressions/workers/AnimatedImageCropWorker.tsfluxer_app/src/features/expressions/workers/AnimatedImageCropWorkerManager.tsfluxer_app/src/features/expressions/workers/AnimatedImageCropWorkerPool.tsfluxer_app/src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsxfluxer_app/src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsxfluxer_app/src/features/guild/components/modals/guild_tabs/guild_overview_tab/hooks/useGuildImageAssetField.tsxfluxer_app/src/features/guild/components/modals/guild_tabs/guild_overview_tab/utils/ImageAsset.tsfluxer_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.pofix(app): crop animated images on web with libwebp (#2947)
.dockerignore.github/workflows/tests.yaml.gitignorefluxer_api/src/api/infrastructure/StorageObjectHelpers.test.tsfluxer_api/src/api/infrastructure/StorageObjectHelpers.tsfluxer_app/rspack.config.mjsfluxer_app/rust/libfluxcore/LICENSE-ZSTD-RS.txtfluxer_app/rust/libfluxcore/LICENSE-ZSTD-SYS.txtfluxer_app/rust/libfluxcore/LICENSE-ZSTD.txtfluxer_app/rust/libfluxcore/NOTICE.mdfluxer_app/rust/libfluxcore/src/formats.rsfluxer_app/rust/libfluxcore/src/lib.rsfluxer_app/rust/libfluxcore/src/rgba.rsfluxer_app/rust/libfluxwebp/Cargo.lockfluxer_app/rust/libfluxwebp/Cargo.tomlfluxer_app/rust/libfluxwebp/LICENSE-LIBWEBP-SYS.txtfluxer_app/rust/libfluxwebp/LICENSE-LIBWEBP.txtfluxer_app/rust/libfluxwebp/NOTICE.mdfluxer_app/rust/libfluxwebp/PATENTS-LIBWEBP.txtfluxer_app/rust/libfluxwebp/shim/assert.hfluxer_app/rust/libfluxwebp/shim/inttypes.hfluxer_app/rust/libfluxwebp/shim/math.hfluxer_app/rust/libfluxwebp/shim/stdio.hfluxer_app/rust/libfluxwebp/shim/stdlib.hfluxer_app/rust/libfluxwebp/shim/string.hfluxer_app/rust/libfluxwebp/simd/LICENSEfluxer_app/rust/libfluxwebp/simd/emmintrin.hfluxer_app/rust/libfluxwebp/simd/xmmintrin.hfluxer_app/rust/libfluxwebp/src/lib.rsfluxer_app/rust/libfluxwebp/src/shim.rsfluxer_app/scripts/build/rspack/static-files.mjsfluxer_app/src/features/channel/components/modals/EditGroupBottomSheet.tsxfluxer_app/src/features/channel/components/modals/EditGroupModal.tsxfluxer_app/src/features/expressions/components/modals/AssetCropModal.tsxfluxer_app/src/features/expressions/utils/AnimatedAvifModalUtils.tsxfluxer_app/src/features/expressions/utils/AnimatedImageUtils.tsfluxer_app/src/features/expressions/utils/ImageUploadFileUtils.tsfluxer_app/src/features/expressions/workers/AnimatedCropPlan.tsfluxer_app/src/features/expressions/workers/AnimatedFrameCodecs.tsfluxer_app/src/features/expressions/workers/AnimatedImageCropMessages.tsfluxer_app/src/features/expressions/workers/AnimatedImageCropWorker.tsfluxer_app/src/features/expressions/workers/AnimatedImageCropWorkerManager.tsfluxer_app/src/features/expressions/workers/AnimatedImageCropWorkerPool.tsfluxer_app/src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsxfluxer_app/src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsxfluxer_app/src/features/guild/components/modals/guild_tabs/guild_overview_tab/hooks/useGuildImageAssetField.tsxfluxer_app/src/features/guild/components/modals/guild_tabs/guild_overview_tab/utils/ImageAsset.tsfluxer_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.pofix(ci): correct resolve version
.github/workflows/_draft-beta-release.ymlMerge branch 'canary' into beta
.github/workflows/ios-beta-testflight.yml.github/workflows/ios-canary-testflight.yml.github/workflows/ios-production-release.yml.gitignoreandroid/app/src/fcm/AndroidManifest.xmlandroid/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/AndroidManifest.xmlandroid/app/src/main/kotlin/com/fluxer/MainActivity.ktandroid/app/src/main/kotlin/com/fluxer/NotificationCancelBridge.ktandroid/app/src/main/res/raw/incoming_ring.mp3android/app/src/main/res/raw/keep.xmldart_sdkfastlane/Fastfilefluxerintegration_test/perf/guild_navbar_scroll_test.dartintegration_test/perf/message_list_scroll_test.dartintegration_test/perf/notifications_scroll_test.dartintegration_test/perf/personal_notes_scroll_test.dartintegration_test/perf/settings_scroll_test.dartintegration_test/support/app_launcher.dartintegration_test/support/navigation_helpers.dartintegration_test/support/perf_utils.dartintegration_test/support/scroll_utils.dartintegration_test/support/test_config.dartios/NotificationService/Info.plistios/NotificationService/NotificationService.entitlementsios/NotificationService/NotificationService.swiftios/Runner.xcodeproj/project.pbxprojios/Runner/AppDelegate.swiftios/Runner/ApplePushBridge.swiftios/Runner/Assistant/AssistantAppShortcuts.swiftios/Runner/Assistant/AssistantPresenceIntents.swiftios/Runner/Info.plistios/Runner/Runner.entitlementsios/Runner/VoipPushHandler.swiftios/Runner/en.lproj/Localizable.stringsios/RunnerTests/CallRingPayloadTests.swiftios/RunnerTests/RunnerTests.swiftios/Shared/CallRingPayload.swiftios/Shared/NotificationImageAttachment.swiftios/Shared/NotificationPayloadMedia.swiftios/Shared/PushNotificationPayload.swiftios/Shared/SnowflakeTime.swiftios/Shared/WebPushKeychain.swiftios/Shared/WebPushRecordDecryptor.swiftios/Shared/incoming_ring.caflib/core/api/fluxer_client_provider.dartfix(push): iOS voip call payload decrypt
ios/Runner/AppDelegate.swiftios/Runner/VoipPushHandler.swiftios/Shared/WebPushRecordDecryptor.swiftlib/features/voice/services/voice_callkit_coordinator.dartfix(android): call payloads being processed correct
lib/core/push/android/android_push_pipeline.dartlib/core/push/local_push_notifications.dartlib/core/push/push_notifications_coordinator.dartlib/features/voice/utils/voice_callkit_params.darttest/core/push/android_push_pipeline_test.darttest/core/push/unified_push_incoming_policy_test.dartfix(iOS): incoming ring payload being treated as notification
ios/NotificationService/NotificationService.swiftios/Runner/VoipPushHandler.swiftios/RunnerTests/CallRingPayloadTests.swiftios/RunnerTests/RunnerTests.swiftios/Shared/PushNotificationPayload.swiftlib/features/voice/services/voice_callkit_coordinator.dartlib/features/voice/utils/voice_callkit_policy.darttest/features/voice/utils/voice_callkit_policy_test.dartfeat(push): correctly clear read notifications and grouping
android/app/src/main/kotlin/com/fluxer/MainActivity.ktandroid/app/src/main/kotlin/com/fluxer/NotificationCancelBridge.ktios/NotificationService/NotificationService.swiftios/Runner/ApplePushBridge.swiftios/RunnerTests/RunnerTests.swiftios/Shared/PushNotificationPayload.swiftlib/core/gateway/gateway_event_handler.dartlib/core/push/local_push_notifications.dartlib/core/push/push_notification_clear.dartlib/core/push/push_notification_ids.dartlib/core/push/push_notification_payload.dartlib/features/channels/data/read_state_repository.dartpackages/fluxer_android_notifications/android/build.gradlepackages/fluxer_android_notifications/android/src/main/AndroidManifest.xmlpackages/fluxer_android_notifications/android/src/main/kotlin/com/fluxer/notifications/NotificationCancelPlugin.ktpackages/fluxer_android_notifications/lib/fluxer_android_notifications.dartpackages/fluxer_android_notifications/pubspec.lockpackages/fluxer_android_notifications/pubspec.yamlpubspec.lockpubspec.yamltest/core/push/push_notification_payload_test.dartfeat(iOS): combine presence status shortcuts
ios/Runner/Assistant/AssistantAppShortcuts.swiftios/Runner/Assistant/AssistantPresenceIntents.swiftlib/core/assistant/assistant_command_policy.darttest/core/assistant/assistant_command_codec_test.darttest/core/assistant/assistant_command_dispatcher_test.dartfix(push): dismiss notification on reply for Android
lib/core/push/local_push_notifications.dartlib/core/push/push_notification_reply.darttest/core/push/push_notification_reply_test.dartMerge remote-tracking branch 'origin/main'
fluxer_app/src/features/guild/state/GuildFolderExpanded.tsMerge remote-tracking branch 'origin/main'
fluxer_app/src/features/guild/state/GuildFolderExpanded.tsfix(app): keep guild folder expansion state local (#2944)
fluxer_app/src/features/guild/state/GuildFolderExpanded.ts