PageSourceSearch

https://app.tendercrunch.com/assets/entries/pages_config_websocket-monitor.CeyNg2x0.js

js tendercrunch.com collected 2026-10-04 13:50:28 UTC 9,895 bytes, 1 lines download raw bytes

1import{f as b,j as x,W as z,o as l,c as r,a as e,p as w,t,a3 as T,a4 as P,q as m,e as f,am as U,T as a,X as E,ae as d,ay as D,az as $,aA as L,aB as V,aC as I}from"../chunks/chunk-C5TSvCb_.js";/* empty css                      */import{_ as k}from"../chunks/chunk-DlAUqK2U.js";/* empty css                      */import{i as j,a as B}from"../chunks/chunk-BaYB1H-L.js";import"../chunks/chunk-DczI_bU0.js";/* empty css                      */import"../chunks/chunk-BIl69VJU.js";import"../chunks/chunk-XzmP5Rc2.js";/* empty css                      */import"../chunks/chunk-Dzg6WhU5.js";import"../chunks/chunk-Bwl8Ubrc.js";import"../chunks/chunk-BfuUSS8C.js";import"../chunks/chunk-BYUGIfic.js";import"../chunks/chunk-Cxd5SWlP.js";import"../chunks/chunk-DP7s8G8c.js";import"../chunks/chunk-ChuOHdj2.js";import"../chunks/chunk-DWTGb-gg.js";import"../chunks/chunk-SYYriwQK.js";import"../chunks/chunk-DuEYr83i.js";import"../chunks/chunk-Bncje1mF.js";import"../chunks/chunk-BxPorXeb.js";/* empty css                      *//* empty css                      *//* empty css                      *//* empty css                      *//* empty css                      *//* empty css                      *//* empty css                      */import"../chunks/chunk-CPo9sghN.js";/* empty css                      *//* empty css                      */import"../chunks/chunk-nJ4ulUxb.js";/* empty css                      *//* empty css                      */const N={class:"websocket-monitor"},W={class:"monitor-header"},H={class:"monitor-controls"},F={class:"monitor-stats"},O={class:"stat-card"},q={class:"stat-value"},X={class:"stat-card"},G={class:"stat-value"},J={class:"stat-card"},K={class:"stat-value"},Q={class:"stat-card"},Y={class:"stat-value"},Z={class:"monitor-content"},ee={class:"connections-list"},te={key:0,class:"no-connections"},oe={key:1,class:"connection-items"},se={class:"connection-header"},ae={class:"room-id"},ie={class:"client-count"},ne={class:"connection-details"},le={class:"client-states"},re={key:0,class:"state ready"},ce={key:1,class:"state connecting"},de={key:2,class:"state closing"},ue={key:3,class:"state closed"},pe={class:"connection-logs"},fe={class:"logs-container"},ve={class:"log-timestamp"},ge={class:"log-message"},me=b({__name:"WebSocketMonitor",setup(C){const o=f([]),v=f({totalRooms:0,totalClients:0,activeClients:0}),n=f(""),u=f([]),p=f(!0),g=f(null),h=(c,s)=>{const i={id:Date.now().toString(),timestamp:new Date,type:c,message:s};u.value.unshift(i),u.value.length>100&&(u.value=u.value.slice(0,100))},_=async()=>{try{const c=await fetch("/api/ws-connections",{credentials:"include",headers:{Accept:"application/json"}});if(c.ok){const s=await c.json();o.value=s.connections,v.value=s.summary,n.value=s.vmId,h("info",`Refreshed connections: ${s.summary.activeClients} active clients in ${s.summary.totalRooms} rooms`)}else h("error",`Failed to fetch connections: ${c.status}`)}catch(c){h("error",`Error fetching connections: ${c}`)}},M=()=>{p.value=!p.value,p.value?y():S()},y=()=>{g.value||(g.value=setInterval(()=>{_()},5e3))},S=()=>{g.value&&(clearInterval(g.value),g.value=null)},A=()=>{u.value=[]},R=c=>c.toLocaleTimeString();return x(()=>{_(),p.value&&y()}),z(()=>{S()}),(c,s)=>(l(),r("div",N,[e("div",W,[s[0]||(s[0]=e("h3",null,"🔌 WebSocket Monitor",-1)),e("div",H,[e("button",{onClick:M,class:w([{active:p.value},"btn btn-sm"])},t(p.value?"⏸️ Pause":"▶️ Auto-refresh"),3),e("button",{onClick:_,class:"btn btn-sm"}," 🔄 Refresh "),e("button",{onClick:A,class:"btn btn-sm"}," 🗑️ Clear Logs ")])]),e("div",F,[e("div",O,[e("div",q,t(v.value.totalRooms),1),s[1]||(s[1]=e("div",{class:"stat-label"},"Rooms",-1))]),e("div",X,[e("div",G,t(v.value.totalClients),1),s[2]||(s[2]=e("div",{class:"stat-label"},"Total Clients",-1))]),e("div",J,[e("div",K,t(v.value.activeClients),1),s[3]||(s[3]=e("div",{class:"stat-label"},"Active Clients",-1))]),e("div",Q,[e("div",Y,t(n.value),1),s[4]||(s[4]=e("div",{class:"stat-label"},"VM ID",-1))])]),e("div",Z,[e("div",ee,[s[5]||(s[5]=e("h4",null,"📋 Active Connections",-1)),o.value.length===0?(l(),r("div",te," No active connections ")):(l(),r("div",oe,[(l(!0),r(T,null,P(o.value,i=>(l(),r("div",{key:i.room,class:"connection-item"},[e("div",se,[e("span",ae,"📍 "+t(i.room),1),e("span",ie," 👥 "+t(i.activeClients)+"/"+t(i.totalClients),1)]),e("div",ne,[e("div",le,[i.clientStates.ready>0?(l(),r("span",re," ✅ "+t(i.clientStates.ready)+" Ready ",1)):m("",!0),i.clientStates.connecting>0?(l(),r("span",ce," 🔄 "+t(i.clientStates.connecting)+" Connecting ",1)):m("",!0),i.clientStates.closing>0?(l(),r("span",de," ⏳ "+t(i.clientStates.closing)+" Closing ",1)):m("",!0),i.clientStates.closed>0?(l(),r("span",ue," ❌ "+t(i.clientStates.closed)+" Closed ",1)):m("",!0)])])]))),128))]))]),e("div",pe,[
1s[6]||(s[6]=e("h4",null,"📝 Connection Logs",-1)),e("div",fe,[(l(!0),r(T,null,P(u.value,i=>(l(),r("div",{key:i.id,class:w(["log-entry",i.type])},[e("div",ve,t(R(i.timestamp)),1),e("div",ge,t(i.message),1)],2))),128))])])])]))}}),he=k(me,[["__scopeId","data-v-6e783636"]]),_e={class:"websocket-monitor-page"},ye={class:"page-header"},Se={class:"additional-info"},we={class:"info-grid"},Te={class:"info-card"},Pe={class:"info-card"},be={class:"info-card"},ke={class:"info-card"},Ce=b({__name:"+Page",setup(C){const{t:o}=U();return(v,n)=>(l(),r("div",_e,[e("div",ye,[e("h1",null,"🔌 "+t(a(o)("configPages.websocketMonitor.title")),1),e("p",null,t(a(o)("configPages.websocketMonitor.subtitle")),1)]),E(he),e("div",Se,[e("h3",null,"📚 "+t(a(o)("configPages.websocketMonitor.usefulInfo")),1),e("div",we,[e("div",Te,[e("h4",null,"🌐 "+t(a(o)("configPages.websocketMonitor.apiRoutes")),1),n[0]||(n[0]=e("ul",null,[e("li",null,[e("code",null,"/ws-connections"),d(" - Liste des connexions actives")]),e("li",null,[e("code",null,"/ws-test"),d(" - Test du serveur WebSocket")]),e("li",null,[e("code",null,"/ws-redis-test"),d(" - Test de la distribution Redis")])],-1))]),e("div",Pe,[e("h4",null,"📊 "+t(a(o)("configPages.websocketMonitor.connectionStates")),1),e("ul",null,[e("li",null,[n[1]||(n[1]=e("span",{class:"state ready"},"✅",-1)),d(" "+t(a(o)("configPages.websocketMonitor.stateReady")),1)]),e("li",null,[n[2]||(n[2]=e("span",{class:"state connecting"},"🔄",-1)),d(" "+t(a(o)("configPages.websocketMonitor.stateConnecting")),1)]),e("li",null,[n[3]||(n[3]=e("span",{class:"state closing"},"⏳",-1)),d(" "+t(a(o)("configPages.websocketMonitor.stateClosing")),1)]),e("li",null,[n[4]||(n[4]=e("span",{class:"state closed"},"❌",-1)),d(" "+t(a(o)("configPages.websocketMonitor.stateClosed")),1)])])]),e("div",be,[e("h4",null,"🔍 "+t(a(o)("configPages.websocketMonitor.connectionLogs")),1),e("p",null,t(a(o)("configPages.websocketMonitor.logsIntro")),1),e("ul",null,[e("li",null,t(a(o)("configPages.websocketMonitor.logNewConnection")),1),e("li",null,t(a(o)("configPages.websocketMonitor.logDisconnect")),1),e("li",null,t(a(o)("configPages.websocketMonitor.logError")),1),e("li",null,t(a(o)("configPages.websocketMonitor.logManualRefresh")),1)])]),e("div",ke,[e("h4",null,"⚙️ "+t(a(o)("configPages.websocketMonitor.configuration")),1),e("p",null,t(a(o)("configPages.websocketMonitor.autoRefreshHint")),1),e("p",null,t(a(o)("configPages.websocketMonitor.youCan")),1),e("ul",null,[e("li",null,t(a(o)("configPages.websocketMonitor.pauseResume")),1),e("li",null,t(a(o)("configPages.websocketMonitor.manualRefresh")),1),e("li",null,t(a(o)("configPages.websocketMonitor.clearLogs")),1)])])])])]))}}),Me=k(Ce,[["__scopeId","data-v-2a72d7a8"]]),Ae=Object.freeze(Object.defineProperty({__proto__:null,default:Me},Symbol.toStringTag,{value:"Module"})),dt={isClientRuntimeLoaded:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!0}},onBeforeRenderEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:{server:!0}}},dataEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:{server:!0}}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"vike-vue/__internal/integration/onRenderClient",fileExportPathToShowToUser:[]},valueSerialized:{type:"pointer-import",value:D}},onHydrationEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/+onHydrationEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:$}},onPageTransitionStart:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/+onPageTransitionStart.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:L}},onPageTransitionEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/+onPageTransitionEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:V}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/config/websocket-monitor/+Page.vue",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:Ae}},guard:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/config/+guard.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:j}},hydrationCanBeAborted:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/+config.ts",fileExportPathToShowToUser:["default","hydrationCanBeAborted"]},valueSerialized:{type:"js-serialized",value:!0}},Layout:{type:"cumulative",definedAtData:[{filePathToShowToUser:"/layouts/LayoutConfig.vue",f
1ileExportPathToShowToUser:[]}],valueSerialized:[{type:"pointer-import",value:B}]},title:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/config/+config.ts",fileExportPathToShowToUser:["default","title"]},valueSerialized:{type:"js-serialized",value:"Config - tender crunch"}},onCreateApp:{type:"cumulative",definedAtData:[{filePathToShowToUser:"/pages/+onCreateApp.ts",fileExportPathToShowToUser:[]}],valueSerialized:[{type:"plus-file",exportValues:I}]}};export{dt as configValuesSerialized};

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.