From 9e28aa5995ea87a63709dbbc3ac064e294783bfe Mon Sep 17 00:00:00 2001 From: Nikita Date: Tue, 10 Sep 2024 14:18:37 +0300 Subject: [PATCH] Sentry (#157) * . * add sentry * prettier * up packages * no edge sentry --------- Co-authored-by: Aslam H --- .gitignore | 1 + api/bun.lockb | Bin 51428 -> 41683 bytes api/package.json | 10 +-- bun.lockb | Bin 401672 -> 488360 bytes web/.gitignore | 4 +- web/app/api/sentry-example-api/route.ts | 9 +++ web/app/global-error.tsx | 23 +++++++ web/app/sentry-example-page/page.tsx | 82 ++++++++++++++++++++++++ web/instrumentation.ts | 5 ++ web/next.config.mjs | 44 ++++++++++++- web/package.json | 1 + web/sentry.client.config.ts | 26 ++++++++ web/sentry.server.config.ts | 15 +++++ 13 files changed, 212 insertions(+), 8 deletions(-) create mode 100644 web/app/api/sentry-example-api/route.ts create mode 100644 web/app/global-error.tsx create mode 100644 web/app/sentry-example-page/page.tsx create mode 100644 web/instrumentation.ts create mode 100644 web/sentry.client.config.ts create mode 100644 web/sentry.server.config.ts diff --git a/.gitignore b/.gitignore index d909cfed..8b7e3161 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ .env*.local output dist +.idea # ts node_modules diff --git a/api/bun.lockb b/api/bun.lockb index 470f8e988c1e4f660507fd6eeea401090fb6f908..6408494b86e43185254e2e6b70d6e058b790a734 100755 GIT binary patch delta 11849 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%0D^HLJ@%TQ($oau~e3aWQEfp%2%U z#8hqT^loz}GyCz(eQ(a6Dt+(gNEGq1KKQc6p1bc>4C z&j}3I@91~%VDS;!oZqe9eYsZ&*XsDLieX4S5zYto-O%ymO}JE_dhkOkF@N7ZQ521o zy$CXJQd1>BVhFM>C{)Z~vfxIyJ5WPN$`}qy#{2F|=g}}}c?xd1;C5C;84n#I^x#3L zJBWzs=$>dlsd*bm{p7M2uo38rM<+!ptN<-eVr zaJxwWxZS~+fRCc_Kl(zlgdmauW0|KKH4D?wPsL8=xCo2kKMeR<3*Rg-QR`e&CUhEl zT{O=gKY!u(FZ?KmAJWLHF1QON0s(>m;NgP2y&41fvlIj1Ie;%~>;Y^6769P8mhk}ivgS}4B=EhIfphF8U{^^2 zu;O0bLI6B-M*-k{X9NH?oDG1T2{-ikVUTnhKB&Sx!S8hBm5dI$KfkvU zOTkBqF^%)^D1e^=$yTs79ROU8Tg963uwWf92}vFvDm+ZsO3Df>hYw;{ z7XS9+gM~E!9DkgMc*s!Q!Ah|*>=`_^egJqp9I&aj*k_IaxCvhX9{_Iv7$Ne~)B}B; z@8XE10s#C0_yEHJ;s9a+@Qo&(8__7PWJnAiK@q@Y06b23yzn^SF~nnu$CMh&B*;qu z!~h8Zi2x}8oD4|dlNX?k3!IcVi~S6}Q&G=r40@_a9V5U64tQThJ;dpEav5iXQKZu*`taO&?$8U(Gd}h9 z2pn&o7taUPEw)AvR#~CYCFV*$EJ?j0Q;&-v>7mxq2qwVfQBlv2!13hqah;1A4)wxG zr+GpZJYp>X*a_65X&2|AhC{vW(rHR)2_qe4BXx9Bbo z6%<0fT9X{o4JnEQ8D8pDg-;HYUQ6;Zqx}OY{AI!#$3C6hgO`m`N{y8GY=P&7Ze-)S zpKrdNVbzq51{E9*!>+JLZ_2;(VNw5-|x3f#qChR2Bb5{mFl5~IIGR!;0^0qsae-$RMBnca6$?ZKFpwQ0+x}};^)-EUN3pBTWbh^f{-A=1s0aw) z!1!Vg6>dbuNRS+;gYJ}Cdr=`p|MOjo9C6R@yPpbHq9QCbhIpaLOQ+E1(9p@H9Qwd+ z=<(8WUn*{i3bvrr3Ve8;zC3T@pN9zVgLqSm?~c|Wwlx)TRQ>H`TQ{q-jtrVN&jWT< zg7~pJx`^1mREScDUR?~G)ILYX1ox*!rd^zY1}JqI+nS1`^6R^U@A>)S;4Xn;1GIjbr!^IVRV-iK_jYl( zVVA%O1M~_sP%&GN`#b8t8!+%>mjIkn?UqN;-A$4EQnoJ@TIKTVCi$hQd&h&DH9I&J zqIBoZ(TXb1dVdBiRZnuQjx$3?ma~1Sn5N-^i!RnSCY4cf8ysKt*#^4VF%jhxA?3#R)J+x4QP@mKAGXGC7m`gMj8xvDXHvK!6GtJE#B5DI(_VFXU=c_ z=iv{V|FHt{cN9+i=y63Da$4(Y)oQCgKFs0!{6fny>To9yYH-Hfh~#VKC~iY(Cssg>;>>4{gIhQL{kkz^J?DTXjBudN3kjqje;w(40Bu$i&p;a?OF3HNu z zbmO{dQCwJ=D6ZCa+~3*)vYmEuJ>g*Jj{OmuB9}tD(^h6k#qi-(B z$-wiD>!!}ATS6v{{m}W-EXtnhKIqfwo^&rB+P%*X@f!^6$)g8WEKZh)r*b87xlArn zC?xVMsVrShBHMav)PBMi?gy2}98m2EOC9*VN7yg3PMFbsNM*S5w;GI)b>$GP#$Fxn ziSG?-T;NtQxpFoV?yyE3yL3_e772P$IS8%W^~1h#+cxSU{%&jY45?TqmZi$%3WY3N zuAXmP(9CUGq89G{}hjvw2>3iZIGjIU9BwF=fAq7G+ delta 17908 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 ZiI`+il|Hv12RsYdl0^R?BF&hF{{p?xU6TL+ diff --git a/api/package.json b/api/package.json index 3a130cad..217c0111 100644 --- a/api/package.json +++ b/api/package.json @@ -7,14 +7,14 @@ "dev": "encore run" }, "devDependencies": { - "@types/node": "^20.5.7", - "typescript": "^5.2.2", - "vitest": "^1.5.0" + "@types/node": "^22.5.4", + "typescript": "^5.6.2", + "vitest": "^2.0.5" }, "dependencies": { - "encore.dev": "^1.35.3" + "encore.dev": "^1.41.0" }, "optionalDependencies": { - "@rollup/rollup-linux-x64-gnu": "^4.13.0" + "@rollup/rollup-linux-x64-gnu": "^4.21.2" } } diff --git a/bun.lockb b/bun.lockb index a9aec6684faaf853296f72a5a6aa58994ac9561e..eac0974b9ebd1727d59c40b55c6a0e7b815256d8 100755 GIT binary patch delta 138998 zcmeFacUV+c-!*(@V04a(y@6uH-cYOq0%KPcdlyBeDJV^ff+d4B_IA`!6npQn#S&XI z)|ePIYOoSDmS{|3Z}D5}>^+FN^E}u6UGMwf>s-RxYwiBqzunFpb>cTA*WPuXS+iQ3 z8rurJNhx)$Q`DBd{nk#~l{aQ-v$nk#*P0t%D(GE!Z>N%pxfOoKI?w7^#_2_}^OvbJ z47MMOD~hTpX~W~f_1NKwAvz8XNseYuzO)eDGFSTh9OH@eZ=EWnmc|$N~?uL9>Cn-Z16LP$da}dtwhmj zKkNByN?HO0CTv+wQSc{CLj+s?4Ui2ufZXIUXf7MFtb)+egd2g4owINi%3+IMs-EH@jy1@5|Hu5WqQ%Uwn~~a1V+R}Bn*r| zA&!bO>xmu@2uVyDf~F=!Bqy@b3t{adNZ+S{@Y%J%0^q0WY1K?+Y)KYTUjuL9$|13- zF(FA|k%`G+2_cCQN>3lr-}tD6kR&uTW;n{m$I?)`cw|H@tNBdwYCsN9E98TZrRl~% z`q#d~BOd@cFkkuU`E6+%MIdchWK>ur5=JFPq(lI%{-T|QtfIj9kfcb@!4au9Pyh}7 zCv@EoQL$0+A&H3>p_8v^B=Wrl(vWAQKDV)`cp{Ju9NmQJF%`NZz!9p^RGgiN%4;mrLSvG?4sP zi5DgI?I;?M6cdl`D9S@{ePp&HkOvu3I*EpaMTR7VMtiFKLqhC$B}O!I6GLcm&hk4MOs{J zM3OBkCPImciiryI9Dsq2(kq->T(q=bZ-MQBG`SD37_b(Q1(pC}B~SZ1NG!u#COxrc zW1EVON>r4E!NP|d^%WH_1Tx<&iC%p%GuWdt5IEMekbwyv^%EI<`U}&IgwBc|firzm z7>3JZICM4ub$TWxL_|0WjtP(T3=c^Pd4`6mh`$A7`4@o9e+0-59S(#2ITjlru%LxN z^3P!bPL={#BiNvBK<`hq7(aqa}o~)(u0)GMfr}^sH2RhYY&SIu_fI>0v1S@<;aG{#YKl=?+i(ailfg} zO%nx{1v369km)hGBRs=Hm7U;p*@>e?x{$=w*s#G-Nd=*^0p~CdoFl*E7YAxBIP>=$ zN0-G8<~LSMno>Y!xCcaMwv{sRL494=jpKr#+Mr$ze6IUM0kJnJf~YL5WQmhPRQ&5JO{LuL7)aycc2plt_C~7i3g_%e2r4c z|3G{x;8zmwAszWbpc~K|I#+?uBvwI%wAdtY;!to}rZv(Nix+|Y8Q6vh&XwRf!pV}N z;^R|m4oWOMSBz;R=xk^?ARC$&NRv-RJ~pg3kPT@pF)xtmmK7Bh6`n7ACjp%KenbO^ zD9v`LgPci1}jM!!s!MB>69vv@!f%_J8jis zF+}PTF_fJpwn03d@DVsM#5QOsMn+LaE)^z>1fr2?$q7-OgAx@bJ~=iu3|E6I$iT5p zN5T5Cwp>(*6SwDp=#YVR!C7EZ1g33*qV!!M((eZ{y?$H*27uGzNg?qeq0zW=HIY52 z2jmcx0J;MshGOQU0q+)xg56dNCoBYHj~)DX#B=&x2h!QT1G1rqWWKU%MTNNUghYpg zM-%~PJ@41(9kr#cLqeK*29Qn^zg~E0Zy-&XdxNOB1vpzi4V(p(11}GB0)7UJkQINo zQFOq6lcH3CJ`6gYZ~SKABe6i%*F#6le^&%bL#Pid2keOqtl*c0VqI{Y02AV(qm$zm z#c^J0B!}QTq+`Qgd?_lJvQ1GcgWG`mkN`OZfjdNp>I0d+EV&JVJW_bFU9{{vkUjqn zNK?iq#0|vFEAbofJm9x>39R~+h)+tW*ML6sCE~gJ8+MEM@QBc4Y?n$*B4crIlMP9X zh#5*B85j|pXv1Qu%-Gf1yHFTyVc! zaO8>7u~IrL<#5& zn&VcJ8WN3zT9R`2uvj;K0@9M#&`?@7IX0fxfLQwx*q_cYASyQ86NB60s2Hn;65~Ci zY$=pIAsUnr5fYZ<8I@QFoF-2?DS8qNWP>Y7-W=!(J_`BSv+6+3ik7FvEI1S? zdS2o?F$;=8XG5w0xuV);pAiL)0azt9Cy{tm>m;nRVYfZcx5htQVY5=TQ~kbq-(^`fZoJWvG>x+F{=KhTp; zixQnL3#UuLNYKVF5buI?_knEa6^Te66`SO(>_s`WR5O%c4Oj+Pk^BGa9~GqnghE%u zP@D(n{M`g(ODkO!3)2*E&V~r7o299ng45)srT*txMX3&c7RZjQ2eO=T68lOVe-jPm z{P%;vg4?6O5_Y2%>vRAp949D+X{>HGj54lkqRsheamfO0XwiHxJ}|9 zAcwdskm<_(iv7PJ6Ci-H(qe&yfb&2&tBv`ZE;H4&DT^A*Tz${tRdkxan9P3a4uf&IVKgvIm8MY{+Z0mi#7=dqw5n zMY`|7QAgS?8NUKZ3(W>1Yub1qEx7KnNcR-T@=^-I{){O2r--=whv1G2R$@}PCntL1 zumnzH#fWrtuBS*xEcQg8V~-dJ&LtY_gJ&2HvAj3(IZ*efLXQcF_lyf2q=d!A4UWRy z>uM(ylouJ!139)Aa*2d^A~+}lE13QZ70-Vze4*A0kv;{;bt8W8K+o`~1jVs{H9V@d zDNx4dkK`~Ygk4*Qeqofz38Z^d$C z12X@(zr~YPPlG|9L;HXj7+c!kib1J`1ebx8fSZ7v6cd1)T>Yi)1@r=c|6WmQ1Fr); zfCqqOf%AdPKLp5pZGk+X)dtd~@<|?nhI|Iz4p@@2+7|)3!~)q;$DZR@SX~g$9ykMO z_~CgB`iNGQ`EDT}Ei)*uK`*BtkQR09X^GJxiC9||H>58By(TP0bagQ(#W09zJ6#M~ zU}5**(gh5<39IKf=zCf@AS+yqgdCEF1(5+b6`T!D19B)FTZ!X|-10)A9LJVZvM|ci z&J-?hGb0C^I=zT!;%YRV&RMyrDA93deEm#xH7p7%;($1%G~(H%Q2oTHD2s}T8iwI{ z5YGq2i;I@x$x<|Wszjv3M}#FQ%2Sljmf}fcSO~AWgGw0m=@ty6O*;YEg;qd%j}^!+ zpOZE*NZU1VGw9RXVVd&boW?OBgK^c1N+=A@jv9dlf%!|b9t`$V6v!Um z1+u`Kh+xGLDcG~|nJO!C*gl%4Tj&Fzv!M}uY!H!<8YH>$nW(5cuqfiU0a>A;tgzUj zGNMC|frV^{xPbr@xOm8(g0mshz*#|iS#X7NqTpgc_V}bMs2Sop6v5?%GdPa#f#5W? z70B|IR}dZbmg&PQ8WbB_*a-oeswI#G^{ON)=m@0g!z03Rp2y)ej`mO#Kcv$wl#mdY z;2Du}wz9|FQs-yxr=Nu0w27=SfjuUlv zaQ3bxki&YpzTl3BB|gwO9G*Zn_C*67`=tGj0Ie|9A`*NKq+`bOfhj&7GDC47hskl2 zcO2pKL8q0RfGj5>QGckSysl%=#+LB6RYPm^sfVw|IGjmVgT5Sg2bMv4Z;6@yqT}x1 zTqdI%8}tp;8Qc~85#l+lr-1C>o+hH+gs7N=kO7Ki)170u!u}_$81Q3y;8I9S>>8$c(8#U5^V(N{EV$h)5igjG3;O zpmU=s<|n53x;COAl>$XW95a(A`54?K^rzsM>dGP{WDld;3Wq%mWCgu}^qJx9gvmmI zJgbyyFMKN%$b3HnIrJxh%-0_2ID-eq#fQ`6on?9XJBlHkE*rKT+{TQ7T|`A|fSfS{ zIDtdLBA<2=1$zNG366Eu_u@1^nQmG);q+y?i;8P^7MLHLKJX6l?7&kX8#V^W`l=y6 zeXe0=gH0c+A`s|2Z&3j80gwsK0(mOi4P?((06EL%0NGG{agY!(Fd}6vI4g=u3`s}` zNmXLN+29Gig`NeZMfyXh#X1A&BLSUlV$4g)40(ZU`Fr%3&T|LIiY^27A?hpi@4@LS zyMe4|8ITR14P^S;{X_+6;Oxj?ARFFYVoMv;ByIIe%wJoIX&T zyE*`Q{ILL;ut20Jz_DC%8iuASN@$cAQ*5UC7p=FzIo7erR~FbEt_8AZjt1Dl*|7`AFDe#0_S@m2BLO1}N^Q3EF$CSaJQ5me$cbQt>0QTw;euJ?#{QhzVEYb#m&!5ws%kZ)j#%p z%Y%xC)H2hY^7}8cRmgYkt1Sh5GVOV%t_}2WIADFER=Mw>!-ajH^=mu(^wKsL+jwO7 z{a$^>LS<9AxkuJ_ODn&=Rju(&Mo$|0G=9pFZs#9X7#>%!SMfQ$@+E$e^xevCE7vbL z9TYZT!mJ0Sp6ySbRV!#(rJeph?ORQFTB1yTTjxO?fBB)pg@^SsVkbR1|2*_@(C-gB zbU9ft|LJ;HYW6;tYiNn>Z#D;wXjU&~W&h>vk6f&M{IGp%T!kvBoA%y_G#vk7g7svh zEg1veMFOffD>}6F=L=JR4$HrB?DwHNPHwU84e#n#_LWPyoy8h2{o{I> zH$&qqoT%%!t3tU-lWfK#hj%qid9u7vuODuW_G(+a&*fO-@&TVceeb0Pj@A4KC+0`L@^0?nBPsjZX{MTfcYFsWr>zt9-g-ux-h* zvO`v1Q-)S{jf_1K)b_=?N~s&BESoUKj`H?dg%${y^ubBgVha&+O4~L%(T-4E8O-&CBPt zFM4qD^V#v+%~?YmU)wqO$ebF64JMZw+aFdK=d?YgN{Yd@>3qm<>XABueLJ0=H?diV z%e}oz{C4KbpIPNxyNCAfP~~z^-uLF|eR|~`zkbQ=L#MCT@_e_kPT^+X|Jw87)_m{l zUGQt!X-3CFtyXvH_HJP1H@zBf-ss+?wz~gR;a@s#u=xa+y*(t?=^;gjmps?XYnnE{ z^@X!5*Cnhxv?Jo=*EI}Z{N8Stt5^82)AK4c?Gq8W>Bp2_YmS|3wBIM+6jQh5+8ZdqF#2@5+@`ALFyHFB>@PurDKr_J{(wP}CqyFbSSy0tjk6Nj9?dOYMCk8fMecYWsIjh9BBbS?5S z`dQ@T9gjQLORBp1?e^p6hfE)(?XFqHcF{MoUhW~!J0$LyowrxX5=Q0FsD*B>mV)JL z^lbN2M31RS`D%=uxn%(Tr2hSU z@qrdooBuXocTb<6=6tQZ$@6`KE8Y4QIJo%9qNXLRBNvUFvUpnOx1a5^th`%g&E~(? z_4RL%@@MI8wk;*{I!0d! zD6p!@EXOo=*!Q>jbBrr;*Noin+f!Y1E@@0z7cYBAMRSpPy8>63Ek|FB&GS6G+2cL8 zDqelRdw~10_08S#GC}t=w_+r=6E(1nhWKCUa)m;@!ns-|6l$ zyTYyhZXGO(oVw>dquunptlg|xvf$tnsojfxv$bZBVaM04kIeR+?ODZEYmN2Luj4~U zjrg+9Y}<&Rejm_d+V5_?+P5&>o!cOG{^oq28Gq^9>G$8`6LZZR6*j+NN~z!5wmw_2 z%;^GQ1zLP@u+*69^Xhh)(Z9r2^F`B*dacGrwiu;ZS2l<`crpF*$ro9VZ+6&e7(LRz z!P*(cflgQ{*S7W7`v+Dy@7%EFldX<|9R)lezpH<3 z|Cm4D8Ye!Px~jjmOtszT-Sf;ke(`M0!V8C5syNa+8sgQdWA9~IHD|_kj9Kw{OwVWg zTozXCapIR|GwMGs{+BKBuc?(Xwysrl-@C#J(fyU7m6M`T3R=@3jAY-MPhC zO6#+w)jlIGetvY~h3|u&o^{RDs!_~<@B44svS!-5;2x`r6r5T1PU)pfDtYG1I5uBv z-E-aFzQ0aiu58)!=gxAUU6|gwYVP(AHk2RYefs{ucjJC>4>P3t^vqv&f0Lb$;fs&23+gnf(47rK=KORyrfcZLr%nyG zf9W@9-gU=RIr-rEjlZTYyYP*zeOBC!eSN!42yw|jXxH|!M=mvgIQs603Yxik&w!{~ zkJBprzE62`{(KAn5nJ~jayA^hnLOa~@NNTg&+1ob>fOnu`WX6ED%Llp2EtkYBbqfYDXrch21nv|O48j8eLymI-kXo-x-$F-{s=ycmovcGj{wS=2>%9&G{3qh$qHj4741%+6Nh zy~>(f7pp0<3NG+kMk8N!FGB1IN
s|pJ^*+YsLybV<~x2{&xY=~AZ*y?LMTUAT% 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 diff --git a/web/.gitignore b/web/.gitignore index 5083fca0..d1dc7456 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -35,4 +35,6 @@ yarn-error.log* *.tsbuildinfo next-env.d.ts -.ronin \ No newline at end of file +# Sentry Config File +.env.sentry-build-plugin +.ronin diff --git a/web/app/api/sentry-example-api/route.ts b/web/app/api/sentry-example-api/route.ts new file mode 100644 index 00000000..ca8c0da0 --- /dev/null +++ b/web/app/api/sentry-example-api/route.ts @@ -0,0 +1,9 @@ +import { NextResponse } from "next/server" + +export const dynamic = "force-dynamic" + +// A faulty API route to test Sentry's error monitoring +export function GET() { + throw new Error("Sentry Example API Route Error") + return NextResponse.json({ data: "Testing Sentry Error..." }) +} diff --git a/web/app/global-error.tsx b/web/app/global-error.tsx new file mode 100644 index 00000000..1d4c5617 --- /dev/null +++ b/web/app/global-error.tsx @@ -0,0 +1,23 @@ +"use client" + +import * as Sentry from "@sentry/nextjs" +import NextError from "next/error" +import { useEffect } from "react" + +export default function GlobalError({ error }: { error: Error & { digest?: string } }) { + useEffect(() => { + Sentry.captureException(error) + }, [error]) + + return ( + + + {/* `NextError` is the default Next.js error page component. Its type + definition requires a `statusCode` prop. However, since the App Router + does not expose status codes for errors, we simply pass 0 to render a + generic error message. */} + + + + ) +} diff --git a/web/app/sentry-example-page/page.tsx b/web/app/sentry-example-page/page.tsx new file mode 100644 index 00000000..f8bb4ebf --- /dev/null +++ b/web/app/sentry-example-page/page.tsx @@ -0,0 +1,82 @@ +"use client" + +import Head from "next/head" +import * as Sentry from "@sentry/nextjs" + +export default function Page() { + return ( + + ) +} diff --git a/web/instrumentation.ts b/web/instrumentation.ts new file mode 100644 index 00000000..7f317a03 --- /dev/null +++ b/web/instrumentation.ts @@ -0,0 +1,5 @@ +export async function register() { + if (process.env.NEXT_RUNTIME === "nodejs") { + await import("./sentry.server.config") + } +} diff --git a/web/next.config.mjs b/web/next.config.mjs index 169ecdc1..afb4643a 100644 --- a/web/next.config.mjs +++ b/web/next.config.mjs @@ -1,3 +1,4 @@ +import { withSentryConfig } from "@sentry/nextjs" /** @type {import('next').NextConfig} */ const isTauri = process.env.TAURI_ENV_DEBUG !== undefined @@ -41,6 +42,45 @@ const webConfig = { const nextConfig = isTauri ? tauriConfig : webConfig -console.log(`Using ${isTauri ? "Tauri" : "Web"} config`) +// console.log(`Using ${isTauri ? "Tauri" : "Web"} config`) -export default nextConfig +export default withSentryConfig(nextConfig, { + // For all available options, see: + // https://github.com/getsentry/sentry-webpack-plugin#options + + org: "learn-anything", + project: "website", + sentryUrl: "https://sentry.io/", + + // Only print logs for uploading source maps in CI + silent: !process.env.CI, + + // For all available options, see: + // https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/ + + // Upload a larger set of source maps for prettier stack traces (increases build time) + widenClientFileUpload: true, + + // Automatically annotate React components to show their full name in breadcrumbs and session replay + reactComponentAnnotation: { + enabled: true + }, + + // Route browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers. + // This can increase your server load as well as your hosting bill. + // Note: Check that the configured route will not match with your Next.js middleware, otherwise reporting of client- + // side errors will fail. + tunnelRoute: "/monitoring", + + // Hides source maps from generated client bundles + hideSourceMaps: true, + + // Automatically tree-shake Sentry logger statements to reduce bundle size + disableLogger: true, + + // Enables automatic instrumentation of Vercel Cron Monitors. (Does not yet work with App Router route handlers.) + // See the following for more information: + // https://docs.sentry.io/product/crons/ + // https://vercel.com/docs/cron-jobs + automaticVercelMonitors: true +}) diff --git a/web/package.json b/web/package.json index 5ffce2d2..ff84a657 100644 --- a/web/package.json +++ b/web/package.json @@ -95,6 +95,7 @@ "slugify": "^1.6.6", "sonner": "^1.5.0", "streaming-markdown": "^0.0.14", + "@sentry/nextjs": "^8.29.0", "tailwind-merge": "^2.5.2", "tailwindcss-animate": "^1.0.7", "vaul": "^0.9.2", diff --git a/web/sentry.client.config.ts b/web/sentry.client.config.ts new file mode 100644 index 00000000..83f4b56c --- /dev/null +++ b/web/sentry.client.config.ts @@ -0,0 +1,26 @@ +// This file configures the initialization of Sentry on the client. +// The config you add here will be used whenever a users loads a page in their browser. +// https://docs.sentry.io/platforms/javascript/guides/nextjs/ + +import * as Sentry from "@sentry/nextjs" + +Sentry.init({ + dsn: "https://643e210c090ea97f641b7f5fb253f16b@o301266.ingest.us.sentry.io/4507927630118912", + + // Add optional integrations for additional features + integrations: [Sentry.replayIntegration()], + + // Define how likely traces are sampled. Adjust this value in production, or use tracesSampler for greater control. + tracesSampleRate: 1, + + // Define how likely Replay events are sampled. + // This sets the sample rate to be 10%. You may want this to be 100% while + // in development and sample at a lower rate in production + replaysSessionSampleRate: 0.1, + + // Define how likely Replay events are sampled when an error occurs. + replaysOnErrorSampleRate: 1.0, + + // Setting this option to true will print useful information to the console while you're setting up Sentry. + debug: false +}) diff --git a/web/sentry.server.config.ts b/web/sentry.server.config.ts new file mode 100644 index 00000000..61484b30 --- /dev/null +++ b/web/sentry.server.config.ts @@ -0,0 +1,15 @@ +// This file configures the initialization of Sentry on the server. +// The config you add here will be used whenever the server handles a request. +// https://docs.sentry.io/platforms/javascript/guides/nextjs/ + +import * as Sentry from "@sentry/nextjs" + +Sentry.init({ + dsn: "https://643e210c090ea97f641b7f5fb253f16b@o301266.ingest.us.sentry.io/4507927630118912", + + // Define how likely traces are sampled. Adjust this value in production, or use tracesSampler for greater control. + tracesSampleRate: 1, + + // Setting this option to true will print useful information to the console while you're setting up Sentry. + debug: false +})