fix: enforce token expiry mid-session + macOS deploy reliability - #16
Open
jamierpond wants to merge 1 commit into
Open
fix: enforce token expiry mid-session + macOS deploy reliability#16jamierpond wants to merge 1 commit into
jamierpond wants to merge 1 commit into
Conversation
Previously, device token expiry was only checked during the initial auth handshake. An active WebSocket session would remain authenticated indefinitely even after the token expired. Now the server re-checks token expiry on every message and force-closes expired sessions. Also gates the list_projects WS handler behind authentication, and immediately closes the client WebSocket when device_expired is received instead of leaving it open during the redirect delay. Makefile: replace PID-file process management with port-based detection for more reliable deploys on macOS. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
list_projectsWebSocket handler now requires authentication (was previously open to any connected device).device_expiredis received, preventing any further communication during the 3s redirect delay.lsof). Adds_kill_serverand_wait_port_freeMake targets for more reliable stop/start cycles.Test plan
list_projectsis rejected before authenticationmake deploy,make restart,make stopwork on macOS🤖 Generated with Claude Code