Adom TTS: Text to Speech
Public Made by Adomby adom
Adom's shared voice service. Reads your AI's answers back to you while you drive, and renders perfectly-timed voiceover tracks for your demo videos, so you never record your own voice.
desktop surface opens the Hydrogen Desktop browser window twice per drain (1.9.53)
Every say --play on the desktop surface opens the Hydrogen Desktop browser window TWICE (player 1.9.53).
John noticed two browser windows appearing on his laptop each time a clip is narrated through Hydrogen Desktop's own window (the desktop surface). The caller (a cloud Claude thread) opens nothing itself: it only runs adom-tts say "<text>" --out <file> --thread <t> --desc <d> --play --confirm with no --surface, and the player fell through to desktop because the cloud editor tab was not live.
adom-tts logs shows the double open at every drain start, same target, same URL, same second:
787s ago pid=1184521 drain_start surface="desktop"
786s ago pid=1184521 desktop_window_opened target="AdomLapper" url="https://john-galliaapril-8v0y8o3547h2.adom.cloud/proxy/39607/"
786s ago pid=1184521 desktop_window_opened target="AdomLapper" url="https://john-galliaapril-8v0y8o3547h2.adom.cloud/proxy/39607/"
781s ago pid=1184521 clip_start clip="answer-crr.mp3" id=1 port=39607 surface="desktop"
...
303s ago pid=1189956 drain_start surface="desktop"
302s ago pid=1189956 desktop_window_opened target="AdomLapper" url="https://john-galliaapril-8v0y8o3547h2.adom.cloud/proxy/39607/"
302s ago pid=1189956 desktop_window_opened target="AdomLapper" url="https://john-galliaapril-8v0y8o3547h2.adom.cloud/proxy/39607/"
The run from six days ago (pid 3282234, same container, same target) logged desktop_window_opened once per drain, so this is a regression in the current player. The clips themselves play fine (verdict="ok"), it is only the second window.
Two asks:
- Open the desktop window once per drain (or check for an existing player window on that URL before opening).
- If the second open is a deliberate retry (for example the first open's ack was slow), log it as a retry with the reason, so the log does not read as two opens of the same page.
Container: john-galliaapril-8v0y8o3547h2, adom-tts 1.9.53, 2026-09-18.