MetaMask / MetaMask/metamask-mobile
Optimize open tab storage and tab switching in IAB
- Dominant language
- TypeScript
- Stars
- 3k
- Forks
- 1.7k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 669
Description
### What is this about?
Currently:
- We reload each page each time the tab is switched
- We reload the active tab when you move away from browser and back to browser
Both of these are contributing to feeling of slowness/clunkiness
Previously, we've kept the connection open for each open tab, spending a lot of device resources - and the number of open tabs was limited to 5 to keep resource utilization at bay
Scope:
- Explore the possibility of caching the active tab and several last visited tabs without significant impact on device resources
- Implement the caching solution identified during the exploratory phase
### 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
No files, tests, or entry points are named. Start by locating the IAB tab-storage and tab-switching implementation, then investigate the current reload behavior and resource usage. Done means implementing and validating a cache for the active and several recently visited tabs without significant device-resource impact.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native, typescript
- Domain
- mobile, performance, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100