Rewrote useSilenceDetector to compute honest linear RMS from getFloatTimeDomainData (the old code took RMS over byte-scaled frequency data, producing meaningless dB numbers).
Silence threshold is now dynamic: once the session peak arms above -25 dBFS, "silent" means current level is ≥15 dB below peak. Static fallback (-45 dBFS) covers the pre-arm window so dead-silent sessions still stop.
Redesigned mic pulse: filled red radial-gradient disc sits behind an unmoving mic icon, scaled and faded by live amplitude — much more visible than the previous subtle scale.
Test plan
Record a message at normal volume — auto-stops within ~2s of finishing
Record in a quiet room — fallback threshold still triggers stop
Mic icon remains legible while the red halo pulses behind it
## Summary
- Rewrote `useSilenceDetector` to compute honest linear RMS from `getFloatTimeDomainData` (the old code took RMS over byte-scaled frequency data, producing meaningless dB numbers).
- Silence threshold is now dynamic: once the session peak arms above -25 dBFS, "silent" means current level is ≥15 dB below peak. Static fallback (-45 dBFS) covers the pre-arm window so dead-silent sessions still stop.
- Redesigned mic pulse: filled red radial-gradient disc sits *behind* an unmoving mic icon, scaled and faded by live amplitude — much more visible than the previous subtle scale.
## Test plan
- [ ] Record a message at normal volume — auto-stops within ~2s of finishing
- [ ] Record in a quiet room — fallback threshold still triggers stop
- [ ] Mic icon remains legible while the red halo pulses behind it
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
useSilenceDetectorto compute honest linear RMS fromgetFloatTimeDomainData(the old code took RMS over byte-scaled frequency data, producing meaningless dB numbers).Test plan