Skip to content

Comments

Keepalive fix cleanup [kernel-images]#49

Merged
rgarcia merged 2 commits intokernel:mainfrom
raiden-staging:keepalive-cleanup
Aug 5, 2025
Merged

Keepalive fix cleanup [kernel-images]#49
rgarcia merged 2 commits intokernel:mainfrom
raiden-staging:keepalive-cleanup

Conversation

@raiden-staging
Copy link
Contributor

@raiden-staging raiden-staging commented Aug 5, 2025

  • Updated with new neko build so live client websockets receives system/pong
  • Removed chat temp fix
  • client/heartbeatsystem/pong reply with 10s interval works ✅

Next Steps :

  • onkernel/neko
    • Merge PR (Keepalive fix cleanup [neko])
    • Release tag v3.0.6-v1.0.1
  • onkernel/kernel-images
    • Merge this PR (Keepalive fix cleanup [kernel-images]). Notes :
      • Dockerfile already set to ghcr.io/onkernel/neko/base:3.0.6-v1.0.1
      • after onkernel/neko:v3.0.6-v1.0.1 tag release and build completion, would work without needing changes in this PR

[ @Sayan- @rgarcia ]

@mesa-dot-dev
Copy link

mesa-dot-dev bot commented Aug 5, 2025

Mesa Description

TL;DR

Migrated WebSocket keepalive from client-initiated heartbeats to server-sent system pongs, ensuring more stable connections, and removed related temporary chat fixes.

Why we made these changes

To stabilize WebSocket connections by adopting a robust server-side system/pong mechanism for keepalive, addressing previous temporary fixes and improving overall reliability.

What changed?

  • Updated chromium-headful Dockerfile to neko/base:3.0.6-v1.0.1 for system/pong support.
  • Introduced PONG event types and a handler for system/pong messages in the client.
  • Removed a debug fake chat message from client heartbeat logic.
  • Disabled the chat plugin in neko.yaml to remove a temporary fix.

Copy link

@mesa-dot-dev mesa-dot-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What Changed

This pull request refactors the WebSocket keepalive mechanism by upgrading the base Docker image to neko/base:3.0.6-v1.0.1. This new image provides a native system/pong keepalive event, allowing for the removal of a temporary workaround that used the chat system to maintain the connection. Accordingly, the client-side code in images/chromium-headful/client/ has been updated to remove the old heartbeat logic and the chat feature has been disabled in neko.yaml.

Risks / Concerns

This is a great cleanup PR that replaces a temporary workaround with a more robust, standardized solution. The changes are straightforward and well-contained. One minor point of clarification could be the new system/pong handler in images/chromium-headful/client/src/neko/index.ts, which is currently commented out. Assuming this is intentional or placeholder code, there are no significant risks.

5 files reviewed | 0 comments | Review on Mesa | Edit Reviewer Settings

@rgarcia rgarcia merged commit b5aeca9 into kernel:main Aug 5, 2025
3 checks passed
@rgarcia
Copy link
Contributor

rgarcia commented Aug 5, 2025

thanks as always @raiden-staging !

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.

2 participants