Uniswap / Uniswap/interface

Crash report: `SecurityError: Attempt to use history.replaceState() more than 100 times per 30 seconds`

Open
#4,250 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
5.5k
Forks
5.4k
PR merge metrics
No merged PRs in 30d

Description

URL

https://app.uniswap.org/#/pool?chain=mainnet

Error

SecurityError: Attempt to use history.replaceState() more than 100 times per 30 seconds

Stacktrace

replaceState@[native code]
pushState@user-script:10:10:21
@user-script:9:43:34
@https://www.googletagmanager.com/gtag/js?id=G-KDP9B6W4H8:297:270
e@https://app.uniswap.org/static/js/2.c940c267.chunk.js:2:510188
@https://app.uniswap.org/static/js/2.c940c267.chunk.js:2:207188
@https://app.uniswap.org/static/js/main.db4cdc2b.chunk.js:1:216761
@https://app.uniswap.org/static/js/main.db4cdc2b.chunk.js:1:217620
rs@https://app.uniswap.org/static/js/2.c940c267.chunk.js:2:2601321
Su@https://app.uniswap.org/static/js/2.c940c267.chunk.js:2:2621534
@https://app.uniswap.org/static/js/2.c940c267.chunk.js:2:2620269
_u@https://app.uniswap.org/static/js/2.c940c267.chunk.js:2:2620333
su@https://app.uniswap.org/static/js/2.c940c267.chunk.js:2:2614054
su@[native code]
Wf@https://app.uniswap.org/static/js/2.c940c267.chunk.js:2:2554517
@https://app.uniswap.org/static/js/2.c940c267.chunk.js:2:2611457

Device data

{
  "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/76.0.3809.123 Mobile/15E148 Safari/605.1",
  "browser": {
    "name": "Chrome",
    "version": "76.0.3809.123",
    "major": "76"
  },
  "engine": {
    "name": "WebKit",
    "version": "605.1.15"
  },
  "os": {
    "name": "iOS",
    "version": "13.1"
  },
  "device": {
    "vendor": "Apple",
    "model": "iPhone",
    "type": "mobile"
  },
  "cpu": {}
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the crash at https://app.uniswap.org/#/pool?chain=mainnet using the reported iPhone, iOS 13.1, and Chrome 76 environment. Trace the calls from history.replaceState through the Google Tag Manager and bundled application scripts; done means the page no longer exceeds the browser's history state-call limit.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.