Merge remote-tracking branch 'origin/canary' into canary
Merge remote-tracking branch 'origin/canary' into canary
Inspect stored evidence paths
test/features/chat/presentation/widgets/messages/message_item_cozy_test.dart
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
test/features/chat/presentation/widgets/messages/message_item_cozy_test.dartfix(slowmode): stop the local cooldown from outgrowing the channel setting (#1795)
fluxer_api/src/api/channel/services/message/MessageSendService.tsfluxer_api/src/api/channel/tests/SlowmodeEnforcement.test.tsfluxer_app/src/features/messaging/commands/MessageCommands.tsxfluxer_app/src/features/messaging/commands/ScheduledMessageCommands.tsxfluxer_app/src/features/messaging/hooks/useMessageSubmission.tsxfluxer_app/src/features/messaging/state/MessageQueue.tsxfluxer_app/src/features/messaging/utils/RetryAfterUtils.test.tsfluxer_app/src/features/messaging/utils/RetryAfterUtils.tsfluxer_app/src/features/slowmode/commands/SlowmodeCommands.tsfluxer_app/src/features/slowmode/state/Slowmode.tsfluxer_app/src/features/slowmode/state/SlowmodePendingSend.test.tspackages/errors/src/__tests__/SlowmodeRateLimitError.test.tspackages/errors/src/domains/core/RateLimitError.tspackages/errors/src/domains/core/RetryAfterSeconds.tspackages/errors/src/domains/core/SlowmodeRateLimitError.tsrefactor(media): share one external proxy url codec across every service (#1794)
Cargo.lockfluxer_common/Cargo.tomlfluxer_common/src/external_media_path.rsfluxer_common/src/lib.rsfluxer_gifs/Cargo.tomlfluxer_gifs/src/media_proxy.rsfluxer_media_proxy/Cargo.tomlfluxer_media_proxy/src/external_path.rsfluxer_messages/Cargo.tomlfluxer_messages/src/shard_impl.rsfluxer_unfurl/Cargo.tomlfluxer_unfurl/src/media_proxy.rstools/dev/Cargo.tomltools/dev/src/media_external.rsMerge remote-tracking branch 'origin/canary' into canary
lib/features/chat/presentation/widgets/composer/channel_textarea.dartlib/features/chat/presentation/widgets/composer/composer_clipboard_scope.dartlib/features/chat/utils/composer_clipboard_paste.dartlib/features/ui/input/emoji_inline_token.dartlib/features/ui/input/inline_token_text_editing_controller.dartlib/shared/utils/emoji_registry.darttest/features/chat/utils/composer_clipboard_paste_test.darttest/features/ui/input/emoji_inline_token_test.darttest/features/ui/input/emoji_text_editing_controller_test.darttest/features/ui/input/inline_token_wire_length_formatter_test.dartfix(composer): silent paste of private-use only text
lib/features/chat/presentation/widgets/composer/channel_textarea.dartlib/features/chat/presentation/widgets/composer/composer_clipboard_scope.dartlib/features/chat/utils/composer_clipboard_paste.darttest/features/chat/utils/composer_clipboard_paste_test.dartfix(composer): show own emoji for platform keyboard commits
lib/features/ui/input/emoji_inline_token.dartlib/features/ui/input/inline_token_text_editing_controller.dartlib/shared/utils/emoji_registry.darttest/features/ui/input/emoji_inline_token_test.dartfix(composer): emoji wire length and caret counted in runes
lib/features/ui/input/inline_token_text_editing_controller.darttest/features/ui/input/emoji_text_editing_controller_test.darttest/features/ui/input/inline_token_wire_length_formatter_test.dartfeat(chat): improved compact mode
lib/features/chat/presentation/widgets/message_actions/reply_preview.dartlib/features/chat/presentation/widgets/messages/message_item.dartlib/features/chat/presentation/widgets/messages/message_row_layout.dartlib/features/chat/presentation/widgets/messages/system_message.darttest/features/chat/presentation/widgets/messages/message_item_compact_test.darttest/features/chat/presentation/widgets/messages/message_item_cozy_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/chat/presentation/widgets/message_actions/reply_preview.dartlib/features/chat/presentation/widgets/messages/message_item.dartlib/features/chat/presentation/widgets/messages/message_row_layout.dartlib/features/chat/presentation/widgets/messages/system_message.darttest/features/chat/presentation/widgets/messages/message_item_compact_test.darttest/features/chat/presentation/widgets/messages/message_item_cozy_test.dartfeat(media): emit external proxy urls with a readable path and extension (#1793)
fluxer_api/pkgs/media_proxy_utils/package.jsonfluxer_api/pkgs/media_proxy_utils/src/ExternalMediaProxyPathCodec.test.tsfluxer_api/pkgs/media_proxy_utils/src/ExternalMediaProxyPathCodec.tsfluxer_api/pkgs/media_proxy_utils/tsconfig.jsonfluxer_api/pkgs/media_proxy_utils/vitest.config.tsfluxer_media_proxy/src/external_path.rspnpm-lock.yamlfeat(media): emit external proxy urls with a readable path and extension
fluxer_api/pkgs/media_proxy_utils/package.jsonfluxer_api/pkgs/media_proxy_utils/src/ExternalMediaProxyPathCodec.test.tsfluxer_api/pkgs/media_proxy_utils/src/ExternalMediaProxyPathCodec.tsfluxer_api/pkgs/media_proxy_utils/tsconfig.jsonfluxer_api/pkgs/media_proxy_utils/vitest.config.tsfluxer_media_proxy/src/external_path.rspnpm-lock.yamlchore(i18n): regenerate catalogs after the voice engine removal (#1791)
fluxer_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.pofix(voice): recalibrate stored participant and stream volumes too (#1790)
fluxer_app/src/features/voice/state/ParticipantVolume.tsfluxer_app/src/features/voice/state/StreamAudioPrefs.tsfluxer_app/src/features/voice/utils/VoiceVolumeUtils.test.tsfluxer_app/src/features/voice/utils/VoiceVolumeUtils.tsrefactor(desktop): delete the unused rust voice module (#1789)
fluxer_desktop/native/rust/src/lib.rsfluxer_desktop/native/rust/src/voice/mod.rsfluxer_desktop/native/rust/src/voice/stats.rsrefactor(voice): drop the native only surface from voice_engine_v2 and narrow the desktop bridge (#1788)
fluxer_app/src/features/platform/types/Electron.tsfluxer_app/src/features/voice/utils/NativeHardwareEncoderCapabilities.tsfluxer_app/src/types/electron.d.tsfluxer_desktop/src/common/Types.tsfluxer_desktop/src/main/NativeHardwareEncoder.tsfluxer_desktop/src/preload/index.tspackages/voice_engine_v2/fixtures/bridge/bridge_contract.jsonpackages/voice_engine_v2/fixtures/event_logs/app_voice_session.jsonpackages/voice_engine_v2/fixtures/policies/e2ee_state_normalization.jsonpackages/voice_engine_v2/fixtures/policies/local_media_reconnect_suppression.jsonpackages/voice_engine_v2/fixtures/policies/native_connect_retry.jsonpackages/voice_engine_v2/fixtures/policies/native_participant_volume.jsonpackages/voice_engine_v2/src/bridge/admWarmup.test.tspackages/voice_engine_v2/src/bridge/admWarmup.tspackages/voice_engine_v2/src/bridge/bridge_contract.test.tspackages/voice_engine_v2/src/bridge/ffi_assertions.tspackages/voice_engine_v2/src/bridge/guards.tspackages/voice_engine_v2/src/bridge/index.tspackages/voice_engine_v2/src/bridge/stats.tspackages/voice_engine_v2/src/bridge/translate.tspackages/voice_engine_v2/src/bridge/types.tspackages/voice_engine_v2/src/core/participants_tracks.test.tspackages/voice_engine_v2/src/core/reducer.test.tspackages/voice_engine_v2/src/core/reducers/_dispatch.tspackages/voice_engine_v2/src/core/reducers/microphone.tspackages/voice_engine_v2/src/core/reducers/nativeAudioDeviceModule.tspackages/voice_engine_v2/src/core/state.tspackages/voice_engine_v2/src/index.tspackages/voice_engine_v2/src/policies/e2eeState.tspackages/voice_engine_v2/src/policies/index.tspackages/voice_engine_v2/src/policies/localMediaReconnectSuppression.tspackages/voice_engine_v2/src/policies/nativeConnectRetry.tspackages/voice_engine_v2/src/policies/nativeParticipantVolume.test.tspackages/voice_engine_v2/src/policies/nativeParticipantVolume.tspackages/voice_engine_v2/src/policies/policies.test.tspackages/voice_engine_v2/src/protocol/events.tspackages/voice_engine_v2/src/protocol/index.tspackages/voice_engine_v2/src/protocol/types.tspackages/voice_engine_v2/src/runtime/frameStatsBatching.bench.tspackages/voice_engine_v2/src/runtime/frameStatsBatching.test.tspackages/voice_engine_v2/src/runtime/frameStatsBatching.tspackages/voice_engine_v2/src/runtime/index.tspackages/voice_engine_v2/src/testing/eventLogReplay.test.tsrefactor(voice): remove the native voice engine from the renderer (#1787)
fluxer_app/src/features/channel/components/channel_view/GuildChannelView.tsxfluxer_app/src/features/channel/components/channel_view/useCallHeaderState.tsfluxer_app/src/features/theme/utils/BackgroundImageDB.tsfluxer_app/src/features/voice/components/PiPOverlay.tsxfluxer_app/src/features/voice/components/VoiceE2EEIndicator.tsxfluxer_app/src/features/voice/components/VoiceParticipantTile.tsxfluxer_app/src/features/voice/components/VoiceParticipantTileStateMachine.test.tsfluxer_app/src/features/voice/components/VoiceParticipantTileStateMachine.tsfluxer_app/src/features/voice/components/modals/CameraPreviewModal.tsxfluxer_app/src/features/voice/components/modals/CameraPreviewSessionPolicy.test.tsfluxer_app/src/features/voice/components/modals/CameraPreviewSessionPolicy.tsfluxer_app/src/features/voice/components/modals/ScreenSharePickerModal.tsxfluxer_app/src/features/voice/components/pip_overlay/PiPOverlayInner.tsxfluxer_app/src/features/voice/components/popout/VoiceTilePopoutContent.tsxfluxer_app/src/features/voice/components/useScreenShareWatchFailure.tsfluxer_app/src/features/voice/components/useStatsForNerds.tsfluxer_app/src/features/voice/components/useStreamTrackInfo.test.tsfluxer_app/src/features/voice/components/useVoiceCallTracksAndLayout.tsfluxer_app/src/features/voice/components/voice_participant_tile/LastFrameSnapshotCache.tsfluxer_app/src/features/voice/components/voice_participant_tile/NativeParticipantVideo.tsxfluxer_app/src/features/voice/components/voice_participant_tile/NativeVideoElementPool.test.tsfluxer_app/src/features/voice/components/voice_participant_tile/NativeVideoElementPool.tsfluxer_app/src/features/voice/components/voice_participant_tile/hooks.tsfluxer_app/src/features/voice/components/voice_participant_tile/shared.tsfluxer_app/src/features/voice/engine/MediaEngineFacade.tsfluxer_app/src/features/voice/engine/MediaEngineFacadeStateMachine.test.tsfluxer_app/src/features/voice/engine/MediaEngineFacadeStateMachine.tsfluxer_app/src/features/voice/engine/ScreenShareCodecNegotiation.tsfluxer_app/src/features/voice/engine/ScreenSharePublicationMigration.tsfluxer_app/src/features/voice/engine/ScreenShareSubscriptionManager.tsfluxer_app/src/features/voice/engine/VideoSubscriptionManager.tsfluxer_app/src/features/voice/engine/VoiceEngineV2AppParticipantAdapterNative.test.tsfluxer_app/src/features/voice/engine/VoiceMediaEngineBridge.tsfluxer_app/src/features/voice/engine/VoiceMediaGraph.test.tsfluxer_app/src/features/voice/engine/VoiceMediaGraphStats.test.tsfluxer_app/src/features/voice/engine/VoiceMediaGraphStats.tsfluxer_app/src/features/voice/engine/media_engine_facade/NativeVoiceStatsSession.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeAudioDeviceModuleState.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeCameraPreviewStartGate.test.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeCameraPreviewStartGate.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeCameraPreviewTrackSelection.test.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeCameraPreviewTrackSelection.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeLocalMediaReconnectPolicy.test.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeLocalMediaReconnectPolicy.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeMicrophoneOperationFailurePolicy.test.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeMicrophoneOperationFailurePolicy.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeVideoTileManager.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeVoiceConnectRetryPolicy.test.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeVoiceConnectRetryPolicy.tsfluxer_app/src/features/voice/engine/native_voice_engine/NativeVoiceDeviceSync.tsfix(voice): make deafen reach watched screen share audio (#1786)
fluxer_app/src/features/voice/engine/v2/VoiceEngineV2AppMediaExecutionAdapter.tsxfix(voice): stop the in call speaker slider clamping a boosted output volume (#1785)
fluxer_app/src/features/voice/components/CallVolumeControl.tsxfluxer_app/src/features/voice/components/CallVolumeState.test.tsfluxer_app/src/features/voice/components/CallVolumeState.tsfluxer_app/src/features/voice/components/VoiceCallView.tsxfluxer_app/src/features/voice/components/media_player/components/MediaVerticalVolumeControl.tsxfix(voice): retune the remote playback leveller and measure it in float (#1784)
fluxer_app/src/features/voice/engine/VoiceParticipantStateMachine.test.tsfluxer_app/src/features/voice/engine/VoiceParticipantStateMachine.tsfluxer_app/src/features/voice/engine/v2/VoiceEngineV2AppRemoteSpeakingAdapter.test.tsfluxer_app/src/features/voice/engine/v2/VoiceEngineV2AppRemoteSpeakingAdapter.tsfix(voice): compose participant gain in linear space and split the ceilings (#1783)
fluxer_app/src/features/voice/state/ParticipantVolume.test.tsfluxer_app/src/features/voice/state/ParticipantVolume.ts