Skip to content

Conversation

siddarthvader
Copy link

@siddarthvader siddarthvader commented Oct 17, 2025

moved from http networking to websockets for hooks invocation rather we have bidirectional communication now between compiler and orchestrator. There is no schema change, DB already has a column for port in plugin table.

We maintain a map of websocket connection, and we keep an account of pending request, this is still request-response model nothing inherent has changed just the networking layer is websocket now.

This improved upon the existing http netwroking, now our golang process can send message to orchestrator (posing as websocket client) there is a simple interface for messages implemented.

Right now we dont send a lot of info from compiler using the websockets, only sending critical errors propagating in hook invocation and their success message.

Earlier we sent taskId and pluginDir as headers

{
  method: 'POST',
  headers: {
	  'Content-Type': 'application/json',
	  'X-Task-ID': task_id?.toString() ?? '',
	  'X-Plugin-Directory': directory,
  },
  body: JSON.stringify(payload),
},
type WebSocketMessage struct {
	ID              string         `json:"id"`
	Type            string         `json:"type"`
	Hook            string         `json:"hook"`
	Payload         map[string]any `json:"payload"`
	TaskID          string         `json:"taskId"`
	PluginDirectory string         `json:"pluginDirectory"`
}

Now we can just send them as regular payload.

We have a lot of errors already propagated to hook layer and then being sent to client, looks somewhat liks this
image

moved from http networking to websocket for hooks, bidirectional communication.
Copy link

changeset-bot bot commented Oct 17, 2025

⚠️ No Changeset found

Latest commit: 991dcff

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link

netlify bot commented Oct 17, 2025

Deploy Preview for houdinigraphql failed.

Name Link
🔨 Latest commit 991dcff
🔍 Latest deploy log https://app.netlify.com/projects/houdinigraphql/deploys/68f33a1823f2cb000869a449

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant