Add Firefox data consent, repair contributor sign-in, and introduce optional Hide clutter buttons. Harden video navigation, voting, and action layouts with shared browser regression coverage and reproducible release packaging.
Harden Shorts controls, reaction state, and navigation; share voting logic
with the extension; improve ratio-bar rendering; and add comprehensive Jest,
Playwright, artifact, and live-browser regression coverage.
* add jest and rewire for testing
* wrap loose code for initMutationObserver() in function and call it instead of just executing it
Otherwise this code is executed everytime state.js is imported somewhere in a file.
This leads to not being able to test properly, since state.js is imported in a lot
of the src files and fails when running the tests since we are missing global environment
settings such as document, window etc in the jest environment.
* export roundDown and getNumberformatter to make them testable as well
* add basic acceptance tests for utils.js, create snapshots and add jest config
* add failing test for buggy behaviour in a separate test case and skip it until fixed
* Fixes after merge conflicts
---------
Co-authored-by: Dmitrii Selivanov <selivano.d@gmail.com>