beyondcode / beyondcode/polyscope-community

[Bug]: Server failed health check after timeout

Open
#146 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
20
Forks
0
PR merge metrics
No merged PRs in 30d

Description

### Platform

macOS

### Operating system version

26.2(25C56)

### System architecture

ARM64 (M1, M2, etc)

### PolyScope Version

0.17.0

### Bug description

[electron] Starting prod server: /Applications/Polyscope.app/Contents/Resources/polyscope-server
[electron] Waiting for server health check on port 4321...
[server:err] 424 | `)}function dqT(T){if(T.points.length<2)return"";let R=T.points.map((A)=>`${A.x},${A.y}`).join(" "),_=!T.identifying?' stroke-dasharray="6 4"':"";return``}function nqT(T){if(!T.label||T.points.length<2)return"";let R=oqT(T.points),A=x_(T.label,DR.edgeLabel,uR.edgeLabel)+8,D=DR.edgeLabel+6;return`
[server:err] 425 | ${zL(T.label)}`}function iqT(T){if(T.points.length<2)return"";let R=[],_=T.points[0],A=T.points[1];R.push(EQ(_,A,T.cardinality1));let D=T.points[T.points.length-1],O=T.points[T.points.length-2];return R.push(EQ(D,O,T.cardinality2)),R.join(`
[server:err] 426 | `)}function EQ(T,R,_){let A=[],D=L9.connector+0.25,O=T.x-R.x,q=T.y-R.y,H=Math.sqrt(O*O+q*q);if(H===0)return"";let B=O/H,W=q/H,L=-W,J=B,U=T.x-B*4,F=T.y-W*4,z=T.x-B*16,K=T.y-W*16,N=_==="one"||_==="zero-one",E=_==="many"||_==="zero-many",G=_==="zero-one"||_==="zero-many";if(N){A.push(``);let V=U-B*4,C=F-W*4;A.push(``)}if(E){let V=U,C=F;A.push(``),A.push(``),A.push(``)}if(G){let j=E?20:12,V=T.x-B*j,C=T.y-W*j;A.push(``)}return A.joi
[server:err] 427 | `)}function oqT(T){if(T.length===0)return{x:0,y:0};if(T.length===1)return T[0];let R=0;for(let D=1;D=_){let B=H>0?(_-A)/H:0;return{x:T[D-1].x+O*B,y:T[D-1].y+q*B}}A+=H}return T[T.length-1]}function zL(T){return T.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function rqT(T){let R=T.trim().split(`
[server:err] 428 | `)[0]?.trim().toLowerCase()??"";if(/^sequencediagram\s*$/.test(R))return"sequence";if(/^classdiagram\s*$/.test(R))return"class";if(/^erdiagram\s*$/.test(R))return"er";return"flowchart"}function tqT(T){return{bg:T.bg??_Q.bg,fg:T.fg??_Q.fg,line:T.line,accent:T.accent,muted:T.muted,surface:T.surface,border:T.border}}async function ZQ(T,R={}){let _=tqT(R),A=R.font??"Inter",D=R.transparent??!1,O=rqT(T),q=T.split(`
[server:err] 429 | `);return T9(R,A,O,_,{skipUserBroadcast:"Committing changes"}).catch((q)=>console.error("[api] agent.prompt (commit) failed:",q)),G_({workspace_id:A,agent:{status:"working"}})},"workspaces.create_pr":async(T,R,_)=>{let{workspace_id:A,title:D,body:O}=T,q=T.draft===!0;if(!A)return OR("validation_error","workspace_id is required",422);if(!FT(A))return OR("not_found","Workspace not found",404);let B=q?tW(A,D,O):rW(A,D,O);return T9(R,A,B,_,{skipUserBroadcast:q?"Creating draft pull request":"Creating pull request"}).catch((L)=>console.error("[api] agent.prompt (pr) failed:",L)),G_({workspace_id:A,agent:{status:"working"}})},"workspaces.stop":async(T)=>{let R=T.workspace_id;if(!R)return OR("validation_error","workspace_id is required",422);if(!FT(R))return OR("not_found","Workspace not found",404);return await N7(R),G_({workspace_id:R,agent:{status:"idle"}})},"api.key_exchange":async(T)=>{let R=f_(T.public_key),_=f_(T.nonce);if(!R)return OR("validation_error","public_key is required",422);if(!_)return OR("validation
[server:err] error: Failed to start server. Is port 4321 in use?
[server:err] syscall: "listen",
[server:err] errno: 0,
[server:err] code: "EADDRINUSE"
[server:err] at (/$bunfs/root/polyscope-server-aarch64-apple-darwin:429:3906)
[server:err] Bun v1.3.11 (macOS arm64)
[electron] Server exited with code 1
[electron] Server failed health check after timeout

### Steps to reproduce

_No response_

### Relevant log output

```shell

```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the Electron startup path that launches polyscope-server and waits on port 4321; reproduce on macOS ARM64 with that port occupied and inspect the EADDRINUSE exit. Establish the expected behavior for this conflict and verify that the server no longer causes an unexplained health-check failure, adding coverage if the project has a relevant test path.

Written by the indexing model from the issue text.

Assessment

Tech stack
bun, electron
Domain
backend, desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.