@sentry/replay 7.82.0 → 7.84.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/index.js +64 -51
- package/cjs/index.js.map +1 -1
- package/esm/index.js +65 -52
- package/esm/index.js.map +1 -1
- package/package.json +6 -6
- package/types/coreHandlers/handleGlobalEvent.d.ts.map +1 -1
- package/types/coreHandlers/handleNetworkBreadcrumbs.d.ts.map +1 -1
- package/types/coreHandlers/util/domUtils.d.ts +1 -2
- package/types/coreHandlers/util/domUtils.d.ts.map +1 -1
- package/types/coreHandlers/util/fetchUtils.d.ts.map +1 -1
- package/types/coreHandlers/util/networkUtils.d.ts.map +1 -1
- package/types/coreHandlers/util/xhrUtils.d.ts.map +1 -1
- package/types/debug-build.d.ts +7 -0
- package/types/debug-build.d.ts.map +1 -0
- package/types/eventBuffer/EventBufferProxy.d.ts.map +1 -1
- package/types/eventBuffer/WorkerHandler.d.ts.map +1 -1
- package/types/replay.d.ts.map +1 -1
- package/types/util/addEvent.d.ts.map +1 -1
- package/types/util/getPrivacyOptions.d.ts.map +1 -1
- package/types/util/handleRecordingEmit.d.ts.map +1 -1
- package/types/util/log.d.ts.map +1 -1
- package/types/util/sendReplay.d.ts.map +1 -1
- package/types/util/shouldFilterRequest.d.ts.map +1 -1
- package/types-ts3.8/coreHandlers/util/domUtils.d.ts +1 -2
- package/types-ts3.8/debug-build.d.ts +7 -0
package/cjs/index.js
CHANGED
|
@@ -4356,7 +4356,7 @@ const handleDomListener = (
|
|
|
4356
4356
|
handleClick(
|
|
4357
4357
|
replay.clickDetector,
|
|
4358
4358
|
result ,
|
|
4359
|
-
getClickTargetNode(handlerData.event) ,
|
|
4359
|
+
getClickTargetNode(handlerData.event ) ,
|
|
4360
4360
|
);
|
|
4361
4361
|
}
|
|
4362
4362
|
|
|
@@ -4412,7 +4412,7 @@ function getDomTarget(handlerData) {
|
|
|
4412
4412
|
|
|
4413
4413
|
// Accessing event.target can throw (see getsentry/raven-js#838, #768)
|
|
4414
4414
|
try {
|
|
4415
|
-
target = isClick ? getClickTargetNode(handlerData.event) : getTargetNode(handlerData.event);
|
|
4415
|
+
target = isClick ? getClickTargetNode(handlerData.event ) : getTargetNode(handlerData.event );
|
|
4416
4416
|
message = utils.htmlTreeAsString(target, { maxStringLength: 200 }) || '<unknown>';
|
|
4417
4417
|
} catch (e) {
|
|
4418
4418
|
message = '<unknown>';
|
|
@@ -4674,6 +4674,13 @@ function setupPerformanceObserver(replay) {
|
|
|
4674
4674
|
};
|
|
4675
4675
|
}
|
|
4676
4676
|
|
|
4677
|
+
/**
|
|
4678
|
+
* This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.
|
|
4679
|
+
*
|
|
4680
|
+
* ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.
|
|
4681
|
+
*/
|
|
4682
|
+
const DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);
|
|
4683
|
+
|
|
4677
4684
|
const r = `var t=Uint8Array,n=Uint16Array,r=Int32Array,e=new t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i=new t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),a=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=function(t,e){for(var i=new n(31),a=0;a<31;++a)i[a]=e+=1<<t[a-1];var s=new r(i[30]);for(a=1;a<30;++a)for(var o=i[a];o<i[a+1];++o)s[o]=o-i[a]<<5|a;return{b:i,r:s}},o=s(e,2),f=o.b,h=o.r;f[28]=258,h[258]=28;for(var l=s(i,0).r,u=new n(32768),c=0;c<32768;++c){var v=(43690&c)>>1|(21845&c)<<1;v=(61680&(v=(52428&v)>>2|(13107&v)<<2))>>4|(3855&v)<<4,u[c]=((65280&v)>>8|(255&v)<<8)>>1}var d=function(t,r,e){for(var i=t.length,a=0,s=new n(r);a<i;++a)t[a]&&++s[t[a]-1];var o,f=new n(r);for(a=1;a<r;++a)f[a]=f[a-1]+s[a-1]<<1;if(e){o=new n(1<<r);var h=15-r;for(a=0;a<i;++a)if(t[a])for(var l=a<<4|t[a],c=r-t[a],v=f[t[a]-1]++<<c,d=v|(1<<c)-1;v<=d;++v)o[u[v]>>h]=l}else for(o=new n(i),a=0;a<i;++a)t[a]&&(o[a]=u[f[t[a]-1]++]>>15-t[a]);return o},g=new t(288);for(c=0;c<144;++c)g[c]=8;for(c=144;c<256;++c)g[c]=9;for(c=256;c<280;++c)g[c]=7;for(c=280;c<288;++c)g[c]=8;var w=new t(32);for(c=0;c<32;++c)w[c]=5;var p=d(g,9,0),y=d(w,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==r||r<0)&&(r=0),(null==e||e>n.length)&&(e=n.length),new t(n.subarray(r,e))},M=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(t,n,r){var e=new Error(n||M[t]);if(e.code=t,Error.captureStackTrace&&Error.captureStackTrace(e,E),!r)throw e;return e},z=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8},A=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8,t[e+2]|=r>>16},_=function(r,e){for(var i=[],a=0;a<r.length;++a)r[a]&&i.push({s:a,f:r[a]});var s=i.length,o=i.slice();if(!s)return{t:F,l:0};if(1==s){var f=new t(i[0].s+1);return f[i[0].s]=1,{t:f,l:1}}i.sort((function(t,n){return t.f-n.f})),i.push({s:-1,f:25001});var h=i[0],l=i[1],u=0,c=1,v=2;for(i[0]={s:-1,f:h.f+l.f,l:h,r:l};c!=s-1;)h=i[i[u].f<i[v].f?u++:v++],l=i[u!=c&&i[u].f<i[v].f?u++:v++],i[c++]={s:-1,f:h.f+l.f,l:h,r:l};var d=o[0].s;for(a=1;a<s;++a)o[a].s>d&&(d=o[a].s);var g=new n(d+1),w=x(i[c-1],g,0);if(w>e){a=0;var p=0,y=w-e,m=1<<y;for(o.sort((function(t,n){return g[n.s]-g[t.s]||t.f-n.f}));a<s;++a){var b=o[a].s;if(!(g[b]>e))break;p+=m-(1<<w-g[b]),g[b]=e}for(p>>=y;p>0;){var M=o[a].s;g[M]<e?p-=1<<e-g[M]++-1:++a}for(;a>=0&&p;--a){var E=o[a].s;g[E]==e&&(--g[E],++p)}w=e}return{t:new t(g),l:w}},x=function(t,n,r){return-1==t.s?Math.max(x(t.l,n,r+1),x(t.r,n,r+1)):n[t.s]=r},D=function(t){for(var r=t.length;r&&!t[--r];);for(var e=new n(++r),i=0,a=t[0],s=1,o=function(t){e[i++]=t},f=1;f<=r;++f)if(t[f]==a&&f!=r)++s;else{if(!a&&s>2){for(;s>138;s-=138)o(32754);s>2&&(o(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(o(a),--s;s>6;s-=6)o(8304);s>2&&(o(s-3<<5|8208),s=0)}for(;s--;)o(a);s=1,a=t[f]}return{c:e.subarray(0,i),n:r}},T=function(t,n){for(var r=0,e=0;e<n.length;++e)r+=t[e]*n[e];return r},k=function(t,n,r){var e=r.length,i=m(n+2);t[i]=255&e,t[i+1]=e>>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var a=0;a<e;++a)t[i+a+4]=r[a];return 8*(i+4+e)},C=function(t,r,s,o,f,h,l,u,c,v,m){z(r,m++,s),++f[256];for(var b=_(f,15),M=b.t,E=b.l,x=_(h,15),C=x.t,U=x.l,F=D(M),I=F.c,S=F.n,L=D(C),O=L.c,j=L.n,q=new n(19),B=0;B<I.length;++B)++q[31&I[B]];for(B=0;B<O.length;++B)++q[31&O[B]];for(var G=_(q,7),H=G.t,J=G.l,K=19;K>4&&!H[a[K-1]];--K);var N,P,Q,R,V=v+5<<3,W=T(f,g)+T(h,w)+l,X=T(f,M)+T(h,C)+l+14+3*K+T(q,H)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&V<=W&&V<=X)return k(r,m,t.subarray(c,c+v));if(z(r,m,1+(X<W)),m+=2,X<W){N=d(M,E,0),P=M,Q=d(C,U,0),R=C;var Y=d(H,J,0);z(r,m,S-257),z(r,m+5,j-1),z(r,m+10,K-4),m+=14;for(B=0;B<K;++B)z(r,m+3*B,H[a[B]]);m+=3*K;for(var Z=[I,O],$=0;$<2;++$){var tt=Z[$];for(B=0;B<tt.length;++B){var nt=31&tt[B];z(r,m,Y[nt]),m+=H[nt],nt>15&&(z(r,m,tt[B]>>5&127),m+=tt[B]>>12)}}}else N=p,P=g,Q=y,R=w;for(B=0;B<u;++B){var rt=o[B];if(rt>255){A(r,m,N[(nt=rt>>18&31)+257]),m+=P[nt+257],nt>7&&(z(r,m,rt>>23&31),m+=e[nt]);var et=31&rt;A(r,m,Q[et]),m+=R[et],et>3&&(A(r,m,rt>>5&8191),m+=i[et])}else A(r,m,N[rt]),m+=P[rt]}return A(r,m,N[256]),m+P[256]},U=new r([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new t(0),I=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var r=n,e=9;--e;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),S=function(){var t=1,n=0;return{p:function(r){for(var e=t,i=n,a=0|r.length,s=0;s!=a;){for(var o=Math.min(s+2655,a);s<o;++s)i+=e+=r[s];e=(65535&e)+15*(e>>16),i=(65535&i)+15*(i>>16)}t=e,n=i},d:function(){return(255&(t%=65521))<<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},L=function(a,s,o,f,u){if(!u&&(u={l:1},s.dictionary)){var c=s.dictionary.subarray(-32768),v=new t(c.length+a.length);v.set(c),v.set(a,c.length),a=v,u.w=c.length}return function(a,s,o,f,u,c){var v=c.z||a.length,d=new t(f+v+5*(1+Math.ceil(v/7e3))+u),g=d.subarray(f,d.length-u),w=c.l,p=7&(c.r||0);if(s){p&&(g[0]=c.r>>3);for(var y=U[s-1],M=y>>13,E=8191&y,z=(1<<o)-1,A=c.p||new n(32768),_=c.h||new n(z+1),x=Math.ceil(o/3),D=2*x,T=function(t){return(a[t]^a[t+1]<<x^a[t+2]<<D)&z},F=new r(25e3),I=new n(288),S=new n(32),L=0,O=0,j=c.i||0,q=0,B=c.w||0,G=0;j+2<v;++j){var H=T(j),J=32767&j,K=_[H];if(A[J]=K,_[H]=J,B<=j){var N=v-j;if((L>7e3||q>24576)&&(N>423||!w)){p=C(a,g,0,F,I,S,O,q,G,j-G,p),q=L=O=0,G=j;for(var P=0;P<286;++P)I[P]=0;for(P=0;P<30;++P)S[P]=0}var Q=2,R=0,V=E,W=J-K&32767;if(N>2&&H==T(j-W))for(var X=Math.min(M,N)-1,Y=Math.min(32767,j),Z=Math.min(258,N);W<=Y&&--V&&J!=K;){if(a[j+Q]==a[j+Q-W]){for(var $=0;$<Z&&a[j+$]==a[j+$-W];++$);if($>Q){if(Q=$,R=W,$>X)break;var tt=Math.min(W,$-2),nt=0;for(P=0;P<tt;++P){var rt=j-W+P&32767,et=rt-A[rt]&32767;et>nt&&(nt=et,K=rt)}}}W+=(J=K)-(K=A[J])&32767}if(R){F[q++]=268435456|h[Q]<<18|l[R];var it=31&h[Q],at=31&l[R];O+=e[it]+i[at],++I[257+it],++S[at],B=j+Q,++L}else F[q++]=a[j],++I[a[j]]}}for(j=Math.max(j,B);j<v;++j)F[q++]=a[j],++I[a[j]];p=C(a,g,w,F,I,S,O,q,G,j-G,p),w||(c.r=7&p|g[p/8|0]<<3,p-=7,c.h=_,c.p=A,c.i=j,c.w=B)}else{for(j=c.w||0;j<v+w;j+=65535){var st=j+65535;st>=v&&(g[p/8|0]=w,st=v),p=k(g,p+1,a.subarray(j,st))}c.i=v}return b(d,0,f+m(p)+u)}(a,null==s.level?6:s.level,null==s.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(a.length)))):12+s.mem,o,f,u)},O=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},j=function(){function n(n,r){if("function"==typeof n&&(r=n,n={}),this.ondata=r,this.o=n||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new t(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return n.prototype.p=function(t,n){this.ondata(L(t,this.o,0,0,this.s),n)},n.prototype.push=function(n,r){this.ondata||E(5),this.s.l&&E(4);var e=n.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new t(-32768&e);i.set(this.b.subarray(0,this.s.z)),this.b=i}var a=this.b.length-this.s.z;a&&(this.b.set(n.subarray(0,a),this.s.z),this.s.z=this.b.length,this.p(this.b,!1)),this.b.set(this.b.subarray(-32768)),this.b.set(n.subarray(a),32768),this.s.z=n.length-a+32768,this.s.i=32766,this.s.w=32768}else this.b.set(n,this.s.z),this.s.z+=n.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},n}();function q(t,n){n||(n={});var r=function(){var t=-1;return{p:function(n){for(var r=t,e=0;e<n.length;++e)r=I[255&r^n[e]]^r>>>8;t=r},d:function(){return~t}}}(),e=t.length;r.p(t);var i,a=L(t,n,10+((i=n).filename?i.filename.length+1:0),8),s=a.length;return function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&O(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var e=0;e<=r.length;++e)t[e+10]=r.charCodeAt(e)}}(a,n),O(a,s-8,r.d()),O(a,s-4,e),a}var B=function(){function t(t,n){this.c=S(),this.v=1,j.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),j.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=L(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(function(t,n){var r=n.level,e=0==r?0:r<6?1:9==r?3:2;if(t[0]=120,t[1]=e<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var i=S();i.p(n.dictionary),O(t,2,i.d())}}(r,this.o),this.v=0),n&&O(r,r.length-4,this.c.d()),this.ondata(r,n)},t}(),G="undefined"!=typeof TextEncoder&&new TextEncoder,H="undefined"!=typeof TextDecoder&&new TextDecoder;try{H.decode(F,{stream:!0})}catch(t){}var J=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(K(t),this.d=n||!1)},t}();function K(n,r){if(r){for(var e=new t(n.length),i=0;i<n.length;++i)e[i]=n.charCodeAt(i);return e}if(G)return G.encode(n);var a=n.length,s=new t(n.length+(n.length>>1)),o=0,f=function(t){s[o++]=t};for(i=0;i<a;++i){if(o+5>s.length){var h=new t(o+8+(a-i<<1));h.set(s),s=h}var l=n.charCodeAt(i);l<128||r?f(l):l<2048?(f(192|l>>6),f(128|63&l)):l>55295&&l<57344?(f(240|(l=65536+(1047552&l)|1023&n.charCodeAt(++i))>>18),f(128|l>>12&63),f(128|l>>6&63),f(128|63&l)):(f(224|l>>12),f(128|l>>6&63),f(128|63&l))}return b(s,0,o)}const N=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const n=this._hasEvents?",":"";this.stream.push(n+t),this._hasEvents=!0}finish(){this.stream.push("]",!0);const t=function(t){let n=0;for(let r=0,e=t.length;r<e;r++)n+=t[r].length;const r=new Uint8Array(n);for(let n=0,e=0,i=t.length;n<i;n++){const i=t[n];r.set(i,e),e+=i.length}return r}(this._deflatedData);return this._init(),t}_init(){this._hasEvents=!1,this._deflatedData=[],this.deflate=new B,this.deflate.ondata=(t,n)=>{this._deflatedData.push(t)},this.stream=new J(((t,n)=>{this.deflate.push(t,n)})),this.stream.push("[")}},P={clear:()=>{N.clear()},addEvent:t=>N.addEvent(t),finish:()=>N.finish(),compress:t=>function(t){return q(K(t))}(t)};addEventListener("message",(function(t){const n=t.data.method,r=t.data.id,e=t.data.arg;if(n in P&&"function"==typeof P[n])try{const t=P[n](e);postMessage({id:r,method:n,success:!0,response:t})}catch(t){postMessage({id:r,method:n,success:!1,response:t.message}),console.error(t)}})),postMessage({id:void 0,method:"init",success:!0,response:void 0});`;
|
|
4678
4685
|
|
|
4679
4686
|
function e(){const e=new Blob([r]);return URL.createObjectURL(e)}
|
|
@@ -4682,7 +4689,7 @@ function e(){const e=new Blob([r]);return URL.createObjectURL(e)}
|
|
|
4682
4689
|
* Log a message in debug mode, and add a breadcrumb when _experiment.traceInternals is enabled.
|
|
4683
4690
|
*/
|
|
4684
4691
|
function logInfo(message, shouldAddBreadcrumb) {
|
|
4685
|
-
if (!
|
|
4692
|
+
if (!DEBUG_BUILD) {
|
|
4686
4693
|
return;
|
|
4687
4694
|
}
|
|
4688
4695
|
|
|
@@ -4698,7 +4705,7 @@ function logInfo(message, shouldAddBreadcrumb) {
|
|
|
4698
4705
|
* This is necessary when the breadcrumb may be added before the replay is initialized.
|
|
4699
4706
|
*/
|
|
4700
4707
|
function logInfoNextTick(message, shouldAddBreadcrumb) {
|
|
4701
|
-
if (!
|
|
4708
|
+
if (!DEBUG_BUILD) {
|
|
4702
4709
|
return;
|
|
4703
4710
|
}
|
|
4704
4711
|
|
|
@@ -4885,7 +4892,7 @@ class WorkerHandler {
|
|
|
4885
4892
|
|
|
4886
4893
|
if (!response.success) {
|
|
4887
4894
|
// TODO: Do some error handling, not sure what
|
|
4888
|
-
|
|
4895
|
+
DEBUG_BUILD && utils.logger.error('[Replay]', response.response);
|
|
4889
4896
|
|
|
4890
4897
|
reject(new Error('Error in compression worker'));
|
|
4891
4898
|
return;
|
|
@@ -5115,7 +5122,7 @@ class EventBufferProxy {
|
|
|
5115
5122
|
try {
|
|
5116
5123
|
await Promise.all(addEventPromises);
|
|
5117
5124
|
} catch (error) {
|
|
5118
|
-
|
|
5125
|
+
DEBUG_BUILD && utils.logger.warn('[Replay] Failed to add events when switching buffers.', error);
|
|
5119
5126
|
}
|
|
5120
5127
|
}
|
|
5121
5128
|
}
|
|
@@ -5216,21 +5223,6 @@ function isSampled(sampleRate) {
|
|
|
5216
5223
|
return Math.random() < sampleRate;
|
|
5217
5224
|
}
|
|
5218
5225
|
|
|
5219
|
-
/**
|
|
5220
|
-
* Save a session to session storage.
|
|
5221
|
-
*/
|
|
5222
|
-
function saveSession(session) {
|
|
5223
|
-
if (!hasSessionStorage()) {
|
|
5224
|
-
return;
|
|
5225
|
-
}
|
|
5226
|
-
|
|
5227
|
-
try {
|
|
5228
|
-
WINDOW.sessionStorage.setItem(REPLAY_SESSION_KEY, JSON.stringify(session));
|
|
5229
|
-
} catch (e) {
|
|
5230
|
-
// Ignore potential SecurityError exceptions
|
|
5231
|
-
}
|
|
5232
|
-
}
|
|
5233
|
-
|
|
5234
5226
|
/**
|
|
5235
5227
|
* Get a session with defaults & applied sampling.
|
|
5236
5228
|
*/
|
|
@@ -5254,6 +5246,21 @@ function makeSession(session) {
|
|
|
5254
5246
|
};
|
|
5255
5247
|
}
|
|
5256
5248
|
|
|
5249
|
+
/**
|
|
5250
|
+
* Save a session to session storage.
|
|
5251
|
+
*/
|
|
5252
|
+
function saveSession(session) {
|
|
5253
|
+
if (!hasSessionStorage()) {
|
|
5254
|
+
return;
|
|
5255
|
+
}
|
|
5256
|
+
|
|
5257
|
+
try {
|
|
5258
|
+
WINDOW.sessionStorage.setItem(REPLAY_SESSION_KEY, JSON.stringify(session));
|
|
5259
|
+
} catch (e) {
|
|
5260
|
+
// Ignore potential SecurityError exceptions
|
|
5261
|
+
}
|
|
5262
|
+
}
|
|
5263
|
+
|
|
5257
5264
|
/**
|
|
5258
5265
|
* Get the sampled status for a session based on sample rates & current sampled status.
|
|
5259
5266
|
*/
|
|
@@ -5470,7 +5477,7 @@ async function _addEvent(
|
|
|
5470
5477
|
} catch (error) {
|
|
5471
5478
|
const reason = error && error instanceof EventBufferSizeExceededError ? 'addEventSizeExceeded' : 'addEvent';
|
|
5472
5479
|
|
|
5473
|
-
|
|
5480
|
+
DEBUG_BUILD && utils.logger.error(error);
|
|
5474
5481
|
await replay.stop({ reason });
|
|
5475
5482
|
|
|
5476
5483
|
const client = core.getClient();
|
|
@@ -5518,7 +5525,7 @@ function maybeApplyCallback(
|
|
|
5518
5525
|
return callback(event);
|
|
5519
5526
|
}
|
|
5520
5527
|
} catch (error) {
|
|
5521
|
-
|
|
5528
|
+
DEBUG_BUILD &&
|
|
5522
5529
|
utils.logger.error('[Replay] An error occured in the `beforeAddRecordingEvent` callback, skipping the event...', error);
|
|
5523
5530
|
return null;
|
|
5524
5531
|
}
|
|
@@ -5750,7 +5757,7 @@ function handleGlobalEventListener(
|
|
|
5750
5757
|
// Unless `captureExceptions` is enabled, we want to ignore errors coming from rrweb
|
|
5751
5758
|
// As there can be a bunch of stuff going wrong in internals there, that we don't want to bubble up to users
|
|
5752
5759
|
if (isRrwebError(event, hint) && !replay.getOptions()._experiments.captureExceptions) {
|
|
5753
|
-
|
|
5760
|
+
DEBUG_BUILD && utils.logger.log('[Replay] Ignoring error from rrweb internals', event);
|
|
5754
5761
|
return null;
|
|
5755
5762
|
}
|
|
5756
5763
|
|
|
@@ -5857,7 +5864,7 @@ function handleHistorySpanListener(replay) {
|
|
|
5857
5864
|
*/
|
|
5858
5865
|
function shouldFilterRequest(replay, url) {
|
|
5859
5866
|
// If we enabled the `traceInternals` experiment, we want to trace everything
|
|
5860
|
-
if (
|
|
5867
|
+
if (DEBUG_BUILD && replay.getOptions()._experiments.traceInternals) {
|
|
5861
5868
|
return false;
|
|
5862
5869
|
}
|
|
5863
5870
|
|
|
@@ -6036,11 +6043,11 @@ function getBodyString(body) {
|
|
|
6036
6043
|
return [_serializeFormData(body)];
|
|
6037
6044
|
}
|
|
6038
6045
|
} catch (e2) {
|
|
6039
|
-
|
|
6046
|
+
DEBUG_BUILD && utils.logger.warn('[Replay] Failed to serialize body', body);
|
|
6040
6047
|
return [undefined, 'BODY_PARSE_ERROR'];
|
|
6041
6048
|
}
|
|
6042
6049
|
|
|
6043
|
-
|
|
6050
|
+
DEBUG_BUILD && utils.logger.info('[Replay] Skipping network body because of body type', body);
|
|
6044
6051
|
|
|
6045
6052
|
return [undefined];
|
|
6046
6053
|
}
|
|
@@ -6264,7 +6271,7 @@ async function captureFetchBreadcrumbToReplay(
|
|
|
6264
6271
|
const result = makeNetworkReplayBreadcrumb('resource.fetch', data);
|
|
6265
6272
|
addNetworkBreadcrumb(options.replay, result);
|
|
6266
6273
|
} catch (error) {
|
|
6267
|
-
|
|
6274
|
+
DEBUG_BUILD && utils.logger.error('[Replay] Failed to capture fetch breadcrumb', error);
|
|
6268
6275
|
}
|
|
6269
6276
|
}
|
|
6270
6277
|
|
|
@@ -6420,7 +6427,7 @@ function getResponseData(
|
|
|
6420
6427
|
|
|
6421
6428
|
return buildNetworkRequestOrResponse(headers, size, undefined);
|
|
6422
6429
|
} catch (error) {
|
|
6423
|
-
|
|
6430
|
+
DEBUG_BUILD && utils.logger.warn('[Replay] Failed to serialize response body', error);
|
|
6424
6431
|
// fallback
|
|
6425
6432
|
return buildNetworkRequestOrResponse(headers, responseBodySize, undefined);
|
|
6426
6433
|
}
|
|
@@ -6437,7 +6444,7 @@ async function _parseFetchResponseBody(response) {
|
|
|
6437
6444
|
const text = await _tryGetResponseText(res);
|
|
6438
6445
|
return [text];
|
|
6439
6446
|
} catch (error) {
|
|
6440
|
-
|
|
6447
|
+
DEBUG_BUILD && utils.logger.warn('[Replay] Failed to get text body from response', error);
|
|
6441
6448
|
return [undefined, 'BODY_PARSE_ERROR'];
|
|
6442
6449
|
}
|
|
6443
6450
|
}
|
|
@@ -6507,7 +6514,7 @@ function _tryCloneResponse(response) {
|
|
|
6507
6514
|
return response.clone();
|
|
6508
6515
|
} catch (error) {
|
|
6509
6516
|
// this can throw if the response was already consumed before
|
|
6510
|
-
|
|
6517
|
+
DEBUG_BUILD && utils.logger.warn('[Replay] Failed to clone response body', error);
|
|
6511
6518
|
}
|
|
6512
6519
|
}
|
|
6513
6520
|
|
|
@@ -6551,7 +6558,7 @@ async function captureXhrBreadcrumbToReplay(
|
|
|
6551
6558
|
const result = makeNetworkReplayBreadcrumb('resource.xhr', data);
|
|
6552
6559
|
addNetworkBreadcrumb(options.replay, result);
|
|
6553
6560
|
} catch (error) {
|
|
6554
|
-
|
|
6561
|
+
DEBUG_BUILD && utils.logger.error('[Replay] Failed to capture xhr breadcrumb', error);
|
|
6555
6562
|
}
|
|
6556
6563
|
}
|
|
6557
6564
|
|
|
@@ -6673,7 +6680,7 @@ function _getXhrResponseBody(xhr) {
|
|
|
6673
6680
|
errors.push(e);
|
|
6674
6681
|
}
|
|
6675
6682
|
|
|
6676
|
-
|
|
6683
|
+
DEBUG_BUILD && utils.logger.warn('[Replay] Failed to get xhr response body', ...errors);
|
|
6677
6684
|
|
|
6678
6685
|
return [undefined];
|
|
6679
6686
|
}
|
|
@@ -6749,7 +6756,7 @@ function beforeAddNetworkBreadcrumb(
|
|
|
6749
6756
|
void captureFetchBreadcrumbToReplay(breadcrumb, hint, options);
|
|
6750
6757
|
}
|
|
6751
6758
|
} catch (e) {
|
|
6752
|
-
|
|
6759
|
+
DEBUG_BUILD && utils.logger.warn('Error when enriching network breadcrumb');
|
|
6753
6760
|
}
|
|
6754
6761
|
}
|
|
6755
6762
|
|
|
@@ -7055,7 +7062,7 @@ function getHandleRecordingEmit(replay) {
|
|
|
7055
7062
|
return (event, _isCheckout) => {
|
|
7056
7063
|
// If this is false, it means session is expired, create and a new session and wait for checkout
|
|
7057
7064
|
if (!replay.checkAndHandleExpiredSession()) {
|
|
7058
|
-
|
|
7065
|
+
DEBUG_BUILD && utils.logger.warn('[Replay] Received replay event after session expired.');
|
|
7059
7066
|
|
|
7060
7067
|
return;
|
|
7061
7068
|
}
|
|
@@ -7472,7 +7479,7 @@ async function sendReplay(
|
|
|
7472
7479
|
_retryCount: retryConfig.count,
|
|
7473
7480
|
});
|
|
7474
7481
|
|
|
7475
|
-
if (
|
|
7482
|
+
if (DEBUG_BUILD && options._experiments && options._experiments.captureExceptions) {
|
|
7476
7483
|
core.captureException(err);
|
|
7477
7484
|
}
|
|
7478
7485
|
|
|
@@ -8204,9 +8211,9 @@ class ReplayContainer {
|
|
|
8204
8211
|
|
|
8205
8212
|
/** A wrapper to conditionally capture exceptions. */
|
|
8206
8213
|
_handleException(error) {
|
|
8207
|
-
|
|
8214
|
+
DEBUG_BUILD && utils.logger.error('[Replay]', error);
|
|
8208
8215
|
|
|
8209
|
-
if (
|
|
8216
|
+
if (DEBUG_BUILD && this._options._experiments && this._options._experiments.captureExceptions) {
|
|
8210
8217
|
core.captureException(error);
|
|
8211
8218
|
}
|
|
8212
8219
|
}
|
|
@@ -8523,7 +8530,7 @@ class ReplayContainer {
|
|
|
8523
8530
|
const replayId = this.getSessionId();
|
|
8524
8531
|
|
|
8525
8532
|
if (!this.session || !this.eventBuffer || !replayId) {
|
|
8526
|
-
|
|
8533
|
+
DEBUG_BUILD && utils.logger.error('[Replay] No session or eventBuffer found to flush.');
|
|
8527
8534
|
return;
|
|
8528
8535
|
}
|
|
8529
8536
|
|
|
@@ -8608,7 +8615,7 @@ class ReplayContainer {
|
|
|
8608
8615
|
}
|
|
8609
8616
|
|
|
8610
8617
|
if (!this.checkAndHandleExpiredSession()) {
|
|
8611
|
-
|
|
8618
|
+
DEBUG_BUILD && utils.logger.error('[Replay] Attempting to finish replay event after session expired.');
|
|
8612
8619
|
return;
|
|
8613
8620
|
}
|
|
8614
8621
|
|
|
@@ -8666,7 +8673,7 @@ class ReplayContainer {
|
|
|
8666
8673
|
try {
|
|
8667
8674
|
await this._flushLock;
|
|
8668
8675
|
} catch (err) {
|
|
8669
|
-
|
|
8676
|
+
DEBUG_BUILD && utils.logger.error(err);
|
|
8670
8677
|
} finally {
|
|
8671
8678
|
this._debouncedFlush();
|
|
8672
8679
|
}
|
|
@@ -8735,10 +8742,12 @@ function getOption(
|
|
|
8735
8742
|
allSelectors.push(`.${deprecatedClassOption}`);
|
|
8736
8743
|
}
|
|
8737
8744
|
|
|
8738
|
-
|
|
8739
|
-
|
|
8740
|
-
|
|
8741
|
-
|
|
8745
|
+
utils.consoleSandbox(() => {
|
|
8746
|
+
// eslint-disable-next-line no-console
|
|
8747
|
+
console.warn(
|
|
8748
|
+
'[Replay] You are using a deprecated configuration item for privacy. Read the documentation on how to use the new privacy configuration.',
|
|
8749
|
+
);
|
|
8750
|
+
});
|
|
8742
8751
|
}
|
|
8743
8752
|
|
|
8744
8753
|
return allSelectors.join(',');
|
|
@@ -9156,8 +9165,10 @@ function loadReplayOptionsFromClient(initialOptions) {
|
|
|
9156
9165
|
const finalOptions = { sessionSampleRate: 0, errorSampleRate: 0, ...utils.dropUndefinedKeys(initialOptions) };
|
|
9157
9166
|
|
|
9158
9167
|
if (!opt) {
|
|
9159
|
-
|
|
9160
|
-
|
|
9168
|
+
utils.consoleSandbox(() => {
|
|
9169
|
+
// eslint-disable-next-line no-console
|
|
9170
|
+
console.warn('SDK client is not available.');
|
|
9171
|
+
});
|
|
9161
9172
|
return finalOptions;
|
|
9162
9173
|
}
|
|
9163
9174
|
|
|
@@ -9167,10 +9178,12 @@ function loadReplayOptionsFromClient(initialOptions) {
|
|
|
9167
9178
|
opt.replaysSessionSampleRate == null &&
|
|
9168
9179
|
opt.replaysOnErrorSampleRate == null
|
|
9169
9180
|
) {
|
|
9170
|
-
|
|
9171
|
-
|
|
9172
|
-
|
|
9173
|
-
|
|
9181
|
+
utils.consoleSandbox(() => {
|
|
9182
|
+
// eslint-disable-next-line no-console
|
|
9183
|
+
console.warn(
|
|
9184
|
+
'Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.',
|
|
9185
|
+
);
|
|
9186
|
+
});
|
|
9174
9187
|
}
|
|
9175
9188
|
|
|
9176
9189
|
if (typeof opt.replaysSessionSampleRate === 'number') {
|