Files
cc-connect/tests
5bda5313c9 fix: prevent attachment filename collisions (#1557)
* fix(core): prevent attachment filename collisions (#1552)

Scope saved attachments by message ID, preserve duplicate names with unique paths, and make legacy flat-layout writes atomic and non-overwriting.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(test): align cmd stub with new AgentSession.Send signature

Picks up the cmd/cc-connect/main_test.go stub missed by PR #1557; QA
flagged the lint failure (PR review 4718820336). The new core.AgentSession
interface added a messageID parameter, but the local stub still used the
old 3-arg form so the lint job failed and downstream CI jobs skipped.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(lint): address errcheck + staticcheck on PR #1557

After the stub alignment in cc061b87, the next CI run surfaced two more
issues introduced by #1552:
- core/message.go writeAtomicNoOverwrite: 4 unchecked os.Remove / tmp.Close
  return values. Capture and log them at warn level on the cleanup paths.
- tests/release_local/turn_contract_test.go:953: QF1008 staticcheck noted
  that p.turnPlatform.snapshot() can use the embedded field directly
  (previewLifecyclePlatform embeds turnPlatform), so p.snapshot() is
  equivalent and shorter.

Verified locally with golangci-lint v2.11.4 (matching CI version):
  GOFLAGS=-tags=no_web golangci-lint run --new-from-rev origin/main \
    ./core/... ./cmd/... ./tests/release_local/turn_contract/...
→ 0 issues (the only filtered warning is the pre-existing web/embed.go
  dist dependency, unrelated to this PR).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: dev-claudecode <dev-claudecode@cc-connect.local>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-19 20:04:56 +08:00
..