From 367555ba98a7de68d6252271217f5116edff77d2 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Sat, 20 Jul 2024 15:08:48 -0600 Subject: [PATCH] Use js --- frigate/comms/webpush.py | 4 ++-- web/public/images/maskable-badge.png | Bin 3084 -> 4965 bytes ...ions-worker.ts => notifications-worker.js} | 7 +++---- .../settings/NotificationsSettingsView.tsx | 6 +++--- 4 files changed, 8 insertions(+), 9 deletions(-) rename web/public/{notifications-worker.ts => notifications-worker.js} (88%) diff --git a/frigate/comms/webpush.py b/frigate/comms/webpush.py index 2320692b3..273805f69 100644 --- a/frigate/comms/webpush.py +++ b/frigate/comms/webpush.py @@ -90,7 +90,7 @@ class WebPushClient(Communicator): # type: ignore[misc] title = f"{', '.join(sorted_objects).replace('_', ' ').title()}{' was' if state == 'end' else ''} detected in {', '.join(payload['after']['data']['zones']).replace('_', ' ').title()}" message = f"Detected on {payload['after']['camera'].replace('_', ' ').title()}" - direct_url = f"/review?id={reviewId}" + link = f"/review?id={reviewId}" image = f'{payload["after"]["thumb_path"].replace("/media/frigate", "")}' for pusher in self.web_pushers: @@ -101,7 +101,7 @@ class WebPushClient(Communicator): # type: ignore[misc] { "title": title, "message": message, - "direct_url": direct_url, + "link": link, "image": image, "id": reviewId, } diff --git a/web/public/images/maskable-badge.png b/web/public/images/maskable-badge.png index 93a0d561ebf8452a4dbfcd91eed7b970b4109c60..856f14223b08e49e96e4911de12f546b7c749d53 100644 GIT binary patch delta 4343 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 delta 2446 zcmZ`*3pCVQ7ytjqnDL6Ke3RrcB;4|tDH3Kd9x+~1(nW*u93hWF#4uATgqs=_5tD|R zk|@tBV@N7V9%WP>llLp{7;*JYclCXDec!rwpLN#WYw!L0oxRT4Ywa_lo+g*EkKq8- z4mt1dN}xD60J{MI5CcTPEr5v70)-0z={9lzo-xt}df$wU_XV5(}H6p64)l zHdFQt>Ov;T^3|@cVXNVUw|^v5JskMPsWARt|9xzYx|$!=mRmRFzHBl^>+Y`~@C<%b zx19IO$y`mfebAd(1nG04XU*s*t;J|iC?st&8mX*@LU^Uo%LGjDEZ_@Gdk)_u29?|C zrDby548@fLedqBa5U^QHE>%VzA%;H4b)~k`&FC0N^I#(EZzxF6QtipLm07mwxvBG^Z%G`+_}g`w#F7RvuYKsn<%!;!h{(0&kYgOGVbtV1 zf}X0hs{Du?z&*(=M}amt&-w%h-Xrqey113jmTP<1!MqYZsvtb}`vy+i?Xe}7H}LXu zDmBPip2;-`TyUv}j1O?)?`+fcY=8g2Wn%DoYUFee#weUm=Nfr8LREa$1@rF;?Pxbt zEj$E^Y-N!Jy!Ad)+J-$^dz+3s^V_%BkCh=ia4~b-ou%H-U^n;rOKjS)Kdq&ug{3fn zzw~T6nORR{t1%Jdm$I;qJGRj2{Nwlg_Gnb=BtzKW(zC&QBckmk$*;c8@jT-$qj%x3{ zCJor@&+SVyea6wt({3&#l4R|C7ba@bxhmkT(hG_;O_jGkJB-z9;gW0|V!ti1jbrAR zIk>n=c%9o5N{O(vtIEcwi?IPjjk^w5#Mm$+lOPI?&kO54ZILAXl}lUs@`?9#`a{>X z8#nAewB0i9d*Jd2TM6Lq>u=y2L!I#4-=n6WeoMpnia ziR4!_rsO4`+~r>^ZxEX6{<)5Oi@Lf{X#dzG{+rr}L0G?9_m-NfrQ<9}{TW+5aFRjH z!)7nf4iKwC`wFBLjWTGCYI4M-0l3Y8Pumi#`7R9`(UU-({j+N8?N1yBTbXmRw- zh-ZcRF2RvOaUkRHp$gueG`N4mc8WM5<*L1{BO7H_W=S0zroCcpu{B$Ag7>RfTpZuS zt}QwTD8e1{O|$`DMCiwIb{hPTwH1xLWWpKeBb|+wLN)=AtKn82%+qQ3`Xe2?4Zs3{~)kVn}#%X>X&72)I)!h#b>8-wkwxd8s;)}0-UU}(T za8Z26psj1x;hGDa?E!8+$Pp0vbjJztY~yGhm3Eja|8prUnU{!Cu$O^R>^Xp1?_uar zMrom%=|hj&U+Hl1AkM--S!>Q_x>B+Q{MZSZY*QMicuENun_1#fd+^K0imh{Dz15#- zn8}{9J5pRDxgikA>sY+3Y&tX0l_OLwC1UQF@I>x-CyNshm41t^IXCGu*{qp$OVRkW z7_zT6T4VZiLs`tck9poUe?Ov(r)!yysJArTGhKfGp9t&tR23$ElcjDGhoi$gIs{i* zDk1%^{mp#rIvTFWv1%hHt`2Fd(h>+)_Kft*ye^QO`S3OJDSu{8C*ieaP29?ip>(q$ zOusUA+Yv;onHHg8Olj&j1;at4j{7)Hj^1~dsQdz>NN)bfk5Lf#_f;nuD+rcpxP(=F zVp17`$$#PzEo{O?l#8?T0nd?BPYqjw8E<4cIfeSk9~ znPuR7hU$GWBPM`EnXU_?4y*qPIe1w~yWlq1E}_=yt{<2^`XoI48qhR*g%3{jFl&1s z1E+8AZ?*;O5ral3vlqbm{10Qg&Qt)ev7bQ{&4B9hd;voW4K zeN}+H?}s(P9$q2~6aUI@PSzMy_?Hja_;w|kuEh~EM-fiP6$Y3=;ULhxD_$A4~oCnCRy4py@~JOs=4fY-f!=zOCdOv zGEv{EtH@!ii|it#nsr}sb=IK!X^MDIvDZfa>Fg}#`lZQrR6SO5l?gU$X_$+oVbK3l z7DHbcc)3YGG@_shz6o8l6Y)Re^WZ { // @ts-expect-error we know this exists if (event.notification.data) { - // @ts-expect-error we know this exists const url = event.notification.data.link; - // @ts-expect-error we know this exists + // eslint-disable-next-line no-undef clients.matchAll({ type: "window" }).then((windowClients) => { // Check if there is already a window/tab open with the target URL for (let i = 0; i < windowClients.length; i++) { @@ -42,9 +41,9 @@ self.addEventListener("notificationclick", (event) => { } } // If not, then open the target URL in a new window/tab. - // @ts-expect-error we know this exists + // eslint-disable-next-line no-undef if (clients.openWindow) { - // @ts-expect-error we know this exists + // eslint-disable-next-line no-undef return clients.openWindow(url); } }); diff --git a/web/src/views/settings/NotificationsSettingsView.tsx b/web/src/views/settings/NotificationsSettingsView.tsx index 31492ceb2..ddcf7ed89 100644 --- a/web/src/views/settings/NotificationsSettingsView.tsx +++ b/web/src/views/settings/NotificationsSettingsView.tsx @@ -25,7 +25,7 @@ import { toast } from "sonner"; import useSWR from "swr"; import { z } from "zod"; -const NOTIFICATION_SERVICE_WORKER = "notifications-worker.ts"; +const NOTIFICATION_SERVICE_WORKER = "notifications-worker.js"; type NotificationSettingsValueType = { enabled: boolean; @@ -220,11 +220,11 @@ export default function NotificationView({ name="email" render={({ field }) => ( - Loitering Time + Email