Co rekordéry zaznamenávají
Co zaznamenává rozšíření prohlížeče, webový rekordér a rekordér pro Expo, kam se záznamy ukládají, jaké pověření nesou a jak funguje maskování.
Data ze záznamu
Tato stránka popisuje průběh záznamu. Rozšíření prohlížeče se vyvíjí v repozitáři vitrinky, SDK pro Expo a webový rekordér (@vitrinka/web) v repozitáři kitu. Způsob zachytávání dat se liší podle platformy, jak ukazuje tabulka níže.
Kam data jdou
Data ze záznamu se odesílají na server vitrinky, který nastavíte. Aktualizace a stahování aplikací využívají samostatné distribuční služby; tento přehled tedy nepopisuje veškerou síťovou komunikaci aplikace.
GET /api/v1/recorder/policy nastavení záznamu a maskování
GET /api/v1/recorder/me za koho rekordér nahrává a předvolby jeho panelu
PATCH /api/v1/recorder/me uložení předvoleb panelu (size, verbose)
POST /api/v1/sessions/:id/chunk bloky rrweb (s query parametrem seq)
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
POST /api/v1/sessions/:id/tags tagy session
PATCH /api/v1/sessions/:id stav (recording | paused | done)
GET /api/v1/sessions/:id vlastní řádek session pro sladěníToto jsou endpointy pro samotný záznam. Nastavení, párování, seznam nahrávek a pokračování v záznamu využívají další části serverového API.
Pověření
Rekordér nese token rekordéru vkr_ a ten dosáhne jen na endpointy výše — zásady, vlastní záznam, založení session a u session, kterou založil tentýž token, její části záznamu, štítky, stav a zpětné čtení. Nikdy nevypisuje sessions, nečte události ani přehrávání session, nečte nástěnky ani nesahá na úkoly a nikdy nečte, nezavírá ani nezapisuje do session, kterou založil jiný přístup — session člena, jiného projektu nebo jiného tokenu rekordéru, i kdyby ho propojila tatáž osoba. Takové volání dostane 403 s opravou: založte novou session (klíč vydaný adminem, který se ptá na session jiného projektu, dostane 404). Uniklý token nahrává do svého workspace a zpátky nepřečte nic kromě stavu sessions, které sám založil. Po novém propojení rekordéru a napříč upgradem, který toto pravidlo přinesl, nejde v session založené pod starým tokenem pokračovat; založte novou. Token vzniká buď propojením zařízení po schválení krátkého kódu (vázaný na osobu, vyprší 30 dní po posledním použití), nebo ho pro jeden projekt vydá admin pro sestavení bez dozoru, která nikdo ručně nepropojí. Rozšíření prohlížeče umí použít i osobní token vkp_. Tokeny najdete a odvoláte v Nastavení → Tokens.
Kdy se nahrává
Záznam běží jen během nahrávání, které výslovně spustíte. U Expa musí být rekordér také povolený v daném sestavení aplikace.
- Expo — při sestavení — rekordér je jen v sestaveních, jejichž profil config plugin povoluje a která nastavují
EXPO_PUBLIC_VITRINKA_URL; z ostatních sestavení se vynechá. Žádný token se nezapéká: tester zařízení propojí a jen sestavení bez dozoru nese klíč rekordéru vydaný adminem. - Expo — za běhu — v 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.
- Web — omezeně — rekordér se připojí, jen když je nastavené jeho
url, a nahrává jen na stránce, jejíž hostitel odpovídá doménovému pravidlu projektu; produkční pravidlo ho odmítne, pokud to pravidlo výslovně nepovolí (Nastavení → Projekty → Routing → in-app recorder). - 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ál | Expo rekordér | Webový rekordér | Rozšíření do prohlížeče |
|---|---|---|---|
| Snímky | Klíčové snímky při navigaci a dotyku, omezené frekvencí. | Žádné — klíčovým snímkem je rrweb proud DOM s maskovanými vstupy. | Klíčové snímky plus rrweb proud DOM. |
| Interakce | Souřadnice dotyku, popisek stisknutého prvku a routa. | Kliknutí s krátkým selektorem prvku, jeho obdélníkem a redigovaným úryvkem textu; každá změna routy. | Kliknutí a navigace. |
| Síť | Metoda, URL, stav, doba trvání a omezená těla požadavků i odpovědí. | Volání fetch a XHR, hlavičky, URL a těla prošlá stejnou redakcí jako u Expo rekordéru. | API volání včetně těl, přes CDP. |
| Konzole | Chyby a varování. | Chyby a neošetřená zamítnutí promise. | Chyby. |
| Poznámky | Poznámky, které napíšete v HUD. | Poznámky a anotace, na prvku nebo v tažené oblasti. | Poznámky a ⌖ snapy napsané v HUD na stránce (Alt+Shift+N, Alt+Shift+A). |
Maskování
Ve výchozím nastavení rekordéry maskují citlivá síťová data před odesláním. Server při příjmu událostí použije svou politiku znovu. Rozsah maskování závisí na rekordéru a formátu dat; nastavení a výjimky popisuje Maskování citlivých údajů.
- Co se považuje za tajemství —
password,token,authorization,cookie,apikeya víceslovné tvary jakoaccessTokenneborefreshToken. - Politika workspace — rekordéry načítají pravidla z
GET /api/v1/recorder/policy. Administrátoři mohou přidat vzory pro údaje používané v jejich aplikaci.
Maskování nemusí odstranit všechny citlivé údaje ze snímků ani z obsahu stránky. Práce s textem a obrázky závisí na rekordéru a jeho nastavení. Při nahrávání používejte testovací data.
Uchování a přístup
Nahrávky se ukládají na vašem serveru vitrinky a řídí se jeho přístupovými pravidly. Na zařízení zůstávají data čekající na odeslání; po doručení nebo zahození nahrávky se odstraní.