jat-feedback 1.6.8 → 1.6.9

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.
@@ -72,7 +72,7 @@ var jv=Object.defineProperty;var Pl=pe=>{throw TypeError(pe)};var Iv=(pe,he,Te)=
72
72
  animation: svelte-nv4d5v-spin 0.6s linear infinite;}
73
73
  @keyframes svelte-nv4d5v-spin {
74
74
  to { transform: rotate(360deg); }
75
- }.requests-wrapper.svelte-nv4d5v {flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;}.panel-version.svelte-nv4d5v {font-size:10px;color:#4b5563;margin-right:auto;align-self:flex-end;padding-bottom:6px;}`};function Tl(e,t){gn(t,!0),Ln(e,$v);const n="1.6.8";let r=W(t,"endpoint",7),s=W(t,"project",7),o=W(t,"isOpen",7,!1),i=W(t,"userId",7,""),a=W(t,"userEmail",7,""),c=W(t,"userName",7,""),u=W(t,"userRole",7,""),f=W(t,"orgId",7,""),d=W(t,"orgName",7,""),v=W(t,"onclose",7),p=W(t,"ongrip",7),_=D("new"),b=D(Ue([])),h=D(!1),g=D(""),T=Yt(()=>l(b).filter(C=>C.status==="completed").length);async function k(){y(h,!0),y(g,"");const C=await Of(r());y(b,C.reports,!0),C.error&&y(g,C.error,!0),y(h,!1)}Os(()=>{r()&&k()});let M=D(""),L=D(""),z=D("bug"),Q=D("medium"),q=D(Ue([])),se=D(Ue([])),le=D(Ue([])),ye=D(!1),Ne=D(!1),Ve=D(!1),Re=D(null),we=D(""),mt=D(void 0),Bt=!1;Os(()=>{o()&&!Bt&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{var C;(C=l(mt))==null||C.focus()})}),l(_)==="new"&&l(q).length===0&&setTimeout(()=>{nd().then(C=>{y(q,[...l(q),C],!0)}).catch(()=>{})},300)),Bt=o()});let it=D(""),Pe=D("success"),j=D(!1);function ce(C,ee){y(it,C,!0),y(Pe,ee,!0),y(j,!0),setTimeout(()=>{y(j,!1)},3e3)}async function bt(){y(Ne,!0);try{const C=await kl();y(we,C,!0),y(Re,l(q).length,!0)}catch(C){console.error("[jat-feedback] Screenshot failed:",C),ce("Screenshot failed: "+(C instanceof Error?C.message:"unknown error"),"error")}finally{y(Ne,!1)}}function Ut(C){y(q,l(q).filter((ee,je)=>je!==C),!0)}function We(C){y(we,l(q)[C],!0),y(Re,C,!0)}function Tt(C){l(Re)!==null&&(l(Re)>=l(q).length?(y(q,[...l(q),C],!0),ce(`Screenshot captured (${l(q).length})`,"success")):(y(q,l(q).map((ee,je)=>je===l(Re)?C:ee),!0),ce("Screenshot updated","success"))),y(Re,null),y(we,"")}function rn(){l(Re)!==null&&l(Re)>=l(q).length&&(y(q,[...l(q),l(we)],!0),ce(`Screenshot captured (${l(q).length})`,"success")),y(Re,null),y(we,"")}function sn(){y(Ve,!0),qa(C=>{y(se,[...l(se),C],!0),y(Ve,!1),ce(`Element captured: <${C.tagName.toLowerCase()}>`,"success")})}function Ye(){y(le,Sf(),!0)}async function on(C){if(C.preventDefault(),!l(M).trim())return;y(ye,!0),Ye();const ee={};(i()||a()||c()||u())&&(ee.reporter={},i()&&(ee.reporter.userId=i()),a()&&(ee.reporter.email=a()),c()&&(ee.reporter.name=c()),u()&&(ee.reporter.role=u())),(f()||d())&&(ee.organization={},f()&&(ee.organization.id=f()),d()&&(ee.organization.name=d()));const je={title:l(M).trim(),description:l(L).trim(),type:l(z),priority:l(Q),project:s()||"",page_url:window.location.href,user_agent:navigator.userAgent,console_logs:l(le).length>0?l(le):null,selected_elements:l(se).length>0?l(se):null,screenshots:l(q).length>0?l(q):null,metadata:Object.keys(ee).length>0?ee:null};try{const De=await Wa(r(),je);De.ok?(ce(`Report submitted (${De.id})`,"success"),qn(),setTimeout(()=>{k(),y(_,"requests")},1200)):(Ga(r(),je),ce("Queued for retry (endpoint unreachable)","error"))}catch{Ga(r(),je),ce("Queued for retry (endpoint unreachable)","error")}finally{y(ye,!1)}}function qn(){y(M,""),y(L,""),y(z,"bug"),y(Q,"medium"),y(q,[],!0),y(se,[],!0),y(le,[],!0)}Os(()=>{Ye()});function an(C){C.stopPropagation()}const ln=[{value:"bug",label:"Bug"},{value:"enhancement",label:"Enhancement"},{value:"other",label:"Other"}],ws=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"critical",label:"Critical"}];function E(){return l(q).length+l(se).length}var ae={get endpoint(){return r()},set endpoint(C){r(C),U()},get project(){return s()},set project(C){s(C),U()},get isOpen(){return o()},set isOpen(C=!1){o(C),U()},get userId(){return i()},set userId(C=""){i(C),U()},get userEmail(){return a()},set userEmail(C=""){a(C),U()},get userName(){return c()},set userName(C=""){c(C),U()},get userRole(){return u()},set userRole(C=""){u(C),U()},get orgId(){return f()},set orgId(C=""){f(C),U()},get orgName(){return d()},set orgName(C=""){d(C),U()},get onclose(){return v()},set onclose(C){v(C),U()},get ongrip(){return p()},set ongrip(C){p(C),U()}},xe=Sv(),at=ut(xe),_t=x(at),Qe=x(_t);{var A=C=>{var ee=fv();H("mousedown",ee,function(...je){var De;(De=p())==null||De.apply(this,je)}),$(C,ee)};B(Qe,C=>{p()&&C(A)})}var I=S(Qe,2),P=x(I);let G;var ge=S(P,2);let R;var Ht=S(x(ge),2);{var Sn=C=>{var ee=uv(),je=x(ee,!0);w(ee),F(()=>Z(je,l(T))),$(C,ee)};B(Ht,C=>{l(T)>0&&C(Sn)})}w(ge),w(I);var Vt=S(I,2);w(_t);var yt=S(_t,2);{var $n=C=>{var ee=kv(),je=x(ee),De=S(x(je),2);Aa(De),Mr(De,O=>y(mt,O),()=>l(mt)),w(je);var cn=S(je,2),Fn=S(x(cn),2);Xi(Fn),w(cn);var br=S(cn,2),zn=x(br),Xr=S(x(zn),2);Je(Xr,21,()=>ln,pt,(O,te)=>{var ve=dv(),Ee=x(ve,!0);w(ve);var be={};F(()=>{Z(Ee,l(te).label),be!==(be=l(te).value)&&(ve.value=(ve.__value=l(te).value)??"")}),$(O,ve)}),w(Xr),w(zn);var xs=S(zn,2),Kr=S(x(xs),2);Je(Kr,21,()=>ws,pt,(O,te)=>{var ve=vv(),Ee=x(ve,!0);w(ve);var be={};F(()=>{Z(Ee,l(te).label),be!==(be=l(te).value)&&(ve.value=(ve.__value=l(te).value)??"")}),$(O,ve)}),w(Kr),w(xs),w(br);var ks=S(br,2),Gr=x(ks),_r=x(Gr),lo=x(_r);{var ti=O=>{var te=pv();js(),$(O,te)},co=O=>{var te=gv(),ve=S(ut(te),2);{var Ee=be=>{var Se=hv(),Rt=x(Se,!0);w(Se),F(()=>Z(Rt,l(q).length)),$(be,Se)};B(ve,be=>{l(q).length>0&&be(Ee)})}$(O,te)};B(lo,O=>{l(Ne)?O(ti):O(co,!1)})}w(_r);var Bn=S(_r,2),ni=S(x(Bn),2);{var ri=O=>{var te=ga("Click an element...");$(O,te)},si=O=>{var te=bv(),ve=S(ut(te));{var Ee=be=>{var Se=mv(),Rt=x(Se,!0);w(Se),F(()=>Z(Rt,l(se).length)),$(be,Se)};B(ve,be=>{l(se).length>0&&be(Ee)})}$(O,te)};B(ni,O=>{l(Ve)?O(ri):O(si,!1)})}w(Bn),w(Gr);var oi=S(Gr,2);El(oi,{get screenshots(){return l(q)},get capturing(){return l(Ne)},oncapture:bt,onremove:Ut,onedit:We}),w(ks);var fo=S(ks,2);{var re=O=>{var te=yv();Je(te,21,()=>l(se),pt,(ve,Ee,be)=>{var Se=_v(),Rt=x(Se),Es=x(Rt);w(Rt);var Un=S(Rt,2),Ss=x(Un,!0);w(Un);var $e=S(Un,2);w(Se),F((Me,jt)=>{Z(Es,`<${Me??""}>`),Z(Ss,jt)},[()=>l(Ee).tagName.toLowerCase(),()=>{var Me;return((Me=l(Ee).textContent)==null?void 0:Me.substring(0,40))||l(Ee).selector}]),H("click",$e,()=>{y(se,l(se).filter((Me,jt)=>jt!==be),!0)}),$(ve,Se)}),w(te),$(O,te)};B(fo,O=>{l(se).length>0&&O(re)})}var oe=S(fo,2);$l(oe,{get logs(){return l(le)}});var me=S(oe,2);{var lt=O=>{var te=wv(),ve=x(te);w(te),F((Ee,be)=>Z(ve,`${Ee??""} attachment${be??""} will be included`),[E,()=>E()>1?"s":""]),$(O,te)},fn=Yt(()=>E()>0);B(me,O=>{l(fn)&&O(lt)})}var ct=S(me,2),Ie=x(ct),ke=x(Ie);w(Ie);var Xe=S(Ie,2),fe=S(Xe,2),Nt=x(fe);{var yr=O=>{var te=xv();js(),$(O,te)},de=O=>{var te=ga("Submit");$(O,te)};B(Nt,O=>{l(ye)?O(yr):O(de,!1)})}w(fe),w(ct),w(ee),F(O=>{De.disabled=l(ye),Fn.disabled=l(ye),Xr.disabled=l(ye),Kr.disabled=l(ye),_r.disabled=l(Ne),Bn.disabled=l(Ve),Z(ke,`v${n}`),Xe.disabled=l(ye),fe.disabled=O},[()=>l(ye)||!l(M).trim()]),Vs("submit",ee,on),Ks(De,()=>l(M),O=>y(M,O)),Ks(Fn,()=>l(L),O=>y(L,O)),Ca(Xr,()=>l(z),O=>y(z,O)),Ca(Kr,()=>l(Q),O=>y(Q,O)),H("click",_r,bt),H("click",Bn,sn),H("click",Xe,function(...O){var te;(te=v())==null||te.apply(this,O)}),Xs(3,ee,()=>oo,()=>({duration:200})),$(C,ee)};B(yt,C=>{l(_)==="new"&&C($n)})}var On=S(yt,2);{var Zo=C=>{var ee=Ev(),je=x(ee);Al(je,{get endpoint(){return r()},get loading(){return l(h)},get error(){return l(g)},onreload:k,get reports(){return l(b)},set reports(De){y(b,De,!0)}}),w(ee),Xs(3,ee,()=>oo,()=>({duration:200})),$(C,ee)};B(On,C=>{l(_)==="requests"&&C(Zo)})}var Yr=S(On,2);Cl(Yr,{get message(){return l(it)},get type(){return l(Pe)},get visible(){return l(j)}}),w(at);var Qo=S(at,2);{var ei=C=>{Sl(C,{get imageDataUrl(){return l(we)},onsave:Tt,oncancel:rn})};B(Qo,C=>{l(Re)!==null&&C(ei)})}return F(()=>{G=Ze(P,1,"tab svelte-nv4d5v",null,G,{active:l(_)==="new"}),R=Ze(ge,1,"tab svelte-nv4d5v",null,R,{active:l(_)==="requests"})}),H("keydown",at,an),H("keyup",at,an),Vs("keypress",at,an),H("click",P,()=>y(_,"new")),H("click",ge,()=>y(_,"requests")),H("click",Vt,function(...C){var ee;(ee=v())==null||ee.apply(this,C)}),$(e,xe),mn(ae)}os(["keydown","keyup","mousedown","click"]),Pn(Tl,{endpoint:{},project:{},isOpen:{},userId:{},userEmail:{},userName:{},userRole:{},orgId:{},orgName:{},onclose:{},ongrip:{}},[],[],{mode:"open"});var Cv=N("<div><!></div>"),Av=N('<div class="jat-feedback-panel svelte-qpyrvv"><div class="no-endpoint svelte-qpyrvv"><p class="svelte-qpyrvv">No endpoint configured.</p> <p class="svelte-qpyrvv">Add the <code class="svelte-qpyrvv">endpoint</code> attribute:</p> <code class="example svelte-qpyrvv">&lt;jat-feedback endpoint="http://localhost:3333"&gt;</code></div></div>'),Tv=N('<div class="jat-feedback-root svelte-qpyrvv"><!> <!></div>');const Nv={hash:"svelte-qpyrvv",code:`.jat-feedback-root.svelte-qpyrvv {position:fixed;z-index:2147483647;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;}.jat-feedback-panel.svelte-qpyrvv {position:absolute;
75
+ }.requests-wrapper.svelte-nv4d5v {flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;}.panel-version.svelte-nv4d5v {font-size:10px;color:#4b5563;margin-right:auto;align-self:flex-end;padding-bottom:6px;}`};function Tl(e,t){gn(t,!0),Ln(e,$v);const n="1.6.9";let r=W(t,"endpoint",7),s=W(t,"project",7),o=W(t,"isOpen",7,!1),i=W(t,"userId",7,""),a=W(t,"userEmail",7,""),c=W(t,"userName",7,""),u=W(t,"userRole",7,""),f=W(t,"orgId",7,""),d=W(t,"orgName",7,""),v=W(t,"onclose",7),p=W(t,"ongrip",7),_=D("new"),b=D(Ue([])),h=D(!1),g=D(""),T=Yt(()=>l(b).filter(C=>C.status==="completed").length);async function k(){y(h,!0),y(g,"");const C=await Of(r());y(b,C.reports,!0),C.error&&y(g,C.error,!0),y(h,!1)}Os(()=>{r()&&k()});let M=D(""),L=D(""),z=D("bug"),Q=D("medium"),q=D(Ue([])),se=D(Ue([])),le=D(Ue([])),ye=D(!1),Ne=D(!1),Ve=D(!1),Re=D(null),we=D(""),mt=D(void 0),Bt=!1;Os(()=>{o()&&!Bt&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{var C;(C=l(mt))==null||C.focus()})}),l(_)==="new"&&l(q).length===0&&setTimeout(()=>{nd().then(C=>{y(q,[...l(q),C],!0)}).catch(()=>{})},300)),Bt=o()});let it=D(""),Pe=D("success"),j=D(!1);function ce(C,ee){y(it,C,!0),y(Pe,ee,!0),y(j,!0),setTimeout(()=>{y(j,!1)},3e3)}async function bt(){y(Ne,!0);try{const C=await kl();y(we,C,!0),y(Re,l(q).length,!0)}catch(C){console.error("[jat-feedback] Screenshot failed:",C),ce("Screenshot failed: "+(C instanceof Error?C.message:"unknown error"),"error")}finally{y(Ne,!1)}}function Ut(C){y(q,l(q).filter((ee,je)=>je!==C),!0)}function We(C){y(we,l(q)[C],!0),y(Re,C,!0)}function Tt(C){l(Re)!==null&&(l(Re)>=l(q).length?(y(q,[...l(q),C],!0),ce(`Screenshot captured (${l(q).length})`,"success")):(y(q,l(q).map((ee,je)=>je===l(Re)?C:ee),!0),ce("Screenshot updated","success"))),y(Re,null),y(we,"")}function rn(){l(Re)!==null&&l(Re)>=l(q).length&&(y(q,[...l(q),l(we)],!0),ce(`Screenshot captured (${l(q).length})`,"success")),y(Re,null),y(we,"")}function sn(){y(Ve,!0),qa(C=>{y(se,[...l(se),C],!0),y(Ve,!1),ce(`Element captured: <${C.tagName.toLowerCase()}>`,"success")})}function Ye(){y(le,Sf(),!0)}async function on(C){if(C.preventDefault(),!l(M).trim())return;y(ye,!0),Ye();const ee={};(i()||a()||c()||u())&&(ee.reporter={},i()&&(ee.reporter.userId=i()),a()&&(ee.reporter.email=a()),c()&&(ee.reporter.name=c()),u()&&(ee.reporter.role=u())),(f()||d())&&(ee.organization={},f()&&(ee.organization.id=f()),d()&&(ee.organization.name=d()));const je={title:l(M).trim(),description:l(L).trim(),type:l(z),priority:l(Q),project:s()||"",page_url:window.location.href,user_agent:navigator.userAgent,console_logs:l(le).length>0?l(le):null,selected_elements:l(se).length>0?l(se):null,screenshots:l(q).length>0?l(q):null,metadata:Object.keys(ee).length>0?ee:null};try{const De=await Wa(r(),je);De.ok?(ce(`Report submitted (${De.id})`,"success"),qn(),setTimeout(()=>{k(),y(_,"requests")},1200)):(Ga(r(),je),ce("Queued for retry (endpoint unreachable)","error"))}catch{Ga(r(),je),ce("Queued for retry (endpoint unreachable)","error")}finally{y(ye,!1)}}function qn(){y(M,""),y(L,""),y(z,"bug"),y(Q,"medium"),y(q,[],!0),y(se,[],!0),y(le,[],!0)}Os(()=>{Ye()});function an(C){C.stopPropagation()}const ln=[{value:"bug",label:"Bug"},{value:"enhancement",label:"Enhancement"},{value:"other",label:"Other"}],ws=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"critical",label:"Critical"}];function E(){return l(q).length+l(se).length}var ae={get endpoint(){return r()},set endpoint(C){r(C),U()},get project(){return s()},set project(C){s(C),U()},get isOpen(){return o()},set isOpen(C=!1){o(C),U()},get userId(){return i()},set userId(C=""){i(C),U()},get userEmail(){return a()},set userEmail(C=""){a(C),U()},get userName(){return c()},set userName(C=""){c(C),U()},get userRole(){return u()},set userRole(C=""){u(C),U()},get orgId(){return f()},set orgId(C=""){f(C),U()},get orgName(){return d()},set orgName(C=""){d(C),U()},get onclose(){return v()},set onclose(C){v(C),U()},get ongrip(){return p()},set ongrip(C){p(C),U()}},xe=Sv(),at=ut(xe),_t=x(at),Qe=x(_t);{var A=C=>{var ee=fv();H("mousedown",ee,function(...je){var De;(De=p())==null||De.apply(this,je)}),$(C,ee)};B(Qe,C=>{p()&&C(A)})}var I=S(Qe,2),P=x(I);let G;var ge=S(P,2);let R;var Ht=S(x(ge),2);{var Sn=C=>{var ee=uv(),je=x(ee,!0);w(ee),F(()=>Z(je,l(T))),$(C,ee)};B(Ht,C=>{l(T)>0&&C(Sn)})}w(ge),w(I);var Vt=S(I,2);w(_t);var yt=S(_t,2);{var $n=C=>{var ee=kv(),je=x(ee),De=S(x(je),2);Aa(De),Mr(De,O=>y(mt,O),()=>l(mt)),w(je);var cn=S(je,2),Fn=S(x(cn),2);Xi(Fn),w(cn);var br=S(cn,2),zn=x(br),Xr=S(x(zn),2);Je(Xr,21,()=>ln,pt,(O,te)=>{var ve=dv(),Ee=x(ve,!0);w(ve);var be={};F(()=>{Z(Ee,l(te).label),be!==(be=l(te).value)&&(ve.value=(ve.__value=l(te).value)??"")}),$(O,ve)}),w(Xr),w(zn);var xs=S(zn,2),Kr=S(x(xs),2);Je(Kr,21,()=>ws,pt,(O,te)=>{var ve=vv(),Ee=x(ve,!0);w(ve);var be={};F(()=>{Z(Ee,l(te).label),be!==(be=l(te).value)&&(ve.value=(ve.__value=l(te).value)??"")}),$(O,ve)}),w(Kr),w(xs),w(br);var ks=S(br,2),Gr=x(ks),_r=x(Gr),lo=x(_r);{var ti=O=>{var te=pv();js(),$(O,te)},co=O=>{var te=gv(),ve=S(ut(te),2);{var Ee=be=>{var Se=hv(),Rt=x(Se,!0);w(Se),F(()=>Z(Rt,l(q).length)),$(be,Se)};B(ve,be=>{l(q).length>0&&be(Ee)})}$(O,te)};B(lo,O=>{l(Ne)?O(ti):O(co,!1)})}w(_r);var Bn=S(_r,2),ni=S(x(Bn),2);{var ri=O=>{var te=ga("Click an element...");$(O,te)},si=O=>{var te=bv(),ve=S(ut(te));{var Ee=be=>{var Se=mv(),Rt=x(Se,!0);w(Se),F(()=>Z(Rt,l(se).length)),$(be,Se)};B(ve,be=>{l(se).length>0&&be(Ee)})}$(O,te)};B(ni,O=>{l(Ve)?O(ri):O(si,!1)})}w(Bn),w(Gr);var oi=S(Gr,2);El(oi,{get screenshots(){return l(q)},get capturing(){return l(Ne)},oncapture:bt,onremove:Ut,onedit:We}),w(ks);var fo=S(ks,2);{var re=O=>{var te=yv();Je(te,21,()=>l(se),pt,(ve,Ee,be)=>{var Se=_v(),Rt=x(Se),Es=x(Rt);w(Rt);var Un=S(Rt,2),Ss=x(Un,!0);w(Un);var $e=S(Un,2);w(Se),F((Me,jt)=>{Z(Es,`<${Me??""}>`),Z(Ss,jt)},[()=>l(Ee).tagName.toLowerCase(),()=>{var Me;return((Me=l(Ee).textContent)==null?void 0:Me.substring(0,40))||l(Ee).selector}]),H("click",$e,()=>{y(se,l(se).filter((Me,jt)=>jt!==be),!0)}),$(ve,Se)}),w(te),$(O,te)};B(fo,O=>{l(se).length>0&&O(re)})}var oe=S(fo,2);$l(oe,{get logs(){return l(le)}});var me=S(oe,2);{var lt=O=>{var te=wv(),ve=x(te);w(te),F((Ee,be)=>Z(ve,`${Ee??""} attachment${be??""} will be included`),[E,()=>E()>1?"s":""]),$(O,te)},fn=Yt(()=>E()>0);B(me,O=>{l(fn)&&O(lt)})}var ct=S(me,2),Ie=x(ct),ke=x(Ie);w(Ie);var Xe=S(Ie,2),fe=S(Xe,2),Nt=x(fe);{var yr=O=>{var te=xv();js(),$(O,te)},de=O=>{var te=ga("Submit");$(O,te)};B(Nt,O=>{l(ye)?O(yr):O(de,!1)})}w(fe),w(ct),w(ee),F(O=>{De.disabled=l(ye),Fn.disabled=l(ye),Xr.disabled=l(ye),Kr.disabled=l(ye),_r.disabled=l(Ne),Bn.disabled=l(Ve),Z(ke,`v${n}`),Xe.disabled=l(ye),fe.disabled=O},[()=>l(ye)||!l(M).trim()]),Vs("submit",ee,on),Ks(De,()=>l(M),O=>y(M,O)),Ks(Fn,()=>l(L),O=>y(L,O)),Ca(Xr,()=>l(z),O=>y(z,O)),Ca(Kr,()=>l(Q),O=>y(Q,O)),H("click",_r,bt),H("click",Bn,sn),H("click",Xe,function(...O){var te;(te=v())==null||te.apply(this,O)}),Xs(3,ee,()=>oo,()=>({duration:200})),$(C,ee)};B(yt,C=>{l(_)==="new"&&C($n)})}var On=S(yt,2);{var Zo=C=>{var ee=Ev(),je=x(ee);Al(je,{get endpoint(){return r()},get loading(){return l(h)},get error(){return l(g)},onreload:k,get reports(){return l(b)},set reports(De){y(b,De,!0)}}),w(ee),Xs(3,ee,()=>oo,()=>({duration:200})),$(C,ee)};B(On,C=>{l(_)==="requests"&&C(Zo)})}var Yr=S(On,2);Cl(Yr,{get message(){return l(it)},get type(){return l(Pe)},get visible(){return l(j)}}),w(at);var Qo=S(at,2);{var ei=C=>{Sl(C,{get imageDataUrl(){return l(we)},onsave:Tt,oncancel:rn})};B(Qo,C=>{l(Re)!==null&&C(ei)})}return F(()=>{G=Ze(P,1,"tab svelte-nv4d5v",null,G,{active:l(_)==="new"}),R=Ze(ge,1,"tab svelte-nv4d5v",null,R,{active:l(_)==="requests"})}),H("keydown",at,an),H("keyup",at,an),Vs("keypress",at,an),H("click",P,()=>y(_,"new")),H("click",ge,()=>y(_,"requests")),H("click",Vt,function(...C){var ee;(ee=v())==null||ee.apply(this,C)}),$(e,xe),mn(ae)}os(["keydown","keyup","mousedown","click"]),Pn(Tl,{endpoint:{},project:{},isOpen:{},userId:{},userEmail:{},userName:{},userRole:{},orgId:{},orgName:{},onclose:{},ongrip:{}},[],[],{mode:"open"});var Cv=N("<div><!></div>"),Av=N('<div class="jat-feedback-panel svelte-qpyrvv"><div class="no-endpoint svelte-qpyrvv"><p class="svelte-qpyrvv">No endpoint configured.</p> <p class="svelte-qpyrvv">Add the <code class="svelte-qpyrvv">endpoint</code> attribute:</p> <code class="example svelte-qpyrvv">&lt;jat-feedback endpoint="http://localhost:3333"&gt;</code></div></div>'),Tv=N('<div class="jat-feedback-root svelte-qpyrvv"><!> <!></div>');const Nv={hash:"svelte-qpyrvv",code:`.jat-feedback-root.svelte-qpyrvv {position:fixed;z-index:2147483647;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;}.jat-feedback-panel.svelte-qpyrvv {position:absolute;
76
76
  animation: svelte-qpyrvv-panel-in 0.2s ease;}.jat-feedback-panel.hidden.svelte-qpyrvv {display:none;}.jat-feedback-panel.dragging.svelte-qpyrvv {pointer-events:none;opacity:0.9;}.no-endpoint.svelte-qpyrvv {width:320px;background:#111827;border:1px solid #374151;border-radius:12px;padding:20px;color:#d1d5db;font-size:13px;box-shadow:0 20px 60px rgba(0,0,0,0.4);}.no-endpoint.svelte-qpyrvv p:where(.svelte-qpyrvv) {margin:0 0 8px;}.no-endpoint.svelte-qpyrvv code:where(.svelte-qpyrvv) {font-family:'SF Mono', 'Fira Code', monospace;font-size:11px;color:#93c5fd;}.no-endpoint.svelte-qpyrvv code.example:where(.svelte-qpyrvv) {display:block;background:#1f2937;padding:8px 10px;border-radius:4px;margin-top:4px;}
77
77
  @keyframes svelte-qpyrvv-panel-in {
78
78
  from { opacity: 0; transform: translateY(8px) scale(0.96); }
@@ -5909,7 +5909,7 @@ const Cv = {
5909
5909
  };
5910
5910
  function Pl(e, t) {
5911
5911
  Sn(t, !0), Bn(e, Cv);
5912
- const n = "1.6.8";
5912
+ const n = "1.6.9";
5913
5913
  let r = W(t, "endpoint", 7), s = W(t, "project", 7), o = W(t, "isOpen", 7, !1), i = W(t, "userId", 7, ""), a = W(t, "userEmail", 7, ""), c = W(t, "userName", 7, ""), u = W(t, "userRole", 7, ""), f = W(t, "orgId", 7, ""), d = W(t, "orgName", 7, ""), v = W(t, "onclose", 7), p = W(t, "ongrip", 7), _ = /* @__PURE__ */ D("new"), b = /* @__PURE__ */ D(Ue([])), h = /* @__PURE__ */ D(!1), g = /* @__PURE__ */ D(""), T = /* @__PURE__ */ nn(() => l(b).filter((C) => C.status === "completed").length);
5914
5914
  async function k() {
5915
5915
  y(h, !0), y(g, "");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jat-feedback",
3
- "version": "1.6.8",
3
+ "version": "1.6.9",
4
4
  "description": "Embeddable feedback widget for bug reports and feature requests. Captures screenshots, console logs, and user context as a web component.",
5
5
  "type": "module",
6
6
  "main": "dist/jat-feedback.js",
@@ -130,10 +130,11 @@ Deno.serve(async (req) => {
130
130
  }
131
131
 
132
132
  const supabase = createClient(supabaseUrl, supabaseServiceKey)
133
- const { error } = await supabase
133
+ const { data, error } = await supabase
134
134
  .from(reference_table)
135
135
  .update(update)
136
136
  .eq("id", reference_id)
137
+ .select("id")
137
138
 
138
139
  if (error) {
139
140
  console.error(`JAT webhook failed: ${error.message}`, {
@@ -147,10 +148,29 @@ Deno.serve(async (req) => {
147
148
  )
148
149
  }
149
150
 
150
- console.log(`JAT webhook: ${event} ${reference_table}[${reference_id}]`, update)
151
+ if (!data || data.length === 0) {
152
+ console.warn(`JAT webhook: no rows matched ${reference_table}[${reference_id}]`, update)
153
+ return new Response(
154
+ JSON.stringify({
155
+ error: `No rows matched: ${reference_table} id=${reference_id}`,
156
+ table: reference_table,
157
+ id: reference_id,
158
+ rowsAffected: 0,
159
+ }),
160
+ { status: 404, headers: { "Content-Type": "application/json" } },
161
+ )
162
+ }
163
+
164
+ console.log(`JAT webhook: ${event} → ${reference_table}[${reference_id}] (${data.length} row(s))`, update)
151
165
 
152
166
  return new Response(
153
- JSON.stringify({ success: true, table: reference_table, id: reference_id, updated: update }),
167
+ JSON.stringify({
168
+ success: true,
169
+ table: reference_table,
170
+ id: reference_id,
171
+ updated: update,
172
+ rowsAffected: data.length,
173
+ }),
154
174
  { status: 200, headers: { "Content-Type": "application/json" } },
155
175
  )
156
176
  })