Repository: OneKeyHQ/app-monorepo
Pull request #7048: chore: daily clean
Author: login: limichange
Created: 2025-04-07T12:52:44Z | Merged: 2025-04-08T05:45:08Z



<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **Refactor**
  - Streamlined functions for notification and permission handling.
  - Adjusted component integration and media-related logic for a cleaner setup.
- **Chores**
  - Removed obsolete imports and unused code to improve maintainability.
  - Updated internal vocabulary lists for enhanced text processing.

This release focuses on internal improvements designed to simplify operations and ensure cleaner integration without altering the overall functionality or user experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->


Diff:
diff --git a/apps/desktop/app/appDevOnlyApi.ts b/apps/desktop/app/appDevOnlyApi.ts
index 64681cb6c198..3840be9af084 100644
--- a/apps/desktop/app/appDevOnlyApi.ts
+++ b/apps/desktop/app/appDevOnlyApi.ts
@@ -7,7 +7,7 @@ import type {
 
 import { ipcMessageKeys } from './config';
 
-function init(initParams: IDesktopSubModuleInitParams) {
+function init(_initParams: IDesktopSubModuleInitParams) {
   ipcMain.on(
     ipcMessageKeys.APP_DEV_ONLY_API,
     (event, apiParams: IDesktopMainProcessDevOnlyApiParams) => {
diff --git a/apps/desktop/app/appNotification.ts b/apps/desktop/app/appNotification.ts
index 28fc33c9d5a3..0652c3342d5d 100644
--- a/apps/desktop/app/appNotification.ts
+++ b/apps/desktop/app/appNotification.ts
@@ -120,9 +120,8 @@ function init({ APP_NAME, getSafelyMainWindow }: IDesktopSubModuleInitParams) {
     ipcMessageKeys.NOTIFICATION_SHOW,
     async (event, params: INotificationShowParams) => {
       // electron show notification
-      const { notificationId, title, description, icon } = params;
+      const { title, description, icon } = params;
       console.log('NOTIFICATION_SHOW ', params);
-      const uuid = notificationId || generateUUID();
       const notification = new Notification({
         title,
         body: description,
@@ -134,10 +133,11 @@ function init({ APP_NAME, getSafelyMainWindow }: IDesktopSubModuleInitParams) {
 
       notification.on('click', () => {
         logger.info('notification clicked');
-        // 可以在这里处理通知被点击的事件
-        const safelyMainWindow = getSafelyMainWindow();
+
+        // Example usage:
+        // const safelyMainWindow = getSafelyMainWindow();
         // safelyMainWindow?.webContents.send(ipcMessageKeys.NOTIFICATION_CLICKED, uuid);
-        // showMainWindow(); // 例如，显示主窗口
+        // showMainWindow();
       });
 
       notification.on('close', () => {
diff --git a/apps/desktop/app/appPermission.ts b/apps/desktop/app/appPermission.ts
index 2ce60847d8af..0feaa9e8a16d 100644
--- a/apps/desktop/app/appPermission.ts
+++ b/apps/desktop/app/appPermission.ts
@@ -10,7 +10,7 @@ import type {
 import { ipcMessageKeys } from './config';
 import { getMacAppId } from './libs/utils';
 
-function init({ APP_NAME, getSafelyMainWindow }: IDesktopSubModuleInitParams) {
+function init(_: IDesktopSubModuleInitParams) {
   ipcMain.on(
     ipcMessageKeys.APP_OPEN_PREFERENCES,
     async (_event, prefType: IPrefType) => {
diff --git a/development/spellCheckerSkipWords.js b/development/spellCheckerSkipWords.js
index ba11f362e3ae..fe217a03ea6a 100644
--- a/development/spellCheckerSkipWords.js
+++ b/development/spellCheckerSkipWords.js
@@ -1,838 +1,838 @@
 module.exports = [
-  'mixpanel',
-  'Mixpanel',
-  'changelog',
-  'qrcode',
-  'tlightning',
-  'Eip',
-  'Sizeable',
-  'Liquidty',
-  'bluetooth',
-  'passpharse',
-  'uosmo',
-  'uatom',
-  'subtype',
-  'subnetworks',
-  'tatom',
-  'Eip1559',
-  'Boardloader',
-  'fs',
-  'hdk',
-  'cbc',
-  'scrollable',
-  'Captcha',
-  'Resending',
-  'yml',
-  'captcha',
-  'dkey',
-  'zxcvbn',
-  'impls',
-  'Revenuecat',
-  'ttl',
-  'Cbc',
-  'facebook',
-  'captcha',
-  'decrypting',
-  'privy',
-  'google',
-  'Sollet',
-  'Solflare',
-  'encryptors',
-  'txids',
   '_j_msgid',
-  'Reachability',
-  'Mastercard',
-  'ord',
-  'exe',
-  'Merkle',
-  'cond',
-  'simpledb',
-  'dont',
-  'homescreen',
-  'jane',
-  'inapp',
+  '020da363502074fefdfbb07ec47abc974207951dcb1aa3c910f4a768e2c70f9c68',
+  '03171d7528ce1cc199f2b8ce29ad7976de0535742169a8ba8b5a6dd55df7e589d1',
+  '091e696dbf120ff0bd235d10681bd2a4040ba47c5135269643b962dd4a2b2285297097962c9feb1204b2f5f4855e517df2b6f96fde14783730b19212937205bb01',
+  '0a020a95220881a16498bf36d55740a8b7aebeb2315a67080112630a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412320a15418d765ef87acee24ad4ff6f5e755f36c1ee5574241215419e9113cb852004f53b25d8d565b6a1c8c310fb6118a08d0670d1e5aabeb231',
+  '0x1fffffffffffff',
+  '0xf7ad23226db5c1c00ca0ca1468fd49c8f8bbc1489bc1c382de5adc557a69c229',
+  '0xffffffffffffffffn',
+  '100vw',
+  '418d765ef87acee24ad4ff6f5e755f36c1ee557424',
+  '419e9113cb852004f53b25d8d565b6a1c8c310fb61',
+  'Abi',
+  'acc',
+  'Accum',
+  'ack',
+  'ada',
+  'addr',
+  'Addr',
+  'addr1',
+  'Ae2',
   'aes',
-  'readed',
-  'wildcard',
-  'isXprvt',
-  'mmkv',
-  'xxxxxx',
-  'faq',
-  'resized',
-  'webextensions',
-  'npx',
-  'tsc',
-  'autofix',
-  'derivetype',
-  'xfp',
-  'Markt',
-  'keyframes',
-  'splitter',
-  'lottie',
-  'sys',
-  'usb',
-  'nocache',
   'airgap',
-  'onsuccess',
-  'ethereumjs',
-  'pwkey',
-  'uid',
-  'rdns',
-  'rnd',
-  'textgroup',
-  'rdns',
-  'cancelable',
-  'hasSysUpgrade',
-  'pino',
-  'vitalik',
-  'bsc',
-  'nonWitnessInputPrevTxids',
-  'ordQueryStatus',
-  'Blockie',
-  'Unspaced',
-  'jsx',
-  'Ver',
-  'hd',
+  'akash',
+  'alg',
+  'algo',
+  'Algo',
+  'Algod',
+  'algodv2',
+  'algorand',
+  'alloc',
+  'allowlist',
+  'allowpopups',
+  'alph',
+  'Andkeys',
+  'Anim',
+  'apk',
+  'apns',
+  'apr',
+  'aptos',
+  'Aptos',
+  'Apy',
+  'Apys',
   'arbitrum',
-  'mipd',
-  'Wagmi',
-  'wagmi',
-  'Jotai',
-  'jotai',
-  'xprvt',
-  'readwrite',
+  'argv',
+  'ascii',
+  'asm',
+  'assignee',
+  'authenticator',
+  'Authenticator',
+  'autofix',
+  'autoplay',
+  'axios',
+  'Axios',
+  'babylon',
+  'backends',
   'backuped',
-  'cointype',
-  'debounced',
-  'Debounced',
-  'memoizee',
-  'normalizer',
-  'unittest',
-  'Cancelled',
-  'Ble',
+  'bch',
+  'Bch',
+  'bcrypto',
+  'bcs',
+  'Bcs',
+  'bech32',
+  'Bech32',
+  'benfen',
+  'bezier',
+  'bfc',
+  'bfr',
+  'biometric',
+  'Biometric',
+  'biometrics',
+  'bip',
+  'bip0322',
+  'bip32',
+  'Bip32',
+  'Bip322',
+  'bip39',
   'bip39',
   'Bip39',
-  'bip',
-  'IBip39',
-  'ethers',
-  'mutex',
-  'instanceof',
-  'extensionizer',
-  'assignee',
-  'keyring',
-  'goerli',
-  'gwei',
-  'eip1559',
-  'schemas',
-  'macos',
-  'Huawei',
-  'haptics',
-  'Haptics',
-  'iphone',
-  'inited',
-  'Bootloader',
-  'hermes',
-  'jsdoc',
-  'shortname',
-  'shortcode',
-  'camelcase',
-  'xhr',
-  'Monero',
-  'coinbase',
-  'mempool',
-  'Outout',
+  'bitcoind',
+  'bitwise',
+  'blake',
+  'blake2b',
+  'Blake2b224',
+  'Ble',
+  'blockbook',
   'blockchain',
-  'Txs',
-  'Perf',
-  'firefox',
-  'ethereum',
-  'webview',
-  'renderer',
-  'Offscreen',
-  'Formatjs',
-  'Trx',
-  'trx',
-  'ipc',
-  'sdk',
-  'argv',
-  'storages',
-  'resizable',
-  'pathname',
-  'deeplinking',
-  'dom',
-  'unmaximize',
-  'msg',
-  'urls',
-  'metamask',
-  'Sdk',
-  'iframe',
-  'Cmd',
-  'keytar',
-  'instance’s',
-  'deeplink',
-  'osx',
-  'csp',
-  'backends',
-  'trezor',
-  'decrypt',
-  'Bool',
+  'Blockdag',
+  'Blockflow',
+  'blockhash',
+  'Blockie',
+  'bluetooth',
+  'Boardloader',
   'bool',
-  'Renderer',
-  'func',
-  'Ipc',
-  'globals',
-  'promisify',
-  'Axios',
-  'jpush',
-  'bitwise',
-  'notifee',
-  'wmic',
-  'stdout',
-  'stderr',
-  'ack',
-  'readdir',
-  'uptime',
-  'offscreen',
-  'onekey',
-  'apns',
-  'wns',
-  'onekeyhq',
-  'Iframe',
-  'notificationstate',
-  'dragover',
-  'monorepo',
-  'zhihu',
-  "'zhihu",
-  'onekeyfe',
-  'axios',
-  'vespaiach',
-  "'axios'",
-  'offscreens',
-  'Inoffscreen',
-  'typeof',
-  'dapp',
-  'ada',
-  'xmr',
-  'consts',
-  'href',
-  'resize',
-  'tsx',
-  'shtml',
-  'popups',
-  "'resize'",
-  'popui',
-  'Idx',
-  'closable',
-  'Themeable',
-  'focusable',
-  'styleable',
-  'Checkbox',
+  'Bool',
+  'Bootloader',
+  'bs58',
+  'bs58check',
+  'bsc',
+  'btc',
+  'Btc',
+  'btg',
+  'buf',
+  'Buf',
+  'bufs',
+  'bundler',
+  'cacheable',
+  'caips',
+  'calc',
+  'camelcase',
+  'cancelable',
+  'Cancelled',
+  'captcha',
+  'captcha',
+  'Captcha',
+  'cardano',
+  'Cardano',
+  'cbc',
+  'Cbc',
+  'Cbor',
+  'ccall',
+  'cex',
+  'Cex',
+  'cfx',
+  'Cfx',
+  'changelly',
+  'Changelly',
+  'changelog',
+  'chanid',
   'checkbox',
-  'Pressable',
-  'num',
-  'Webkit',
-  'Fieldset',
-  'Tooltip',
-  'unstyled',
-  'Interpolator',
-  'Anim',
-  'bezier',
+  'Checkbox',
+  'checksum',
+  'Checksum',
+  'cip',
+  'ciphertext',
+  'ckb',
+  'closable',
+  'Cmd',
+  'cmp',
+  'Cmp',
+  'Codec',
+  'codespace',
+  'coinbase',
+  'coingecko',
+  'coinselect',
+  'cointype',
   'Collpase',
-  'Nullable',
-  'plaform',
-  'Moti',
-  'Num',
-  "ttf'",
-  'Tamagui',
-  'Memoized',
-  'Svg',
+  'COMMITHASH',
+  'compat',
+  'cond',
+  'conflux',
+  'consts',
+  'consts',
+  'Consts',
+  'copyable',
+  'cosmoshub',
+  'cosmwasm',
+  'Cosmwasm',
+  'Cowswap',
+  'crc',
+  'crc32',
+  'Cron',
+  'cryptoorgchain',
+  'csp',
+  'ctime',
+  'Ctx',
+  'Cyrl',
+  'Daa',
+  'dai',
+  'dapp',
+  'dappradar',
+  'dapps',
+  'dayjs',
+  'dbs',
+  'Ddz',
+  'debounce',
+  'debounced',
+  'Debounced',
+  'dec',
+  'decrypt',
+  'Decrypt',
+  'decrypted',
+  'decrypting',
+  'deeplink',
+  'deeplinking',
+  'defi',
+  'Defi',
   'Defs',
-  'Rect',
+  'Delegator',
+  'denom',
+  'Denom',
+  'dep',
+  'der',
+  'deriver',
+  'Deriver',
+  'derivers',
+  'derivetype',
+  'deserializer',
+  'Deserializer',
+  'dex',
+  'Dex',
+  'dgb',
+  'dkey',
+  'dnt',
+  'Dnx',
+  'dom',
+  'dont',
+  'dragover',
+  'ecc',
+  'Ecc',
+  'ecdsa',
   'ecl',
-  'Responder',
-  'Readonly',
-  'tabbar',
-  'haptic',
-  'heading5xl',
-  'heading4xl',
-  'heading3xl',
-  'heading2xl',
-  'tamagui',
-  'revealable',
+  'ecrecover',
+  'eddsa',
+  'eip',
+  'Eip',
+  'eip1559',
+  'Eip1559',
+  'eip712',
+  'ejs',
+  'electron',
   'Encodings',
-  'Msg',
-  'xpvt',
-  'Btc',
-  'btc',
-  'uncompress',
-  'Verifier',
-  'Pubkey',
-  'Uint8',
-  'Prvkey',
-  'alloc',
-  'nistp256',
-  'secp256k1',
-  'pubkey',
-  'Infos',
-  'pvtkey',
-  'infos',
-  'Algo',
-  "algo'",
-  'Bch',
-  "bch'",
-  "btc'",
-  'Cfx',
-  "cfx'",
+  'encryptor',
+  'encryptors',
+  'endian',
+  'Endian',
+  'endianness',
+  'Endianness',
+  'english',
+  'Enum',
+  'enums',
+  'eqeqeq',
+  'esm',
+  'eth',
+  'Ethena',
+  'ethereum',
+  'ethereumjs',
+  'ethermint',
+  'ethers',
+  'everstake',
+  'evm',
   'Evm',
-  "evm'",
+  'exe',
+  'exif',
+  'extensionizer',
+  'Ezo',
+  'f2pool',
+  'facebook',
+  'faq',
+  'fav',
+  'favicon',
+  'favicon',
+  'favicons',
+  'fdv',
+  'fe9e81633ce99ef11814b3b836fb2ac8e841ab45fe4e7d68422c2a6b6be7f3c2',
+  'fet',
+  'Fieldset',
   'Fil',
-  "fil'",
-  'Kaspa',
-  "kaspa'",
-  'Ltc',
-  "ltc'",
-  'Nexa',
-  "nexa'",
-  'Stc',
-  "stc'",
-  "sui'",
-  'Xmr',
-  "xmr'",
-  'Xrp',
-  "xrp'",
-  'evm',
-  'bch',
-  'ltc',
-  'algo',
-  'cfx',
-  'xrp',
-  'stc',
-  'kaspa',
-  'sui',
-  'nexa',
-  'Serializable',
-  'txid',
-  'Testnet',
-  'wasm',
-  'asm',
-  'stdlib',
-  'Utxo',
-  'Xprv',
-  'xprv',
-  'Cardano',
-  'addr',
-  'bech32',
-  'Blake2b224',
-  'xpubkey',
-  'blake2b',
-  'xpub2blake2b224',
-  'addr1',
-  'Ae2',
-  'Ddz',
-  'Keypair',
-  "'xprv'",
-  "'utf8'",
-  "sdk'",
-  'cardano',
-  'Utxos',
-  'Cbor',
-  'webembed',
-  'webembeds',
-  'shelley',
-  'Trezor',
-  'utxos',
-  'utxo',
-  'Tranfer',
-  "'withdrawable",
-  "'utxo",
-  "'mir",
-  "'shelley'",
-  'sig',
-  'txn',
-  "'algosdk",
-  'esm',
-  "'algosdk'",
-  'Aptos',
-  'Txn',
+  'filecoin',
+  'filepath',
+  'filetype',
+  'firefox',
+  'focusable',
+  'Formatjs',
+  'formatter',
+  'fs',
+  'fucntion',
+  'func',
+  'Func',
+  'getr',
+  'gif',
+  'gitkeep',
+  'glmt',
+  'globals',
+  'goerli',
+  'google',
+  'goto',
+  'gt2xl',
+  'gte',
+  'gwei',
+  'haptic',
+  'haptics',
+  'Haptics',
+  'hashbuf',
+  'Hasher',
+  'hashify',
+  'hasSysUpgrade',
+  'hd',
+  'hdk',
+  'heading2xl',
+  'heading3xl',
+  'heading4xl',
+  'heading5xl',
+  'hermes',
   'hexlify',
-  'deserializer',
-  'Deserializer',
-  'authenticator',
-  'Authenticator',
-  'bcs',
-  'Psbt',
-  'Psbts',
-  'bs58check',
-  'Varuint',
-  'Deriver',
-  'Ecc',
-  'msghash',
-  'bip0322',
-  'bip32',
-  'segwit',
-  'p2pkh',
-  'p2wpkh',
-  'Publickey',
-  'psbt',
-  'plusplus',
-  'vout',
-  'deriver',
-  'Priv',
-  'blockbook',
-  'Bip322',
-  'Sig',
-  'len',
-  'sighash',
-  'Str1',
-  'Str2',
-  '03171d7528ce1cc199f2b8ce29ad7976de0535742169a8ba8b5a6dd55df7e589d1',
-  '020da363502074fefdfbb07ec47abc974207951dcb1aa3c910f4a768e2c70f9c68',
-  'Segwit',
-  'ecc',
-  'Secp256k1',
-  'priv',
-  'Str',
-  'tbtc',
-  'sbtc',
-  'testnet',
-  'rbtc',
-  'regtest',
-  'wif',
-  'btg',
-  'dgb',
-  'nmc',
-  'vtc',
-  'conflux',
-  'keccak256',
-  'Msgs',
-  'rlp',
-  'ethermint',
-  'denom',
-  'ripemd160',
-  'juno',
-  'terra',
-  'Denom',
-  'msgs',
-  'acc',
-  'Wasm',
-  'ibc',
-  'undelegate',
-  'redelegate',
-  'Delegator',
-  'Redelegate',
-  'Undelegate',
-  'protobuf',
-  'Codec',
+  'Hexs',
+  'Hira',
+  'hmac',
+  'Hmac',
+  'hodl',
+  'homescreen',
+  'href',
   'hrp',
-  'Buf',
-  'Cosmwasm',
-  'wasmd',
-  "'utf",
-  'utf',
-  'Secretwasm',
-  'cosmwasm',
-  'terra2',
-  'secretnetwork',
-  'cosmoshub',
-  'akash',
-  'Relayer',
-  'cryptoorgchain',
-  'injective',
-  "'injective'",
-  'sendable',
-  'Tryopen',
-  'Icahost',
+  'Huawei',
+  'ibc',
   'Ibc',
-  'txhash',
-  'codespace',
-  'Func',
-  'Kdsr',
-  'Ezo',
-  'Nh64',
-  'Vrku',
-  'Dnx',
-  'Zx4',
-  'ecdsa',
-  'sr25519',
-  'uint8',
-  'uint256',
-  'uint',
-  'Unprefixed',
-  'eip712',
-  'zondax',
-  'izari',
-  'filecoin',
+  'IBip39',
+  'Icahost',
+  'Icloud',
+  'ico',
+  'ident',
+  'Idx',
+  'iframe',
+  'Iframe',
+  'impl',
+  'impls',
+  'inapp',
+  'infos',
+  'Infos',
+  'inited',
+  'injective',
+  'Inoffscreen',
+  'Inpage',
+  'instance’s',
+  'instanceof',
+  'instatiate',
+  'Interpolator',
+  'ints',
+  'invoker',
+  'ipc',
+  'Ipc',
+  'iphone',
   'ipld',
-  "cbor'",
-  'blake',
-  'Ctx',
-  'fucntion',
-  'checksum',
-  'subarray',
-  'Checksum',
-  'Blockdag',
-  'Daa',
-  'Sompi',
-  'sompi',
-  '0xffffffffffffffffn',
-  'pri',
-  'Schnorr',
-  'der',
-  'satoshis',
+  'isXprvt',
+  'itms',
+  'izari',
+  'jane',
+  'jotai',
+  'Jotai',
+  'jpeg',
+  'jpg',
+  'jpush',
+  'jsdoc',
+  'jsonrpc',
+  'jsx',
+  'juno',
+  'kaspa',
+  'Kaspa',
+  'Kdsr',
+  'keccak256',
+  'keyframes',
+  'keyof',
+  'Keypair',
+  'keyring',
+  'keysend',
+  'keytar',
+  'Lamports',
+  'lang',
+  'lasttime',
+  'Latn',
+  'len',
+  'linux',
+  'Liquidty',
+  'litecoin',
+  'Lnurl',
+  'localhost',
+  'locktime',
+  'Lokalise',
+  'lottie',
+  'lru',
+  'ltc',
+  'Ltc',
+  'lte',
+  'macos',
+  'mainnet',
+  'malloc',
+  'Markt',
+  'Mastercard',
+  'Matic',
+  'Medate',
+  'Memoized',
+  'memoizee',
+  'mempool',
+  'Merkle',
+  'metamask',
+  'metrix',
+  'Metrix',
+  'mev',
+  'Mev',
+  'millisatoshis',
+  'mipd',
+  'mixpanel',
+  'mixpanel',
+  'Mixpanel',
+  'Mixpanel',
+  'mmkv',
+  'monero',
+  'Monero',
+  'monorepo',
+  'Morpho',
+  'Moti',
+  'msg',
+  'Msg',
+  'msgbuf',
+  'msghash',
+  'msgs',
+  'Msgs',
+  'mtime',
+  'mul',
+  'mutex',
+  'namespace',
+  'namespaces',
+  'natsort',
   'necc',
-  'hashbuf',
-  'Sighash',
-  'schnorr',
+  'neo',
+  'nettype',
+  'neurai',
+  'nexa',
+  'Nexa',
+  'nfc',
+  'nft',
+  'nfts',
+  'Nh64',
   'nhashtype',
-  'sigtype',
-  'sigs',
-  'subnetwork',
-  'bs58',
-  'serializable',
-  'str',
-  'Uint5',
-  'polymod',
-  'endian',
-  'Endianness',
+  'nist256p1',
+  'nistp256',
+  'nmc',
+  'nocache',
+  'nonWitnessInputPrevTxids',
+  'normalizer',
+  'nostr',
+  'notifee',
+  'notificationstate',
+  'npub',
+  'npx',
+  'Nullable',
+  'num',
+  'Num',
+  'Numberish',
+  'Oauth',
+  'Offchain',
+  'offscreen',
+  'Offscreen',
+  'offscreens',
+  'okx',
+  'Okx',
+  'OKX',
+  'onboard',
+  'onboarding',
+  'onekey',
+  'onekeyall',
+  'onekeyfe',
+  'onekeyhq',
+  'onekeyid',
+  'onopen',
+  'Ons',
+  'onsuccess',
   'Opcode',
-  'timelocks',
-  'buf',
   'opcodenum',
-  'varint',
-  '0x1fffffffffffff',
-  'instatiate',
-  'endianness',
-  'Varint',
-  'hmac',
-  'Endian',
-  'privkey',
-  'msgbuf',
-  'getr',
-  'xbuf',
-  'ybuf',
-  'mul',
-  'gte',
-  'umod',
-  "'nexatest",
-  "nqtsq5g5llmjhut9fuzst4993zmk62m89rw2gztuvl376dp0'",
-  "nqtsq5g5wud2fr7l32as0mfzms3hwnz7dxvsc2h8szatr5p8'",
-  "nqtsq5g5l7rgf6mrvuhrjke8vsm4ng60q86vdycptqn79epv'",
-  "nqtsq5g5skxwlgtmsl99hj6tt8hmsa52cxft09um2md36p07'",
-  "nqtsq5g50frur0vav60gupjlrr8cta8vyqufu7p9gskt92mz'",
-  'mainnet',
-  'pubkeyhash',
+  'ord',
+  'ordQueryStatus',
+  'osx',
+  'Otp',
+  'Outout',
+  'p2pkh',
+  'p2wpkh',
+  'pageview',
+  'passcode',
+  'passpharse',
+  'passphrase',
+  'pathname',
+  'payin',
+  'payout',
+  'Pbkdf2',
+  'Pendle',
+  'Perf',
+  'persistor',
+  'Persistor',
+  'pino',
+  'plaform',
+  'plaintext',
+  'playsinline',
+  'plist',
+  'plusplus',
+  'png',
+  'pnl',
+  'Polkadot',
+  'polymod',
+  'popui',
+  'popups',
+  'pos',
+  'preimage',
+  'Pressable',
+  'pri',
+  'prioritys',
+  'priv',
+  'Priv',
   'privatekey',
-  'scripthash',
-  'xprivkey',
-  'chanid',
-  'publickey',
-  'locktime',
-  'scriptlen',
-  'bfr',
-  'satoshi',
-  'Txid',
-  'satisfier',
-  "'schnorr'",
-  'Sigs',
-  'Versioned',
-  'seriliazable',
-  'starcoin',
-  'Starcoin',
-  'verifier',
-  'Addr',
-  'Bcs',
-  'Hasher',
-  'monero',
   'Privatekey',
-  'nettype',
-  'Ptr',
-  'malloc',
-  'ccall',
-  'Subaddress',
-  'scalarmult',
-  'Andkeys',
-  'Webembed',
-  'pos',
-  'ident',
-  'ptr',
-  'Uint16',
-  'Uint32',
-  'crc',
-  'crc32',
+  'privkey',
+  'privy',
+  'promisify',
+  'protobuf',
   'prv',
-  'ser',
-  'ser32',
-  'ser256',
-  'eqeqeq',
-  'bip39',
-  'Revealable',
-  'passphrase',
-  'wordlists',
-  'english',
-  'lang',
-  'wordlist',
-  'eddsa',
-  'Pbkdf2',
-  'Hmac',
-  "'aes",
-  "cbc'",
-  'rsa',
-  "'rsa",
-  'Decrypt',
-  'lte',
-  'nist256p1',
   'Prv',
-  'encryptor',
-  'derivers',
-  'bcrypto',
-  'bufs',
-  'Seg',
-  'lasttime',
-  "'msg",
-  'Oauth',
-  'Inpage',
-  'Webview',
-  'unmount',
-  'uri',
-  'useragent',
-  'allowpopups',
-  'playsinline',
-  'autoplay',
-  'onboarding',
-  "'rbga",
-  'ejs',
-  'formatter',
-  'cmp',
-  'Cmp',
-  'Tabview',
-  'rrt',
-  'natsort',
+  'Prvkey',
+  'psbt',
+  'Psbt',
+  'Psbts',
+  'ptr',
+  'Ptr',
+  'pubkey',
+  'Pubkey',
+  'pubkeyhash',
+  'publickey',
+  'Publickey',
+  'punycode',
+  'pvtkey',
+  'pwkey',
+  'qrcode',
+  'qrcode',
+  'Queueing',
+  'Rabby',
+  'rbf',
+  'rbtc',
+  'rdns',
+  'rdns',
+  'Reachability',
+  'readdir',
+  'readed',
+  'Readonly',
+  'readwrite',
+  'Rect',
+  'redelegate',
+  'Redelegate',
+  'Redux',
+  'regtest',
+  'Relayer',
+  'renderer',
+  'Renderer',
+  'replacer',
   'rerender',
   'Rerender',
-  'Sparkline',
-  'Queueing',
-  'Urls',
-  'aptos',
-  'jsonrpc',
-  'Abi',
-  'hodl',
-  'uniswap',
-  'apr',
-  'pnl',
+  'Resending',
+  'resizable',
+  'resize',
+  'resized',
+  'Responder',
+  'revalidate',
+  'revealable',
+  'Revealable',
+  'Revenuecat',
+  'rgb',
+  'ripemd160',
+  'rlp',
+  'rnd',
   'roi',
-  'tvl',
-  'eth',
-  'Enum',
-  'Defi',
-  'xpub',
-  'nfts',
-  'defi',
-  'usd',
-  'impl',
-  'coingecko',
   'rpc',
-  'Redux',
-  'Ae2',
-  'Bip32',
-  'wmin',
-  'totla',
-  'rgb',
-  '418d765ef87acee24ad4ff6f5e755f36c1ee557424',
-  '091e696dbf120ff0bd235d10681bd2a4040ba47c5135269643b962dd4a2b2285297097962c9feb1204b2f5f4855e517df2b6f96fde14783730b19212937205bb01',
-  '419e9113cb852004f53b25d8d565b6a1c8c310fb61',
-  '418d765ef87acee24ad4ff6f5e755f36c1ee557424',
-  'fe9e81633ce99ef11814b3b836fb2ac8e841ab45fe4e7d68422c2a6b6be7f3c2',
-  '0xf7ad23226db5c1c00ca0ca1468fd49c8f8bbc1489bc1c382de5adc557a69c229',
-  '0a020a95220881a16498bf36d55740a8b7aebeb2315a67080112630a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412320a15418d765ef87acee24ad4ff6f5e755f36c1ee5574241215419e9113cb852004f53b25d8d565b6a1c8c310fb6118a08d0670d1e5aabeb231',
-  'favicon',
-  'favicons',
-  'webln',
-  'submenu',
-  'unregister',
-  'debounce',
-  'goto',
-  'Polkadot',
+  'rrt',
+  'rsa',
+  'satisfier',
+  'satoshi',
+  'satoshis',
+  'sats',
+  'sbtc',
+  'scalarmult',
+  'schemas',
+  'schnorr',
+  'Schnorr',
+  'scripthash',
+  'scriptlen',
+  'scrollable',
+  'sdk',
+  'Sdk',
+  'secp256k1',
+  'Secp256k1',
+  'secretnetwork',
+  'Secretwasm',
+  'Seg',
+  'segwit',
+  'Segwit',
+  'semver',
+  'sendable',
+  'sepolia',
+  'ser',
+  'ser256',
+  'ser32',
+  'serializable',
+  'Serializable',
+  'seriliazable',
+  'shelley',
+  'shortcode',
+  'shortname',
+  'shtml',
+  'sig',
+  'Sig',
+  'sighash',
+  'Sighash',
+  'Signin',
+  'signup',
+  'sigs',
+  'Sigs',
+  'sigtype',
+  'simpledb',
+  'Sizeable',
+  'snd',
   'Solana',
-  'localhost',
-  'Persistor',
-  'persistor',
-  'Cron',
-  'enums',
-  'Xxs',
-  'bitcoind',
-  'metrix',
-  'Metrix',
-  'filepath',
-  'filetype',
-  'unlink',
-  'Tx',
-  'unlink',
-  'keyof',
-  'txt',
-  'mtime',
-  'ctime',
+  'Solflare',
+  'Sollet',
+  'sompi',
+  'Sompi',
+  'Sparkline',
+  'splitter',
+  'sr25519',
+  'starcoin',
+  'Starcoin',
+  'stc',
+  'Stc',
+  'stderr',
+  'stdlib',
+  'stdout',
+  'storages',
+  'str',
+  'Str',
+  'Str1',
+  'Str2',
   'stringified',
-  'favicon',
-  'ico',
-  'Ons',
-  'jpg',
-  'png',
-  'gif',
-  'jpeg',
-  'Themeable',
-  'alg',
-  'gitkeep',
-  'COMMITHASH',
+  'Struct',
+  'styleable',
+  'Subaddress',
+  'subarray',
+  'submenu',
+  'subnetwork',
+  'subnetworks',
+  'subtype',
+  'sui',
+  'Svg',
   'swft',
   'Swft',
-  'dayjs',
   'swipeable',
-  'nft',
-  'dappradar',
-  'dapps',
-  'Webpack',
-  'namespace',
-  'namespaces',
-  'eip',
-  'gt2xl',
-  'calc',
-  '100vw',
-  'Utxo',
-  'Struct',
-  'ints',
-  'uints',
-  'ufixedM',
-  'ufixed',
+  'swiper',
+  'sym',
   'sym', // WalletConnect uri params
+  'sys',
+  'tabbar',
+  'Tabview',
+  'tamagui',
+  'Tamagui',
+  'Tarask',
+  'tatom',
+  'tbtc',
+  'terra',
+  'terra2',
+  'testnet',
+  'Testnet',
+  'textgroup',
+  'Themeable',
+  'Themeable',
+  'thor',
+  'timelocks',
+  'tlightning',
+  'Tooltip',
+  'totla',
+  'Tranfer',
+  'trezor',
+  'Trezor',
+  'trx',
+  'Trx',
+  'Tryopen',
+  'tsc',
+  'tsx',
+  'ttl',
+  'tvl',
+  'Tx',
+  'txhash',
+  'txid',
+  'Txid',
+  'txids',
+  'txn',
+  'Txn',
+  'Txo',
+  'Txs',
+  'txt',
+  'typeof',
+  'uatom',
+  'ufixed',
+  'ufixedM',
+  'uid',
+  'uint',
+  'Uint16',
+  'uint256',
+  'Uint32',
+  'Uint5',
+  'uint8',
+  'Uint8',
+  'uints',
+  'umod',
+  'unbonding',
+  'uncompress',
+  'undelegate',
+  'Undelegate',
+  'unicode',
+  'uniswap',
+  'unittest',
+  'unlink',
+  'unlink',
+  'unmaximize',
+  'unmount',
+  'Unprefixed',
+  'unregister',
+  'Unspaced',
+  'unstake',
+  'Unstaking',
+  'unstyled',
+  'uosmo',
   'upsert',
-  'nostr',
-  'swiper',
-  'Numberish',
-  'qrcode',
-  'Tarask',
-  'Hira',
-  'Latn',
-  'Cyrl',
-  'sym',
-  'Viewable',
+  'uptime',
+  'uri',
+  'urls',
+  'Urls',
+  'usb',
+  'usd',
+  'usdt',
+  'useragent',
+  'utf',
+  'utxo',
+  'Utxo',
+  'Utxo',
+  'utxos',
+  'Utxos',
+  'varint',
+  'Varint',
+  'Varuint',
+  'Ver',
+  'verifier',
+  'Verifier',
+  'Versioned',
+  'vespaiach',
   'viewability',
-  'caips',
-  'glmt',
-  'walletconnect',
-  'Mixpanel',
-  'mixpanel',
-  'pageview',
-  'dnt',
-  'lru',
-  'compat',
-  'replacer',
-  'invoker',
-  'ecrecover',
-  'sats',
-  'Accum',
-  'coinselect',
-  'fav',
-  'nfc',
+  'Viewable',
+  'vitalik',
+  'vout',
+  'Vrku',
   'vsize',
-  'consts',
-  'Consts',
-  'punycode',
-  'unicode',
-  'ascii',
-  'keysend',
-  'preimage',
-  'semver',
-  'Signin',
-  'Icloud',
-  'itms',
-  'linux',
+  'vtc',
+  'wagmi',
+  'Wagmi',
+  'walletconnect',
+  'wasm',
+  'Wasm',
+  'wasmd',
+  'watchlist',
+  'webembed',
+  'Webembed',
+  'webembeds',
+  'webextensions',
+  'Webkit',
+  'webln',
+  'Webpack',
+  'webview',
+  'Webview',
   'What’s',
-  'won’t',
-  'copyable',
-  'apk',
-  'dbs',
-  'Lnurl',
-  'millisatoshis',
+  'whitepaper',
+  'wif',
+  'wildcard',
   'withdrawable',
-  'npub',
-  'plaintext',
-  'ciphertext',
-  'decrypted',
-  'cip',
-  'neurai',
-  'ckb',
+  'wmic',
+  'wmin',
+  'wns',
+  'won’t',
+  'wordlist',
+  'wordlists',
+  'xbuf',
+  'xfp',
+  'xhr',
+  'xmr',
+  'Xmr',
+  'xprivkey',
+  'xprv',
+  'Xprv',
+  'xprvt',
+  'xpub',
+  'xpub2blake2b224',
+  'xpubkey',
+  'xpvt',
+  'xrp',
+  'Xrp',
   'Xudt',
-  'Hexs',
-  'Matic',
-  'unstake',
-  'Unstaking',
-  'thor',
-  'algorand',
-  'electron',
-  'fdv',
-  'dex',
-  'Dex',
-  'whitepaper',
-  'sepolia',
-  'watchlist',
-  'usdt',
-  'babylon',
-  'changelly',
-  'Changelly',
-  'onekeyall',
-  'payin',
-  'payout',
-  'alph',
-  'onopen',
-  'everstake',
-  'unbonding',
-  'algodv2',
-  'okx',
-  'OKX',
-  'Okx',
-  'cacheable',
-  'benfen',
-  'bfc',
-  'f2pool',
-  'rbf',
-  'biometric',
-  'biometrics',
-  'Biometric',
-  'Morpho',
-  'Apy',
-  'Apys',
-  'hashify',
-  'onboard',
-  'Otp',
-  'onekeyid',
-  'passcode',
-  'signup',
-  'dep',
-  'dec',
-  'litecoin',
-  'Offchain',
-  'blockhash',
-  'Lamports',
-  'Cex',
-  'allowlist',
-  'Medate',
-  'revalidate',
-  'exif',
-  'Bech32',
-  'Txo',
-  'prioritys',
-  'snd',
-  'Algod',
-  'Blockflow',
-  'fet',
-  'cex',
-  'Lokalise',
-  'bundler',
-  'dai',
-  'neo',
-  'Pendle',
-  'Cowswap',
-  'Ethena',
-  'Mev',
-  'mev',
+  'Xxs',
+  'xxxxxx',
+  'ybuf',
+  'yml',
+  'zhihu',
+  'zondax',
+  'Zx4',
+  'zxcvbn',
+  "'aes",
+  "'algosdk'",
+  "'algosdk",
+  "'axios'",
+  "'injective'",
+  "'mir",
+  "'msg",
+  "'nexatest",
+  "'rbga",
+  "'resize'",
+  "'rsa",
+  "'schnorr'",
+  "'shelley'",
+  "'utf",
+  "'utf8'",
+  "'utxo",
+  "'withdrawable",
+  "'xprv'",
+  "'zhihu",
+  "algo'",
+  "bch'",
+  "btc'",
+  "cbc'",
+  "cbor'",
+  "cfx'",
+  "evm'",
+  "fil'",
+  "kaspa'",
+  "ltc'",
+  "nexa'",
+  "nqtsq5g50frur0vav60gupjlrr8cta8vyqufu7p9gskt92mz'",
+  "nqtsq5g5l7rgf6mrvuhrjke8vsm4ng60q86vdycptqn79epv'",
+  "nqtsq5g5llmjhut9fuzst4993zmk62m89rw2gztuvl376dp0'",
+  "nqtsq5g5skxwlgtmsl99hj6tt8hmsa52cxft09um2md36p07'",
+  "nqtsq5g5wud2fr7l32as0mfzms3hwnz7dxvsc2h8szatr5p8'",
+  "sdk'",
+  "stc'",
+  "sui'",
+  "ttf'",
+  "xmr'",
+  "xrp'",
 ];
diff --git a/packages/components/src/actions/Toast/ShowCustom.tsx b/packages/components/src/actions/Toast/ShowCustom.tsx
index 3c0204a63fe5..019e0b69739f 100644
--- a/packages/components/src/actions/Toast/ShowCustom.tsx
+++ b/packages/components/src/actions/Toast/ShowCustom.tsx
@@ -18,7 +18,6 @@ import { useSafeAreaInsets } from '../../hooks/useLayout';
 import { Stack, ThemeableStack } from '../../primitives';
 import { Trigger } from '../Trigger';
 
-import type { DismissableProps } from '@tamagui/dismissable';
 import type { GestureResponderEvent } from 'react-native';
 
 export type IShowToasterProps = PropsWithChildren<{
diff --git a/packages/components/src/layouts/Navigation/Navigator/NavigationContainer.tsx b/packages/components/src/layouts/Navigation/Navigator/NavigationContainer.tsx
index 7a457797353a..0316db6a891c 100644
--- a/packages/components/src/layouts/Navigation/Navigator/NavigationContainer.tsx
+++ b/packages/components/src/layouts/Navigation/Navigator/NavigationContainer.tsx
@@ -18,7 +18,6 @@ import { useTheme } from 'tamagui';
 import appGlobals from '@onekeyhq/shared/src/appGlobals';
 import { updateRootViewBackgroundColor } from '@onekeyhq/shared/src/modules3rdParty/rootview-background';
 import { navigationIntegration } from '@onekeyhq/shared/src/modules3rdParty/sentry';
-import platformEnv from '@onekeyhq/shared/src/platformEnv';
 
 import { useSettingConfig } from '../../../hocs/Provider/hooks/useProviderValue';
 
diff --git a/packages/components/src/layouts/SortableListView/index.native.tsx b/packages/components/src/layouts/SortableListView/index.native.tsx
index 7b517f05ea4b..d1bcb14ab0e4 100644
--- a/packages/components/src/layouts/SortableListView/index.native.tsx
+++ b/packages/components/src/layouts/SortableListView/index.native.tsx
@@ -17,12 +17,7 @@ import platformEnv from '@onekeyhq/shared/src/platformEnv';
 
 import sortableListViewUtils from './sortableListViewUtils';
 
-import type {
-  IDragEndParams,
-  IDragEndParamsWithItem,
-  ISortableListViewProps,
-  ISortableListViewRef,
-} from './types';
+import type { ISortableListViewProps, ISortableListViewRef } from './types';
 import type { StyleProp, ViewStyle } from 'react-native';
 import type {
   DragEndParams,
diff --git a/packages/core/src/chains/algo/CoreChainSoftware.ts b/packages/core/src/chains/algo/CoreChainSoftware.ts
index ee447eb981bb..6d8f6bd5b54d 100644
--- a/packages/core/src/chains/algo/CoreChainSoftware.ts
+++ b/packages/core/src/chains/algo/CoreChainSoftware.ts
@@ -63,14 +63,7 @@ export default class CoreChainSoftware extends CoreChainApiBase {
   override async getExportedSecretKey(
     query: ICoreApiGetExportedSecretKey,
   ): Promise<string> {
-    const {
-      networkInfo,
-
-      password,
-      keyType,
-      credentials,
-      addressEncoding,
-    } = query;
+    const { password, keyType, credentials } = query;
     console.log(
       'ExportSecretKeys >>>> algo',
       this.baseGetCredentialsType({ credentials }),
diff --git a/packages/core/src/chains/cosmos/CoreChainSoftware.ts b/packages/core/src/chains/cosmos/CoreChainSoftware.ts
index bf08ef3537be..302a2112eda7 100644
--- a/packages/core/src/chains/cosmos/CoreChainSoftware.ts
+++ b/packages/core/src/chains/cosmos/CoreChainSoftware.ts
@@ -145,7 +145,7 @@ export default class CoreChainSoftware extends CoreChainApiBase {
   ): Promise<ICoreApiGetAddressItem> {
     const { publicKey, networkInfo } = query;
 
-    const { baseAddress, address } = pubkeyToAddressDetail({
+    const { address } = pubkeyToAddressDetail({
       curve,
       publicKey,
       addressPrefix: networkInfo?.addressPrefix,
diff --git a/packages/core/src/chains/kaspa/types.ts b/packages/core/src/chains/kaspa/types.ts
index 870970de4ba9..c3c6002e0e8a 100644
--- a/packages/core/src/chains/kaspa/types.ts
+++ b/packages/core/src/chains/kaspa/types.ts
@@ -1,6 +1,5 @@
 import type { IKaspaUnspentOutputInfo } from './sdkKaspa';
 import type { PrivateKey, PublicKey } from '@onekeyfe/kaspa-core-lib';
-import type { ScriptBuilder } from '@onekeyfe/kaspa-wasm';
 
 export type IEncodedTxKaspa = {
   utxoIds: string[];
diff --git a/packages/kit-bg/src/dbs/simple/entity/SimpleDbEntityBrowserBookmarks.ts b/packages/kit-bg/src/dbs/simple/entity/SimpleDbEntityBrowserBookmarks.ts
index 4bffeeff3d2d..f0a4da612ae8 100644
--- a/packages/kit-bg/src/dbs/simple/entity/SimpleDbEntityBrowserBookmarks.ts
+++ b/packages/kit-bg/src/dbs/simple/entity/SimpleDbEntityBrowserBookmarks.ts
@@ -1,4 +1,4 @@
-import { cloneDeep, uniqBy } from 'lodash';
+import { cloneDeep } from 'lodash';
 
 import type { IBrowserBookmark } from '@onekeyhq/kit/src/views/Discovery/types';
 import sortUtils from '@onekeyhq/shared/src/utils/sortUtils';
diff --git a/packages/kit-bg/src/providers/ProviderApiTron.ts b/packages/kit-bg/src/providers/ProviderApiTron.ts
index cca7e3719398..a2f9cde93bfe 100644
--- a/packages/kit-bg/src/providers/ProviderApiTron.ts
+++ b/packages/kit-bg/src/providers/ProviderApiTron.ts
@@ -30,7 +30,7 @@ const TRON_SCAN_REQUESTED_URL = {
   shasta: 'https://api.shasta.trongrid.io',
 };
 
-const TRON_SCAN_HOST_WHITE_LIST = [
+export const TRON_SCAN_HOST_WHITE_LIST = [
   'tronscan.org',
   'tronscan.io',
   'shasta.tronscan.org',
diff --git a/packages/kit-bg/src/services/ServiceApp.ts b/packages/kit-bg/src/services/ServiceApp.ts
index 98745806000c..9918ff6d50e4 100644
--- a/packages/kit-bg/src/services/ServiceApp.ts
+++ b/packages/kit-bg/src/services/ServiceApp.ts
@@ -9,11 +9,6 @@ import {
   isAvailable,
   logoutFromGoogleDrive,
 } from '@onekeyhq/shared/src/cloudfs';
-import type { IAppEventBusPayload } from '@onekeyhq/shared/src/eventBus/appEventBus';
-import {
-  EAppEventBusNames,
-  appEventBus,
-} from '@onekeyhq/shared/src/eventBus/appEventBus';
 import { defaultLogger } from '@onekeyhq/shared/src/logger/logger';
 import platformEnv from '@onekeyhq/shared/src/platformEnv';
 import {
diff --git a/packages/kit-bg/src/services/ServiceCustomRpc.ts b/packages/kit-bg/src/services/ServiceCustomRpc.ts
index 06a6b9dd22af..97a0612e2b18 100644
--- a/packages/kit-bg/src/services/ServiceCustomRpc.ts
+++ b/packages/kit-bg/src/services/ServiceCustomRpc.ts
@@ -98,7 +98,6 @@ class ServiceCustomRpc extends ServiceBase {
     customRpcItems,
     isDeleted,
     skipSaveLocalSyncItem,
-    skipEventEmit,
   }: {
     fn: () => Promise<void>;
     customRpcItems: IDBCustomRpc[];
@@ -129,7 +128,6 @@ class ServiceCustomRpc extends ServiceBase {
     customNetworks,
     isDeleted,
     skipSaveLocalSyncItem,
-    skipEventEmit,
   }: {
     fn: () => Promise<void>;
     customNetworks: IServerNetwork[];
diff --git a/packages/kit-bg/src/services/ServiceDiscovery.ts b/packages/kit-bg/src/services/ServiceDiscovery.ts
index cd4692f0f7f8..adbb22b62dc5 100644
--- a/packages/kit-bg/src/services/ServiceDiscovery.ts
+++ b/packages/kit-bg/src/services/ServiceDiscovery.ts
@@ -12,7 +12,6 @@ import {
   backgroundClass,
   backgroundMethod,
 } from '@onekeyhq/shared/src/background/backgroundDecorators';
-import { EPrimeCloudSyncDataType } from '@onekeyhq/shared/src/consts/primeConsts';
 import {
   EAppEventBusNames,
   appEventBus,
diff --git a/packages/kit-bg/src/services/ServicePrimeCloudSync/ServicePrimeCloudSync.tsx b/packages/kit-bg/src/services/ServicePrimeCloudSync/ServicePrimeCloudSync.tsx
index b73822809486..8c09b4f4b6da 100644
--- a/packages/kit-bg/src/services/ServicePrimeCloudSync/ServicePrimeCloudSync.tsx
+++ b/packages/kit-bg/src/services/ServicePrimeCloudSync/ServicePrimeCloudSync.tsx
@@ -1,6 +1,5 @@
 import { debounce, isNil, uniqBy } from 'lodash';
 
-import type { IAddressItem } from '@onekeyhq/kit/src/views/AddressBook/type';
 import type { IBrowserBookmark } from '@onekeyhq/kit/src/views/Discovery/types';
 import {
   backgroundClass,
@@ -41,7 +40,6 @@ import type {
 
 import localDb from '../../dbs/local/localDb';
 import { ELocalDBStoreNames } from '../../dbs/local/localDBStoreNames';
-import simpleDb from '../../dbs/simple/simpleDb';
 import {
   addressBookPersistAtom,
   devSettingsPersistAtom,
diff --git a/packages/kit-bg/src/services/ServiceSend.ts b/packages/kit-bg/src/services/ServiceSend.ts
index fcb61b1173e7..25b3b881c4c7 100644
--- a/packages/kit-bg/src/services/ServiceSend.ts
+++ b/packages/kit-bg/src/services/ServiceSend.ts
@@ -26,10 +26,7 @@ import { generateUUID } from '@onekeyhq/shared/src/utils/miscUtils';
 import networkUtils from '@onekeyhq/shared/src/utils/networkUtils';
 import timerUtils from '@onekeyhq/shared/src/utils/timerUtils';
 import { EServiceEndpointEnum } from '@onekeyhq/shared/types/endpoint';
-import type {
-  IFeeInfoUnit,
-  ISendSelectedFeeInfo,
-} from '@onekeyhq/shared/types/fee';
+import type { ISendSelectedFeeInfo } from '@onekeyhq/shared/types/fee';
 import type { ESendPreCheckTimingEnum } from '@onekeyhq/shared/types/send';
 import { EReasonForNeedPassword } from '@onekeyhq/shared/types/setting';
 import type { IParseTransactionResp } from '@onekeyhq/shared/types/signatureConfirm';
diff --git a/packages/kit-bg/src/vaults/impls/algo/sdkAlgo/ClientAlog.ts b/packages/kit-bg/src/vaults/impls/algo/sdkAlgo/ClientAlog.ts
index 007d7355acf3..14c21faff400 100644
--- a/packages/kit-bg/src/vaults/impls/algo/sdkAlgo/ClientAlog.ts
+++ b/packages/kit-bg/src/vaults/impls/algo/sdkAlgo/ClientAlog.ts
@@ -1,10 +1,6 @@
 import type { IBackgroundApi } from '@onekeyhq/kit-bg/src/apis/IBackgroundApi';
 
-import type {
-  IAlgoAccountInformation,
-  ISdkAlgoAccountInformation,
-  ISdkAlgoSuggestedParams,
-} from '.';
+import type { IAlgoAccountInformation, ISdkAlgoSuggestedParams } from '.';
 
 export enum EAlgodMethods {
   GET_TRANSACTION_PARAMS = 'getTransactionParams',
diff --git a/packages/kit-bg/src/vaults/impls/aptos/utils.ts b/packages/kit-bg/src/vaults/impls/aptos/utils.ts
index c770ce9d1678..59a1459ea16d 100644
--- a/packages/kit-bg/src/vaults/impls/aptos/utils.ts
+++ b/packages/kit-bg/src/vaults/impls/aptos/utils.ts
@@ -37,11 +37,9 @@ import type {
   AccountAddressInput,
   AnyNumber,
   EntryFunctionABI,
-  EntryFunctionArgumentTypes,
   EntryFunctionPayloadResponse,
   InputGenerateTransactionPayloadData,
   MoveResource,
-  SimpleEntryFunctionArgumentTypes,
   TransactionResponse,
   TypeTag,
 } from '@aptos-labs/ts-sdk';
diff --git a/packages/kit/src/hooks/useSignatureConfirm.ts b/packages/kit/src/hooks/useSignatureConfirm.ts
index 86dffe285495..efaa3ae26c8d 100644
--- a/packages/kit/src/hooks/useSignatureConfirm.ts
+++ b/packages/kit/src/hooks/useSignatureConfirm.ts
@@ -19,7 +19,6 @@ import {
   EModalSignatureConfirmRoutes,
 } from '@onekeyhq/shared/src/routes';
 import networkUtils from '@onekeyhq/shared/src/utils/networkUtils';
-import type { EAccountSelectorSceneName } from '@onekeyhq/shared/types';
 import type { IFeeInfoUnit } from '@onekeyhq/shared/types/fee';
 import type { IStakingInfo } from '@onekeyhq/shared/types/staking';
 import type { ISwapTxInfo } from '@onekeyhq/shared/types/swap/types';
diff --git a/packages/kit/src/provider/Container/HardwareUiStateContainer/HardwareUiStateContainer.tsx b/packages/kit/src/provider/Container/HardwareUiStateContainer/HardwareUiStateContainer.tsx
index 7f59125426e6..214dea6d312d 100644
--- a/packages/kit/src/provider/Container/HardwareUiStateContainer/HardwareUiStateContainer.tsx
+++ b/packages/kit/src/provider/Container/HardwareUiStateContainer/HardwareUiStateContainer.tsx
@@ -690,7 +690,7 @@ function HardwareUiStateContainerCmpControlled() {
   );
 }
 
-function HardwareUiStateContainerCmp() {
+export function HardwareUiStateContainerCmp() {
   const [state] = useHardwareUiStateAtom();
   const stateRef = useRef(state);
   stateRef.current = state;
diff --git a/packages/kit/src/routes/Tab/router.ts b/packages/kit/src/routes/Tab/router.ts
index 0d9d6ef01e10..8f16c31ebb53 100644
--- a/packages/kit/src/routes/Tab/router.ts
+++ b/packages/kit/src/routes/Tab/router.ts
@@ -54,7 +54,7 @@ const getDiscoverRouterConfig = (
 };
 
 export const useTabRouterConfig = (params?: IGetTabRouterParams) => {
-  const { md, gtMd } = useMedia();
+  const { md } = useMedia();
 
   const isShowDesktopDiscover = useIsShowDesktopDiscover();
 
diff --git a/packages/kit/src/views/AccountManagerStacks/components/WalletRename/HardwareLabelSetDialog.tsx b/packages/kit/src/views/AccountManagerStacks/components/WalletRename/HardwareLabelSetDialog.tsx
index fc222731a39c..cd0533bd4978 100644
--- a/packages/kit/src/views/AccountManagerStacks/components/WalletRename/HardwareLabelSetDialog.tsx
+++ b/packages/kit/src/views/AccountManagerStacks/components/WalletRename/HardwareLabelSetDialog.tsx
@@ -4,14 +4,7 @@ import emojiRegex from 'emoji-regex';
 import { useIntl } from 'react-intl';
 
 import type { IDialogShowProps } from '@onekeyhq/components';
-import {
-  Dialog,
-  Form,
-  Input,
-  Spinner,
-  Stack,
-  Toast,
-} from '@onekeyhq/components';
+import { Dialog, Spinner, Stack, Toast } from '@onekeyhq/components';
 import backgroundApiProxy from '@onekeyhq/kit/src/background/instance/backgroundApiProxy';
 import { RenameInputWithNameSelector } from '@onekeyhq/kit/src/components/RenameDialog';
 import { MAX_LENGTH_HW_LABEL_NAME } from '@onekeyhq/kit/src/components/RenameDialog/renameConsts';
diff --git a/packages/kit/src/views/Market/components/MarketDetailOverviewContract.tsx b/packages/kit/src/views/Market/components/MarketDetailOverviewContract.tsx
index 43e332e97354..eb37b03f551c 100644
--- a/packages/kit/src/views/Market/components/MarketDetailOverviewContract.tsx
+++ b/packages/kit/src/views/Market/components/MarketDetailOverviewContract.tsx
@@ -2,7 +2,6 @@ import { useCallback, useMemo, useState } from 'react';
 
 import { useIntl } from 'react-intl';
 
-import type { IButtonProps } from '@onekeyhq/components';
 import { Button, SizableText, YStack } from '@onekeyhq/components';
 import { ETranslations } from '@onekeyhq/shared/src/locale';
 import type { IMarketDetailPlatform } from '@onekeyhq/shared/types/market';
diff --git a/packages/kit/src/views/Onboarding/pages/ConnectWallet.tsx b/packages/kit/src/views/Onboarding/pages/ConnectWallet.tsx
index fd2b93a3e63b..08983f7ea242 100644
--- a/packages/kit/src/views/Onboarding/pages/ConnectWallet.tsx
+++ b/packages/kit/src/views/Onboarding/pages/ConnectWallet.tsx
@@ -2,9 +2,8 @@ import { useCallback, useEffect, useRef, useState } from 'react';
 
 import { useRoute } from '@react-navigation/core';
 import { useIntl } from 'react-intl';
-import { StyleSheet } from 'react-native';
 
-import type { IButtonProps, IDialogInstance } from '@onekeyhq/components';
+import type { IDialogInstance } from '@onekeyhq/components';
 import {
   Button,
   Dialog,


Reviews:
user: login: coderabbitai[bot]
body: **Actionable comments posted: 2**

<details>
<summary>📜 Review details</summary>

**Configuration used: CodeRabbit UI**
**Review profile: ASSERTIVE**
**Plan: Pro**

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between f9f55f95eddac3e657e7d97b1804657dec752078 and 27a64669700f56d7519d9ed0f5675657ce047011.

</details>

<details>
<summary>📒 Files selected for processing (25)</summary>

* `apps/desktop/app/appDevOnlyApi.ts` (1 hunks)
* `apps/desktop/app/appNotification.ts` (2 hunks)
* `apps/desktop/app/appPermission.ts` (1 hunks)
* `development/spellCheckerSkipWords.js` (1 hunks)
* `packages/components/src/actions/Toast/ShowCustom.tsx` (0 hunks)
* `packages/components/src/layouts/Navigation/Navigator/NavigationContainer.tsx` (0 hunks)
* `packages/components/src/layouts/SortableListView/index.native.tsx` (1 hunks)
* `packages/core/src/chains/algo/CoreChainSoftware.ts` (1 hunks)
* `packages/core/src/chains/cosmos/CoreChainSoftware.ts` (1 hunks)
* `packages/core/src/chains/kaspa/types.ts` (0 hunks)
* `packages/kit-bg/src/dbs/simple/entity/SimpleDbEntityBrowserBookmarks.ts` (1 hunks)
* `packages/kit-bg/src/providers/ProviderApiTron.ts` (1 hunks)
* `packages/kit-bg/src/services/ServiceApp.ts` (0 hunks)
* `packages/kit-bg/src/services/ServiceCustomRpc.ts` (0 hunks)
* `packages/kit-bg/src/services/ServiceDiscovery.ts` (0 hunks)
* `packages/kit-bg/src/services/ServicePrimeCloudSync/ServicePrimeCloudSync.tsx` (0 hunks)
* `packages/kit-bg/src/services/ServiceSend.ts` (1 hunks)
* `packages/kit-bg/src/vaults/impls/algo/sdkAlgo/ClientAlog.ts` (1 hunks)
* `packages/kit-bg/src/vaults/impls/aptos/utils.ts` (0 hunks)
* `packages/kit/src/hooks/useSignatureConfirm.ts` (0 hunks)
* `packages/kit/src/provider/Container/HardwareUiStateContainer/HardwareUiStateContainer.tsx` (1 hunks)
* `packages/kit/src/routes/Tab/router.ts` (1 hunks)
* `packages/kit/src/views/AccountManagerStacks/components/WalletRename/HardwareLabelSetDialog.tsx` (1 hunks)
* `packages/kit/src/views/Market/components/MarketDetailOverviewContract.tsx` (0 hunks)
* `packages/kit/src/views/Onboarding/pages/ConnectWallet.tsx` (1 hunks)

</details>

<details>
<summary>💤 Files with no reviewable changes (10)</summary>

* packages/components/src/layouts/Navigation/Navigator/NavigationContainer.tsx
* packages/kit/src/views/Market/components/MarketDetailOverviewContract.tsx
* packages/kit-bg/src/services/ServiceDiscovery.ts
* packages/kit/src/hooks/useSignatureConfirm.ts
* packages/kit-bg/src/services/ServiceApp.ts
* packages/core/src/chains/kaspa/types.ts
* packages/components/src/actions/Toast/ShowCustom.tsx
* packages/kit-bg/src/services/ServicePrimeCloudSync/ServicePrimeCloudSync.tsx
* packages/kit-bg/src/vaults/impls/aptos/utils.ts
* packages/kit-bg/src/services/ServiceCustomRpc.ts

</details>

<details>
<summary>⏰ Context from checks skipped due to timeout of 90000ms (3)</summary>

* GitHub Check: unittest (20.x)
* GitHub Check: lint (20.x)
* GitHub Check: Analyze (javascript-typescript)

</details>

<details>
<summary>🔇 Additional comments (14)</summary><blockquote>

<details>
<summary>packages/core/src/chains/cosmos/CoreChainSoftware.ts (1)</summary>

`148-152`: **Good code cleanup!**

Removing unused `baseAddress` from destructuring improves code clarity. Since this variable wasn't used in the return object (already commented out at line 156), this cleanup makes perfect sense.

</details>
<details>
<summary>packages/kit-bg/src/services/ServiceSend.ts (1)</summary>

`29-29`: **Cleanup: Removed unused type import**

Good job removing the unused `IFeeInfoUnit` type import. This keeps the imports clean and relevant.

</details>
<details>
<summary>packages/kit-bg/src/vaults/impls/algo/sdkAlgo/ClientAlog.ts (1)</summary>

`3-3`: **Import statement cleaned up**

Nice work removing the unused `ISdkAlgoAccountInformation` type from imports. The code now only imports what it actually uses.

</details>
<details>
<summary>packages/kit/src/views/AccountManagerStacks/components/WalletRename/HardwareLabelSetDialog.tsx (1)</summary>

`7-7`: **Clean import statement - good job!**

Removed unused `Form` and `Input` imports while keeping only the components you actually use. This reduces bundle size and improves code clarity.

</details>
<details>
<summary>packages/kit-bg/src/dbs/simple/entity/SimpleDbEntityBrowserBookmarks.ts (1)</summary>

`1-1`: **Cleaned up the imports - good job!**

You removed the unused `uniqBy` import from lodash. This helps keep imports clean and focused.

</details>
<details>
<summary>packages/components/src/layouts/SortableListView/index.native.tsx (1)</summary>

`20-20`: **Good cleanup of unused type imports**

Removing the unused `IDragEndParams` and `IDragEndParamsWithItem` types keeps the imports minimal and relevant. The code now only imports what it actually uses.

</details>
<details>
<summary>packages/kit/src/routes/Tab/router.ts (1)</summary>

`57-57`: **Import cleanup looks good**

You removed the unused `gtMd` from the destructuring. The function now only extracts what it directly needs.

</details>
<details>
<summary>development/spellCheckerSkipWords.js (1)</summary>

`3-837`: **Updated spell-checker dictionary with modern tech terms**

You've updated the spell checker dictionary with relevant blockchain, crypto, and technical terms while removing outdated ones. This helps reduce false positive warnings during development.

</details>
<details>
<summary>apps/desktop/app/appDevOnlyApi.ts (1)</summary>

`10-10`: **Good practice using underscore prefix for unused parameter.**

The underscore prefix clearly signals that this parameter is intentionally unused. This helps prevent linting warnings and improves code readability.

</details>
<details>
<summary>packages/kit-bg/src/providers/ProviderApiTron.ts (1)</summary>

`33-33`: **Good move exporting the whitelist constant.**

Exporting `TRON_SCAN_HOST_WHITE_LIST` allows reuse across the codebase, ensuring consistency for TRON-related host validation. This creates a single source of truth for allowed hosts.

</details>
<details>
<summary>packages/kit/src/provider/Container/HardwareUiStateContainer/HardwareUiStateContainer.tsx (1)</summary>

`693-693`: **Appropriate component export addition.**

Adding the export keyword makes this component accessible to other modules, enhancing code modularity and reusability. This follows React best practices for component organization.

</details>
<details>
<summary>apps/desktop/app/appPermission.ts (1)</summary>

`13-13`: **Simplified parameter handling for unused properties.**

Replacing destructured parameters with a single underscore parameter is cleaner and more honest. It shows that none of the properties are used, following consistent patterns across the codebase.

</details>
<details>
<summary>apps/desktop/app/appNotification.ts (1)</summary>

`123-123`: **Destructuring simplified**

You've removed `notificationId` from the destructuring. Good cleanup of unused variables.

</details>
<details>
<summary>packages/core/src/chains/algo/CoreChainSoftware.ts (1)</summary>

`66-66`: **Removed unused parameters**

Good cleanup. Removed `networkInfo` and `addressEncoding` from destructuring since they weren't used in the method.

</details>

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-07T13:03:14Z
user: login: originalix
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-04-07T14:33:27Z
user: login: sidmorizon
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-08T05:34:20Z

Review comments:
diff_hunk: @@ -2,9 +2,8 @@ import { useCallback, useEffect, useRef, useState } from 'react';
 
 import { useRoute } from '@react-navigation/core';
 import { useIntl } from 'react-intl';
-import { StyleSheet } from 'react-native';
 
-import type { IButtonProps, IDialogInstance } from '@onekeyhq/components';
+import type { IDialogInstance } from '@onekeyhq/components';
path: packages/kit/src/views/Onboarding/pages/ConnectWallet.tsx
user: login: coderabbitai[bot]
body: _🧹 Nitpick (assertive)_

**Streamlined Import Cleanup**

You've removed the unused `IButtonProps` (and the extra `StyleSheet` import) and kept only `IDialogInstance`. This cleanup makes the file leaner and improves maintainability.

<!-- This is an auto-generated comment by CodeRabbit -->
created_at: 2025-04-07T13:03:14Z
author_association: CONTRIBUTOR
diff_hunk: @@ -134,10 +133,11 @@ function init({ APP_NAME, getSafelyMainWindow }: IDesktopSubModuleInitParams) {
 
       notification.on('click', () => {
         logger.info('notification clicked');
-        // 可以在这里处理通知被点击的事件
-        const safelyMainWindow = getSafelyMainWindow();
+
+        // Example usage:
+        // const safelyMainWindow = getSafelyMainWindow();
         // safelyMainWindow?.webContents.send(ipcMessageKeys.NOTIFICATION_CLICKED, uuid);
-        // showMainWindow(); // 例如，显示主窗口
+        // showMainWindow();
path: apps/desktop/app/appNotification.ts
user: login: coderabbitai[bot]
body: _⚠️ Potential issue_

**Comments improved with example usage**

Changing to example usage format makes the intent clearer. However, line 139 still references `uuid` which doesn't exist anymore after removing `notificationId`.


```diff
- // safelyMainWindow?.webContents.send(ipcMessageKeys.NOTIFICATION_CLICKED, uuid);
+ // safelyMainWindow?.webContents.send(ipcMessageKeys.NOTIFICATION_CLICKED, params.id);
```


<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

`````suggestion
        // Example usage:
        // const safelyMainWindow = getSafelyMainWindow();
        // safelyMainWindow?.webContents.send(ipcMessageKeys.NOTIFICATION_CLICKED, params.id);
        // showMainWindow();
`````

</details>

<!-- suggestion_end -->

<!-- This is an auto-generated comment by CodeRabbit -->
created_at: 2025-04-07T13:03:14Z
author_association: CONTRIBUTOR

PR comments:
user: login: codesandbox[bot]
created_at: 2025-04-07T12:52:47Z
body: #### Review or Edit in CodeSandbox

Open the branch in <a href="https://codesandbox.io/p/github/OneKeyHQ/app-monorepo/daily-clean-7?mode=review&utm_source=gh_app">Web Editor</a> &bull; <a href="https://codesandbox.io/p/vscode?owner=OneKeyHQ&repo=app-monorepo&branch=daily-clean-7&utm_source=gh_app">VS Code</a> &bull; <a href="https://codesandbox.io/p/vscode?owner=OneKeyHQ&repo=app-monorepo&branch=daily-clean-7&insiders=true&utm_source=gh_app">Insiders</a><br>
Open <a href="https://codesandbox.io/p/devtool/preview/OneKeyHQ/app-monorepo/daily-clean-7?task=preview&port=51423&redirect=true&utm_source=gh_app">Preview</a>

<!-- open-in-codesandbox:complete -->

author_association: NONE
user: login: coderabbitai[bot]
created_at: 2025-04-07T12:52:53Z
body: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
<!-- walkthrough_start -->

## Walkthrough

This update cleans up various codebases by renaming unused parameters, removing redundant destructuring, and eliminating unused imports and type dependencies. Method signatures in several modules have been simplified, and comments adjusted to reflect example usage. The change also streamlines notification logic, updates spell-checker word lists for modern terminology, and exposes select constants for external use. Overall, the modifications improve code clarity without altering core functionality.

## Changes

| Files | Change Summary |
| --- | --- |
| `apps/desktop/app/appDevOnlyApi.ts`, `apps/desktop/app/appNotification.ts`, `apps/desktop/app/appPermission.ts` | Renamed unused parameter(s) (e.g. to `_initParams`), removed redundant destructuring, and simplified notification handling logic. |
| `development/spellCheckerSkipWords.js` | Removed outdated entries and added modern tech/crypto terms to the skip words list. |
| `packages/components/.../Toast/ShowCustom.tsx`, `packages/components/.../Navigation/NavigationContainer.tsx`, `packages/components/.../SortableListView/index.native.tsx`, `packages/kit/src/hooks/useSignatureConfirm.ts`, `packages/kit/src/views/Market/.../MarketDetailOverviewContract.tsx`, `packages/kit/src/views/Onboarding/pages/ConnectWallet.tsx` | Removed unused type and module imports to clean up the code. |
| `packages/kit-bg/src/dbs/simple/entity/SimpleDbEntityBrowserBookmarks.ts`, `packages/kit-bg/src/providers/ProviderApiTron.ts`, `packages/kit-bg/src/services/ServiceApp.ts`, `packages/kit-bg/src/services/ServiceCustomRpc.ts`, `packages/kit-bg/src/services/ServiceDiscovery.ts`, `packages/kit-bg/src/services/ServicePrimeCloudSync/ServicePrimeCloudSync.tsx`, `packages/kit-bg/src/services/ServiceSend.ts` | Updated method signatures, removed unused parameters/imports, and exported a constant for broader accessibility. |
| `packages/core/src/chains/algo/CoreChainSoftware.ts`, `packages/core/src/chains/cosmos/CoreChainSoftware.ts`, `packages/core/src/chains/kaspa/types.ts` | Simplified function parameters by eliminating unused destructured properties and removed unneeded type imports. |
| `packages/kit-bg/src/vaults/impls/algo/sdkAlgo/ClientAlog.ts`, `packages/kit-bg/src/vaults/impls/aptos/utils.ts` | Removed unused SDK and vault-related type imports to streamline integration. |
| `packages/kit/src/provider/Container/HardwareUiStateContainer/HardwareUiStateContainer.tsx`, `packages/kit/src/routes/Tab/router.ts`, `packages/kit/src/views/AccountManagerStacks/components/WalletRename/HardwareLabelSetDialog.tsx` | Exported a component for external use and removed redundant media query variables and UI imports.

<!-- walkthrough_end -->
<!-- internal state start -->


<!-- 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 -->

<!-- internal state end -->
<!-- finishing_touch_checkbox_start -->

<details>
<summary>✨ Finishing Touches</summary>

- [ ] <!-- {"checkboxId": "7962f53c-55bc-4827-bfbf-6a18da830691"} --> 📝 Generate Docstrings

</details>

<!-- finishing_touch_checkbox_end -->
<!-- tips_start -->

---



<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=OneKeyHQ/app-monorepo&utm_content=7048):

- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
  - `I pushed a fix in commit <commit_id>, please review it.`
  - `Generate unit testing code for this file.`
  - `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
  - `@coderabbitai generate unit testing code for this file.`
  -	`@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
  - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
  - `@coderabbitai read src/utils.ts and generate unit testing code.`
  - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
  - `@coderabbitai help me debug CodeRabbit configuration file.`

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 using PR comments)

- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai generate docstrings` to [generate docstrings](https://docs.coderabbit.ai/finishing-touches/docstrings) for this PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai plan` to trigger planning for file edits and PR creation.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.

### Other keywords and placeholders

- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` or `Summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.

### CodeRabbit Configuration File (`.coderabbit.yaml`)

- You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository.
- Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json`

### Documentation and Community

- Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->
author_association: CONTRIBUTOR