-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(synapse-interface): Upgraded wagmi, viem, rainbowkit to 2.x #2458
Conversation
WalkthroughThe update involves a significant overhaul of the Synapse Interface, focusing on package upgrades, import optimizations, and enhanced blockchain functionality. Notable changes include version updates for key packages, migration from Changes
Recent Review DetailsConfiguration used: .coderabbit.yaml Files selected for processing (3)
Files skipped from review as they are similar to previous changes (2)
Additional comments not posted (4)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
Deploying sanguine-fe with Cloudflare Pages
|
Deploying sanguine with Cloudflare Pages
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #2458 +/- ##
===================================================
- Coverage 47.14286% 47.05342% -0.08944%
===================================================
Files 388 384 -4
Lines 29540 29373 -167
Branches 83 83
===================================================
- Hits 13926 13821 -105
+ Misses 14159 14102 -57
+ Partials 1455 1450 -5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
b802eea
to
2e61878
Compare
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.
Actionable comments posted: 9
Review Status
Configuration used: .coderabbit.yaml
Files ignored due to path filters (1)
yarn.lock
is excluded by!**/*.lock
Files selected for processing (56)
- packages/explorer-ui/package.json (1 hunks)
- packages/synapse-constants/constants/minichef.ts (1 hunks)
- packages/synapse-interface/README.md (1 hunks)
- packages/synapse-interface/actions/approveErc20Token.ts (2 hunks)
- packages/synapse-interface/actions/getErc20TokenAllowance.ts (2 hunks)
- packages/synapse-interface/actions/harvestLpPool.ts (2 hunks)
- packages/synapse-interface/actions/stakeLpToken.ts (2 hunks)
- packages/synapse-interface/actions/swapPoolAddLiquidity.ts (2 hunks)
- packages/synapse-interface/actions/swapPoolCalculateAddLiquidity.ts (2 hunks)
- packages/synapse-interface/actions/swapPoolCalculateTokenAmount.ts (2 hunks)
- packages/synapse-interface/actions/swapPoolRemoveLiquidity.ts (3 hunks)
- packages/synapse-interface/actions/swapPoolRemoveLiquidityOneToken.ts (3 hunks)
- packages/synapse-interface/actions/unstakeLpToken.ts (2 hunks)
- packages/synapse-interface/components/Activity/Activity.tsx (1 hunks)
- packages/synapse-interface/components/ConnectionIndicators.tsx (2 hunks)
- packages/synapse-interface/components/Pools/PoolHeader.tsx (2 hunks)
- packages/synapse-interface/components/Portfolio/Portfolio.tsx (2 hunks)
- packages/synapse-interface/components/Portfolio/components/PortfolioConnectButton.tsx (2 hunks)
- packages/synapse-interface/components/Portfolio/components/PortfolioContent.tsx (1 hunks)
- packages/synapse-interface/components/StateManagedBridge/BridgeTransactionButton.tsx (3 hunks)
- packages/synapse-interface/components/StateManagedBridge/InputContainer.tsx (2 hunks)
- packages/synapse-interface/components/StateManagedBridge/OutputContainer.tsx (1 hunks)
- packages/synapse-interface/components/StateManagedSwap/SwapInputContainer.tsx (2 hunks)
- packages/synapse-interface/components/StateManagedSwap/SwapTransactionButton.tsx (3 hunks)
- packages/synapse-interface/components/Wallet.tsx (3 hunks)
- packages/synapse-interface/components/_Transaction/helpers/getTransactionReceipt.ts (1 hunks)
- packages/synapse-interface/components/_Transaction/helpers/useIsTxReverted.ts (1 hunks)
- packages/synapse-interface/constants/extraWagmiChains.ts (3 hunks)
- packages/synapse-interface/constants/minichef.ts (1 hunks)
- packages/synapse-interface/contexts/SegmentAnalyticsProvider.tsx (2 hunks)
- packages/synapse-interface/contexts/UserProvider.tsx (2 hunks)
- packages/synapse-interface/ethers.ts (3 hunks)
- packages/synapse-interface/next.config.js (1 hunks)
- packages/synapse-interface/package.json (4 hunks)
- packages/synapse-interface/pages/_app.tsx (1 hunks)
- packages/synapse-interface/pages/pool/PoolBody.tsx (3 hunks)
- packages/synapse-interface/pages/pool/[poolId].tsx (2 hunks)
- packages/synapse-interface/pages/pool/poolManagement/Deposit.tsx (6 hunks)
- packages/synapse-interface/pages/pool/poolManagement/DepositButton.tsx (3 hunks)
- packages/synapse-interface/pages/pool/poolManagement/Withdraw.tsx (3 hunks)
- packages/synapse-interface/pages/pool/poolManagement/WithdrawButton.tsx (3 hunks)
- packages/synapse-interface/pages/pool/poolManagement/index.tsx (1 hunks)
- packages/synapse-interface/pages/pools/PoolCard.tsx (1 hunks)
- packages/synapse-interface/pages/pools/index.tsx (2 hunks)
- packages/synapse-interface/pages/stake/StakeCard.tsx (2 hunks)
- packages/synapse-interface/pages/stake/[routerIndex].tsx (2 hunks)
- packages/synapse-interface/pages/stake/index.tsx (2 hunks)
- packages/synapse-interface/pages/state-managed-bridge/index.tsx (5 hunks)
- packages/synapse-interface/pages/swap/index.tsx (4 hunks)
- packages/synapse-interface/slices/bridge/reducer.ts (1 hunks)
- packages/synapse-interface/slices/poolUserDataSlice.ts (1 hunks)
- packages/synapse-interface/slices/portfolio/hooks.ts (2 hunks)
- packages/synapse-interface/utils/actions/approveAndStake.tsx (3 hunks)
- packages/synapse-interface/utils/actions/approveAndWithdraw.tsx (1 hunks)
- packages/synapse-interface/utils/actions/claimStake.tsx (1 hunks)
- packages/synapse-interface/utils/actions/fetchBlockNumber.tsx (1 hunks)
Files not processed due to max files limit (16)
- packages/synapse-interface/utils/actions/fetchPortfolioBalances.tsx
- packages/synapse-interface/utils/actions/getCorePoolData.ts
- packages/synapse-interface/utils/actions/getPoolApyData.ts
- packages/synapse-interface/utils/actions/getPoolData.ts
- packages/synapse-interface/utils/actions/getPrices.ts
- packages/synapse-interface/utils/actions/getStakedBalance.ts
- packages/synapse-interface/utils/actions/getTokenAllowance.ts
- packages/synapse-interface/utils/actions/withdrawStake.tsx
- packages/synapse-interface/utils/approveToken.tsx
- packages/synapse-interface/utils/contracts/useContracts.tsx
- packages/synapse-interface/utils/hooks/usePortfolioListener.ts
- packages/synapse-interface/utils/hooks/useTokenBalance.tsx
- packages/synapse-interface/utils/hooks/useTransactionListener.ts
- packages/synapse-interface/utils/providers/SynapseProvider.tsx
- packages/synapse-interface/utils/sortTokens.ts
- packages/synapse-interface/wagmiConfig.ts
Files skipped from review due to trivial changes (1)
- packages/synapse-interface/components/StateManagedBridge/OutputContainer.tsx
Additional comments not posted (61)
packages/synapse-interface/actions/getErc20TokenAllowance.ts (1)
1-4
: LGTM! The updated imports and the inclusion ofwagmiConfig
in thereadContract
call align with the PR's objectives of upgrading libraries and refactoring the codebase.packages/synapse-interface/actions/swapPoolCalculateAddLiquidity.ts (1)
5-5
: LGTM! The addition ofwagmiConfig
and its usage in thereadContract
call are correctly implemented to align with the upgraded library requirements.packages/synapse-interface/actions/swapPoolCalculateTokenAmount.ts (1)
5-5
: LGTM! The addition ofwagmiConfig
and its usage in thereadContract
call are correctly implemented to align with the upgraded library requirements.packages/synapse-interface/components/_Transaction/helpers/getTransactionReceipt.ts (1)
8-14
: LGTM! The switch to usingsupportedChains
and acceptingchainId
as a parameter aligns with the PR's objectives and the updated library requirements.packages/synapse-interface/actions/harvestLpPool.ts (1)
2-9
: LGTM! The updated imports and function calls, including the use ofsimulateContract
,waitForTransactionReceipt
, andwagmiConfig
, align with the PR's objectives of upgrading libraries and refactoring the codebase.packages/synapse-interface/actions/stakeLpToken.ts (1)
2-9
: LGTM! The updated imports and function calls, including the use ofsimulateContract
,waitForTransactionReceipt
, andwagmiConfig
, align with the PR's objectives of upgrading libraries and refactoring the codebase.packages/synapse-interface/actions/unstakeLpToken.ts (1)
2-9
: LGTM! The updated imports and function calls, including the use ofsimulateContract
,waitForTransactionReceipt
, andwagmiConfig
, align with the PR's objectives of upgrading libraries and refactoring the codebase.packages/synapse-constants/constants/minichef.ts (1)
1-1
: The update to importAddress
fromviem
aligns with the PR's objective to consolidate type imports. Ensure all references toAddress
throughout the project have been updated accordingly.packages/synapse-interface/constants/minichef.ts (1)
1-3
: The updates to importAddress
fromviem
and adjust the import path forALL_CHAINS
are consistent with the PR's objectives. Ensure all related references are updated accordingly.packages/synapse-interface/constants/extraWagmiChains.ts (1)
34-34
: Confirm that the removal of specific blockchain configurations aligns with the project's current and future requirements.Ensure that the removal of these configurations does not impact any existing functionalities or integrations.
packages/synapse-interface/contexts/SegmentAnalyticsProvider.tsx (2)
7-7
: Consider verifying the correct import path forwagmiConfig
to ensure it aligns with the project's structure and conventions.
25-25
: Ensure that thegetAccount
function from@wagmi/core
is compatible with thewagmiConfig
parameter, especially in the context of the upgraded library versions. This is crucial for maintaining the integrity of account-related analytics events.packages/synapse-interface/utils/actions/claimStake.tsx (1)
1-1
: The change in the import of theAddress
type from@wagmi/core
toviem
aligns with the PR's objective to upgrade and refactor for new library versions. Ensure that all instances where theAddress
type is used have been updated accordingly to maintain type consistency across the project.packages/synapse-interface/pages/stake/[routerIndex].tsx (2)
1-1
: The modification to useuseAccount
instead ofuseNetwork
for determining the connected chain aligns with the updated API from the upgraded libraries. This change is a good adaptation to the new library versions.
27-27
: Ensure that thechain
object obtained fromuseAccount
is used consistently throughout the component, especially in contexts where chain-specific logic or rendering is required. This is crucial for maintaining correct functionality across different blockchain networks.packages/synapse-interface/ethers.ts (2)
3-5
: The addition ofwagmiConfig
and its usage ingetPublicClient
andgetWalletClient
function calls is a significant change that aligns with the PR's objective to upgrade and refactor for new library versions. Ensure thatwagmiConfig
is correctly configured and that its usage here is consistent with the upgraded library's requirements.
26-27
: Verify that thegetEthersProvider
function correctly handles thepublicClient
obtained fromgetPublicClient
with thewagmiConfig
parameter, especially in the context of the upgraded library versions. This is crucial for maintaining the integrity of Ethereum provider initialization.packages/synapse-interface/pages/pool/poolManagement/index.tsx (1)
2-2
: The change in the import of theAddress
type from@wagmi/core
toviem
aligns with the PR's objective to upgrade and refactor for new library versions. Ensure that all instances where theAddress
type is used have been updated accordingly to maintain type consistency across the project.packages/synapse-interface/slices/poolUserDataSlice.ts (1)
3-3
: The change in the import of theAddress
type from@wagmi/core
toviem
aligns with the PR's objective to upgrade and refactor for new library versions. Ensure that all instances where theAddress
type is used have been updated accordingly to maintain type consistency across the project.packages/synapse-interface/README.md (1)
27-27
: Clarify the intention behind changing the Node.js version requirement to exactly "18.17.0".Is this change intended to enforce a strict version requirement due to specific dependencies, or could it potentially be broadened for greater flexibility?
packages/synapse-interface/components/Pools/PoolHeader.tsx (1)
4-5
: LGTM! The changes to useuseAccount
instead ofuseNetwork
and importAddress
from 'viem' align with the PR objectives and improve consistency.packages/synapse-interface/contexts/UserProvider.tsx (1)
15-26
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [2-23]
LGTM! The introduction of
useAccountEffect
and the adjustments in destructuringuseAccount
are well-aligned with the PR's objectives and likely enhance the component's functionality.packages/synapse-interface/slices/portfolio/hooks.ts (1)
11-17
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [14-84]
LGTM! The addition of
wagmiConfig
and its usage ingetAccount(wagmiConfig)
align with the PR's objectives and ensure compatibility with the updated libraries.packages/synapse-interface/pages/pool/[poolId].tsx (1)
1-7
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [4-42]
LGTM! The update to use
useAccount
instead ofuseNetwork
for thechain
variable aligns with the PR's objectives and enhances the page's functionality.packages/synapse-interface/components/Portfolio/components/PortfolioConnectButton.tsx (1)
1-8
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [3-67]
LGTM! The switch to
switchChain
fromswitchNetwork
and the inclusion ofwagmiConfig
in theswitchChain
call align with the PR's objectives and likely improve the component's functionality.packages/synapse-interface/utils/actions/approveAndWithdraw.tsx (1)
9-9
: LGTM! The change in the import source forAddress
from 'wagmi' to 'viem' aligns with the PR's objectives and enhances consistency across the project.packages/synapse-interface/utils/actions/approveAndStake.tsx (1)
30-36
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-96]
LGTM! The change in the import source for
Address
from 'wagmi' to 'viem' and the removal of explicitTransactionReceipt
type declarations align with the PR's objectives and simplify the code without losing clarity or functionality.packages/synapse-interface/pages/pool/poolManagement/WithdrawButton.tsx (2)
15-16
: Ensure thechain
object obtained fromuseAccount
is correctly utilized throughout the component, especially in conditions that depend on the chain ID.
20-20
: The use ofuseAccountEffect
for handling disconnection is appropriate. Ensure that other account-related effects, if any, are also managed within this hook to maintain consistency.packages/synapse-interface/package.json (3)
32-32
: Upgrading@rainbow-me/rainbowkit
to version2.0.4
is in line with the PR objectives. Ensure that the application is tested thoroughly with this version as major version upgrades can introduce breaking changes.
40-40
: The addition of@tanstack/react-query
version4.28.0
is necessary for compatibility with RainbowKit 2.0. Verify that all instances where data fetching and caching are used have been migrated to usereact-query
where applicable.Verification successful
Given the corrected script did not produce any output, it suggests that there are no instances of the old data fetching pattern using
fetch(
in the JavaScript files of the codebase. This could indicate that the migration to usereact-query
for data fetching and caching, as necessitated by the addition of@tanstack/react-query
version4.28.0
for compatibility with RainbowKit 2.0, has been completed or that the initial usage of such patterns was absent.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for old data fetching patterns that should now use react-query. rg --type js "fetch("Length of output: 86
Script:
#!/bin/bash # Corrected search for old data fetching patterns that should now use react-query. rg --type js "fetch\("Length of output: 24
56-56
: Upgradingnext
to version14.1.3
is crucial for compatibility with the new library versions. Ensure that the Next.js specific features such as SSR, SSG, and API routes are tested for any potential issues introduced by the upgrade.packages/synapse-interface/pages/stake/index.tsx (1)
17-17
: Switching fromuseNetwork
touseAccount
for obtainingconnectedChain
is consistent with the library upgrades. Ensure that the logic depending on the connected chain ID functions correctly across the component.packages/synapse-interface/components/ConnectionIndicators.tsx (1)
49-49
: PassingwagmiConfig
as the first argument toswitchChain
is a significant change. Ensure thatwagmiConfig
is correctly configured and available in the scope whereswitchChain
is called.packages/synapse-interface/pages/pools/index.tsx (1)
21-21
: Switching fromuseNetwork
touseAccount
for obtainingchain
is consistent with the library upgrades. Ensure that the logic depending on the connected chain ID functions correctly across the component.packages/synapse-interface/pages/pool/poolManagement/DepositButton.tsx (1)
18-19
: Switching touseAccount
anduseSwitchChain
for account and chain management aligns with the library upgrades. Ensure that the logic for handling connection status and chain switching is correctly implemented throughout the component.packages/synapse-interface/components/StateManagedBridge/InputContainer.tsx (1)
45-45
: Switching fromuseNetwork
touseAccount
for obtainingchain
is consistent with the library upgrades. Ensure that the logic depending on the connected chain ID functions correctly across the component.packages/synapse-interface/components/Portfolio/components/PortfolioContent.tsx (1)
2-2
: LGTM!
Ensure theAddress
type from 'viem' is fully compatible with its usage throughout the codebase.packages/synapse-interface/components/StateManagedSwap/SwapInputContainer.tsx (1)
3-3
: LGTM!
Ensure thechain
object structure provided byuseAccount
is compatible with its usage throughout the component.packages/synapse-interface/components/StateManagedBridge/BridgeTransactionButton.tsx (1)
6-6
: LGTM!
Ensure the new hooksuseAccountEffect
anduseSwitchChain
are used correctly and their functionalities are fully compatible with the component's requirements.packages/synapse-interface/pages/pool/PoolBody.tsx (1)
3-3
: LGTM!
Ensure theAddress
type from 'viem' and theuseSwitchChain
hook are fully compatible with their usage in the component.packages/synapse-interface/components/Wallet.tsx (1)
3-3
: LGTM!
Ensure thechain
object structure provided byuseAccount
is compatible with its usage throughout the component.packages/synapse-interface/pages/_app.tsx (1)
1-219
: LGTM!
Ensure the newQueryClient
and the adjusted provider components are correctly implemented and fully integrated with the rest of the application.packages/synapse-interface/components/Activity/Activity.tsx (1)
5-5
: LGTM!
Ensure theAddress
type from 'viem' is fully compatible with its usage throughout the codebase.packages/synapse-interface/components/Portfolio/Portfolio.tsx (1)
4-4
: LGTM!
Ensure theAddress
type from 'viem' and the new hooksuseAccount
anduseAccountEffect
are fully compatible with their usage in the component.packages/synapse-interface/pages/pools/PoolCard.tsx (1)
2-2
: Replace the import ofAddress
from 'wagmi' with 'viem' to align with the new library versions.packages/synapse-interface/pages/pool/poolManagement/Deposit.tsx (3)
47-48
: Ensure the newly importedAddress
type from 'viem' andwagmiConfig
are correctly utilized throughout the file.
205-205
: Correctly replacedwaitForTransaction
withwaitForTransactionReceipt
to align with the updated library functions. Verify thatwagmiConfig
is correctly passed as a parameter.
337-337
: The replacement offetchBalance
withgetBalance
and the use ofwagmiConfig
is appropriate. Ensure thatwagmiConfig
is correctly configured to work with the new function calls.packages/synapse-interface/pages/pool/poolManagement/Withdraw.tsx (3)
5-6
: The replacement of the import forAddress
from 'wagmi' to 'viem' is consistent with the library upgrades. Ensure that theAddress
type is used correctly in the context of the new import.
40-40
: The addition ofwagmiConfig
import is necessary for the updated function calls. Verify thatwagmiConfig
is correctly utilized in the context ofwaitForTransactionReceipt
.
229-229
: Correctly updated thewaitForTransaction
call towaitForTransactionReceipt
and ensuredwagmiConfig
is passed as a parameter. This change aligns with the updated library functions.packages/synapse-interface/pages/swap/index.tsx (4)
18-18
: The replacement ofwaitForTransaction
withwaitForTransactionReceipt
is appropriate for the updated library usage. Ensure that all instances of transaction waiting are updated accordingly.
42-42
: The addition ofwagmiConfig
import is necessary for the updated function calls. Verify thatwagmiConfig
is correctly utilized in the context ofgetWalletClient
andwaitForTransactionReceipt
.
260-260
: Ensure thatwagmiConfig
is correctly passed as a parameter togetWalletClient
to align with the updated library functions.
294-294
: Correctly updated thewaitForTransaction
call towaitForTransactionReceipt
and ensuredwagmiConfig
is passed as a parameter. This change aligns with the updated library functions.packages/synapse-interface/pages/stake/StakeCard.tsx (2)
2-2
: The replacement of the import forAddress
from 'wagmi' to 'viem' is consistent with the library upgrades. Ensure that theAddress
type is used correctly in the context of the new import.
382-383
: The modification of the condition check fromtx?.status === 1
totx?.status === 'success'
aligns with the updated transaction status handling. Verify that this change correctly reflects the expected transaction outcomes.packages/synapse-interface/slices/bridge/reducer.ts (1)
2-2
: The import statement for theAddress
type has been updated to use 'viem' instead of 'wagmi'. Ensure that theAddress
type from 'viem' is fully compatible with its usage throughout this file.packages/synapse-interface/pages/state-managed-bridge/index.tsx (2)
2-30
: The import statements have been updated, with some additions and removals to reflect the changes in the component's dependencies. Ensure that all added imports are used within the component and that the removal of unused imports does not affect functionality.
386-399
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [352-457]
The function calls and logic related to gas estimation and transaction execution have been updated and refactored. Verify that these changes correctly implement the updated APIs and requirements of the upgraded libraries, and test to ensure they do not negatively impact performance or functionality.
packages/synapse-interface/components/_Transaction/helpers/useIsTxReverted.ts
Show resolved
Hide resolved
packages/synapse-interface/components/StateManagedSwap/SwapTransactionButton.tsx
Show resolved
Hide resolved
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.
Actionable comments posted: 1
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.
Actionable comments posted: 1
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.
Actionable comments posted: 1
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.
Actionable comments posted: 1
00efe3e
to
5b3e045
Compare
5b3e045
to
379df9f
Compare
tanstack/react-query
lib)45244ba96455bc26b8ddd974bddaf80433887417: synapse-interface preview link
45244ba96455bc26b8ddd974bddaf80433887417: explorer-ui preview link
ad468c751eb84846814b7c0b18333c467a306dc0: synapse-interface preview link
ad468c751eb84846814b7c0b18333c467a306dc0: explorer-ui preview link
8cc3598f02b59b4d636e78534b97d93818d54283: synapse-interface preview link
8cc3598f02b59b4d636e78534b97d93818d54283: explorer-ui preview link
c2a10f3fa8d188b26be2e4c7519cde362aa46846: synapse-interface preview link
c2a10f3fa8d188b26be2e4c7519cde362aa46846: explorer-ui preview link
b6867ec3b7891c0ea4625664b0fb4a93c2a46764: synapse-interface preview link
b6867ec3b7891c0ea4625664b0fb4a93c2a46764: explorer-ui preview link
dedbcb790430311100bf139649f4e02010cce5cf: synapse-interface preview link
dedbcb790430311100bf139649f4e02010cce5cf: explorer-ui preview link
539761d2e3751f74e91a6c5e6531319c0f75d9f0: synapse-interface preview link
539761d2e3751f74e91a6c5e6531319c0f75d9f0: explorer-ui preview link
bdb7b1fb84f3a5fbddc21092e09fa3eaa92c9bee: synapse-interface preview link
bdb7b1fb84f3a5fbddc21092e09fa3eaa92c9bee: explorer-ui preview link
Summary by CodeRabbit
New Features
Enhancements
Bug Fixes
Refactor
92cab529f933121df5f6d47ad57dba2b1514954a: synapse-interface preview link
92cab529f933121df5f6d47ad57dba2b1514954a: explorer-ui preview link
aa50b6f3b4720a1d79526c7d717fc2e2cfc7b61c: explorer-ui preview link
aa50b6f3b4720a1d79526c7d717fc2e2cfc7b61c: synapse-interface preview link
4fec7b7e6fc02ef195ffd0d258ff55ccbad4e3c4: synapse-interface preview link
4fec7b7e6fc02ef195ffd0d258ff55ccbad4e3c4: explorer-ui preview link
2ffd7c42afe85aa0ddf98dae6fbe94bec17fef9e: synapse-interface preview link
2ffd7c42afe85aa0ddf98dae6fbe94bec17fef9e: explorer-ui preview link
e47c5338a10dfb7e326bbf27d57607b80c8483d3: synapse-interface preview link
e47c5338a10dfb7e326bbf27d57607b80c8483d3: explorer-ui preview link
fa1d3e83afdba1958ddd88f695133a7e8d74dcd2: synapse-interface preview link
fa1d3e83afdba1958ddd88f695133a7e8d74dcd2: explorer-ui preview link
81c7256139144adecbad7927bcdabc1989fc2986: synapse-interface preview link
2f208d2e30572e1a2e8e298e6ea8fd6998bff50e: synapse-interface preview link
2f208d2e30572e1a2e8e298e6ea8fd6998bff50e: explorer-ui preview link
4571dbcaa934a3b34ca90cdd035f6f2ced02f60a: explorer-ui preview link
4571dbcaa934a3b34ca90cdd035f6f2ced02f60a: synapse-interface preview link
29d9cd0bac99ef04d97480f85572e3cc9a23a1d7: explorer-ui preview link
29d9cd0bac99ef04d97480f85572e3cc9a23a1d7: synapse-interface preview link
0cfe97c558191e1c007296a227e82bb3dfeed9da: synapse-interface preview link
0cfe97c558191e1c007296a227e82bb3dfeed9da: explorer-ui preview link
f3625f8da694a800c41e50fbbb648b6610469796: synapse-interface preview link
f3625f8da694a800c41e50fbbb648b6610469796: explorer-ui preview link
9568f0c3276dc82b21ece51e2da8c057686cf19f: synapse-interface preview link
9568f0c3276dc82b21ece51e2da8c057686cf19f: explorer-ui preview link