Repository navigation
fix: bug-hunt round — batched events, wss, sanitization, layout bounds - #149
Closed
jkyberneees wants to merge 5 commits into
Closed
jkyberneees wants to merge 5 commits into
jkyberneees wants to merge 5 commits into
Conversation
dialWS never wrapped wss:// in TLS, so attaching to an https odek serve always failed. Pending thinking deltas now flush after 50ms of silence instead of waiting for the next frame, and the LLM-backed memory consolidation uses the 30s client rather than the 3s interactive one. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GozYvJdU9Yx4uLnCKCcTEg
Extra query parameters on an attach URL ended up before /ws and in the REST base. Derive both endpoints from the path and keep the parameters on the ws URL only. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GozYvJdU9Yx4uLnCKCcTEg
The server log carries odek's WS token; remove and exclusively create it (0600) instead of reusing a possibly pre-created file. Settings saves now write only the fields this instance changed over the file's current contents so another running instance's choices are not lost. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GozYvJdU9Yx4uLnCKCcTEg
Only a missing file is a fresh start. Any other read error disables persistence for the run instead of overwriting the bytes. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GozYvJdU9Yx4uLnCKCcTEg
- carry sendQueued/plan/attention/kick cmds out of ingestWireBatch so a queued prompt, done bell and tab refreshes are not dropped in a burst - sanitize sub-agent phase/status and job/agent status in drawers - window the cockpit popover and bound drawer detail rows by cells - rune-safe palette backspace and plainClip - delete reply removes the right session after the selection moved - reset the stale-age clock per turn, ignore key sentinels in find, reset copyMark on clear Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GozYvJdU9Yx4uLnCKCcTEg
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
A bug hunt across the whole project. Each finding was first reproduced with a failing (RED) test, and findings that could not be reproduced or that contradicted pinned, deliberate behaviour were dropped. The fixes go in as separate commits, one per area.
Fixed
ingestWireBatchdropped the follow-up commands of every event. A queued prompt was popped but never sent, and the done bell,bg_job/subagent_state/memory_eventrefreshes and plan fetches were lost. They are now carried out of the batch.wss://attach never did a TLS handshake, sohttpsservers always failed./wsor in the REST base.plainClipno longer split multi-byte characters.copyMarkresets on clear.Dropped after validation
n/Nnavigation in the find bar is deliberate and pinned.Testing
make fmt,make vetandmake test(race) are green, including the new regression tests (*/bughunt_regress_test.go).make lintcould not run in the cloud sandbox: its golangci-lint was built with Go 1.25 against a module targeting 1.26.0. CI will run it.TestPlainBatchProgressPrintsInWireOrder) now strips OSC sequences before counting, because the done title and bell now fire from a batch too.🤖 Generated with Claude Code
https://claude.ai/code/session_01GozYvJdU9Yx4uLnCKCcTEg
Generated by Claude Code