diff --git a/lib/ui/app/live_text.dart b/lib/ui/app/live_text.dart index 040fc4e4e..77acc2816 100644 --- a/lib/ui/app/live_text.dart +++ b/lib/ui/app/live_text.dart @@ -3,6 +3,7 @@ import 'dart:async'; // Flutter imports: import 'package:flutter/widgets.dart'; +import 'package:window_manager/window_manager.dart'; class LiveText extends StatefulWidget { const LiveText( @@ -29,7 +30,16 @@ class _LiveTextState extends State { super.initState(); _timer = Timer.periodic( widget.duration ?? Duration(milliseconds: 100), - (Timer timer) => mounted ? setState(() => false) : false, + (Timer timer) async { + final isFocused = await windowManager.isFocused(); + if (!isFocused) { + return; + } + + if (mounted) { + setState(() => false); + } + }, ); } diff --git a/lib/ui/app/upgrade_dialog.dart b/lib/ui/app/upgrade_dialog.dart index 4721e0631..a8afafac1 100644 --- a/lib/ui/app/upgrade_dialog.dart +++ b/lib/ui/app/upgrade_dialog.dart @@ -287,8 +287,17 @@ class _UpgradeDialogState extends State { final url = (state.isStaging ? kAppStagingUrl : kAppProductionUrl) + '/api/admin/subscription'; + var purchaseID = purchaseDetails.purchaseID; + if (purchaseDetails is AppStorePurchaseDetails) { + final originalTransaction = + purchaseDetails.skPaymentTransaction.originalTransaction; + if (originalTransaction != null) { + purchaseID = originalTransaction.transactionIdentifier; + } + } + final data = { - 'inapp_transaction_id': purchaseDetails.purchaseID, + 'inapp_transaction_id': purchaseID, 'key': state.account.key, 'plan': purchaseDetails.productID.replaceAll('-', '_'), 'plan_paid': (int.parse(purchaseDetails.transactionDate!) / 1000).floor(),