Product1 distinct publisher3 min readUpdated
A developer traced his cutting-out Bluetooth headphones to two silent audio graphs on the AliExpress homepage. Tab mute could not touch them, and a Firefox engineer rates the data they feed as near worthless.
The Product Desk · Product desk

Compiled by The Product DeskSomething wrong?How this is made
The mechanism generalises, which is why it should bother anyone shipping sound in a browser. A sawtooth oscillator feeding an analyser, then a script processor, then a gain node pinned to zero, still terminates at the system audio destination [6], and the destination is what the browser then has to keep processing [7]. Zero gain means nothing audible. A live destination means the tab counts as a producer. Callaghan's description of the page's view of itself is the useful one: "As far as the page is concerned, it is performing live audio processing" [9]. Multipoint headphones then behave as designed and give the channel to the device that is producing.
The detail that turns this from trivia into a support problem is the delay. The audio only went after the page had sat idle for several seconds [4], which is the state of a tab someone opened, glanced at, and left behind a window. By then the causal link is invisible to the user. Their music stops, and whatever app is on screen is what they blame.
Then the controls. Tab mute, browser mute and Windows mute all did nothing, and only closing the tab restored playback [2]. Callaghan's account of why is the sentence to keep: "There is no media element for the browser's normal tab mute control to stop" [8]. The mute affordance users have been trained on for a decade is bound to media elements, and a page can hold the audio destination without ever creating one [5]. Nothing in a first-line support script reaches that.
Diagnosis is the second bill. Callaghan checked for audio and video elements, play() calls, Media Session metadata, media requests and framed content, found none, and watched the playback state read none throughout [3]. He got the answer only by wrapping the AudioContext constructor and the connect method, at which point two running contexts appeared, both wired to the destination [5]. That is not a tier-one procedure, and it is not visible in your telemetry either, because the code is served from another company's domain into another company's page [10].
What was bought with that audio focus is the awkward part. Tom Ritter of Firefox, writing the same day, says Firefox made its WebAudio output constant in version 118 in September 2023 [15], that 99.24% of users now return one of three values, and that 0.76% return zero because the measurement fails [16]. The three values map to processor families: x86 and x64 without fused multiply-add, x64 with it, and ARM using NEON [17]. His verdict is that WebAudio fingerprinting is nearly useless [19]. The exception is a tail of 23 further values held by 48 users worldwide [18], about two people per value [1], and the two published shares already sum to 100, so those 48 do not appear in the split at all [2].
One browser has therefore flattened this signal to a processor-family check for more than 99% of its users [16], while the graph that reads it keeps running on a commerce homepage and holding a destination no user-facing mute can release [7][8]. The Register, which reported Callaghan's findings on Monday, says it has asked Alibaba to comment [13]. Callaghan is careful about the other half of the question: he cannot see what AliExpress does with the data once it reaches its servers [12].
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
Matt Callaghan uses multipoint Bluetooth headphones paired to a PC and a phone at once, and wrote in a blog post on 20 August that audio from his phone stopped shortly after an AliExpress homepage loaded in Firefox or Chrome.
Closing the AliExpress tab fixed the problem at once, while muting the tab, the browser or Windows did nothing, and no video or music was visible on the page.
Callaghan checked for audio and video elements, calls to HTMLMediaElement.play(), active Media Session metadata, media requests and embedded frames, and found none; the playback state stayed at none.
The problem started only after the page had sat idle for several seconds.
After wrapping the AudioContext constructor and the connect method, Callaghan found the homepage created two AudioContext objects, both of which entered the running state and connected nodes to the audio destination while the page still had no media elements, no play calls and no audible sound.
Both scripts build the same chain: a sawtooth oscillator feeds an analyser node, then a script processor, then a gain node set to zero, then the audio destination.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Instrumented primary account plus vendor telemetry, single publisher, no reproduction
The core technical finding is unusually well specified for a single-source story: named scripts and paths, two running AudioContext objects, the exact node chain, and the negative checks that ruled out hidden media. Ritter's population statistics add quantified counter-evidence on the signal's usefulness. What is missing is independent reproduction, any statement from Alibaba, and visibility into server-side use of the data, all of which cap the score.
Live on a high-traffic homepage; defences shipped years ago
Both sides show real deployment: the fingerprinting scripts run in production on the AliExpress homepage, and the principal browser-side mitigation has been shipped in Firefox since version 118 in September 2023 with telemetry showing near-total normalisation. Adoption is not scored higher because the sources give no figures for how many sites carry collina.js and fireyejs.js, how many users hit the audio conflict, or how many have applied the blocking workaround.
Real defect, modest privacy payload
The audio-hijack behaviour and the fingerprint collection are documented, but the alarm implied by the framing outruns the measured value of the specific signal: the Firefox engineer puts 99.24% of users into three processor-derived buckets and calls WebAudio fingerprinting nearly useless, and the wider user impact — support tickets, affected user counts — is asserted rather than measured. The gap is small and positive rather than large because the same reporting carries the deflating evidence in full.
Vendor-interested assessment, silent accused party
The evidence carries visible interest. The chief deflationary assessment comes from an engineer working on Firefox, a browser that already shipped the mitigation being discussed, and the story sits inside a browser-vendor positioning contest. The party whose scripts are at issue has not commented. These are disclosed in the reporting rather than hidden, which keeps the score mid-range rather than high.
Specific and internally consistent, but single-publisher
Confidence rests on the specificity and internal consistency of the technical account and on quantified vendor telemetry that cuts against the story's own framing. It is held back by the cluster containing one publisher aggregating three primary posts, no independent reproduction, no Alibaba response, and no measurement of user-level impact.
build
A zero-gain oscillator held a PC's audio session and broke a Bluetooth handoff1 distinct publisher
security
CVE-2025-62593: A Ray Developer's Browser Is Now the Attack Surface1 distinct publisher
build
China's accelerator swap makes Cambricon supply, not export policy, your ship-date risk1 distinct publisher
invest
Unitree's $905M Shanghai listing prices humanoids at 35x sales while profit halves1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
1 article · August 24, 2026