fix(desktop): stop the AppImage adding a duplicate menu entry each launch (#1733)
Detected heuristicfix(desktop): stop the AppImage adding a duplicate menu entry each launch (#1733)
Show stored evidence
fluxer_desktop/src/main/LinuxDesktopEntry.ts
Reading the persisted public view.
Development / findings
Structured observations derived from public development activity. Interpretation is labelled separately from the source evidence.
fix(desktop): stop the AppImage adding a duplicate menu entry each launch (#1733)
fluxer_desktop/src/main/LinuxDesktopEntry.tsfix(desktop): stop the AppImage adding a duplicate menu entry each launch
fluxer_desktop/src/main/LinuxDesktopEntry.tsfix(notifications): unread calculator
lib/features/notifications/data/unread_inbox_calculator.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/chat/presentation/widgets/messages/blocked_message_groups.dartlib/features/notifications/data/unread_inbox_calculator.darttest/features/chat/presentation/widgets/blocked_message_groups_test.dartfix(chat): unable to collapse blocked messages Fixes: #648
lib/features/chat/presentation/widgets/messages/blocked_message_groups.darttest/features/chat/presentation/widgets/blocked_message_groups_test.dartfix(audio): sfx pausing other app music
lib/core/audio/chat_attachment/chat_attachment_audio_session.dartlib/core/audio/fluxer_sfx.darttest/core/audio/fluxer_sfx_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/core/audio/chat_attachment/chat_attachment_audio_session.dartlib/core/audio/fluxer_sfx.darttest/core/audio/fluxer_sfx_test.dartchore(sdk): regenerate from OpenAPI
lib/models/self_serve_refund_response.dartlib/models/self_serve_refund_response.g.dartperf(app): defer media capture routing and skip offscreen skeleton layout (#1732)
fluxer_app/src/features/app/components/skeleton/PlaceholderSpecs.tsfluxer_app/src/features/app/components/skeleton/ScrollFillerSkeleton.module.cssfluxer_app/src/features/app/components/skeleton/ScrollFillerSkeleton.tsxfluxer_app/src/features/app/state/Initialization.tsfluxer_app/src/features/gateway/events/GatewayReady.tsfluxer_app/src/features/notification/utils/SoundUtils.tsfluxer_app/src/features/voice/utils/InAppMediaSoundCapture.test.tsfluxer_app/src/features/voice/utils/InAppMediaSoundCapture.tsfluxer_app/src/features/voice/utils/MediaDeviceStartupPreload.tsfix(api): only finalize self-serve refunds once the provider confirms (#1731)
fluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/stripe/services/StripeRefundService.tsfluxer_api/src/api/stripe/services/StripeWebhookService.tsfluxer_api/src/api/stripe/tests/StripeRefundService.test.tsfluxer_api/src/api/stripe/tests/StripeWebhookRefund.test.tsfluxer_api/src/api/worker/tasks/ProcessStripeWebhook.tspackages/schema/src/domains/premium/PremiumSchemas.tsfix(api): only finalize self-serve refunds once the provider confirms
fluxer_api/src/api/openapi/openapi.jsonfluxer_api/src/api/stripe/services/StripeRefundService.tsfluxer_api/src/api/stripe/services/StripeWebhookService.tsfluxer_api/src/api/stripe/tests/StripeRefundService.test.tsfluxer_api/src/api/stripe/tests/StripeWebhookRefund.test.tsfluxer_api/src/api/worker/tasks/ProcessStripeWebhook.tspackages/schema/src/domains/premium/PremiumSchemas.tsfix(guild_sidebar): do not auto dimiss popover Fixes: #662
lib/features/guilds/presentation/widgets/guild_icon_peek_gesture_host.dartlib/features/guilds/presentation/widgets/guild_icon_peek_menu.darttest/features/guilds/presentation/widgets/guild_icon_peek_gesture_host_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/guilds/presentation/widgets/guild_icon_peek_gesture_host.dartlib/features/guilds/presentation/widgets/guild_icon_peek_menu.darttest/features/guilds/presentation/widgets/guild_icon_peek_gesture_host_test.dartfix(guild): default guild notification resolution Fixes: #659
lib/core/database/drift_stream_utils.dartlib/core/database/fluxer_database.dartlib/core/database/tables/servers.dartlib/core/gateway/gateway_event_handler.dartlib/features/channels/data/unread_settings_resolver.dartlib/features/channels/providers/channel_notification_menu_provider.dartlib/features/chat/service/message_notification_sfx_gate.dartlib/features/guilds/domain/guild.dartlib/features/guilds/providers/guild_read_state_provider.dartlib/features/guilds/utils/guild_notification_resolution.dartlib/features/guilds/utils/guild_settings_actions.dartlib/features/quick_switcher/data/quick_switcher_unread_loader.dartlib/shared/utils/sdk_converters.darttest/core/database/drift_stream_utils_test.darttest/core/database/fluxer_database_migration_test.darttest/features/channels/data/unread_settings_resolver_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/core/database/drift_stream_utils.dartlib/core/database/fluxer_database.dartlib/core/database/tables/servers.dartlib/core/gateway/gateway_event_handler.dartlib/features/channels/data/unread_settings_resolver.dartlib/features/channels/providers/channel_notification_menu_provider.dartlib/features/chat/service/message_notification_sfx_gate.dartlib/features/guilds/domain/guild.dartlib/features/guilds/providers/guild_read_state_provider.dartlib/features/guilds/utils/guild_notification_resolution.dartlib/features/guilds/utils/guild_settings_actions.dartlib/features/quick_switcher/data/quick_switcher_unread_loader.dartlib/shared/utils/sdk_converters.darttest/core/database/drift_stream_utils_test.darttest/core/database/fluxer_database_migration_test.darttest/features/channels/data/unread_settings_resolver_test.dartchore(sdk): regenerate from OpenAPI
lib/models/bulk_message_fetch_request_requests.dartfeat(app): show 25 unread messages per channel in the inbox (#1729)
fluxer_api/src/api/openapi/openapi.jsonfluxer_app/src/features/app/components/floating/UnreadChannelsContent.tsxfluxer_app/src/features/app/components/floating/UnreadPreviewBudget.test.tsfluxer_app/src/features/app/components/floating/UnreadPreviewBudget.tspackages/schema/src/domains/message/MessageRequestSchemas.tsfix(settings): show client names correctly Fixes: #650 After https://github.com/fluxerapp/fluxer/commit/9b0b703c9d40a7ab1aaccd35727f5ceebfc4e27a
lib/features/settings/presentation/widgets/user_linked_devices.darttest/features/settings/linked_devices_view_model_test.darttest/features/settings/user_linked_devices_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/settings/presentation/widgets/user_linked_devices.darttest/features/settings/linked_devices_view_model_test.darttest/features/settings/user_linked_devices_test.darttest: drop stale hosted instance config and voice engine boundary tests (#1728)
fluxer_admin/tests/htmx_acceptance.rspackages/voice_engine_v2/src/bridge/no_v1_contract_imports.test.tspackages/voice_engine_v2/src/testing/deletedAppVoiceEngineImports.test.tstest/features/channels/providers/channel_notification_menu_provider_test.darttest/features/chat/service/message_notification_sfx_gate_test.darttest/features/guilds/utils/guild_settings_actions_test.darttest/features/channels/providers/channel_notification_menu_provider_test.darttest/features/chat/service/message_notification_sfx_gate_test.darttest/features/guilds/utils/guild_settings_actions_test.dart