MetaMask / MetaMask/metamask-mobile
[Sentry] Error: No metadata found for 'frequentRpcList'
- Dominant language
- TypeScript
- Stars
- 3k
- Forks
- 1.7k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 669
Description
### What is this about?
> [!IMPORTANT]
> See https://github.com/MetaMask/core/issues/5545
Sentry error event: [No metadata found for 'frequentRpcList'](https://metamask.sentry.io/issues/6621422532/events/f19641a5bdac4a38aaa5a92cf3a11de9/)
```
Error: No metadata found for 'frequentRpcList'
at construct([native code])
at ResultError(ses.cjs:7676:17)
at reduce(app/store/getPersistentState/getPersistentState.ts:44:19)
at reduce([native code])
at deriveStateFromMetadata(app/store/getPersistentState/getPersistentState.ts:38:60)
at e.getPersistentState(app/store/getPersistentState/getPersistentState.ts:22:10)
at persistTransform(app/store/persistConfig.ts:102:30)
at reduce([native code])
at processNextKey(node_modules/redux-persist/lib/createPersistoid.js:71:31)
at id(node_modules/react-native/Libraries/Core/Timers/JSTimers.js:230:18)
at _callTimer(node_modules/react-native/Libraries/Core/Timers/JSTimers.js:111:7)
at JSTimers.callTimers(node_modules/react-native/Libraries/Core/Timers/JSTimers.js:359:7)
at .value(node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:428:27)
at fn(node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:113:12)
at .value(node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:368:9)
at .value(node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:112:10)
```
### Scenario
_No response_
### Design
_No response_
### Technical Details
_No response_
### Threat Modeling Framework
_No response_
### Acceptance Criteria
_No response_
### Stakeholder review needed before the work gets merged
- [ ] Engineering (needed in most cases)
- [ ] Design
- [ ] Product
- [ ] QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
- [ ] Security
- [ ] Legal
- [ ] Marketing
- [ ] Management (please specify)
- [ ] Other (please specify)
### References
_No response_
Contributor guide
Research direction
Read app/store/getPersistentState/getPersistentState.ts and app/store/persistConfig.ts, starting at deriveStateFromMetadata and persistTransform. Trace how frequentRpcList is persisted and where its metadata is expected. Done means the missing-metadata error no longer occurs and relevant tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native, typescript
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100