-
Notifications
You must be signed in to change notification settings - Fork 54
1334/only update connected wallet #1684
1334/only update connected wallet #1684
Conversation
|
Otherwise it works as expected :) |
Hey @alfetopito , great! Besides, it would be nice to display an order status (expired/filled) when we get back to an account. WDYT? |
That's super interesting, will investigate.
Since the orderId is the same on both the behaviour seems correct from CowSwap side.
I don't fully get what you mean. Are you suggesting to - when account/network changes - remove all currently displayed toast notifications?
I might be misremembering, but I think we had that at first but removed because the user might connect to an account at an undefined amount of time later and get the notifications which might be out of context/no longer relevant. |
@alfetopito , exactly
Hm. I still face them in a mobile view and have been thinking that it is OK. That is why I asked about it. |
Co-authored-by: Leandro Boscariol <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! looking fw to cherry grab this one!
status: OrderTypeKeys, | ||
order: SerializedOrder | ||
): void { | ||
// Attempt to fix `TypeError: Cannot add property <x>, object is not extensible` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see you got the idea from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Cant_define_property_object_not_extensible
..but, I don't really get it, one reason we use reduxjs/toolkit
it's because we can mutate fearlessly the state. Who do you suggest is using preventExtensions
?
We have similar logics in all other reducers. Should we be consider with the others? why this is happening now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not completely sure what was causing it, but this seemed to be the place where issues Mareen was facing came from.
For more context check the PR where this was added #1686
I was not able to reproduce it, but as you can see from the from PR, it seemed that the problem was trying to edit a readonly object.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤷
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving, although the REDUX fix bugs me a bit. It makes me a bit uncofortable to change code without understanding what is happening.
Ideally we would reproduce the case and understand it better, cause maybe this is covering something else 🤷
* Added /account/<address>/orders api endpoint * Added helper function to get explorer address link * Requiring needed properties instead of concrete types on utils fns * Added addOrUpdateOrdersBatch to orders/actions * Added useAddOrUpdateOrdersBatch to orders/hooks * Added addOrUpdateOrdersBatch to orders/reducer * Added APIOrdersUpdater that checks for orders from API on connection * Adjusted displayed orders: - At most 10 regular orders and as much pending as there are - Show only connected account orders - Sort orders by creation date descending * Show only txs for connected account * Refactoring * Don't actually need a helper fn... * Added comment to make sort more explicit * Using 'Link to Explorer' instead of 'Clear activities' * Refactoring * Refactor: cache tokens loaded const * Refactor: removed duplicated css property * Refactor: removed duplicated CSS property * Refactor: extracted function transformApiOrderToStoreOrder * Refactor: renamed _orders to apiOrders * Refactor: removed duplicated CSS property * Adjusting `View all orders` link size * Added `View all orders` to the bottom of account activity * Refactored computeOrderSummary to deal with pending orders * Computing order summary for orders loaded from API * Setting isCancelling state if order is pending and cancelled on API * Actually syncing `isCancelling` flag for existing orders * Refactor: created const for magic number MAXIMUM_ORDERS_TO_DISPLAY * Refactor: simplified addOrUpdateOrdersBatch reducer * Refactor: renamed API -> Api on file name * Refactor: replaced magic number with AMOUNT_OF_ORDERS_TO_FETCH * Refactor: converted classifyLocalStatus fn to a map * Refactor: removed `Batch` from addOrUpdateOrders * Refactor: moved error exit condition up * 1334/load new tokens not yet loaded (#1504) * Added non-hook methods for dealing with contracts * New hook useTokensLazy * Exporting stuff from original codebase * Added getMultipleCallsResults under custom/state/multicall/utils Non-hook way of fetching multiple onchain queries through multicall * Refactor ApiOrdersUpdater to load tokens not yet in the UI * Typo fix * 1334/do not refetch when token added (#1536) * Removing annoying log * No longer re-fetching orders when a token is added to the list Co-authored-by: Leandro Boscariol <[email protected]> * Refactored useTokensLazy: - Added contracts cache - Improved comments * Improved doc string on multicall utils Co-authored-by: Leandro Boscariol <[email protected]> * Fix new Erc20 import path * Adjust to new multicall interface and fetchChunk changes * Adapt to renamed of ApiOrderStatus to OrderTransitionStatus * Adjusting (again) styles for `view all activity` * Handling presignaturePending state from backend * The order is concrete at this point, no need for `?.` * 1334/only update connected wallet (#1684) * Only update cancelled orders for connected wallet * Only check for unfillable orders for connected wallet * Only check pending orders for connected wallet * Always create a new state object when adding an order (#1686) Co-authored-by: Leandro Boscariol <[email protected]> * Refactor: comparing account with order.owner lowercased for safety Co-authored-by: Leandro Boscariol <[email protected]> * Added new hook useTokenLazyNoMulticall to fetch token data one by one * Using new hook to fetch tokens instead of multicall * Removed multicall/utils * Removed useTokensLazy hook * Renamed file useTokensLazy to useTokenLazy * Renamed useTokenLazyNoMulticall to useTokenLazy * Removed unused import * Updated debug log messages * Small refactor in #1639 (#1857) * Only init bytes32Contract if we really need to * Fixing build error: only proceed if library is set Co-authored-by: Leandro Boscariol <[email protected]> * 1334/with swr (#1906) * Refactor: removed unnecessary variable * Added SWR as dev dependency * Added hook useApiOrders using useSWR hook * Using new hook for fetching api orders * Removed unused imports... Co-authored-by: Leandro Boscariol <[email protected]> Co-authored-by: Leandro Boscariol <[email protected]> Co-authored-by: Anxo Rodriguez <[email protected]>
* Only update cancelled orders for connected wallet * Only check for unfillable orders for connected wallet * Only check pending orders for connected wallet * Always create a new state object when adding an order (gnosis/cowswap#1686) Co-authored-by: Leandro Boscariol <[email protected]> * Refactor: comparing account with order.owner lowercased for safety Co-authored-by: Leandro Boscariol <[email protected]>
Summary
Waterfalls into #1639
Do not update orders that don't belong to the connected wallet
To Test