Skip to content

fix(channels): preserve unresolved secret refs#3371

Merged
just-cameron merged 1 commit into
mainfrom
overlord/LET-9461-preserve-secret-refs
Jul 15, 2026
Merged

fix(channels): preserve unresolved secret refs#3371
just-cameron merged 1 commit into
mainfrom
overlord/LET-9461-preserve-secret-refs

Conversation

@overlord-letta

Copy link
Copy Markdown
Contributor

Summary

  • preserve keyring-backed channel secret refs when restart hydration cannot read the referenced secret
  • stop rewriting the account file with an empty Telegram token
  • add a real accounts.json regression for LET-9461

Scope

This replaces #3270 with the narrow fix for the original restart/hydration failure. It does not change blank settings-save policy, plugin secrets, mutation locking, or account transaction behavior.

Proof

The regression fails on current main because hydration removes __letta_secret_refs.token and persists token: "". It passes with this patch and verifies the account file remains byte-for-byte unchanged.

Validation

  • bun test src/channels/credential-store.test.ts src/websocket/listen-client-channel-accounts.test.ts — 14 pass
  • bun run check — 12 checks pass

Linear: LET-9461

👾 Generated with Letta Code

Letta Code (agent-c2adbf5c-8419-4211-8cd8-3740db164974)

Preserve keyring-backed channel secret refs when secure-store reads return null, so restart hydration leaves the persisted account recoverable instead of rewriting it with a blank token.

Regression covers the Telegram restart path through accounts.json hydration and persistence.

👾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta Code <noreply@letta.com>
@just-cameron
just-cameron merged commit a00d29c into main Jul 15, 2026
39 of 40 checks passed
@just-cameron
just-cameron deleted the overlord/LET-9461-preserve-secret-refs branch July 15, 2026 19:02
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