MetaMask / MetaMask/metamask-mobile

Optimize open tab storage and tab switching in IAB

Open
#24,192 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.