From 3a2c56f0fa145cbe29012a333ef72b83ae6732d2 Mon Sep 17 00:00:00 2001 From: Nolan Lawson Date: Mon, 27 May 2019 14:01:02 -0700 Subject: [PATCH] fix: various push notification fixes (#1245) --- src/service-worker.js | 18 +++++++++++------- static/icon-push-fa-retweet.png | Bin 0 -> 505 bytes static/icon-push-fa-star.png | Bin 0 -> 905 bytes 3 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 static/icon-push-fa-retweet.png create mode 100644 static/icon-push-fa-star.png diff --git a/src/service-worker.js b/src/service-worker.js index b1fbed43..31c27c7d 100644 --- a/src/service-worker.js +++ b/src/service-worker.js @@ -162,13 +162,15 @@ async function showRichNotification (data, notification) { case 'mention': const isPublic = ['public', 'unlisted'].includes(notification.status.visibility) const actions = [ - { - action: 'favourite', - title: 'Favorite' - }, isPublic && { action: 'reblog', + icon: '/icon-push-fa-retweet.png', // generated manually from font-awesome-svg title: 'Boost' + }, + { + action: 'favourite', + icon: '/icon-push-fa-star.png', // generated manually from font-awesome-svg + title: 'Favorite' } ].filter(Boolean) @@ -191,10 +193,12 @@ async function showRichNotification (data, notification) { const cloneNotification = notification => { const clone = {} - // Object.assign() does not work with notifications for (let k in notification) { - // intentionally not doing a hasOwnProperty check - clone[k] = notification[k] + // deliberately not doing a hasOwnProperty check, but skipping + // functions and null props like onclick and onshow and showTrigger + if (typeof notification[k] !== 'function' && notification[k] !== null) { + clone[k] = notification[k] + } } return clone diff --git a/static/icon-push-fa-retweet.png b/static/icon-push-fa-retweet.png new file mode 100644 index 0000000000000000000000000000000000000000..bf9e5773dab02b0d7be4fde3dc3ba7feb4f0e342 GIT binary patch literal 505 zcmVkpXHdj{oU<*yEE$m00000000000Gb#K28aEA|2ZZey9Lnaca(39^m@Iq zlYj;p(u)t|LhC`6~7^=&LD`GfON&@C*2wJ1+XeUKk3e(AwaI;^D{Cb zfKGnMsrby!FjNr09&jdDm1hmUrfZYip00JNY0%GA5>P*u( zwt@g_ZCPJHEhwPY7odM@t}j6U;Y?qE{^Pm60R06TeF6GQbbJAVdGy|IN-WY^5fF1z zRn@BCGCd!K9o`G6jT$`x{G7J1RcBhjR|sLhh0R*C0%G3tJm2MS*S8F(_z2{I{lbR8 vZRuE1z-_}TI}^%FJa$U}000000000#%bPLiGI2At00000NkvXXu0mjfk0#Y& literal 0 HcmV?d00001 diff --git a/static/icon-push-fa-star.png b/static/icon-push-fa-star.png new file mode 100644 index 0000000000000000000000000000000000000000..78dfdcee6efb52b862ab88387631971b2831923c GIT binary patch literal 905 zcmV;419tq0P)?RQ?=Y40?dpm4+Q z_viF@Jlnip@79_%YvypA0RUeH1OAfevD4tI1N;xc$EbSs>R!hf0N`~5ok(k)a`h_# z_BY3XKj;NjonXLf0_KS^w#wG zwljb+wv+&))Dm04SF2X7G@yPdFyI$d&Q4>0kplRb)!{xiF)c_we7tFEh?|xAL{2&O8`hgW>2}{9OsZu2)XY6ay zd@55a$chy!rlBhXHDQePMkB}Lekbm4$E^4a&>QF!>REvMAk+?zJ%*Xnph1IFi6DnT z8wrxXun{UU=aARyogUvDq}$R*%bNmUYKa2I;)`4G_-4!uZgCOAO=2Q8s0Fd|7A%A4 z3l7l$UZP^UQw$*1P(NF*9bmw7%xQ(gWouvB89rjh2_Gnr4?eLW{4+|(Mw_@Si!VH~ z5&RR%NU2F;JhTD)eW;|C_55uM!{61sk3b_(7>T(WgEBiWHqW5NSY1(FQQa zI*1$s17%2Wi8NrX1O}`TX}~QB47e!@J_Gby0t0>v`6=`vM1l)HWy%=qCW`@ROIHy? zV3b4~p^+jC*d~zy+e8@fNMpA>jA^7k?rZ3e|A#4g}Dix00000NkvXXu0mjf5LliV literal 0 HcmV?d00001