@rozoai/intent-pay 0.1.5-beta.2 → 0.1.5-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/build/components/Common/OptionsList/index.d.ts +2 -0
  2. package/build/components/DaimoPayModal/ConnectWithQRCode.d.ts +1 -1
  3. package/build/hooks/useModal.d.ts +1 -1
  4. package/build/hooks/usePaymentState.d.ts +4 -2
  5. package/build/hooks/usePusherPayout.d.ts +7 -1
  6. package/build/package.json.js +5 -13
  7. package/build/package.json.js.map +1 -1
  8. package/build/src/components/Common/CustomQRCode/QRCode.js +1 -1
  9. package/build/src/components/Common/CustomQRCode/QRCode.js.map +1 -1
  10. package/build/src/components/Common/Modal/index.js +2 -1
  11. package/build/src/components/Common/Modal/index.js.map +1 -1
  12. package/build/src/components/Common/OptionsList/index.js +40 -2
  13. package/build/src/components/Common/OptionsList/index.js.map +1 -1
  14. package/build/src/components/Common/OptionsList/styles.js +8 -1
  15. package/build/src/components/Common/OptionsList/styles.js.map +1 -1
  16. package/build/src/components/Common/OrderHeader/index.js +3 -3
  17. package/build/src/components/Common/OrderHeader/index.js.map +1 -1
  18. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -1
  19. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  20. package/build/src/components/DaimoPayModal/index.js +20 -4
  21. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  22. package/build/src/components/Pages/About/graphics.js +3 -3
  23. package/build/src/components/Pages/About/graphics.js.map +1 -1
  24. package/build/src/components/Pages/Confirmation/index.js +144 -11
  25. package/build/src/components/Pages/Confirmation/index.js.map +1 -1
  26. package/build/src/components/Pages/SelectDepositAddressChain/index.js +2 -1
  27. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
  28. package/build/src/components/Pages/SelectToken/index.js +2 -2
  29. package/build/src/components/Pages/SelectToken/index.js.map +1 -1
  30. package/build/src/components/Pages/SelectWalletChain/index.js +58 -27
  31. package/build/src/components/Pages/SelectWalletChain/index.js.map +1 -1
  32. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +3 -1
  33. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -1
  34. package/build/src/components/Pages/WaitingDepositAddress/index.js +77 -127
  35. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
  36. package/build/src/components/Pages/WaitingExternal/index.js +2 -2
  37. package/build/src/components/Pages/WaitingExternal/index.js.map +1 -1
  38. package/build/src/hooks/useDepositAddressOptions.js +1 -1
  39. package/build/src/hooks/useDepositAddressOptions.js.map +1 -1
  40. package/build/src/hooks/useFitText.js +6 -4
  41. package/build/src/hooks/useFitText.js.map +1 -1
  42. package/build/src/hooks/useFocusTrap.js +2 -2
  43. package/build/src/hooks/useFocusTrap.js.map +1 -1
  44. package/build/src/hooks/useLocales.js +2 -2
  45. package/build/src/hooks/useLocales.js.map +1 -1
  46. package/build/src/hooks/usePaymentState.js +44 -34
  47. package/build/src/hooks/usePaymentState.js.map +1 -1
  48. package/build/src/hooks/usePusherPayout.js +113 -39
  49. package/build/src/hooks/usePusherPayout.js.map +1 -1
  50. package/build/src/hooks/useTokenOptions.js +27 -9
  51. package/build/src/hooks/useTokenOptions.js.map +1 -1
  52. package/build/src/localizations/locales/tr-TR.js +1 -1
  53. package/build/src/localizations/locales/tr-TR.js.map +1 -1
  54. package/build/src/payment/paymentFsm.js +1 -2
  55. package/build/src/payment/paymentFsm.js.map +1 -1
  56. package/build/src/styles/defaultTheme.js +16 -14
  57. package/build/src/styles/defaultTheme.js.map +1 -1
  58. package/build/src/utils/stellar/singleton-import.js.map +1 -1
  59. package/build/src/utils/supportUrl.js +1 -1
  60. package/build/src/utils/supportUrl.js.map +1 -1
  61. package/build/src/wallets/useWallets.js +2 -2
  62. package/build/src/wallets/useWallets.js.map +1 -1
  63. package/build/src/wallets/walletConfigs.js +2 -3
  64. package/build/src/wallets/walletConfigs.js.map +1 -1
  65. package/build/utils/stellar/singleton-import.d.ts +2 -2
  66. package/package.json +5 -13
  67. package/build/assets/crepe.d.ts +0 -3
  68. package/build/src/world-mini-app/WorldPayButton.js +0 -155
  69. package/build/src/world-mini-app/WorldPayButton.js.map +0 -1
  70. package/build/src/world-mini-app/promptWorldPayment.js +0 -57
  71. package/build/src/world-mini-app/promptWorldPayment.js.map +0 -1
  72. package/build/src/world.js +0 -2
  73. package/build/src/world.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { ethereum, ExternalPaymentOptions, readRozoPayOrderID, rozoStellar, rozoSolana, FeeType, solana, generateIntentTitle, mergedMetadata, createPayment, assert, debugJson, formatPaymentResponseToHydratedOrder, bscUSDT, assertNotNull, isValidSolanaAddress, rozoSolanaUSDC, rozoStellarUSDC, baseUSDC, DepositAddressPaymentOptions, polygonUSDC, worldchainUSDC, getChainById, generateEVMDeepLink, writeRozoPayOrderID } from '@rozoai/intent-common';
1
+ import { ethereum, ExternalPaymentOptions, readRozoPayOrderID, rozoStellar, rozoSolana, FeeType, solana, generateIntentTitle, mergedMetadata, createPayment, assert, debugJson, formatPaymentResponseToHydratedOrder, bscUSDT, assertNotNull, isValidSolanaAddress, rozoSolanaUSDC, rozoStellarUSDC, baseUSDC, DepositAddressPaymentOptions, ethereumUSDT, ethereumUSDC, rozoSolanaUSDT, getChainById, getKnownToken, generateEVMDeepLink, writeRozoPayOrderID } from '@rozoai/intent-common';
2
2
  import { useWallet, useConnection } from '@solana/wallet-adapter-react';
3
3
  import { VersionedTransaction, PublicKey, TransactionInstruction, Transaction } from '@solana/web3.js';
4
4
  import { useRef, useState, useEffect, useMemo, useCallback } from 'react';
@@ -58,6 +58,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
58
58
  const [paymentWaitingMessage, setPaymentWaitingMessage] = useState();
59
59
  const [isDepositFlow, setIsDepositFlow] = useState(false);
60
60
  const [tokenMode, setTokenMode] = useState("evm");
61
+ const [selectedChainId, setSelectedChainId] = useState(undefined);
61
62
  const [txHash, setTxHash] = useState(undefined);
62
63
  const [rozoPaymentId, setRozoPaymentId] = useState(undefined);
63
64
  // TODO: backend should determine whether to show solana payment method
@@ -400,19 +401,14 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
400
401
  hydratedOrder = pay.order;
401
402
  }
402
403
  const paymentTxHash = await (async () => {
403
- try {
404
- const serializedTx = await trpc.getSolanaSwapAndBurnTx.query({
405
- orderId: pay.order.id.toString(),
406
- userPublicKey: assertNotNull(payerPublicKey, "[PAY SOLANA] wallet.publicKey cannot be null").toString(),
407
- inputTokenMint: inputToken,
408
- });
409
- const tx = VersionedTransaction.deserialize(hexToBytes(serializedTx));
410
- const txHash = await solanaWallet.sendTransaction(tx, connection);
411
- return txHash;
412
- }
413
- catch (e) {
414
- throw e;
415
- }
404
+ const serializedTx = await trpc.getSolanaSwapAndBurnTx.query({
405
+ orderId: pay.order.id.toString(),
406
+ userPublicKey: assertNotNull(payerPublicKey, "[PAY SOLANA] wallet.publicKey cannot be null").toString(),
407
+ inputTokenMint: inputToken,
408
+ });
409
+ const tx = VersionedTransaction.deserialize(hexToBytes(serializedTx));
410
+ const txHash = await solanaWallet.sendTransaction(tx, connection);
411
+ return txHash;
416
412
  })();
417
413
  try {
418
414
  await pay.paySolanaSource({
@@ -595,52 +591,64 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
595
591
  setPaymentWaitingMessage(externalPaymentOptionData.waitingMessage);
596
592
  return externalPaymentOptionData.url;
597
593
  };
598
- const payWithDepositAddress = async (option, store) => {
594
+ const payWithDepositAddress = async (option, store, fees, log) => {
599
595
  // Prevent duplicate calls for the same option
600
596
  if (depositAddressCallRef.current.has(option)) {
601
- log(`[PAY DEPOSIT ADDRESS] Already processing ${option}, skipping duplicate call`);
597
+ log?.(`[PAY DEPOSIT ADDRESS] Already processing ${option}, skipping duplicate call`);
602
598
  return null;
603
599
  }
604
600
  // Mark this option as being processed
605
601
  depositAddressCallRef.current.add(option);
606
- log(`[PAY DEPOSIT ADDRESS] Starting processing for ${option}`);
602
+ log?.(`[PAY DEPOSIT ADDRESS] Starting processing for ${option}`);
607
603
  try {
608
604
  let token = baseUSDC;
609
- if (option === DepositAddressPaymentOptions.SOLANA) {
610
- token = rozoSolanaUSDC;
605
+ // Map option to correct token, mimicking useDepositAddressOptions.ts
606
+ if (option === DepositAddressPaymentOptions.ETHEREUM_USDT) {
607
+ token = ethereumUSDT;
611
608
  }
612
- else if (option === DepositAddressPaymentOptions.STELLAR) {
613
- token = rozoStellarUSDC;
609
+ else if (option === DepositAddressPaymentOptions.ETHEREUM_USDC) {
610
+ token = ethereumUSDC;
614
611
  }
615
- else if (option === DepositAddressPaymentOptions.POLYGON) {
616
- token = polygonUSDC;
612
+ else if (option === DepositAddressPaymentOptions.BASE_USDC) {
613
+ token = baseUSDC;
617
614
  }
618
- else if (option === DepositAddressPaymentOptions.BSC) {
619
- token = bscUSDT;
615
+ else if (option === DepositAddressPaymentOptions.SOLANA_USDT) {
616
+ token = rozoSolanaUSDT;
620
617
  }
621
- else if (option === DepositAddressPaymentOptions.WORLD) {
622
- token = worldchainUSDC;
618
+ else if (option === DepositAddressPaymentOptions.SOLANA_USDC) {
619
+ token = rozoSolanaUSDC;
623
620
  }
624
- log("[PAY DEPOSIT ADDRESS] hydrating order");
621
+ log?.("[PAY DEPOSIT ADDRESS] hydrating order");
625
622
  const { order } = await pay.hydrateOrder(undefined, {
626
623
  required: {
627
624
  token: {
628
625
  token: token.token,
626
+ chainId: token.chainId,
629
627
  },
630
628
  },
629
+ fees: {
630
+ usd: fees?.fee ?? 0,
631
+ },
631
632
  });
632
- log(`[PAY DEPOSIT ADDRESS] hydrated order ${order.id} for ${order.usdValue} USD, checking out with deposit address: ${option}`);
633
+ log?.(`[PAY DEPOSIT ADDRESS] hydrated order ${order.id} for ${order.usdValue} USD, checking out with deposit address: ${option}`);
633
634
  // const result = await trpc.getDepositAddressForOrder.query({
634
635
  // orderId: order.id.toString(),
635
636
  // option,
636
637
  // });
637
638
  const chain = getChainById(token.chainId);
638
- log(order);
639
+ log?.(`[PAY DEPOSIT ADDRESS] order: ${debugJson(order)}`);
640
+ if (!order.preferredChainId || !order.preferredTokenAddress) {
641
+ throw new Error("Preferred chain or token address not found");
642
+ }
643
+ const preferredToken = getKnownToken(Number(order.preferredChainId), order.preferredTokenAddress);
644
+ if (!preferredToken) {
645
+ throw new Error("Preferred token not found");
646
+ }
639
647
  const evmDeeplink = generateEVMDeepLink({
640
- amountUnits: order.destFinalCallTokenAmount.amount,
641
- chainId: order.destFinalCallTokenAmount.token.chainId,
648
+ amountUnits: parseUnits(order.destFinalCallTokenAmount.usd.toString(), preferredToken.decimals).toString(),
649
+ chainId: preferredToken.chainId,
642
650
  recipientAddress: order.intentAddr,
643
- tokenAddress: order.destFinalCallTokenAmount.token.token,
651
+ tokenAddress: preferredToken.token,
644
652
  });
645
653
  return {
646
654
  address: order.intentAddr,
@@ -664,7 +672,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
664
672
  finally {
665
673
  // Remove from processing set when done (allow retries after completion/failure)
666
674
  depositAddressCallRef.current.delete(option);
667
- log(`[PAY DEPOSIT ADDRESS] Finished processing for ${option}`);
675
+ log?.(`[PAY DEPOSIT ADDRESS] Finished processing for ${option}`);
668
676
  }
669
677
  };
670
678
  const { isIOS } = useIsMobile();
@@ -784,6 +792,8 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
784
792
  payParams: currPayParams,
785
793
  tokenMode,
786
794
  setTokenMode,
795
+ selectedChainId,
796
+ setSelectedChainId,
787
797
  generatePreviewOrder,
788
798
  isDepositFlow,
789
799
  paymentWaitingMessage,
@@ -1 +1 @@
1
- {"version":3,"file":"usePaymentState.js","sources":["../../../src/hooks/usePaymentState.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePaymentState.js","sources":["../../../src/hooks/usePaymentState.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { PaymentStatus } from '@rozoai/intent-common';
2
+ import Pusher from 'pusher-js';
2
3
  import { useState, useRef, useEffect } from 'react';
3
4
 
4
5
  /**
@@ -17,23 +18,59 @@ const PUSHER_CONFIG = {
17
18
  * @returns Pusher connection state and last status update
18
19
  */
19
20
  const usePusherPayout = (options) => {
20
- const { enabled, rozoPaymentId, onPayoutCompleted, log } = options;
21
+ const { enabled, rozoPaymentId, onPayoutCompleted, onPayinDetected, onDataReceived, log, } = options;
21
22
  const [isConnected, setIsConnected] = useState(false);
22
23
  const [lastStatusUpdate, setLastStatusUpdate] = useState(null);
23
24
  const pusherRef = useRef(null);
24
25
  const channelRef = useRef(null);
25
26
  const statusUpdateHandlerRef = useRef(null);
27
+ const isActiveRef = useRef(true);
28
+ const subscribedChannelRef = useRef(null);
26
29
  // Store callbacks in refs to prevent infinite loops
27
30
  const onPayoutCompletedRef = useRef(onPayoutCompleted);
31
+ const onPayinDetectedRef = useRef(onPayinDetected);
32
+ const onDataReceivedRef = useRef(onDataReceived);
28
33
  const logRef = useRef(log);
29
34
  // Update refs when callbacks change (without triggering re-renders)
30
35
  useEffect(() => {
31
36
  onPayoutCompletedRef.current = onPayoutCompleted;
37
+ onPayinDetectedRef.current = onPayinDetected;
38
+ onDataReceivedRef.current = onDataReceived;
32
39
  logRef.current = log;
33
40
  });
41
+ // Unsubscribe function to manually disconnect Pusher
42
+ const unsubscribe = () => {
43
+ isActiveRef.current = false;
44
+ if (channelRef.current && statusUpdateHandlerRef.current) {
45
+ try {
46
+ channelRef.current.unbind("status-update", statusUpdateHandlerRef.current);
47
+ channelRef.current.unsubscribe();
48
+ logRef.current("[PUSHER] Manual unsubscribe: Channel cleanup successful");
49
+ }
50
+ catch (error) {
51
+ logRef.current("[PUSHER] Error during manual channel cleanup:", error);
52
+ }
53
+ channelRef.current = null;
54
+ statusUpdateHandlerRef.current = null;
55
+ }
56
+ if (pusherRef.current) {
57
+ try {
58
+ pusherRef.current.disconnect();
59
+ logRef.current("[PUSHER] Manual unsubscribe: Pusher disconnected");
60
+ }
61
+ catch (error) {
62
+ logRef.current("[PUSHER] Error during manual Pusher disconnect:", error);
63
+ }
64
+ pusherRef.current = null;
65
+ }
66
+ subscribedChannelRef.current = null;
67
+ setIsConnected(false);
68
+ };
34
69
  useEffect(() => {
70
+ logRef.current(`[PUSHER] Hook effect triggered - enabled: ${enabled}, rozoPaymentId: ${rozoPaymentId}`);
35
71
  // Early return if disabled or missing payment ID
36
72
  if (!enabled || !rozoPaymentId) {
73
+ logRef.current(`[PUSHER] Skipping initialization - enabled: ${enabled}, rozoPaymentId: ${rozoPaymentId}`);
37
74
  // Clean up if we have an active connection
38
75
  if (channelRef.current) {
39
76
  channelRef.current.unbind("status-update", statusUpdateHandlerRef.current ?? undefined);
@@ -41,72 +78,81 @@ const usePusherPayout = (options) => {
41
78
  channelRef.current = null;
42
79
  }
43
80
  if (pusherRef.current) {
44
- pusherRef.current.unsubscribe(`payments-${rozoPaymentId}`);
81
+ // Only unsubscribe if we have a valid payment ID
82
+ if (rozoPaymentId) {
83
+ pusherRef.current.unsubscribe(`payments-${rozoPaymentId}`);
84
+ }
45
85
  pusherRef.current.disconnect();
46
86
  pusherRef.current = null;
47
87
  }
88
+ subscribedChannelRef.current = null;
48
89
  setIsConnected(false);
49
90
  return;
50
91
  }
92
+ // Check if we're already subscribed to the same channel
93
+ const channelName = `payments-${rozoPaymentId}`;
94
+ if (subscribedChannelRef.current === channelName &&
95
+ channelRef.current &&
96
+ pusherRef.current) {
97
+ logRef.current(`[PUSHER] Already subscribed to channel: ${channelName}, skipping re-initialization`);
98
+ return;
99
+ }
100
+ logRef.current(`[PUSHER] Initializing Pusher for payment ID: ${rozoPaymentId}`);
51
101
  // Dynamically import pusher-js to make it optional
52
- let isActive = true;
102
+ isActiveRef.current = true;
53
103
  const initializePusher = async () => {
54
104
  try {
55
- // Dynamic import to handle optional dependency
56
- const PusherModule = await import('pusher-js');
57
- const Pusher = PusherModule.default || PusherModule;
58
105
  // Initialize Pusher client
59
106
  const pusher = new Pusher(PUSHER_CONFIG.key, {
60
107
  cluster: PUSHER_CONFIG.cluster,
61
- // enabledTransports: ["ws", "wss"],
62
108
  });
63
- if (!isActive) {
109
+ if (!isActiveRef.current) {
64
110
  pusher.disconnect();
65
111
  return;
66
112
  }
67
113
  pusherRef.current = pusher;
68
114
  // Subscribe to payment channel
69
- const channelName = `payments-${rozoPaymentId}`;
70
115
  const channel = pusher.subscribe(channelName);
71
- if (!isActive) {
116
+ if (!isActiveRef.current) {
72
117
  channel.unsubscribe();
73
118
  pusher.disconnect();
74
119
  return;
75
120
  }
76
121
  channelRef.current = channel;
122
+ subscribedChannelRef.current = channelName;
77
123
  // Handle connection state
78
124
  pusher.connection.bind("connected", () => {
79
- if (isActive) {
125
+ if (isActiveRef.current) {
80
126
  logRef.current("[PUSHER] Connected to Pusher");
81
127
  setIsConnected(true);
82
128
  }
83
129
  });
84
130
  pusher.connection.bind("disconnected", () => {
85
- if (isActive) {
131
+ if (isActiveRef.current) {
86
132
  logRef.current("[PUSHER] Disconnected from Pusher");
87
133
  setIsConnected(false);
88
134
  }
89
135
  });
90
136
  pusher.connection.bind("error", (err) => {
91
- if (isActive) {
137
+ if (isActiveRef.current) {
92
138
  logRef.current("[PUSHER] Connection error:", err);
93
139
  setIsConnected(false);
94
140
  }
95
141
  });
96
142
  // Handle subscription success
97
143
  channel.bind("pusher:subscription_succeeded", () => {
98
- if (isActive) {
144
+ if (isActiveRef.current) {
99
145
  logRef.current(`[PUSHER] Subscribed to channel: ${channelName}`);
100
146
  }
101
147
  });
102
148
  channel.bind("pusher:subscription_error", (err) => {
103
- if (isActive) {
149
+ if (isActiveRef.current) {
104
150
  logRef.current(`[PUSHER] Subscription error for channel ${channelName}:`, err);
105
151
  }
106
152
  });
107
153
  // Create status update handler
108
154
  const handleStatusUpdate = (data) => {
109
- if (!isActive)
155
+ if (!isActiveRef.current)
110
156
  return;
111
157
  logRef.current("[PUSHER] Received status update:", data);
112
158
  // Validate payload
@@ -114,7 +160,16 @@ const usePusherPayout = (options) => {
114
160
  logRef.current("[PUSHER] Invalid status update payload:", data);
115
161
  return;
116
162
  }
117
- // Only process payout completed status
163
+ // Notify that data was received (for tracking activity)
164
+ if (onDataReceivedRef.current) {
165
+ onDataReceivedRef.current();
166
+ }
167
+ // Process payin detection (when source_txhash is received)
168
+ if (data.source_txhash && onPayinDetectedRef.current) {
169
+ logRef.current("[PUSHER] Payin detected (source_txhash received):", data.source_txhash);
170
+ onPayinDetectedRef.current(data);
171
+ }
172
+ // Process payout completed status
118
173
  if (data.status === PaymentStatus.PaymentPayoutCompleted) {
119
174
  setLastStatusUpdate(data);
120
175
  // Trigger callback using ref
@@ -123,16 +178,16 @@ const usePusherPayout = (options) => {
123
178
  }
124
179
  }
125
180
  else {
126
- logRef.current(`[PUSHER] Ignoring status update (not payout completed):`, data.status);
181
+ logRef.current(`[PUSHER] Status update received:`, data.status);
127
182
  }
128
183
  };
129
184
  statusUpdateHandlerRef.current = handleStatusUpdate;
130
185
  // Bind to status-update event
131
186
  channel.bind("status-update", handleStatusUpdate);
132
- logRef.current(`[PUSHER] Listening for status updates on channel: ${channelName}`);
187
+ logRef.current(`[PUSHER] Successfully initialized and listening for status updates on channel: ${channelName}`);
133
188
  }
134
189
  catch (error) {
135
- if (isActive) {
190
+ if (isActiveRef.current) {
136
191
  // Handle case where pusher-js is not installed
137
192
  if (error instanceof Error &&
138
193
  (error.message.includes("Cannot find module") ||
@@ -147,35 +202,54 @@ const usePusherPayout = (options) => {
147
202
  }
148
203
  };
149
204
  initializePusher();
150
- // Cleanup function
205
+ // Cleanup function - only runs when dependencies change
206
+ // Note: This cleanup runs before the new effect, so it cleans up the previous subscription
151
207
  return () => {
152
- isActive = false;
153
- if (channelRef.current && statusUpdateHandlerRef.current) {
154
- try {
155
- channelRef.current.unbind("status-update", statusUpdateHandlerRef.current);
156
- channelRef.current.unsubscribe();
157
- }
158
- catch (error) {
159
- logRef.current("[PUSHER] Error during channel cleanup:", error);
208
+ // Store the current subscribed channel before cleanup
209
+ const previousChannel = subscribedChannelRef.current;
210
+ // Determine what channel we're moving to based on current (old) dependency values
211
+ // This will be compared in the new effect to decide if we need to re-subscribe
212
+ const currentChannelName = enabled && rozoPaymentId ? `payments-${rozoPaymentId}` : null;
213
+ // Only cleanup if we have an active subscription
214
+ // The new effect will check if it needs to subscribe to the same or different channel
215
+ if (previousChannel) {
216
+ // If we're staying on the same channel, don't cleanup - the new effect will skip re-initialization
217
+ if (previousChannel === currentChannelName) {
218
+ logRef.current(`[PUSHER] Same channel (${previousChannel}), skipping cleanup - will reuse existing subscription`);
219
+ return;
160
220
  }
161
- channelRef.current = null;
162
- statusUpdateHandlerRef.current = null;
163
- }
164
- if (pusherRef.current) {
165
- try {
166
- pusherRef.current.disconnect();
221
+ // Different channel or disabling - cleanup is needed
222
+ isActiveRef.current = false;
223
+ if (channelRef.current && statusUpdateHandlerRef.current) {
224
+ try {
225
+ channelRef.current.unbind("status-update", statusUpdateHandlerRef.current);
226
+ channelRef.current.unsubscribe();
227
+ logRef.current(`[PUSHER] Channel cleanup successful (${previousChannel} -> ${currentChannelName || "disabled"})`);
228
+ }
229
+ catch (error) {
230
+ logRef.current("[PUSHER] Error during channel cleanup:", error);
231
+ }
232
+ channelRef.current = null;
233
+ statusUpdateHandlerRef.current = null;
167
234
  }
168
- catch (error) {
169
- logRef.current("[PUSHER] Error during Pusher disconnect:", error);
235
+ if (pusherRef.current) {
236
+ try {
237
+ pusherRef.current.disconnect();
238
+ }
239
+ catch (error) {
240
+ logRef.current("[PUSHER] Error during Pusher disconnect:", error);
241
+ }
242
+ pusherRef.current = null;
170
243
  }
171
- pusherRef.current = null;
244
+ subscribedChannelRef.current = null;
245
+ setIsConnected(false);
172
246
  }
173
- setIsConnected(false);
174
247
  };
175
248
  }, [enabled, rozoPaymentId]);
176
249
  return {
177
250
  isConnected,
178
251
  lastStatusUpdate,
252
+ unsubscribe,
179
253
  };
180
254
  };
181
255
 
@@ -1 +1 @@
1
- {"version":3,"file":"usePusherPayout.js","sources":["../../../src/hooks/usePusherPayout.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePusherPayout.js","sources":["../../../src/hooks/usePusherPayout.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}