- Expediere
- 24 august 2026 la 23:05 UTC
- Autor
- kamo
- Comite
- 1b1c236
46 de module de clienti citesc ID-ul *** din document. cookie și a trimis-o ca X-***-Token. SessionStorage este per-TAB; un cookie este per-ORIGIN. În timp ce Fiecare organizație a avut un nume de gazdă proprie care au fost aceeași limită, aşa că nu a contat. Servirea organizațiilor fără domeniu dintr-unul gazda comună se termină astfel: cookie-ul devine un singur slot orice filă poate suprascrie, astfel încât o filă poate trimite o sesiune de altă organizație decât una pe care o expune. Cea mai mare parte acest lucru a fost deja mascat. installSessionLayer() patch-uri fereastră. Aduce pentru a stabili apelurile X-***-Token din sesiuneStorage privind aceeași origine/api/* și antete.set () suprascrie, astfel încât un antet explicit cu sursă de cookie este în mod normal înlocuit - fiecare dintre aceste site-uri de apel este aceeași origine /api / *, și nici unul atinge un WebSocket sau o altă origine. În mod normal, plasturele nu este întotdeauna: numai focuri atunci când sesiuneStorage are un simbol, astfel încât o filă proaspăt deschisă cu un Magazinul gol trimite tot ce are prăjitura. Acesta este cazul în care se închide. app/logout/page.tsx își păstrează cookie-ul scris -- de compensare a acestora este modul în care o sesiunea este demolată -- şi utilizareaSmsWebSocket.ts a fost deja migrată; document.cookie este într-un comentariu care explică de ce nu trebuie utilizat. verifica-session-token-source.mjs deține linia, cu cele două permise enumerate și motivele lor înregistrate. Acesta benzi comentarii înainte de potrivire, astfel încât o explicația de ce este evitat cookie-ul nu se citește ca o utilizare a acestuia. Două fișiere au fost CRLF și o rescriere naivă le reflowed în întregime; acestea au fost Refaceți bite-înțelept, astfel încât diff este înlocuirea și nimic altceva. 2882 teste şi toate cele 8 gărzi trec. Construcția producției nu a putut fi realizată local -- alte sesiuni țin următoarea blocare a clădirii continuu -- dar TSC este curat şi o construcţie completă anterioară a aceluiaşi cod a reuşit; numai linie Finalurile s-au schimbat după asta.