
4/9/2026 · Boris Tsirkin, Joachim Reiersen
What this post added
Introduced a dual-stack architecture for WebRTC within a monorepo, enabling A/B testing of legacy and upstream versions. Developed a shim layer to provide a unified API and dispatch calls at runtime, minimizing binary size increase. Implemented automated renamespacing scripts to resolve symbol collisions caused by statically linking two versions of the library. Utilized C++ using declarations for backward compatibility and a template-based helper library for runtime dispatch. Developed a code generation system using AST parsing to automate shim creation. Rewired application references to shim equivalents and duplicated internal components using C++ macros and build machinery to handle deep dependencies.