PageSourceSearch

https://flarea.ai/_next/static/chunks/77481-924e9a6c21fd3f4a.js?dpl=dpl_5FXG9y8GBZEsaWsL9fv5mJNBGMbH

js flarea.ai collected 2026-10-05 16:21:02 UTC 14,310 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77481],{77481:(e,t,o)=>{o.d(t,{Jp:()=>i,YI:()=>h,ty:()=>n});let a=[{id:"outlook-link-scanner",test:/Object Not Found Matching Id:\d+, *MethodName:\w+, *ParamCount:\d+/i,why:"Microsoft Outlook / Defender link scanner, not your code — it opens the link in its own browser and its internal bridge object is absent."},{id:"resizeobserver-loop",test:/ResizeObserver loop (limit exceeded|completed with undelivered notifications)/i,why:"A benign browser notice, not a failure — no user-visible effect."},{id:"cross-origin-script-error",test:/^Script error\.?$/i,why:"A cross-origin script error the browser refuses to describe — zero diagnostic content by design."},{id:"extension-protocol",test:/(chrome|moz|safari)-extension:\/\//i,why:"Raised inside a browser extension, not in the app bundle."}];function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o="".concat(e||""," ").concat(t||"");return!!o.trim()&&a.some(e=>e.test.test(o))}let s=[{match:e=>"player_failed"===e.kind,title:"The stream player failed for someone",meaning:"A viewer's live stage player hit two fatal errors in a row after the stream had already played (components/HlsStage.jsx), so they saw a stalled or black stage until the retry loop brought it back.",cause:"A network class (manifestLoadError, levelLoadError, fragLoadError: the CDN, the HLS packaging or their connection) or a media class (bufferStalledError, a decode error: their device). meta.hls carries the hls.js error code and meta.attempts the count.",action:"Read meta.hls and the count: the same network code across several people in one show is the stream — check the HLS origin and ws_show_monitor_samples for those minutes; a media code on one person is their browser, and the care card already offered a reconnect.",blast:"That viewer; everyone on the stream if it clusters."},{match:e=>"audience_no_sound_cluster"===e.kind,title:"Several viewers cannot hear the show",meaning:"In one live show, several viewers tapped to turn sound on and still heard nothing a minute later. The count and the share of the room are in meta.stats; the sentence the monitor wrote is meta.detail.",cause:"One person is an autoplay policy or a muted tab; a cluster is the audio itself — the host's microphone not published, the stream packaging dropping the audio rendition, or a player build that cannot unlock. meta.stats.fatal_majority decides which to check first: true means most of them also saw the player fail.",action:"fatal_majority true: check the HLS stream's audio rendition and the player first. Otherwise check the host's audio track in the media room for that show. Then customer_experience(slug) in Dev chat for the per-session picture; the host already sees the count in the People drawer.",blast:e=>{var t;return(null==(t=e.meta)?void 0:t.stats)?"".concat(e.meta.stats.affected," of ").concat(e.meta.stats.sessions," viewers in that show"):"Several viewers of one live show"}},{match:e=>"audience_drop_cluster"===e.kind,title:"Several viewers keep dropping out of the show",meaning:"In one live show, three or more viewers lost their connection at least twice inside ten minutes. The count and the share of the room are in meta.stats; the sentence the monitor wrote is meta.detail.",cause:"One person is their network; several at once is the media room, the stream edge or the host's upstream competing with the recorder. meta.stats.fatal_majority true means most of them also saw the player fail, which points at the stream.",action:"Compare with ws_show_monitor_samples for the same minutes (host_present, participants) and the join ledger; if the drops coincide with the recorder starting, the host's upstream is the suspect. customer_experience(slug) shows which sessions rejoined and which did not.",blast:e=>{var t;return(null==(t=e.meta)?void 0:t.stats)?"".concat(e.meta.stats.affected," of ").concat(e.meta.stats.sessions," viewers in that show"):"Several viewers of one live show"}},{match:e=>"program_off_air"===e.kind,title:"Nothing was on air while viewers watched",meaning:"In one live show, the show monitor saw no programme camera, screen or microphone and no on-stage content in the media room for several checks in a row while viewers were in it. meta.stats says since when, for how many minutes and how many viewers.",cause:"The host has camera and microphone off with nothing on stage (a late start behind open doors), or a camera or microphone the host believes is on never published to the room (a device or permission failure on their side, or the media room refusing the track).",action:"Compare the show's ws_show_monitor_samples for those minutes — program_video / program_audio / program_content / room_viewers, which the evidence bundle carries once db/ws_show_monitor_on_air.sql is applied; before that, or when the bundle has no such columns, read the same samples' findings and the case's meta.stats instead of selecting columns the table may not have — with the host's media_activation_failed and livekit_connect_failed rows. No failed publish: the host chose it and already sees the span on the delivery card. A failed publish: fix that path first.",blast:e=>{var t;return(null==(t=e.meta)?void 0:t.stats)?"".concat(e.meta.stats.viewers," viewers in that show for ").concat(e.meta.stats.minutes," min"):"Every viewer of one live show"}},{match:e=>/Loading chunk .* failed|ChunkLoadError|Failed to fetch dynamically imported module/i.test(e.message||""),title:"Stale app code in an open tab",meaning:"Someone had the app open when a new version was deployed. Their browser then asked for a JavaScript file that the deploy had already replaced, and the page broke.",cause:"A deploy landed while people were connected. It is not a code defect — it is a timing one.",action:"A refresh fixes it for the person. To stop it recurring, avoid deploying while a show is live; a deploy during a broadcast breaks the audience, not just the host.",blast:"Anyone with the page already open at deploy time."},{match:e=>"recording_failed"===e.kind||/egress|complete-no-file|recording/i.test(e.message||""),title:"A recording did n
1ot produce a file",meaning:"The cloud recorder reported success but no video file arrived, so the show has no cloud master.",cause:"Usually the egress ended without finalising — a room that emptied early, or the recorder losing its page.",action:"Check whether the in-browser backup covered it before telling anyone the show is lost; that path recovers most of these. If the backup is also missing, the footage is gone and the customer needs telling today.",blast:"The host of that show, and anyone expecting the replay."},{match:e=>/new row violates row-level security|violates row-level security policy/i.test(e.message||""),title:"The database refused a write",meaning:"Someone tried to save something — an upload, a registration, a transcript — and the security policy rejected it.",cause:"An RLS policy that is stricter than the feature needs, most often because the person is not the literal owner of the event, or is anonymous.",action:"Find which policy and which role. These fail silently from the user's side and usually mean lost data, not just a failed click.",blast:"Whoever was doing that action — and any data they thought they had saved."},{match:e=>/negotiation timed out|ICE|peer connection|track subscription failed/i.test(e.message||""),title:"A live connection failed to establish",meaning:"A participant could not complete the media handshake, so they saw no video or could not be seen.",cause:"Usually the participant's network — a restrictive firewall or VPN blocking the media path.",action:"Individual and self-resolving in most cases. Worth acting on only if several people on one show hit it at once, which points at us rather than at them.",blast:"That one participant, unless it clusters."},{match:e=>/The operation was aborted|AbortError/i.test(e.message||""),title:"A request was cancelled mid-flight",meaning:"An upload or fetch was abandoned before it finished.",cause:"Normally the person navigated away or closed the tab. If it repeats on the same route it is more likely a real timeout or a rejected upload.",action:"Ignore one-offs. Investigate if it repeats on an upload path — that is footage not arriving.",blast:"Usually nobody; potentially a lost upload."},{match:e=>/Cannot coerce the result to a single JSON object|PGRST116/i.test(e.message||""),title:"A write returned no row, and the code demanded exactly one",meaning:"Something was saved with .single(), the database came back with zero rows, and the raw PostgREST message was handed to whoever was watching — including, in the agent, to the language model, which then invented an explanation for it.",cause:"Ours, and almost always one of two things: an UPDATE whose patch object was EMPTY (PostgREST treats an empty PATCH body as a no-op and returns zero rows even though the row exists), or an UPDATE that RLS refused. Both look identical at this line.",action:"Find the .single() on the named route and switch it to .maybeSingle() with an explicit zero-row branch, then stop the empty patch upstream. Never let this message reach a user or a model — it describes our query shape, not their problem.",blast:"Whoever asked for that change. They were told something confusing and their edit did not happen."},{match:e=>"agent_turn_failed"===e.kind,title:"A producer-agent turn failed with no answer",meaning:'The user asked Flarea something and got "The outcome is not confirmed" instead of a reply. Nothing they asked for is known to have happened.',cause:"The turn threw after it started: most often the model returned a tool request the server rejected (meta.model_trace[].reasons and .sent show exactly what it sent), otherwise a provider or journal error (meta.cause_stack).",action:"Read meta.model_trace first — it is the whole diagnosis for a rejected request. Fix the validator or tool schema, not the model. Then tell the user their question can be asked again.",blast:"Every user asking a question that needs the same tool, until it is fixed."},{match:e=>"agent_tool_failed"===e.kind,title:"A producer-agent tool failed mid-conversation",meaning:"The user asked Flarea for something, the tool behind it errored, and the agent had to improvise a reply. Users read this as the product being broken even when nothing crashed.",cause:"Usually one of: the model called a tool with fields that tool does not own, a tool is missing for what the user actually wanted, or the tool hit a genuine bug. The `meta.tool` and `meta.args_keys` on the row say which.",action:"Look at the count before the message: one is a bad ask, a repeat is a missing capability or a misleading tool description. If the model keeps reaching for the wrong tool, the fix is the tool schema and the system prompt, not the model.",blast:"The user in that conversation — and their trust in the agent, which is the product."},{match:e=>/is not a function|undefined is not an object|Cannot read propert/i.test(e.message||""),title:"A crash in our own code",meaning:"The app hit a bug and that part of the page stopped working.",cause:"Ours. A value was not the shape the code assumed.",action:"Reproduce on the named route and fix. This class is never the customer's fault and never self-resolves.",blast:"Everyone who reaches that route."}],r=/^\[object (Event|Object)\]$|^null$|^undefined$/i;function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(r.test(String(e.message||"").trim()))return{title:"An error we failed to record properly",meaning:"Something threw, but the reporter stored no usable detail — only the placeholder text a browser prints for an object.",cause:"Our error reporter did not unwrap the thrown value (an Event or a bare object) before saving it.",action:"Fix the reporter, not the symptom. Until then these are unactionable, and they are hiding real failures on the route shown.",blast:"Unknown — which is the point.",confident:!1};let t=s.find(t=>{try{return t.match(e)}catch(e){return!1}});if(t){let{title:o,meaning:a,cause:n,action:s}=t;return{title:o,meaning:a,cause:n,action:s,blast:"function"==typeof t.blast?t.blast(e):t.blast,confident:!0}}return{title:"studio_crash"===e.kind?"A crash in the live studio":"An unclassified error",meaning:"Recorded ".concat(e.count||1," time").concat(1===(e.count||1)?"":"s").concat(e.route?" on ".concat(e.route):"","."),cause:"No rule matches this message yet, so treat the cause as unknown rather than guessed.",action:"Read the message and the route. If it turns out to be a recurring class, add a rule here so the next person is not starting from scratch.",blast:"studio_crash"===e.kind?"A live show was affected — the studio is the host and their audience, so treat it as customer-visible.":"Not established. ".concat(e.route?"Whoever was on ".concat(e.route):"The affected route was not recorded"," — worth pinning down before deciding it is harmless."),confident:!1}}function h(e){if(null==e)return"unknown (nothing was thrown)";if("string"==typeof e)return e||"unknown (empty message)";if(e instanceof Error){let t=String(e.message||"");return e.name&&!t.startsWith(e.name)?"".concat(e.name,": ").concat(t||"no detail"):t||e.name||"Error"}if("undefined"!=typeof DOMException&&e instanceof DOMException)return"".concat(e.name,": ").concat(e.message||"no detail");if("undefined"!=typeof Event&&e instanceof Event){var t;if("undefined"!=typeof ErrorEvent&&e instanceof ErrorEvent&&e.message)return e.message;let o=e.target||{},a=o.tagName||(null==(t=o.constructor)?void 0:t.name)||"unknown target",n=String(o.src||o.currentSrc||o.url||"").slice(0,120),s=o.status?" status=".concat(o.status):"";return"".concat(e.type||"event"," on ").concat(a).concat(n?" (".concat(n,")"):"").concat(s)}if("object"==typeof e){let t=["name","code","status","statusText","message","error","reason","details","hint"].map(t=>null!=e[t]&&"object"!=typeof e[t]?"".concat(t,"=").concat(e[t]):null).filter(
1Boolean);if(t.length)return t.join(" ").slice(0,300);try{let t=JSON.stringify(e);return t&&"{}"!==t&&"[]"!==t?t.slice(0,200):"empty object (nothing to report)"}catch(e){return"unserialisable object"}}return String(e)||"unknown value"}}}]);

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.