← Back to all updates
Tatuga School Fix Bug: Smarter Noise Detector (No More False Alarms!) + App-Wide Audio Leak Fix 🔇⚡
June 5, 2026

Tatuga School Fix Bug: Smarter Noise Detector (No More False Alarms!) + App-Wide Audio Leak Fix 🔇⚡

Say goodbye to accidental alarms triggered by a single cough, clap, or dropped book! We've rolled out a major overhaul to the Noise Detector to make it resilient to transient sounds, alongside a critical app-wide fix for our audio playback engine.

What's New in the Noise Detector:

  • 5-Second Intelligent Sustain Timer: The alarm will no longer fire instantly on a single loud audio frame. It now requires noise to stay continuously above your set limit for 5 full seconds before triggering—perfect for filtering out short, harmless classroom noises.
  • New "Getting loud…" Visual Indicator: Since the system now waits 5 seconds, we added an amber progress bar with a live countdown timer in the header. This shows you the alarm "charging up" in real-time. If the room quiets down, it vanishes instantly; if it stays loud, it snaps into the red "TOO LOUD!" state.
  • 🤝 Unified Loudness Metric: Fixed the confusing mismatch where the volume meter and the alarm logic read different values. Both now consistently share the peak frequency metric, aligning perfectly with your selected presets (Silent 30 / Whisper 50 / Group 80 / Party 95).
  • 🧠 400ms Flickering Grace Window: Real-world speech has gaps. We've introduced a 400ms grace window so brief dips below the limit between spoken words won't prematurely reset the countdown bar, making the tracking incredibly smooth.
  • Seamless Live Preset Switching: Clicking between sensitivity presets now instantly re-targets the limit on the fly. The system will no longer frustratingly kill your microphone stream or force you to click "Start" again.

🛠️ Critical App-Wide Bug Fix:

  • 🐛 Smashed the WebMediaPlayer Resource Leak: We completely re-architected our shared useSound hook. Previously, it spawned up to 60 audio players per second on rapid re-renders, causing Chromium browsers to hit their caps and block all sound effects across the app (such as cheers, dings, and fail indicators). The hook now correctly handles a single audio element per mount and cleans up on unmount. Your app audio remains safe and stable during extended usage!