@expofp/floorplan
Version:
Interactive floor plan library for expos and events
4 lines (3 loc) • 1.68 kB
JavaScript
import r from"./logger";let a;export default function i(e){a||e.filename.indexOf("expofp.com")===-1||[/loading chunk \d{1,2}\b/i,/zaloJS/i,/e.target.name/i,/ResizeObserver loop/i,/ChunkLoadError/i,/FloorPlan not ready/i].some(n=>n.test(e.message))||(a=window.setTimeout(async function(){const n=navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language,s={host:document.location.host,message:e.message,filename:e.filename,lineno:e.lineno,colno:e.colno,stack:e.error?.stack,log:r.messages.join(`
`),userAgent:navigator.userAgent,language:n,group:"FP",url:document.location,subject:"FP JS error: "+document.location.host};r.info("Sending error report",s),await Promise.all([c(s),l(s)])},2e3))}async function c(e){if(process.env.NODE_ENV!=="production")return;const o=await fetch("https://app.expofp.com/api/report-error",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});r.log("Reporter response: ",await o.text())}async function l(e){if(process.env.NODE_ENV!=="production")return;const o=g(e),t=await fetch("https://msg.expofp.com/v1/post-message/"+window.location.hostname,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});r.log("Slack reporter response: ",await t.text())}function g(e){const o=JSON.parse(JSON.stringify(e));delete o.subject,delete o.message,delete o.stack,delete o.log;const t=[];return t.push({type:"section",text:{type:"mrkdwn",text:`:warning:* ${e.subject}*`}}),t.push({type:"section",text:{type:"plain_text",text:e.message+" \u2192 "+(e.stack||"").split(`
`)[0]}}),{channel:"#fp-errors",username:"error-reporter-bot",type:"mrkdwn",text:e.subject,blocks:t}}