Repository navigation
build(deps): dependency refresh, Wails v3, leak and body-drain fixes - #2520
Conversation
mochi skips OnDisconnect when SendConnack/resend fails after OnSessionEstablish, so b.sessions kept the client forever. Track establishment and sweep closed, never-established sessions on connect. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
authHook.sessions (and its AfterFunc timer) leaked when CONNACK failed after authentication because mochi skips OnDisconnect on that path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
wireMessage rebuilt 5 regexps per error: 29.7us/407 allocs -> 1.18us/5 allocs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
dropLogs read buf.cancel without the lock followLogs writes it under, and a drop between buffer creation and cancel assignment left the follower running on an orphaned buffer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
optionsMeta (labels) and normalizeNamedGroups recompiled a regexp on every call: 70 -> <=40 and 37 -> ~11 allocs/op. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
… old) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
|
Important Review skippedToo many files! This PR contains 182 files, which is 82 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.
|
… SDK bump Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
WaitGroup.Wait racing with Add from CreateBuild/Reset panicked
('WaitGroup is reused') and tripped -race; track in-flight builds with a
counter and idle channel under the backend lock.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
📊 Code Coverage Report
📄 Impacted Files Breakdown
Tip This project maintains a minimum coverage threshold of 85%. Maintain or improve coverage on new code to ensure long-term stability. Last updated: Tue, 27 Oct 2026 05:27:23 GMT |
…s redundant Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
net/http already discards up to 256KiB of an unread body after the handler returns and otherwise closes the connection (with RST avoidance). Unbounded drain in WriteError/WriteS3ErrorResponse read whole failed uploads. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM
Summary
Dependency refresh across every module plus a resource-leak / optimization pass.
Dependencies (every new version released on or before 2026-10-12, i.e. ≥14 days old)
google.golang.org/api0.288→0.302,cloud.google.com/go/{iam,logging,monitoring,workflows},modernc.org/libc,go-pkcs12, pseudo-versions forx/exp,genproto,goja,pprofpinned to ≤cutoff commits). No code changes needed. PARITY.mdsdk_modulepins and READMEs updated (task check-pins: 242/242).@aws-sdk/*3.1146→3.1150, SvelteKit/Svelte/vitest/jsdom/oxlint/oxfmt patch bumps. TypeScript held at 6.0.3 (7.x breakssvelte-kit sync).github/codeql-action→ v4.38.3 (SHA pinned). Everything else was already current.Leaks / performance (each with a test red before the fix)
dropLogsandfollowLogson the follower's cancel func, which could also leave a follower running on an orphaned buffer.Follow-ups found by the bump
BatchGetDataQualityResultV2,GetDataQualityResultV2,ListDataQualityResultsV2,PublishDataQualityResultV2; implemented against the same backend state as V1 (ClientToken idempotency, filters, pagination, persistence). Step Functions sdkwire registry regenerated withcmd/sfnschemagen.sync.WaitGroupwith concurrent Add/Wait (a build arriving during Reset/Close could panic); replaced with a counter + idle channel under the backend lock.HTTP body draining (Go 1.27)
httputils.DrainBody, which read a failed request's whole body with no limit on every error response. net/http already reads up to 256 KiB and otherwise closes with RST avoidance. New SDK test: an 8 MiB PutObject to a missing bucket still getsNoSuchBucketand the server reads less than the body.docker.ConsumePullStream) instead of discarding them, at all five call sites.Desktop: Wails v3.0.0
desktop/from Wails v2.16 to v3.0.0 (application/window objects, menu/dialog managers, window events). Linux now builds against GTK4 + WebKitGTK 6.0; CI/release installlibgtk-4-dev libwebkitgtk-6.0-dev. Verified under Xvfb on Linux (window opens, server health, navigation, clean shutdown) and Windows cross-compile; macOS/Windows runtime untested.Closes gopherstack-eaqgf.
Test plan
go build ./...,go vet ., root + desktopgo mod tidycleango test -raceon./pkgs/...and iot, neptune, docdb, timestreaminfluxdb, gcpbigquery, cloudwatchlogs, s3, dynamodb, sqs, lambdago test ./internal/app/ -short, persistence + guardstask lint-changed,task check-pins,task docsnpm test(3026 passed)🤖 Generated with Claude Code
https://claude.ai/code/session_01FGWXecoauvZN2AYe1vkvgM