Skip to content

Instantly share code, notes, and snippets.

@juliandescottes
Created June 18, 2026 15:49
Show Gist options
  • Select an option

  • Save juliandescottes/eaee2a82659b66f245686dfe97ced732 to your computer and use it in GitHub Desktop.

Select an option

Save juliandescottes/eaee2a82659b66f245686dfe97ced732 to your computer and use it in GitHub Desktop.
▗ ▗ ▖ ▖ Claude Code v2.1.177
Sonnet 4.6 · API Usage Billing
▘▘ ▝▝ ~/Development/git/firefox-devtools-mcp
❯ using firefox-devtools mcp, open http://localhost:3000/logpoints-demo/
I'll open that URL in Firefox using the MCP tools.
Called firefox-devtools 2 times
Navigated to http://localhost:3000/logpoints-demo/.
✻ Worked for 12s
❯ I have a bug on this shopping website when I add Widgetx2 then apply the SAVE10 coupon and then apply another coupon HALF, the discount is wrong and the price doesn't match. Can you try to debug the script (maybe with logpoints) and suggest a fix?
Let me start by taking a screenshot and exploring the page scripts.
Called firefox-devtools
Good, I can see the shopping cart page. Let me enable the debugger and list the scripts.
Called firefox-devtools 3 times
The script is obfuscated but readable enough to spot the issue. I can already see a suspicious pattern in applyDiscount. Let me set logpoints to confirm, then reproduce the bug.
Now I'll set a logpoint inside applyDiscount at the line where activeDiscount is assigned (line 117), to capture both the old rate and the incoming coupon's rate before the assignment executes.
Called firefox-devtools
Good. Now let me reproduce the bug — take a snapshot to find the button UIDs and interact with the page.
Called firefox-devtools
Let me reproduce the bug step by step.
Called firefox-devtools 7 times
The logpoints confirm the bug. Here's what's happening:
Logpoint output:
[1] code=SAVE10 | incoming rate=0.1 | existing activeDiscount.rate=null → OK
[2] code=HALF | incoming rate=0.5 | existing activeDiscount.rate=0.1 → BUG
What the UI shows (wrong): Discount (50% off): -$2.00 — label says 50% but math is 10%.
What it should show: -$9.99 (50% of $19.98).
---
The bug is in applyDiscount at line 121:
'rate': activeDiscount?.['rate'] ?? _0x524622['rate']
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^
// reads the OLD discount's rate fir// is only used when there is no exi
The ?? operands are backwards. activeDiscodefined), so the ?? short-circuits and thenew coupon's rate (0.5) is silently discarded. The label gets updated to "50% off" but the calculation still runs at 10%.
The fix — always use the new coupon's rate
// before (buggy)
'rate': activeDiscount?.['rate'] ?? _0x524622['rate']
// after (fixed)
'rate': _0x524622['rate']
In the obfuscated source (script.obf.js:12
'rate': activeDiscount?.['rate'] ?? _0x524
to:
'rate': _0x524622[_0x7ac8b9(0x15b)]
✻ Sautéed for 3m 24s
※ recap: Debugging a coupon stacking bug on is identified: in applyDiscount at line121, remove the `activeDiscount?.['rate'] ??` prefix so the new coupon rate is always used. (disable recaps in /config)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment