PageSourceSearch

https://ping.gg/_next/static/chunks/8998.d326aca3846f0e76.js

js ping.gg collected 2026-09-25 20:35:24 UTC 15,806 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8998],{70209:function(e,s,n){n.d(s,{pC:function(){return g},BK:function(){return p},N2:function(){return f},qi:function(){return h},pH:function(){return v}});var t=n(99534),r=n(67294),a=n(10383),l=n(41799),i=n(8424),o=n.n(i),c=n(88767),u=n(21213);let d=()=>{let{cameraEnabled:e,micEnabled:s,resolution:n,fps:t,AGC:a,AEC:i,ANS:d,micDeviceId:m,cameraDeviceId:h,bitrateOverride:g,encoderConfig:p,codec:f}=(0,u.Xc)(),v=(0,r.useMemo)(()=>({cameraEnabled:e,micEnabled:s,resolution:n,fps:t,AGC:a,AEC:i,ANS:d,micDeviceId:m,cameraDeviceId:h,bitrateOverride:g,encoderConfig:p,codec:f}),[e,s,n,t,a,i,d,m,h,g,p,f,]),{data:x}=(0,c.useQuery)("devices",async()=>{let e=await o().getMicrophones(),s=await o().getPlaybackDevices(),n=await o().getCameras();return{inputDevices:e,outputDevices:s,cameraDevices:n}},{staleTime:1/0}),y=(0,r.useMemo)(()=>(0,l.Z)({},x,v),[v,x]);return y};function m(e,s,n){let a=(0,r.useRef)(e=>{var{data:s}=e;(0,t.Z)(e,["data"]),n(s)});(0,r.useEffect)(()=>{var e;e=e=>{var{data:s}=e;(0,t.Z)(e,["data"]),n(s)},a.current=e},[n]),(0,r.useEffect)(()=>{let n=e=>a.current(e);return e.subscribe(s,n).then(()=>{console.log("Successfully bound callback to event: ",s)}).catch(e=>{console.error("Failed to bind callback to event: ",s),console.error("Error:",e),analytics.track("Failed to subscribe ably private event listener",{error:e})}),()=>{e.unsubscribe(s,n)}},[e,s])}let h=()=>{let e=(0,a.Lw)(e=>e.privateChannel);if(!e)throw Error("No private channel, don't use this hook without private channels connected in provider");return e};function g(e,s){let n=h();m(n,e,s)}function p(e,s){let n=(0,a.Lw)(e=>e.publicChannel);m(n,e,s)}let f=()=>{let e=(0,a.Lw)(e=>e.presenceChannel),s=d();(0,r.useEffect)(()=>{e&&s&&e.update({deviceInfo:s})},[e,s])},v=e=>(0,a.Lw)(s=>s.presenceData.get(e))},82670:function(e,s,n){n.d(s,{k:function(){return o}});var t=n(99534),r=n(85893),a=n(67294),l=n(10383),i=n(14671);let o=e=>{var{children:s}=e,n=(0,t.Z)(e,["children"]);let[o,c]=a.useState();return((0,a.useEffect)(()=>{let e=(0,l.Y9)(n);return c(e),()=>{var s;let n=e.getState();null===(s=n.presenceChannel)||void 0===s||s.leave(),n.ablyClient.close(),e.destroy()}},[JSON.stringify(n)]),o)?(0,r.jsx)(l.lf,{createStore:()=>(0,i.Z)(o),children:s}):null};s.Z=o},10383:function(e,s,n){n.d(s,{Lw:function(){return i},Y9:function(){return o},lf:function(){return l}});var t=n(59148),r=n(2050),a=n(22525);let{Provider:l,useStore:i}=(0,r.Z)(),o=e=>{console.log("Initializing Ably client with config",e);let s=(0,a.A)({embedAuth:e.useEmbedAuth});console.log("Connecting to public channel",e.slug);let n=s.channels.get("public:".concat(e.slug));n.attach().then(()=>{console.log("Connected successfully!"),analytics.track("ably public connection succeeded")}).catch(e=>{console.error("Public channel connectionfailed",e),analytics.track("ably public connection fail",{error:e})}),n.on("failed",e=>{console.error("Public channel conection failed LATER",e),analytics.track("ably public connection failed LATER (`failed` listener)",{error:e})});let r;e.connectPrivateChannel&&((r=s.channels.get("private:".concat(e.slug))).attach().then(()=>{console.log("Connected successfully!"),analytics.track("ably private connection succeeded")}).catch(e=>{console.error("Private channel connection failed",e),analytics.track("ably private connection fail",{error:e})}),r.on("failed",e=>{console.error("Private channel connection failed LATER",e),analytics.track("ably private connection failed LATER (`failed` listener)",{error:e})}));let l=n.presence;e.publishPresence&&l.enter({}).then(()=>{analytics.track("ably presence connection success")}).catch(e=>{console.error("Presence channel connection failed",e),analytics.track("ably presence connection fail",{error:e})});let i=(0,t.Z)(()=>({ablyClient:s,publicChannel:n,presenceChannel:l,presenceData:new Map,privateChannel:r}));return n.presence.subscribe(e=>{if(console.log("Received presence message",e),!l.syncComplete){console.log("Opting out of update until sync is complete");return}console.log("Presence channel is synced, updating presence data"),l.get().then(e=>{console.log("Got presence data",e);let s=new Map(e.map(e=>[e.clientId,e.data]));i.setState({presenceData:s})}).catch(e=>{console.error("Error getting presence data",e),analytics.track("failed to get ably presence",e)})}),i}},4610:function(e,s,n){n.d(s,{P6:function(){return i},QZ:function(){return l},jQ:function(){return r}});var t=n(9039);let r=["chat","embeds","participants","custom",],[a,l]=(0,t.y)("open-panels",[]),i=e=>{let[s,n]=l();return[s.includes(e),t=>{t?n([...s,e]):n(s.filter(s=>s!==e))},]}},9039:function(e,s,n){n.d(s,{y:function(){return a}});var t=n(91131);
1let r=(e,s)=>{let n=(0,t.cn)(s);n.onMount=s=>{let n=n=>{n.key===e&&s(n.newValue?JSON.parse(n.newValue):void 0)};window.addEventListener("storage",n);let t=localStorage.getItem(e);return t&&s(JSON.parse(t)),()=>window.removeEventListener("storage",n)};let r=(0,t.cn)(e=>e(n),(s,t,r)=>{let a="function"==typeof r?r(s(n)):r;t(n,a),void 0===a?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify(a))});return r},a=(e,s)=>{let n=r(e,s),a=()=>(0,t.KO)(n);return[n,a]}},72361:function(e,s,n){n.d(s,{S:function(){return v},h:function(){return b}});var t=n(85893),r=n(4610),a=n(70209),l=n(52777),i=n(73582),o=n(67814),c=n(5506),u=n(94184),d=n.n(u),m=n(67294),h=n(70148),g=n(33299),p=n(23324),f=n(78483);let v={GUEST:void 0,MEMBER:void 0,OWNER:{label:"Owner",icon:i.nmd},ADMIN:{label:"Admin",icon:i.isG},STAFF:{label:"Staff",icon:i.klh}},x=function(){var e;let{showToasts:s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{data:n}=(0,g.useSession)(),r=(0,m.useState)(0),[,l]=r,i=(0,m.useRef)([]);return(0,m.useEffect)(()=>()=>{i.current.forEach(e=>h.Am.dismiss(e)),i.current=[]},[]),(0,a.pC)("chat",e=>{if(s){let n=Date.now();(0,h.Am)((0,t.jsx)(y,{userId:e.userId,roomSlug:e.roomSlug,dismiss(){h.Am.dismiss(n)},children:e.message}),{toastId:n,closeButton:!1,closeOnClick:!1,className:"p-0 cursor-default",hideProgressBar:!0}),i.current.push(n)}l(e=>e+1)}),(0,a.pC)("whisper:".concat(null==n?void 0:null===(e=n.user)||void 0===e?void 0:e.name),e=>{if(s){let n=Date.now();(0,h.Am)((0,t.jsx)(y,{userId:e.userId,roomSlug:e.roomSlug,dismiss(){h.Am.dismiss(n)},whisper:!0,children:e.message}),{toastId:n,closeButton:!1,closeOnClick:!1,className:"p-0 cursor-default",hideProgressBar:!0}),i.current.push(n)}l(e=>e+1)}),r},y=e=>{let{children:s,userId:n,roomSlug:a,dismiss:i,whisper:u}=e,[,m]=(0,r.P6)("chat"),{data:h}=l.S.useQuery(["user.get-user-by-id",{userId:n}]),{data:g}=l.S.useQuery(["chat.get-user-info",{userId:n,roomSlug:a}],{staleTime:1/0});if(!g)return null;let x="STAFF"===g.role,y=v[g.role];return(0,t.jsxs)("div",{className:"group relative flex items-start p-4",children:[(0,t.jsxs)("div",{className:"flex flex-1 items-start",children:[(0,t.jsx)("div",{className:"shrink-0 pt-0.5",children:(0,t.jsxs)("div",{className:" relative mx-auto h-10 w-10",children:[(0,t.jsx)(p.q,{size:"full",image:null==h?void 0:h.image}),h&&(0,t.jsx)("div",{className:"absolute bottom-0 right-0 flex h-4 w-4 animate-fade-in items-center justify-center rounded-full bg-gray-700 text-xs ring-2 ring-gray-800",children:(0,t.jsx)(f.C,{size:"xs",platform:null==h?void 0:h.platform})})]})}),(0,t.jsxs)("div",{className:"ml-3 w-0 flex-1",children:[(0,t.jsxs)("p",{className:"flex text-sm font-bold",children:[(0,t.jsxs)("span",{className:"truncate",children:[g.name,u?" (whispered)":""]}),y&&(0,t.jsxs)("span",{className:d()("ml-2 inline-flex shrink-0 items-center rounded-sm px-1.5 py-0.5 text-xs  font-normal  capitalize",x?"bg-pink-500 text-white":"bg-gray-700 text-gray-400"),children:[(0,t.jsx)(o.G,{icon:y.icon,size:"xs",className:"mr-1"})," ",y.label]})]}),(0,t.jsx)("p",{className:"mt-1 line-clamp-3 text-sm text-gray-400",children:s})]})]}),(0,t.jsx)("button",{onClick(){i(),m(!0)},className:"absolute inset-0 cursor-pointer",children:(0,t.jsxs)("span",{className:"sr-only",children:["View message from ",g.name]})}),(0,t.jsx)("div",{className:"relative z-10 flex shrink-0",children:(0,t.jsxs)("button",{onClick:()=>i(),className:"invisible -m-2 inline-flex rounded-md p-2 text-gray-400 hover:text-gray-500 group-hover:visible",children:[(0,t.jsxs)("span",{className:"sr-only",children:["Dismiss message from ",g.name]}),(0,t.jsx)(c.Z,{className:"h-5 w-5","aria-hidden":"true"})]})})]})},b=e=>{let[s]=x(e);return 0===s?null:(0,t.jsx)("div",{className:"absolute right-1 top-1 flex h-5 w-5 -translate-y-1/2 translate-x-1/2 items-center justify-center rounded-full bg-pink-500 shadow-sm",children:(0,t.jsx)("span",{className:"text-xs font-bold",children:s})})}},44664:function(e,s,n){n.d(s,{W:function(){return E}});var t=n(41799),r=n(69396),a=n(85893),l=n(67294),i=n(51841),o=n(33299),c=n(52777),u=n(34353),d=n(55929),m=n(4905),h=n(70209),g=n(72361),p=n(97221);let f=e=>{let{addMessage:s,privateChannel:n,roomSlug:t}=e,{data:r}=(0,o.useSession)(),{mutate:a}=c.S.useMutation("chat.clear-chat",{onSuccess(){if(!r||!r.user||!r.user.name)throw Error("No user");s({message:"Chat history cleared!",userId:r.userId,roomSlug:t},"bot")}}),l=[{command:"/commands",description:"Lists all available commands",run(e){if(!r||!r.user||!r.user.name)throw Error("No user");s({message:"Available commands: ".concat(l.map(e=>e.command).join(", ")),userId:r.userId,roomSlug:t},"bot")}},{command:"/whisper",description:"Send an ephemeral chat message to a specific person in the call.",run(e){var a;if(!r||!r.user||!r.user.name)throw Error("No user");let[l,...i]=e.split(" ").slice(1),o=l===(null==r?void 0:null===(a=r.user)||void 0===a?void 0:a.name);if(!l||!i.length){s({message:"Usage: /whisper <name> <message>",userId:r.userId,roomSlug:t},"bot");return}let c={message:i.join(" "),userId:r.userId,roomSlug:t};analytics.track("send whisper",{slug:t}),o||s(c,"whisper"),n.publish("whisper:".concat(l),c)}},{command:"/clear",description:"Send an ephemeral chat message to a specific person in the call.",run(e){a({roomSlug:t})}}
1,{command:"/help",description:"Usage: /help <command>",run(e){var n;if(!r||!r.user||!r.user.name)throw Error("No user");let a="/"+(null!==(n=e.split(" ")[1])&&void 0!==n?n:"help"),i=l.find(e=>e.command===a).description;s({message:"".concat(a,": ").concat(i),userId:r.userId,roomSlug:t},"bot")}},];return l};var v=n(67814),x=n(94184),y=n.n(x),b=n(38964);let w=()=>{var e;let{data:s}=(0,o.useSession)(),{0:n,1:a}=(0,l.useState)([]),i=c.S.useContext();(0,h.pC)("whisper:".concat(null==s?void 0:null===(e=s.user)||void 0===e?void 0:e.name),e=>{a(s=>[...s,(0,r.Z)((0,t.Z)({},e),{createdAt:new Date,type:"whisper"}),])}),(0,h.pC)("chat",e=>{a(s=>[...s,(0,r.Z)((0,t.Z)({},e),{createdAt:new Date,type:"chat"}),])}),(0,h.pC)("chat-clear",async e=>{await i.invalidateQueries(["room.get-messages"]),a(e=>[])});let u=(e,s)=>{a(n=>[...n,(0,r.Z)((0,t.Z)({},e),{createdAt:new Date,type:s})])},d=()=>{a([])};return{messages:n,addMessage:u,clearMessages:d}},j=e=>{let{roomSlug:s,addMessage:n}=e,t=(0,p.SS)("slash-commands"),{mutate:r,isLoading:i}=c.S.useMutation("chat.send-message"),{0:d,1:g}=(0,l.useState)(""),v=(0,h.qi)(),{data:x}=(0,o.useSession)(),y=f({addMessage:n,privateChannel:v,roomSlug:s,sesh:x}),b=()=>{if(""!==d.trim()){if("/"===d[0]&&t){let e=d.split(" ")[0],a=y.find(s=>s.command===e);if(analytics.track("slash-command",{command:e,valid:!!a}),a)a.run(d);else{if(!x||!x.user||!x.user.name)throw Error("No user");n({message:"unrecognized command: ".concat(e),userId:x.userId,roomSlug:s},"bot")}}else{if(analytics.track("send message",{slug:s}),r({message:d.trim(),roomSlug:s}),!x||!x.user||!x.user.name)throw Error("No user");v.publish("chat",{message:d,userId:x.userId,roomSlug:s})}g("")}};return(0,a.jsxs)("div",{className:"flex p-2",children:[(0,a.jsx)("input",{type:"text",value:d,className:"w-full appearance-none border-0 bg-transparent pl-2 text-sm leading-tight text-gray-50 focus:ring-0",placeholder:"Send a message",onChange:e=>g(e.target.value),onSubmit:b,onKeyDown(e){"Enter"===e.key&&b()},maxLength:800}),(0,a.jsxs)(m.Co,{onClick:b,variant:"primary",size:"sm",loading:i,children:[(0,a.jsx)("span",{className:"sr-only",children:"Send Message"}),(0,a.jsx)(u.Z,{className:"h-4 w-4 rotate-90"})]})]})},N=e=>{var s;let{message:n}=e,{message:t,userId:r,roomSlug:o}=n,u=l.useMemo(()=>i.ZP.link(t,{sanitizeHtml:!0}),[t]),{data:d}=c.S.useQuery(["chat.get-user-info",{userId:r,roomSlug:o}],{staleTime:1/0});if(!d)return null;let m=g.S[null!==(s=d.role)&&void 0!==s?s:"GUEST"];return(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsxs)("span",{className:"whitespace-nowrap pr-2 font-bold",children:[d.name,m&&(0,a.jsx)(b.u,{content:m.label,children:(0,a.jsx)("span",{className:y()("ml-1 mr-0.5 inline-flex shrink-0 items-center rounded-sm p-1 text-xs  font-normal  capitalize","Staff"===m.label?"bg-pink-500 text-white":"bg-gray-700 text-gray-400"),children:(0,a.jsx)(v.G,{icon:m.icon,size:"xs"})})}),":"]}),(0,a.jsx)("span",{className:"prose prose-sm leading-tight prose-a:break-words",dangerouslySetInnerHTML:{__html:u}})]})},S=e=>{let{message:s}=e,{message:n,userId:t,roomSlug:r}=s,o=l.useMemo(()=>i.ZP.link(n,{sanitizeHtml:!0}),[n]),{data:u}=c.S.useQuery(["chat.get-user-info",{userId:t,roomSlug:r}],{staleTime:1/0});return u?(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsxs)("span",{className:"pr-2 font-bold ",children:[u.name," (whispered):"]}),(0,a.jsx)("span",{className:"prose prose-sm leading-tight prose-a:break-words",dangerouslySetInnerHTML:{__html:o}})]}):null},k=e=>{let{message:s}=e,{message:n}=s,t=l.useMemo(()=>i.ZP.link(n,{sanitizeHtml:!0}),[n]);return(0,a.jsx)("div",{className:"text-sm",children:(0,a.jsx)("span",{className:"prose prose-sm leading-tight prose-a:break-words",dangerouslySetInnerHTML:{__html:t}})})},I=e=>{let{roomInfo:s,messages:n}=e,t=(0,o.useSession)(),r=(0,l.useRef)(null),i=(0,l.useRef)(null);(0,l.useEffect)(()=>{var e,s;null===(e=r.current)||void 0===e||e.scroll({top:null===(s=i.current)||void 0===s?void 0:s.offsetTop,behavior:"smooth"})},[n.length]);let c=null==s?void 0:s.users.some(e=>{var s;return e.user.id===(null==t?void 0:null===(s=t.data)||void 0===s?void 0:s.userId)&&"OWNER"===e.role});return(0,a.jsx)("div",{ref:r,className:"relative flex min-h-0 flex-1 flex-col gap-2 overflow-auto p-4",children:s&&(0,a.jsxs)(a.Fragment,{children:[null==s?void 0:s.messages.map((e,n)=>(0,a.jsx)(Z,{message:{message:e.message,userId:e.user.id,roomSlug:s.slug,type:"chat"},isNew:!1,slug:s.slug},n)),n.length>0&&(null==s?void 0:s.messages.length)>0&&(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:"flex items-center justify-center space-x-1 rounded border border-gray-700 py-1 text-xs font-bold uppercase text-gray-400",children:[(0,a.jsx)(d.Z,{className:"h-3 w-3"}),(0,a.jsx)("span",{children:"New Messages"}),(0,a.jsx)(d.Z,{className:"h-3 w-3"})]})}),n.map((e,n)=>(0,a.jsx)(Z,{message:e,isNew:!0,slug:s.slug,isOwner:c},n)),(0,a.jsx)("div",{ref:i})]})})},E=e=>
1{let{messages:s,addMessage:n,clearMessages:t}=w(),{data:r}=c.S.useQuery(["room.get-messages",{slug:e.slug}],{refetchOnMount:!0,refetchInterval:!1,refetchOnReconnect:!1,refetchIntervalInBackground:!1,onSuccess(){t()}});return(0,a.jsxs)("div",{className:"flex h-full w-full flex-col divide-y divide-gray-700 bg-gray-800",children:[(0,a.jsx)(I,{roomInfo:r,messages:s}),(0,a.jsx)(j,{roomSlug:e.slug,addMessage:n})]})},Z=e=>{let{data:s}=c.S.useQuery(["chat.get-user-info",{roomSlug:e.slug,userId:e.message.userId},],{staleTime:1/0});return s?"chat"===e.message.type&&s.role?(0,a.jsx)(N,(0,r.Z)((0,t.Z)({},e),{message:(0,r.Z)((0,t.Z)({},e.message),{roomSlug:e.slug})})):"whisper"===e.message.type?(0,a.jsx)(S,(0,r.Z)((0,t.Z)({},e),{message:e.message})):"bot"===e.message.type?(0,a.jsx)(k,(0,r.Z)((0,t.Z)({},e),{message:e.message})):null:null}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.