← OSS Labs
axios/axios · OSS Lab

Symbol keys dropped when merging axios request config

Visible upstream regression test fails on the parent snapshot

Open Labarrow_forwardPlayable · ready
MediumAPI & Request FlowPlayable
OSS Labs are training exercises derived from public open-source bug-fix history. Completing a lab is not an upstream contribution or merged PR. Buglyst is not affiliated with these projects.
f70731bSource commit
315ec44Parent commit
MITLicense
464Files
65,972Visible LOC
~30mEst. time

What this lab trains

checkRepository navigation
checkFailing test reproduction
checkRoot cause tracing
checkMinimal patch reasoning
checkPR-style explanation
checkHTTP request/response flow

Failing signal

What you’ll see when you run the visible regression test.

SymptomVisible upstream regression test fails on the parent snapshotEntry point hintStart at tests/unit/api.test.js.

Repo navigation focus

A public-safe starting path for the large repo snapshot.

Start here
  • tests/unit/api.test.js
Likely area
  • lib/utils.js
  • lib/core/mergeConfig.js
  • lib/core/Axios.js
  • lib/defaults/index.js
  • tests/unit/api.test.js
Investigation path
  1. Run the visible regression: npm test -- tests/unit/api.test.js.
  2. Read the failing assertion about Symbol-keyed entries surviving config merge into transformRequest.
  3. Trace how axios merges request config and how it copies caller keys onto the merged object.
  4. Determine why non-string (Symbol) keys are dropped while string keys are kept.
  5. Patch only the merge path so all of the caller's keys survive, without changing unrelated merge behavior.
Repo scale
  • 464 files
  • ~66k LOC
  • Real axios repo snapshot

PR-style report (preview)

The structured report you produce on accept. This is the format, not a real completion.

differencePR-STYLE REPORT
Sample format
Symbol keys dropped when merging axios request configaxios/axios

Problem

A regression reproduced from public bug-fix history causes a visible test to fail on the parent snapshot.

Root cause

Written by you, in your own words, after tracing the failing test into the runtime source. (Filled in from your submission — not provided here.)

Fix summary

A minimal patch that makes the visible regression test pass without breaking neighbouring behaviour.

Files changed

  • descriptiontest/<regression>.test.js
  • descriptionlib/<runtime-source>.js

Files inspected

  • descriptiontest/<regression>.test.js
  • descriptionlib/<runtime-source>.js

Tests run

  • terminalVisible regression test
  • terminalHidden edge-case validation

Validation result

Visible checks: pendingHidden validation: pending

Resume-safe summary

Completed an OSS-backed Buglyst debugging lab based on public bug-fix history: reproduced a failing test, traced the root cause, and shipped a minimal patch that passed visible and hidden validation. Not an upstream contribution.

OSS Labs are training exercises derived from public open-source bug-fix history. Completing a lab is not an upstream contribution or merged PR. Buglyst is not affiliated with these projects.