— Notes
What the docs leave out.
I write these when I hit something that cost me a day and had no answer anywhere I could find. Every one of them is a thing I ran into building and running my own systems, and every number in them is measured rather than repeated.
Notes
D1: bound params exclude multi-statement SQL
Cloudflare D1 answers "params with multiple statements is not supported". What that costs you, and how to order writes so a half-failure is recoverable.
speechSynthesis cannot be captured
The Web Speech API hands you no MediaStreamTrack, so a spoken translation can never go into a WebRTC sender. Here is the route that does work.
srcObject is DOM state, not a prop
The self-view goes black while the other side sees you perfectly. React never restores srcObject, and binding it once inside getUserMedia misses.
Translator.create needs a real click
Chrome's Translator API requires transient user activation whenever the language pack still has to download, which is every fresh profile. Warm it in the click.
Working on something that has to hold?
If you are somewhere in the gap between a demo and a system real people depend on, that is the part I do.