From 5aee606d5d65e71afa8366d24ed4632f662a9126 Mon Sep 17 00:00:00 2001 From: retoor Date: Tue, 28 Jan 2025 17:24:10 +0100 Subject: [PATCH] Added notification sound. --- src/snek/static/app.js | 303 +++++++++++---------- src/snek/static/audio/soundfx.d_alarm1.mp3 | Bin 0 -> 81954 bytes src/snek/static/audio/soundfx.d_alarm2.mp3 | Bin 0 -> 32853 bytes src/snek/static/audio/soundfx.d_beep1.mp3 | Bin 0 -> 15916 bytes src/snek/static/audio/soundfx.d_beep2.mp3 | Bin 0 -> 11064 bytes src/snek/static/audio/soundfx.d_beep3.mp3 | Bin 0 -> 8917 bytes src/snek/static/chat-window.js | 1 + src/snek/static/message-list.js | 1 + 8 files changed, 161 insertions(+), 144 deletions(-) create mode 100644 src/snek/static/audio/soundfx.d_alarm1.mp3 create mode 100644 src/snek/static/audio/soundfx.d_alarm2.mp3 create mode 100644 src/snek/static/audio/soundfx.d_beep1.mp3 create mode 100644 src/snek/static/audio/soundfx.d_beep2.mp3 create mode 100644 src/snek/static/audio/soundfx.d_beep3.mp3 diff --git a/src/snek/static/app.js b/src/snek/static/app.js index 810e6bc..1d56076 100644 --- a/src/snek/static/app.js +++ b/src/snek/static/app.js @@ -51,12 +51,12 @@ class Messages { class Room { - name = null + name = null messages = [] - constructor(name){ - this.name = name + constructor(name) { + this.name = name } - setMessages(list){ + setMessages(list) { } @@ -65,9 +65,9 @@ class Room { class InlineAppElement extends HTMLElement { - - constructor(){ - // this. + + constructor() { + // this. } } @@ -78,38 +78,38 @@ class Page { } class RESTClient { - debug = false - - async get(url, params){ - params = params ? params : {} + debug = false + + async get(url, params) { + params = params ? params : {} const encodedParams = new URLSearchParams(params); - if(encodedParams) + if (encodedParams) url += '?' + encodedParams - const response = await fetch(url,{ + const response = await fetch(url, { method: 'GET', headers: { - 'Content-Type': 'application/json' + 'Content-Type': 'application/json' } - }); - const result = await response.json() - if(this.debug){ - console.debug({url:url,params:params,result:result}) - } - return result + }); + const result = await response.json() + if (this.debug) { + console.debug({ url: url, params: params, result: result }) + } + return result } async post(url, data) { - const response = await fetch(url,{ - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(data) - }); + const response = await fetch(url, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(data) + }); - const result = await response.json() - if(this.debug){ - console.debug({url:url,params:params,result:result}) - } + const result = await response.json() + if (this.debug) { + console.debug({ url: url, params: params, result: result }) + } return result } } @@ -117,17 +117,17 @@ const rest = new RESTClient() class EventHandler { - constructor(){ + constructor() { this.subscribers = {} } - addEventListener(type,handler){ - if(!this.subscribers[type]) + addEventListener(type, handler) { + if (!this.subscribers[type]) this.subscribers[type] = [] this.subscribers[type].push(handler) } - emit(type,...data){ - if(this.subscribers[type]) - this.subscribers[type].forEach(handler=>handler(...data)) + emit(type, ...data) { + if (this.subscribers[type]) + this.subscribers[type].forEach(handler => handler(...data)) } } @@ -136,182 +136,182 @@ class Chat extends EventHandler { constructor() { super() - this._url = window.location.hostname == 'localhost' ? 'ws://localhost/chat.ws' : 'wss://' + window.location.hostname +'/chat.ws' - this._socket = null - this._wait_connect = null + this._url = window.location.hostname == 'localhost' ? 'ws://localhost/chat.ws' : 'wss://' + window.location.hostname + '/chat.ws' + this._socket = null + this._wait_connect = null this._promises = {} } - connect(){ - if(this._wait_connect) + connect() { + if (this._wait_connect) return this._wait_connect - - const me = this - return new Promise(async (resolve,reject)=>{ - me._wait_connect = resolve - me._socket = new WebSocket(me._url) - console.debug("Connecting..") - - me._socket.onconnect = ()=>{ - me._connected() - me._wait_socket(me) - } - }) - + + const me = this + return new Promise(async (resolve, reject) => { + me._wait_connect = resolve + me._socket = new WebSocket(me._url) + console.debug("Connecting..") + + me._socket.onconnect = () => { + me._connected() + me._wait_socket(me) + } + }) + } generateUniqueId() { return 'id-' + Math.random().toString(36).substr(2, 9); // Example: id-k5f9zq7 } - call(method,...args){ - const me = this - return new Promise(async (resolve,reject)=>{ - try{ - const command = {method:method,args:args,message_id:me.generateUniqueId()} + call(method, ...args) { + const me = this + return new Promise(async (resolve, reject) => { + try { + const command = { method: method, args: args, message_id: me.generateUniqueId() } me._promises[command.message_id] = resolve - await me._socket.send(JSON.stringify(command)) - - }catch(e){ + await me._socket.send(JSON.stringify(command)) + + } catch (e) { reject(e) } }) } _connected() { - const me = this + const me = this this._socket.onmessage = (event) => { const message = JSON.parse(event.data) - if(message.message_id && me._promises[message.message_id]){ + if (message.message_id && me._promises[message.message_id]) { me._promises[message.message_id](message) delete me._promises[message.message_id] - }else{ - me.emit("message",me, message) + } else { + me.emit("message", me, message) } //const room = this.rooms.find(room=>room.name == message.room) //if(!room){ - // this.rooms.push(new Room(message.room)) + // this.rooms.push(new Room(message.room)) } this._socket.onclose = (event) => { - me._wait_socket = null - me._socket = null - me.emit('close',me) + me._wait_socket = null + me._socket = null + me.emit('close', me) } } async privmsg(room, text) { - await rest.post("/api/privmsg",{ - room:room, - text:text + await rest.post("/api/privmsg", { + room: room, + text: text }) } } class Socket extends EventHandler { - ws = null + ws = null isConnected = null isConnecting = null url = null connectPromises = [] constructor() { super() - this.url = window.location.hostname == 'localhost' ? 'ws://localhost:8081/rpc.ws' : 'wss://' + window.location.hostname +'/rpc.ws' - this.ensureConnection() + this.url = window.location.hostname == 'localhost' ? 'ws://localhost:8081/rpc.ws' : 'wss://' + window.location.hostname + '/rpc.ws' + this.ensureConnection() } _camelToSnake(str) { return str - .replace(/([a-z])([A-Z])/g, '$1_$2') - .toLowerCase(); + .replace(/([a-z])([A-Z])/g, '$1_$2') + .toLowerCase(); } get client() { const me = this const proxy = new Proxy( {}, { - get(target, prop) { - return (...args) => { - let functionName = me._camelToSnake(prop) - return me.call(functionName, ...args); - }; - }, + get(target, prop) { + return (...args) => { + let functionName = me._camelToSnake(prop) + return me.call(functionName, ...args); + }; + }, } - ); + ); return proxy } - ensureConnection(){ + ensureConnection() { return this.connect() } generateUniqueId() { - return 'id-' + Math.random().toString(36).substr(2, 9); + return 'id-' + Math.random().toString(36).substr(2, 9); } - connect(){ - const me = this - if(!this.isConnected && !this.isConnecting){ - this.isConnecting = true - }else if (this.isConnecting){ - return new Promise((resolve,reject)=>{ + connect() { + const me = this + if (!this.isConnected && !this.isConnecting) { + this.isConnecting = true + } else if (this.isConnecting) { + return new Promise((resolve, reject) => { me.connectPromises.push(resolve) - }) - }else if(this.isConnected){ - return new Promise((resolve,reject)=>{ + }) + } else if (this.isConnected) { + return new Promise((resolve, reject) => { resolve(me) }) } - return new Promise((resolve,reject)=>{ + return new Promise((resolve, reject) => { me.connectPromises.push(resolve) - + const ws = new WebSocket(this.url) ws.onopen = (event) => { - me.ws = ws - me.isConnected = true + me.ws = ws + me.isConnected = true me.isConnecting = false ws.onmessage = (event) => { me.onData(JSON.parse(event.data)) } - ws.onclose = (event) =>{ + ws.onclose = (event) => { me.onClose() - + } - me.connectPromises.forEach(resolve=>{ - resolve(me) + me.connectPromises.forEach(resolve => { + resolve(me) }) } }) } - onData(data){ - if(data.callId){ + onData(data) { + if (data.callId) { this.emit(data.callId, data.data) } - if(data.channel_uid){ - this.emit(data.channel_uid,data.data) - this.emit("channel-message",data) + if (data.channel_uid) { + this.emit(data.channel_uid, data.data) + this.emit("channel-message", data) } - + } - async sendJson(data){ - return await this.connect().then((api)=>{ + async sendJson(data) { + return await this.connect().then((api) => { api.ws.send(JSON.stringify(data)) }) } - async call(method,...args){ - const call= { + async call(method, ...args) { + const call = { callId: this.generateUniqueId(), method: method, args: args } - - const me = this - return new Promise(async(resolve,reject)=>{ - me.addEventListener(call.callId,(data)=>{ - resolve(data) - }) - await me.sendJson(call) - + const me = this + return new Promise(async (resolve, reject) => { + me.addEventListener(call.callId, (data) => { + resolve(data) }) + await me.sendJson(call) + + + }) } - onClose(){ + onClose() { console.info("Connection lost. Reconnecting.") - this.isConnected = false + this.isConnected = false this.isConnecting = false - this.ensureConnection().then(()=>{ + this.ensureConnection().then(() => { console.info("Reconnected.") }) } @@ -320,38 +320,53 @@ class Socket extends EventHandler { class App extends EventHandler { rooms = [] - rest = rest - ws = null - rpc = null + rest = rest + ws = null + rpc = null + sounds = ["/audio/soundfx.d_beep3.mp3"] + playSound(soundIndex) { + if (!soundIndex) + soundIndex = 0 + + const player = new Audio(this.sounds[soundIndex]); + + player.play() + .then(() => { + console.debug("Gave sound notification") + }) + .catch((error) => { + console.error("Notification failed:", error); + }); + } constructor() { super() this.rooms.push(new Room("General")) this.ws = new Socket() - this.rpc = this.ws.client - const me = this + this.rpc = this.ws.client + const me = this this.ws.addEventListener("channel-message", (data) => { - me.emit(data.channel_uid,data) - }) + me.emit(data.channel_uid, data) + }) } - async benchMark(times,message) { - if(!times) + async benchMark(times, message) { + if (!times) times = 100 - if(!message) + if (!message) message = "Benchmark Message" let promises = [] - const me = this - for(let i = 0; i < times; i++){ - promises.push(this.rpc.getChannels().then(channels=>{ - channels.forEach(channel=>{ - me.rpc.sendMessage(channel.uid,`${message} ${i}`).then(data=>{ - + const me = this + for (let i = 0; i < times; i++) { + promises.push(this.rpc.getChannels().then(channels => { + channels.forEach(channel => { + me.rpc.sendMessage(channel.uid, `${message} ${i}`).then(data => { + }) }) })) - + } //return await Promise.all(promises) - + } diff --git a/src/snek/static/audio/soundfx.d_alarm1.mp3 b/src/snek/static/audio/soundfx.d_alarm1.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..372e3b44c6f49e730654ac84bbae62566b80f494 GIT binary patch literal 81954 zcmeFa2UHW?yFNOTo-lz>4b@Nuqzp{~QA3rgp-QoYjwlF<3N|JILO?*I8L$wF2nY&d z0qanusVG=bRFEQe#QrJdhTl1Bo%_FMt@~g9b-s1({myc)MFQ{Mv$N-U=b4>(-)C=J z9L#XQLQ(Yb_I4D%O924ZJ$QG7g_)6=sgVf`1EOC8=t7JCrTA}&jT9S*;-6puTrC3d zL<&_(MsAUk%3^h`C3*(NCg#hmY*yLYJGr>6WqJGg`v+}ehlWROjfvZ_D{=3EWNun| zX7=H{f}%hMU;_XQ$&V zWVQW&ODcxpfT=g8QB>sHcM&?UTKWr>Bb|!gJIJC#UCgFTs00(!0f={r}3lkK_nN8A5zbS#yL;X^p#a%SsRtOG=6 znK01}STk`i;_@4!FeQOjrnq~FI9+rDD1?oeBrGNuFNCF-R#*%G#1XLW5CN6u(f}Zl zBxIW*Apk1PL1^FrorFS!dMuy<#I=bI-x~k)! z62cNCL-}jN1)0Hdl@tYNQP5!vsNZT^&a?~2X)F>t`|mJ8rA(qE;VfeXVh68@2-=fK zgF#AIIb4PMKqx)Ml*a5}UZi9x(0p5(kIKnW&vqoJfl!?yq^Hy$ZJnh{beA+j`WVw; zbY+N$K~dDkouv6Q^1*#9fQG7jeI{e=;k5F5^gP4ESOOJSC4=1F=B$l4FmO0K&{?9Y zO`ao7SCPE_qyuRKgnWV`p_@O@po38vm|#C%b)g3!n{_oS{_;9}`DrvYS+}XBW$SmZ zXeJvlszOI&B)h;AV_RKomK39zzWMyP_cb%aoTqy#3T%d?n`74*@U+i8y{VtMBHv`s z2X-rBmBa_bwlJml+98ZMHD|IESW|$JprNSH)cwoLXP-CkkImh8Z=DHs5KT;8{jZDS z-(TL2_kFeceC%@X-2BI59~X>Q6i!OsGQ2(BvL<3x=;ecN09%NLv$^Z93z50(+i^1P zAc5U2)b3Y0L>l}N0{J;;^>m+fSIVk<2r2i|xs|;MK@hf;eVggfzm(~G+d-y(i+NUF zUY51(?ae#;3D$&5gHl-R3h4@46swKw1Zyg&saWOKL5m(FljWeOlmisHr|3BjkT&_1 z39RYV&@NgIdrNhz%!R=til!dwlvcDSQwxcsuxYNLpDZzwSw4D05X;#t@c>q`O22@g z7~CTh+@QjCX42M5l3UT~V7p+39oxCe+^NvfVLj|nuB6iumMQD(7{bo7lNGoUs^fHn zgEY&OzT-f)M$%^mwR?#qS#yTaK^LdllM3Xu3)HCh=`s>$T-&5^X)Fs1;Q$T(O2Nkb zWZ|6UBpmtbz}ap0>0IeNuKh! z`0f%P32@FOC;2%%GIRIyEj^&H7{gwxq7O)xgGQDv%Q)mW@j|si|4W7)@rw^pI% zS=YZl-%2wSJoFhJ7`%%&KQx1^5Q&Nw+pkLdj9ni*-rwoZcq4t`VZ^`#C7|=t^j9FE zUmn*kU)g1wIy3pW8xTwjuJMnWH_n@6U9?c0HRZ=?RrVjnyU(&A3;?pd=EYE8Sz; zhIFR}>dM^0fkNF>871iscA0;|C=K&ofTK9}6LI|pSf9G~hT?Fl#GMvhYe|Kd?RJ?@ zL99`nxsDn@w4IbLk{~YCvI9-cz}Bz9s`yl{DU-yf56n1MA|6cLP3c~Ub_ErDH{%TMkciKqDN0KN^ehhR^e+Ff6sGB{ldfu5H|>}t zA3b{92;1ij7{p|QvtEpq!)x>ds70-}+pH)fp;mh|MVl|jB#V9fE3M$FVskxVkKVzc zkXr+9J}fwV9?ZRA9v54!zkf6N;K%1}-=^RED+2<6(v+|cj=H@+x9#OX=0MGb+hw8B zdTXaNOwK3v_h41aa=O>R{y_XDwlJgc0f7W4xhSdH?WtggR(J)O08Qi)U31mrcpQ$H zzC_NUHk5h{59ORJP|cC2!}M&Z&O9tpWy&ry-|d=fPaA$^v(U57Tg$=VCX!-$p}>sc zQ-;fC0k-Q~b$3SH%WP#L)tP7pqE?PHaw@mVW8GAGQcifP*Rn@{Fs?k-dYRzheScF? z%ViCQQs&d}HO6TeMT>-4Kc_Tf4NU7PJ2lHy&Y%0+7u|n0>DjVp{nsux>zQ2-55pO| zB=*mQZvyWqo+xx)E|KSGa^U=4v%`0O>tB$l+)?H0BGYzv$wbb=Jd^<#%r9OOa2uf> zZlA_lHGmQU13?=Kmr7kJdbWC-f(EOldGTTGM<0F-CZRV(Jym0@4OCmz$^)xHn_pbL z9q{~S>5Z-57Z4Y1rbuqQ>$mFGtG`}-|FvNFa;*33)48VFdF?IV;JdIhjJh>Om2oAf zen=?#t%_fkalGKwFAqhfu-%<#Jb&V~gRwRHLI)~)DyLs-;Nfm3&pS~w?Q)WwL%ubndO(4R!{%r4nb~1B{?4t`Efmf; z5C0mLjm#dg82#$bcAB-9#s@g0#koCX`LS^!_8MUPn1%OJc?_L^uLhYv*^uzS%3@Gi_}8U1636l*#`p7zzATRaoWefPaFAB|XQ|7#d>v5^A(sv< zK6rF(RV?xH+Sc$zCPersU$!G01CZE*P{WDP@ry;Qdy%IWg0Hy z`5WKR#HZA%sC$vw&K-;eZffr`!h zk{&2#nG%*zap0yDiekp$L)n&D()lojljEGyq}XnS=i9ws;X`fh5B%I$O0=fzoQ-%Gob^n3 zS=4Bcyv_RMrNX-|i@nnvJ!HCVsnm^h>GjvrUgIZr+;tAo|yx;`_`;k;UDc zbMp&Oi_36V`uBb7uXS#ZdEnVbi#H!XQYe$>qLpWlvA=g_1pV6oLI$Y4SgfS3?GzlJf`0!q(XX+aU zvn7Ya+q)5In!*!GLWj0VGyRSH?qhM15FQrN)vRER?%|G|1Sv^fkkUxCUV-CgQ#_Vp zfwd5ls}^!3m}bD*iLU~}!uV`WUFZJ24kmoK6(|o=1b!z9^*ta3JTC<;2Qp|4?VMB+ z|CTe~2Y*D;Hw*Gjgf@VlO(gC_d%2k`@)*{=)Bs|fe$%leTT?R%P6dvul~RFL<(4y6 z3^@>E4NN!GN1^ExsIFkfmF+C^E|yW>B<`?Wvh3bT-*ItDQ1&`m8#d<+4@btnm^nco}a&I{4d}9Ja&IA zYyQ)NgFb)#e)0C^f=%VuhO)_#%Uka*`vL$u7~#cH0L$;Ua~+M>D)`xdk%6K7xTw#huv!1 zkzz9*sU zT?5PY?w<@=1OQS|I_PNUu8MVmM^K3jfXxUq8WetFVh68tj0BxLHv?#PO}X7~K8sE?9o zcE@k}Q9aQ(e&Kf_EmqM*sjIqDur3K`U-6gpw=U1xwt66tPkjGHsf)uCe~^Zl+}`140=#d;lOs zxTscrUejfe(WT6VhQ$GafJ3($YcK(6NYZvcITYB|iqM~eU(4`-*P|sSDeCHJuWe7X zx}-5{3E4nB4rOj=v!6y`e-)y|WPgsGDZP6@4gvkD?`LuVGc8OC5e?Vg^O%-uZA!yp zG4&S19Hkyk1&}LkR715Gjbh8={N&rVpPc^51vy)bcHOLPvBUF%YMaq8lr$hS7}7jY zo6EHB4=#xsvau$cIxki>uj|kST-86!SvzTX<4<)(l+iSCFMgl0XK184Z1+9IB?1wh z3JKgh_NbD>j#tkM_28!mXnKQ)ec7zWP!8W z$FnI;H@Dxh`8M%vqgwJ#)~)E|%`K;1LxG~J^83pC$FJtpMc({t@2P@oqF#xdaM7@K zjmV!a(Tfn+lDb{n%Q3-$5)nl9GB!ZqL2c&20+Hz~81B#cx)AOx0ec-!>>0Aw8DG6PEEY%iz8r*J&?Fqw*6F#hnG z)^cxhc6kk-{gxmB@>C!vbIYzBAbF-CiU@1z!C$17Z&(Za)3?+KX&{}3r7I*#E!TBl zPfkElfYtMXO;VG@KKl_x!qMfJU{S-U@2<16uLKmZSdBrqB&;kN26q9Ndpz_?`6D$R zpY43Vq<)q1O#^){^JVtB*7)UyCj{0+EQh~$IrSokMq|gx^qleX-y;Fab;Pbe_~tMU zx1;9wmhoukD1dX-m^aKM;rEVbR`w_4z4|C{ zmAUsTbNuA%{P1s&=H1C>UA~`4JXWFc3a*SiJo4@PRgaS{MK>osU2VQ!8>@M%G9}}> zce_}uhylF;mf2qW3KGpk+MSJLhB7{|&1d$RIz*6jw`n?sj!}ZE--YG!Vm^y&yMvV; zhVli$)lpG}wcb{KJm~RBv!%5$JUrg2BYN2~+SgRtPCdp>2Mwu7< zAXsD;KhhojR44EWBuLP8SDg$ok@h#BgBfPkPb;tH#?>%MuoYZ<~)__Hcoj{{FGzHLem)+@Y#jg*$sQmc+=EKF~(e0*Z0<`6) zR!gm@+hlV_xi)^VQOQ@YJo5IpnEL5xx4;M6>pgPLcl9up=#C|C194kp4-AbTcP2h? zc@ZM0^x0y#$>+quOBaQwt2{B@Z+Dbze8AgP7&tUE9QLADy>I6Z(y~(B>(ik}R(vt{ zQCPUG&HX%)aJsTV@NVUCw~HSGZsu5=Tez>yEuWycFZvN-)&j*RRyLp|#y{I`&-7gM zh;ri`{dq&nTD?B7oGALC%xDY((|%9vT@z<=CoUJePX6nt`7)OnTlqNno=hHADl1E9 zD(pnCItv_n512fsE(;LPL)Ob5VOPfipsLUPKs7?h`CaUAOG%huJpE!cWC=te;QUW_ z*F;Nm2i zY%9c?fJ2qoY!%K00?=T{U|WHC1guy~tBdoeLu@|~$pfe9M1TZxF!%vF$n+GWJWl|s zwU}%sr;dQ}hlFfRAe8{1c(xW6AOqr1EkntUu>@$4VX#$!UIM_zBLWG=b5#6}0}-jr z$C-#ThVmadquM{^e>MXDAvsm~SHR`}Avyh@ee!?P+5Mr*-vs18vzvu!=>J8v{m(q9 z|L#%$;n06K;{U(;ygwZJ8{F}SLw^H^|J*MAaOiLF-5(D94Iut=yZBEW`d{U8|J)P% z?;JUR!(lkc`0tBtObUHAvQz0EE;gBq5Vu1U=Wn}TWcDRLT5&ew>G4frE@`0|f&$<{ zi+%#M*Y3v^?ehIl8q$W`u~r{|mK+(IqvT>$wk>0s);cL-$%z{glXcvPUrXwsWLq}` zT}jJ=*39HHI}Igq5P?>FbNQ+?VQ?tsF+p+Ek;#_8>JTKIRfO!P+&2W=W98D35p>|w z6@YyKEFh3*bd;?R=nyc@IEFcKS{#F+a}Xx*YHm&T^N$?l1JF$;AX-2i8DMV!wh=Jh zQlo5LM2SEY&=_nP5F%hl@h|53X*MOQZdj}?5r9E-GZsw1(8QWHZ!FME7=;xOIu`ST zAcS$uomg-JyHFL11z`L+(bVg!S{v#I!ag8$3PJ@r&X`;}mSM_4+CVy8mTibIBoMYa z;6uRWQUERN04#+{V?hTj%MQ$?lL0D-TmYE>;=K@ATZsCAx&WIkkJteWaU91IV9>?u zvoR<@c&-Le0i5AGEMg{3f~L^`1R@{+!orNQ$p}G_5g3655tI$n#U}(JLd6_e9Ak|HN%2f`KCZSke*8jIg|* zm}nWDX8WRlN=@+?)d;5voM20n9JU#R;5YSCQp~EOx+J`j2BxNMq#*7q>~3Sa(MgAR zag2uE#juc`ypFzs-q4wytZr>DjYMw# z`TN&cnlE46Htw-oeZFvc&N9NMb5&u>b+=`1vAYN#4orQK@O{_p8H``SGtReLTb`Ua z-Ph3h z<2Ax;KvjZ#gjqH)u_08bf&M8R^NC01dqrCeHpDRcL5aEdD&RziRnQ8Qqa@4 z=&T>2Ddj9+IWvAR?_UIA=LQOgFS+B?*@09WQyQL#HMrQ5+E5{dYsaB!^+q`t2O2`y zd(CdY;5vFqx84LK05924sf0lIuv(~Y+LQ%&2&$%{uZ7VbZ08gA|TRTw@o z+xnuOW$dhJ{9J#}I*k`^W4>%J{mmV>xcU9`w+E%78jaH5?SPN7QokAJ#}fw8-4yX} zHNf`EAh~T>>iy=pQRUJIMyMTIfl9z2PHbxc!<-2&l3GFz0YV7G2;68Fn@L1Q7dZ49 z`>9u)9(s;QMzw~uevEIS!>YIx8m`i`f&`A90)g^K5*kNQ*KuEhumcGp0A^e4PlQII zFHh%~7FYIPIT7TJL8JPHLR!(fdMUe4FcGkm*#zqW4sWYq64;$@Y2qsvmQ{bn$$2hp?*&;WN)DIi{cOGdb;ir9F=ZV4gV3vwzERXKA&5 zT)JIgUB)-9BOIzcr*N#)on*%g>|8$hi6?FwK(anR7jLB0r@4LY%9N_@9A*j#})kGwu1 zXQlQq-em9Xs^n&~#K`g29ypZpoC=t`o3dZYEG|FTPtsL8e^(F%DZ7ikk?zn!GmM6t3C~+0Xjw7sWyt?FQb;D>$!Mg9c%<3^(*2MRb zRI*NEO~kx#)Yil+E8yAV{jE;xJAzs^7)Tkfcl~JSCCELL`t#uO@=5Ym({K9(aM=>u zsk?^q_64d*d#u6|Xr|-ll;-z+8p~pgBeMYpX#4W>t_IJE^_%^}Q@c^OFAo}@CDzaq z$j|3Gk%*5G{%<%(E_x)#hr;F(x91918kUL%!;YZG5fCX6i_$95v=K^)U%8bnI&tpc+VWa;fRQ* zO&aQA`K~X2;=6}EA>^y(07<+1gYB~)m0tu+I*xGxQ(KJ+j2khYM=7UqjW?pVkL8z3 zOIkJd#S`2eV{>*M{W2=hD~_z1Y8VD+S}U_ApS8D{rpm>{dU-Xo!?fodla=ZlX>Y!j zjC8U+pIp9kaNGf7Z+lOrp=XFfF?-$jyT1V*QuuJ=p_8OKh&G4EujtMyeirjB!TEsc zxjiTI+dJO9`jr*M)O~NU^_!-y^oIVEujVl{-cE&@O_lEafFncC&HG4KDy?>|!?5lB zldU2?Z)-%?ODCmc%71R3+46CX=+~H0(Y&i9Miz`)4DZy)*S2H8_X(kRbOXE! zYflt*z(M48i)CtNe7YtTt%DOWSP(XWT}b&*9BknM0W6oJ!Zx90;!?Q3!u-LcHGQ{< zP)kDzWCn0-fu63Nab@gq>^N#?I}p_}vEAF*K`OQ*-52plcYn{SNpW({V6~U@Gu{ z3uK*IruG=?gRQ*+OXaX{sZ5L$y#j55M3Nk>CB`HiKdOuat(0P)U(q2o>VX1EMo)~n*D8GLjHL;7@dM|&3z zPz(Awltlv%9jN)Z>S`Dgw6v+H0*Cmdy|{bfKEhOJNcdf2Y~KPyqR19LVo8paS$x-~ z7pzMAb#AHCrBCl_z6Dkf(0bsm>z37+iSCPcF6;(Ix2hOueZE&Zm-wUw+4=EPTfEll zGsmM$jwQ`Y6HiKge7k*O?&G{|QRTq~fQAlW-EV>n6!FPA#km035{x+dA$tvY0_>Gw zN@PUZcu~lxTtw;w3q#Cb8vF*XA*QIxq{G;M$rL^U=3Wv8@?zQcb;qeS;-wEwl=1;n z^A~2lwx)tAli5Vm3o9%pi%r~(&9XjPkYr85=2IGHf+5uWc)(*gD$b&N zIc2f>5naX`6Y=dfYEb5=JJE=$C*h7ILp|#5G)(_?ow8PrT(1|aZHCkpl5lMb2XOA! z@Bx>s%Gq>!xo(#Di^2|d8SX^qy>$De3_ual1eiap z6AB_>_uvBhCMPQB#i+Ki@oC{;YctacZ)Y%MfgJXH1(hkE%O1dd%fY_i&&EY}2vwT_ zfgBG-KqlmatIkV^!o?jDVW5=5Wj>M)iCO|`VmDI7<0h^&-uU1JMjjyZ-Z+3A>41JG zOYvACuuu28-T|2_RMv=>YWIc)Ya{oin)~P)m?_LCZj0p(eU8M&fFV7>5#ao!o5RWb z@k~Ms2{*f3DE8Rv-H%OUI!|if_@WcL^xLY6PXbEDr;?KN z7~8qS;p;-U;{38mbWwN6_wG~X{tf#}4y0qxE!H}(M7b%p&zG1!V5K=c4LBMYyR!Rw zhUBRg!d?JSzNr9J5+lh4g^7X@Lq&&%Ojq`7@S1TS#lA6qK9Re>X+8Y;pff-m+L>@1cD958F<&6|vby4ATanH)-4#pG8e^?3ULeOa%=+|hxF~vAy43@YJUnQvp2Ea;KoYa77D!`8&;9W_{7U0sN)b!h|{d? zn?>^2GT!b>Y#{$2JI<##0^r|9P;kAL?xIVUDj>9&C9M}jE6%DO78 zeUsVas2tH0%8d4^#>c_mbPIYLeV$umes6SrCkaOc8l+hjmcoQX4B6;4p?22IIlhXbW|8Hb` zR**_-D>*%M5K@HPPbpw<R_&yZtGJiSC~2dsP`&vauZH*S z>iA=pq(zzdwo^ZRv0cc^YLWx-T6kW#6E@{cf{*fc*(iU_WP6NL2t>Yxn4kyjLSDAs z@1+6T5IKb*4A`$#pd4_D$?ykNz%|@gBst}7K4;nJ2DyA~Fb&C6A3fpJ&j5;t5oCHm zNrRZdDHqZWR5HOf1ZNpcqTC>1c-u%MuWc-v65a*4$2hWt1GwJ9UY$F0DJ=z`WEB>Zswt_fB6`-c!#M1XaG@ z+;=oNXu;nF=7JY2pNC!c)viAA*FmwITuTX%hDfBa_8$O5BW&v- zNkfucpFUIxT6*Zq!%A9~AE~)D_js1MYxTo8Gj|5_crW8ndJ414=5)U*XoKP|Kou&^ zTQtounyeR1=FHIT_zDQH*V;7B1jk7nGYkJg7p}>vEV8qpO)bp>YloQOyX^ze0Se?W zA+WY6`9P-wM`aBW*$Z8sQA#lVhKIn9L>Kr~GB%LSF2uo>@+K;EE`tCt=$ayaO4pR8 z{J57f)|e(-PB5@P zx{6*lEy)r(0EwyK9+iuv6f#15%*P+DPL_Xr-wwD5hs2$`5@1VPOeLWzJfPX_TAi1t zP(HB&BAu^{_En$*>i91gj{Wqv>&5x=3V8w;pH;R>Cik8fOA@zN2H#-RoawT6$AkD7 zrexE&i=8NBZe8DZwL2-B#V(%jKN&8QYvKO9d49xgdzW{?u8HqjFBU3}eOdeYNtf1k zw-^)Lrw`Y`b+=xh4XK8}I#hkRXrA4e5D(a~Wgc&3zM)1#M%4b|%^rAv_j1p>hQ<&- zhAL!1zKYrUY3}i|ceWIA95XK83J|13JV;PfNetauoF*}qds@jdbw_aGTz4z_*uv%VDdur2QX#@3 z%}7m|?tkThEyv7-ltQSIH*)F^v@?k!p`eLo5&#vG$VMqV05qY!@weG%0<+>UuI}61 z*un-)dBHY?5+{&WZx3WFMjN!?iTnK&xg@^*_9)m~9%qhK2K|PS)SMawGmd_uF@-YD zpbX7GSdD)VPzXpT()K!^2yJSJOWG$6@7dt=)A^ifnudZtUzgNjH_9)I&bLzYG!i7z zeL)`ZLL5K)sZG3zL2xgt&8guUwz>uk)kG4oeq7j@_~|g9(3a+i1wNt(nO&eTURwi$ zsZ?M|7w4lFRtqcCRnaFV(SQnrRtc|otbgwztMHHK&E=E(;@+g8GF+kb(L6*^3*(2` zxqjE4`CYGIwOwv*+rMd(q-mydqJ{u2biew9-kJCKY>shRoN!xw~L(i@BlH z+wowvmeo*~C^m=#FoBX#i4E92PO{WKd*y%7Ii|dzhq<0z*gxzx*#FE>ut*el~ zHE1F6)n-yzhjn1cB{z4fXn{j2h<@RusaUp6wO;MpcTosBwg+%d=%m~|{zC?{LGfN@ z6eIfn?o$z})lx)AZNwsK;#M`50J>YV%*dut$;pC32yn>Y+B-R~J%odlU{lg#%wpId z;jdnQG=3~^ZP!X1JvGJ|>3&DURM zL)Ay*Y#Z&pzBTQd%k2m`r(nI%LNxpO1_p+Z268l3sQvC(e-&W+$OW)C<lv=jhYxyOK=)0-sw|sAX-3C7N`k1*;_p7NnVz;+p$t|B@Up}x> zpdBew^Q1Oj;fRXK>+CZXdq*GFnWlDd`6&H9FRV2mIvioESncYra!b>~)k8XttNSj* zP06C`0$PhbA2U>!-RQp~ZA$}J9F z3d@k%d9YBrrxdiMv(j!P-~UQn@BZFDoLB3c`Laj0SY9|8>loG+Uo#?~=70X8iKFjM zodd;#g;K%#$)&G%?-2C;iuRglD!M8;V0!AA!yG?U%|w$S^ytbYkwN zUeTC`(R+gki-Q`yzWT3=jKciVLp-*eSaC0Urtg>0Rp{oqcPsY#DxGSojT*Z0Ai$%x zQP3Z8l4&>6Sh`)921c>VtgskQ%*%Za1ujQ_Ml<9}zCnCCUDex^-WHb@vd>v3{8i=7>GxrWKQC4W}M&oOr>{)crm3e)K5Zj zC<)I&nGsCY^xhex@P`MdhV+Oc(J0#zKmv(8pk*i3Ls~Ex?2~Plsrz81g8NvHI21Bx zL^IKUbY<&#EWP2X1!K9Uwq2DOO=VmwFWmHq#$s`c7)8yhx#mx#GCs+)c)jGO4CD~K z2ydH7&l418B=Mb@;x?jRHA^oqstL*8-M5Yf76^Gz=l09r9)+(WCsFO(&zxYL2_Xb z3+1QivuO2vvPfV9mT~y{g5})DboqXDaqfU51xX?-w36yBW9!h0!?{ZUqv!x$narir z#Ea-l|8@BP?d9Y3M^>U2;;zKyCx?#908J1f&W0ge9409w5hqx~2z%klAHo7OJS+iN z%(ET9E`Uj+fLWlp;<5@Rm7ti>MZQ8<=BT488KF+nQ3P}r0aIG(kva)oEFzDZGDYQd zza!xxL$^B>EB}3WIm=lik)rtDqx@u6ZM}+uRKVSctOd|v9GlT|Hfc1vn5F9=?e~cZ zrVgFH8J@<}V5Y}99q#fwNOf!#5_OCUM!B5p>9)Y6#Qspdgpkf7hmcx{jY*9fsQ(?b zjIr~sO4hY134MNRj>eZ02%kCD8(g+c!Ys>&vK)syQFrRI1SuS5HSWqm;lVF*%5=H4 z=cDzmEgJzHyf{x@>}jZj6%;9TYCDV9v}418Q#aMRdPpihwAzAvfqMq7BPC-@FKcZs z(q%^qHn?1H=`8=QfchA5lMWnjF43_4Dmr&80adp!t7yFH$fD&Q+3VMq?nEH# zrItMR>&DooIt<-?<1TQp-jHtkqK|C*(*DA^mNR+zc%HXM({M{zfu#A8wbu^>Ibn#V zgwvb96Rh&?ir#We_KBu9^{x~Bh`lZnUDXt4MhjnU6@9hZERKPTm5v~XPo%E|r1_7p zD<9*}d~%T@WN`eo1eTP0yzZFd?EC7~KnZ;f$5K}U0swckKmlU#vmS22L7JQ}6vAYg zAlqOah}!DYu|?Vag6&AFKi&@2mj^;YSRZzW23;@%a4aSck=(>z0+TRUoXk6u+gQK- zZUMZJnFR|Ugyqm)f46X#20~95! z@<)~rG;8gyrCR0qXq{lo5 zd=mZPZ&y~j89m$@Mu{4@_3E8lX=`<1)AB60P@OkP>()AaMvy*(`J><0>e{%gUD^45 zjYE5T8UOMsznqk=?O(4Cc9Dr1xn~b(cuT3-ESqY&6s)=DdC&Z)kEE`8tf;O59zA4u z>_m69+6niHz{wpP`JCa;*X32P?vD3@juj~M*s4Yk_n#A@%eJp??!vKM^XjuV>~;J0 zBH)A1^xiv@f*lw2BdnJH%!yt>MN5BtO-7ghy0OenDtT@vz*NO?N5>olfTB9WFy}KL z>yoQ5FORdM)d|`4-^5yv2s)#Vy`K;PvZJU3GyF@Id4f|unYkCX#->Qpq~H~RH`uT+ z4}Af@$Vlm&+ZXdN+xA~_Ih;v|RJ%0|N5Zr+Vj+wyz+MDPNn;fTU%-mkRsb(#Ispu( z3LL2#x+IRM0|=6a!@EF4KLTeYUU*G;+x5hgNsxDm!YO7`gy!U_lio^o?`7I zBSI4am{>0ACKDSbOj+Ka*Lk_fF`xxzSGu^)1vA7U^MnB%tm&|$zfkUAR2(2if?=?57?&xWBTQj+nktPR8pPxDzmc!c$K+AX5XaO7YSShS6O{~OV}~qqEE5)pO4-Cs1N`IeoPqFXgt@2002`m zg)`D7(9Y&^ZQ5qQEGbk4ogqOQZCY&uwpsLght33lR9MHRVc85F9eg`wMryeyHibH4 z2rJ@gY`O*q5opmjYQ`UKUP;A?y$>2`(Bxocs+p0uBy5YBeY_&>=Wb{bx~&HSQvmtD zT8Akd=_7*Ihe5g9W_lz{uonhP(UdR10(*J1kY0Jp)0}{Jba@SjTqeeWDH|KbBCzRi znwlTP8Z@X29s@gmyS=+XGKiGXr3YaHPRFKJewM%=i;nnIy=qEJ=Lq5HYY*3W8cwd- zoqQnkgET8^^S2noJB;I_A+s0PdWC{mu(dUEQ)S7nv@EP({c4*uI~=n!r0QMAOzvFp zE3=X6Tm#OX4}otd@D#@~)ybhJ8VVPB2USnNiK_d%-^adYYl&*!?fTXaN%;D&n15T& zf@3#6KUGe<`qzV>vF4>*W|88a4JUmw-w@9fmDDQPJdS)W32r`p*Knjn7qd)iKI}x! z=cn~=u6#)T7+F`h?7^(4wH-OP=R3i6;IJp+FGa^=$()uDMdM;cj$pYYMiF6{&{eVm z(sIp8oaCk-*3dTt#av4=T^bNiZ3gsZ(yyyRwCOe&XE_kd3tQmOYtF2KgzmY0*9x#&6A_D9SH0 zV=3}LXqn^f{z6=KQsjK?W|*}x;N6qwWOo~z@C%>bofELZ@VgalVFkJlQh~o7#v{!f z^Y<@aRSIV&-FAG8c__#!7L3rZ`(82%a@Fi_oSKJqIXxLk5_rul2l zv8A^RUekWodA<6%MQ6h?(XYsyou$vVD(wF>{BhRijr(g0@#F-P>B>M^nkA>?eTHpX zH8~X<%rv80VR}*$i;4|=%Z~ET(M>TuoG1zz9OGCj3#_E1D?i;AxM6KMEH%0>Qp}CQ z3+N!2ktCy-4hD1mX?TR$089Z)HFh4uM=_ zDizXoIc@~9ZmVcPMD*Tcyfiny2S6;GKhkS?O$Pfv{_4j7G9f4QfzQ9Z)I80uHz|-f z^{ehqZ;E^5=v|VTUAL&9{X=oZ%^*?(-25C9@CBZ<`HY7q9LY^aWjwnvUM8i@;NEC& zZ}r=6vOM|R=}=I=r+y5NVe-?~FVd+xF*@#3Hei*PT z8DIZ=@1X+u<5v5$+Qw(LvFt!nO!K zLifZ;a~nu>9P*kIWhk)YjtQOR0L~l(qWwFEG!{4%(>Y@sp>Z7r07zDFd_Lx&)z=Is z2MGx&y0s2{V*WJsg!u%KtUESL^V-Yk^z87_UN=+m-bGZCy=`a5yGIFAb_+Z zXN0P@cA*i{NSkmc4WErm)}ExX=&yUU5K^$ z6}QPrammqB`yL6mg0@UKg^&H$W^5`^>@v06zg(1={`45BvDgZPg;xVm!K>5GQBJ+0 zgb#u&N_B+srpkyY_r2Ps&BbgfH}dtgM+Pl}p6l9iD@-2CbiGB#fI!NsvE3L)L3*@L zmMpOG!=5H+Mj!<|eRy`!tSaa8&(x8?&n+LGc?k)5i;{~L9kV_>|BJh$>&Dpwr@cH? zL{nqiW0tS>?3(oroqxM0*SY1~>Ac8L(dZeog#8to_gi;JJEp!-QE!j`9-Nvh^?<}j*i z>YiW=riTTjFlTy5l90?}!Ce!kA>1qvJ7_`LipA2Y>iS%A6Si}QhL(?%8jK*G9O2Gz z_#Mtx8nKnNQ; zV5Q_kKrl_g6}%ChP}0bXqB#JP2#$GPmBm%l!H=jj2^p~#c`T~1`hJg=LvT!_wiuU8mnzce7gF$pONsJkRA}L0sP}kSoMP^g^^c z{dP;-@g?Z%;%(Rux7%zaJ+bxI0@*uQ_@*!i@H%;?oUcSr^XDr@`@*;D6`wUUy;^bn zhQ0QQpHd6YP-m0uNrieN5i2mPwNDQP77brdwplH<&$+9A-_jp_E`g}}cDv`#w_|%r z7k5hnb^w51;Lu;lDvYtIqF8e3;5hYEyt|y209__%XZf`G3Ldh|+nRL88f`ji;U8iA zdkyq=T_dd}TJufYZjCbTPP?lRk5!G)@2jbx6(z`}ed+;%`-D%ZqBK`ymM7icI%*b` z3tccffDALo6*6w0K4Uo}=ESUVO^RLXsY)}+A9PhhtS6G{qdlVKFL<1wu1UW(#U5xa z$^59hfw0w!g)EEM(bh-6d0a4{q-6DP4kegrb3q5*#h1Pk1*%#8D@~YMD2~-O>|^J? z9bjN2rT~nbO1I;bB`QeIy#z+wq5^q8;wbe}&I5`E zH05kk1-7t~Wwxhp)^J%`)ZTkWZ?s$WH52^R6|tDeTecsz0MbRL_gcUgar?>0rKhi} zlI8ct*ur0)xd*>Z_+2tLzToMPF;K)B-&c88=4T`29%%o(dDUvc{Eng)nP;H3_3nf2 z=j9_Ak=k>^t_?o1%bqq?X6^{u^>ioBK5p4_w&MM0LBZ09k}7W{$W6uiEnO*Hxj|OZ z)U!AtGYunqpv!(K*X*8zrc_5tj!zTuJoO$Q{&nG7l$q}09BoI_AGFq!O-nQT8weH* z+SV`ZnSlINPHu8^V89WDZNpwN?G>1k6L=Fl{v6&L{J+?H�!lwrh0n^n?%s1PIlH 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 literal 0 HcmV?d00001 diff --git a/src/snek/static/audio/soundfx.d_alarm2.mp3 b/src/snek/static/audio/soundfx.d_alarm2.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..85bb50a097358fe7a2c733532c8440c646fd9be7 GIT binary patch literal 32853 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 U2>$;*wf+D4!2kc^fB6dhKV9FewEzGB literal 0 HcmV?d00001 diff --git a/src/snek/static/audio/soundfx.d_beep1.mp3 b/src/snek/static/audio/soundfx.d_beep1.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..0aae9fdf86a4a4c088105c1c75241797d42a3251 GIT binary patch literal 15916 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 o1=0T`$N~Nj@c&P!(J#~k{2$h($ literal 0 HcmV?d00001 diff --git a/src/snek/static/audio/soundfx.d_beep3.mp3 b/src/snek/static/audio/soundfx.d_beep3.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..883c5d3807ac2ef602554ccac4cc3981a5c521c4 GIT binary patch literal 8917 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 + app.playSound(0) message.detail.element.scrollIntoView() }) diff --git a/src/snek/static/message-list.js b/src/snek/static/message-list.js index 29e8a0b..a6fc835 100644 --- a/src/snek/static/message-list.js +++ b/src/snek/static/message-list.js @@ -66,6 +66,7 @@ class MessageListElement extends HTMLElement { this.messageEventSchedule.delay(() => { me.dispatchEvent(new CustomEvent("message", {detail:obj,bubbles:true})) + })