Merge remote-tracking branch 'origin/canary' into canary
Merge remote-tracking branch 'origin/canary' into canary
Inspect stored evidence paths
README.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
README.mdchore(desktop): upgrade Electron to 44.1.1 (#2430)
fluxer_desktop/electron-builder.config.cjsfluxer_desktop/package.jsonfluxer_desktop/src/main/Autostart.tsfluxer_desktop/src/main/DesktopTray.tsfluxer_desktop/src/main/IpcHandlers.tsfluxer_desktop/src/main/MediaClipboard.tspnpm-lock.yamlfix(voice): participant stream end only on button Fixes: #733
lib/features/ui/voice/voice_channel_participant_grid.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/ui/voice/voice_channel_participant_grid.dartchore(desktop): upgrade Electron to 44.1.1
fluxer_desktop/electron-builder.config.cjsfluxer_desktop/package.jsonfluxer_desktop/src/main/Autostart.tsfluxer_desktop/src/main/DesktopTray.tsfluxer_desktop/src/main/IpcHandlers.tsfluxer_desktop/src/main/MediaClipboard.tspnpm-lock.yamlfix(voice): pip stream rejoin mutes stream Fixes: #732
lib/features/ui/voice/voice_participant_media_tile.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/ui/voice/voice_participant_media_tile.dartfix(app): correct the connection nagbar button styling (#2428)
fluxer_app/src/features/app/components/layout/NagbarButton.module.cssfluxer_app/src/features/app/components/layout/app_layout/nagbars/ConnectionNagbar.tsxfeat(voice): add wakelock for calls
lib/core/providers/app_startup_provider.dartlib/features/voice/services/voice_wakelock_coordinator.dartlib/features/voice/utils/voice_wakelock_policy.darttest/features/voice/utils/voice_wakelock_policy_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/core/providers/app_startup_provider.dartlib/features/voice/services/voice_wakelock_coordinator.dartlib/features/voice/utils/voice_wakelock_policy.darttest/features/voice/utils/voice_wakelock_policy_test.dartfix(gateway): satisfy dialyzer after the hotpatch reconcile (#2427)
fluxer_gateway/src/guild/guild_dispatch_push.erlfluxer_gateway/src/guild/guild_dispatch_send.erlfluxer_gateway/src/guild/guild_members_table_repair.erlfluxer_gateway/src/push/push.erlfluxer_gateway/src/push/push_dispatcher.erlfluxer_gateway/src/push/push_ets_cache.erlfluxer_gateway/src/push/push_notification_format.erlfluxer_gateway/src/push/push_subscriptions.erlfluxer_gateway/src/session/session_init.erlfluxer_gateway/src/session/session_lifecycle.erlfluxer_gateway/src/utils/custom_status_expiry.erlfix(voice): republish screen share when its codec goes stale (#2426)
fluxer_app/src/features/voice/engine/MediaEngineFacade.tsfluxer_app/src/features/voice/engine/ScreenShareCodecNegotiation.test.tsfluxer_app/src/features/voice/engine/ScreenShareCodecNegotiation.tsfluxer_app/src/features/voice/engine/v2/VoiceEngineV2AppScreenShareExecutionAdapter.tsxfix(gateway): reconcile hotpatched member-list and push fixes (#2425)
fluxer_gateway/src/gateway/gateway_http_client_response.erlfluxer_gateway/src/guild/guild.erlfluxer_gateway/src/guild/guild_connect_async.erlfluxer_gateway/src/guild/guild_data.erlfluxer_gateway/src/guild/guild_data_index_members.erlfluxer_gateway/src/guild/guild_data_members.erlfluxer_gateway/src/guild/guild_data_wire.erlfluxer_gateway/src/guild/guild_dispatch_member_list.erlfluxer_gateway/src/guild/guild_dispatch_push.erlfluxer_gateway/src/guild/guild_dispatch_send.erlfluxer_gateway/src/guild/guild_init.erlfluxer_gateway/src/guild/guild_maintenance.erlfluxer_gateway/src/guild/guild_member_list_channel_engine.erlfluxer_gateway/src/guild/guild_member_list_common.erlfluxer_gateway/src/guild/guild_member_list_read_cursor.erlfluxer_gateway/src/guild/guild_member_list_write.erlfluxer_gateway/src/guild/guild_members_table_repair.erlfluxer_gateway/src/guild/guild_mutual_online.erlfluxer_gateway/src/guild/guild_passive_sync.erlfluxer_gateway/src/guild/guild_permission_cache.erlfluxer_gateway/src/guild/guild_presence.erlfluxer_gateway/src/guild/guild_public_online.erlfluxer_gateway/src/guild/guild_sessions.erlfluxer_gateway/src/guild/guild_subscription_handler.erlfluxer_gateway/src/guild/guild_subscription_mutual_channels.erlfluxer_gateway/src/guild/guild_subscriptions.erlfluxer_gateway/src/guild/voice/guild_voice.erlfluxer_gateway/src/guild/voice/guild_voice_move.erlfluxer_gateway/src/guild/voice/guild_voice_move_execute.erlfluxer_gateway/src/guild/voice/guild_voice_region.erlfluxer_gateway/src/guild/voice/guild_voice_server_state.erlfluxer_gateway/src/presence/presence_broadcast.erlfluxer_gateway/src/presence/presence_payload.erlfluxer_gateway/src/push/push.erlfluxer_gateway/src/push/push_dispatcher.erlfluxer_gateway/src/push/push_eligibility_checks.erlfluxer_gateway/src/push/push_ets_cache.erlfluxer_gateway/src/push/push_fcm_payload.erlfluxer_gateway/src/push/push_message_params.erlfluxer_gateway/src/push/push_notification.erlfluxer_gateway/src/push/push_notification_format.erlfluxer_gateway/src/push/push_sender.erlfluxer_gateway/src/push/push_sender_delivery.erlfluxer_gateway/src/push/push_subscriptions.erlfluxer_gateway/src/session/session_init.erlfluxer_gateway/src/session/session_lifecycle.erlfluxer_gateway/src/session/session_ready_dispatch.erlfluxer_gateway/src/utils/custom_status_expiry.erlfluxer_gateway/test/guild_member_list_tests.erlfluxer_gateway/test/guild_voice_move_tests.erlfix(gateway): reconcile hotpatched member-list and push fixes
fluxer_gateway/src/gateway/gateway_http_client_response.erlfluxer_gateway/src/guild/guild.erlfluxer_gateway/src/guild/guild_connect_async.erlfluxer_gateway/src/guild/guild_data.erlfluxer_gateway/src/guild/guild_data_index_members.erlfluxer_gateway/src/guild/guild_data_members.erlfluxer_gateway/src/guild/guild_data_wire.erlfluxer_gateway/src/guild/guild_dispatch_member_list.erlfluxer_gateway/src/guild/guild_dispatch_push.erlfluxer_gateway/src/guild/guild_dispatch_send.erlfluxer_gateway/src/guild/guild_init.erlfluxer_gateway/src/guild/guild_maintenance.erlfluxer_gateway/src/guild/guild_member_list_channel_engine.erlfluxer_gateway/src/guild/guild_member_list_common.erlfluxer_gateway/src/guild/guild_member_list_read_cursor.erlfluxer_gateway/src/guild/guild_member_list_write.erlfluxer_gateway/src/guild/guild_members_table_repair.erlfluxer_gateway/src/guild/guild_mutual_online.erlfluxer_gateway/src/guild/guild_passive_sync.erlfluxer_gateway/src/guild/guild_permission_cache.erlfluxer_gateway/src/guild/guild_presence.erlfluxer_gateway/src/guild/guild_public_online.erlfluxer_gateway/src/guild/guild_sessions.erlfluxer_gateway/src/guild/guild_subscription_handler.erlfluxer_gateway/src/guild/guild_subscription_mutual_channels.erlfluxer_gateway/src/guild/guild_subscriptions.erlfluxer_gateway/src/guild/voice/guild_voice.erlfluxer_gateway/src/guild/voice/guild_voice_move.erlfluxer_gateway/src/guild/voice/guild_voice_move_execute.erlfluxer_gateway/src/guild/voice/guild_voice_region.erlfluxer_gateway/src/guild/voice/guild_voice_server_state.erlfluxer_gateway/src/presence/presence_broadcast.erlfluxer_gateway/src/presence/presence_payload.erlfluxer_gateway/src/push/push.erlfluxer_gateway/src/push/push_dispatcher.erlfluxer_gateway/src/push/push_eligibility_checks.erlfluxer_gateway/src/push/push_ets_cache.erlfluxer_gateway/src/push/push_fcm_payload.erlfluxer_gateway/src/push/push_message_params.erlfluxer_gateway/src/push/push_notification.erlfluxer_gateway/src/push/push_notification_format.erlfluxer_gateway/src/push/push_sender.erlfluxer_gateway/src/push/push_sender_delivery.erlfluxer_gateway/src/push/push_subscriptions.erlfluxer_gateway/src/session/session_init.erlfluxer_gateway/src/session/session_lifecycle.erlfluxer_gateway/src/session/session_ready_dispatch.erlfluxer_gateway/src/utils/custom_status_expiry.erlfluxer_gateway/test/guild_member_list_tests.erlfluxer_gateway/test/guild_voice_move_tests.erlfix(api): always allow opening a dm channel (#2423)
fluxer_api/src/api/channel/tests/DMBlockingBehaviors.test.tsfluxer_api/src/api/channel/tests/DMCreationAllowedWithStrangers.test.tsfluxer_api/src/api/user/services/UserChannelService.tsfluxer_api/src/api/user/tests/UserChannelService.test.tsfix(voice): keep published codecs inside the opt-in policy (#2422)
fluxer_app/pkgs/livekit-client/VENDORING.mdfluxer_app/pkgs/livekit-client/src/room/defaults.test.tsfluxer_app/pkgs/livekit-client/src/room/defaults.tsfluxer_app/pkgs/livekit-client/src/room/utils.test.tsfluxer_app/pkgs/livekit-client/src/room/utils.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.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/voice/engine/ScreenShareCodecNegotiation.tsfluxer_app/src/features/voice/engine/VoiceScreenShareStateMachine.test.tsfluxer_app/src/features/voice/engine/VoiceScreenShareStateMachine.tsfluxer_app/src/features/voice/engine/v2/VoiceEngineV2AppConnectionHostAdapter.tsfluxer_app/src/features/voice/engine/v2/VoiceEngineV2AppMediaExecutionAdapter.tsxfluxer_app/src/features/voice/engine/v2/VoiceEngineV2AppScreenShareExecutionAdapter.tsxfluxer_app/src/features/voice/engine/v2/VoiceEngineV2AppScreenShareLiveKitFlows.tsfluxer_app/src/features/voice/engine/voice_screen_share_manager/shared.tsfluxer_app/src/features/voice/utils/CodecCapabilityDetector.test.tsfluxer_app/src/features/voice/utils/CodecCapabilityDetector.tsfeat(voice): drive screen share quality from viewer demand (#2421)
fluxer_app/src/features/voice/components/VoiceParticipantTile.tsxfluxer_app/src/features/voice/components/voice_participant_tile/hooks.tsfluxer_app/src/features/voice/engine/ScreenShareSubscriptionManager.tsfluxer_app/src/features/voice/state/ScreenShareWatchFailures.tsfluxer_app/src/features/voice/utils/ScreenShareSubscriptionPolicy.tsfeat(voice): show a passive badge when a stream underperforms (#2420)
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/voice/commands/VoiceSettingsCommands.tsfluxer_app/src/features/voice/components/VoiceParticipantTile.module.cssfluxer_app/src/features/voice/components/VoiceParticipantTile.tsxfluxer_app/src/features/voice/components/VoiceParticipantTileStateMachine.test.tsfluxer_app/src/features/voice/components/useScreenShareUnderperformance.tsfluxer_app/src/features/voice/components/voice_participant_tile/shared.tsfluxer_app/src/features/voice/engine/ScreenShareUnderperformance.tsfluxer_app/src/features/voice/engine/voice_screen_share_manager/shared.tsfix(api): downgrade oversized video instead of ending the call (#2419)
fluxer_api/src/api/infrastructure/DisabledLiveKitService.tsfluxer_api/src/api/infrastructure/ILiveKitService.tsfluxer_api/src/api/infrastructure/LiveKitService.tsfluxer_api/src/api/infrastructure/LiveKitWebhookService.tsfluxer_api/src/api/infrastructure/tests/LiveKitService.test.tsfix(voice): request a real camera frame rate at capture (#2418)
fluxer_app/src/features/voice/components/modals/CameraPreviewModal.tsxfluxer_app/src/features/voice/engine/v2/VoiceEngineV2AppCameraResolutionPresets.test.tsfluxer_app/src/features/voice/engine/v2/VoiceEngineV2AppCameraResolutionPresets.tsfluxer_app/src/features/voice/engine/v2/VoiceEngineV2AppMediaExecutionAdapter.tsx