vitrinkaDokumentaceZpět do vitrínky

Co rekordéry zaznamenávají

Rekordér sleduje běžící aplikaci, takže co bere a kam to posílá je publikované jako závazek, ne popsané v marketingu. Tahle stránka zrcadlí docs/PROTOCOL.md v repozitáři kitu.

Tohle je závazek

Jakákoli změna toho, co rekordér zaznamenává nebo odesílá, musí ten dokument upravit ve stejném pull requestu, a rozpor mezi dokumentem a kódem se řeší jako bezpečnostní problém, ne jako chyba v dokumentaci.

Kam data jdou

Výhradně na vitrinka server, který si nastavíte — základní adresa a bearer token. Žádná cizí telemetrie, žádné analytické SDK a žádný provoz na jiný host než na ten server.

POST   /api/v1/sessions             založí nahrávací session
POST   /api/v1/sessions/:id/events  proud událostí (dávkovaně)
POST   /api/v1/sessions/:id/shot    klíčové snímky
PATCH  /api/v1/sessions/:id         stav (recording | paused | done)

Čtyři routy. To je celá plocha, se kterou rekordér mluví.

Kdy se nahrává

Jen během session, kterou výslovně spustíte — a u Expa jen v buildu, který vůbec směl rekordér nést.

  • Expo — při kompilacirekordér existuje jen v buildech, které mají zapečené EXPO_PUBLIC_VITRINKA_URL a _TOKEN; ze všech ostatních se celý vyřízne z bundle.
  • Expo — za běhuv povoleném buildu běží záznam jen mezi stiskem record a stop. Session řízená strojem přes Expo devtools kanál ukazuje viditelný HUD indikátor.
  • Prohlížeč — omezenězáznam běží jen v záložkách odpovídajících nastaveným doménám projektu a jen dokud běží session, kterou jste spustili. Popup vždy ukazuje stav nahrávání.

Co se zaznamenává, na session

KanálExpo rekordérRozšíření do prohlížeče
SnímkyKlíčové snímky při navigaci a dotyku, omezené frekvencí.Klíčové snímky plus rrweb proud DOM.
InterakceSouřadnice dotyku, popisek stisknutého prvku a routa.Kliknutí a navigace.
SíťMetoda, URL, stav, doba trvání a omezená těla požadavků i odpovědí.API volání včetně těl, přes CDP.
KonzoleChyby a varování.Chyby.
PoznámkyPoznámky, které napíšete v HUD.Poznámky, které napíšete v popupu.

Maskování

Záznam sítě maskuje tajemství dřív, než se cokoli uloží do bufferu nebo odešle — ne na serveru a ne cestou ven. Klíče s citlivými názvy se maskují v JSON tělech, v hlavičkách i v query stringu, včetně URL-kódovaných a dvojitě kódovaných tvarů.

  • Co se považuje za tajemstvípassword, token, authorization, cookie, apikey a víceslovné tvary jako accessToken nebo refreshToken.
  • Jedno sdílené pravidlopolitika žije v jediné funkci s vlastní sadou testů, takže se tři kanály nemůžou rozejít.

Snímky obrazovky se podle obsahu nefiltrují. Maskování se týká jen síťového kanálu — nenahrávejte proti obrazovkám s daty, která byste nedali na nástěnku té session.

Uchování a přístup

Nahrané session žijí na vašem vitrinka serveru podle jeho pravidel přístupu. Samotné rekordéry si na zařízení nechávají jen nedoručený zbytek uploadu, který zmizí, jakmile se doručí nebo se session zahodí.