Skip to content

fix(context): Fix snapshot recovery across sessions.#26939

Draft
joshualitt wants to merge 3 commits into
mainfrom
jl/snapshot-recovery
Draft

fix(context): Fix snapshot recovery across sessions.#26939
joshualitt wants to merge 3 commits into
mainfrom
jl/snapshot-recovery

Conversation

@joshualitt
Copy link
Copy Markdown
Contributor

Fixes #26927

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 12, 2026

Size Change: +1.75 kB (+0.01%)

Total Size: 34.1 MB

Filename Size Change
./bundle/chunk-46AR6EZB.js 0 B -14.8 MB (removed) 🏆
./bundle/chunk-BHUKWWY2.js 0 B -3.8 kB (removed) 🏆
./bundle/chunk-EPPOTTWZ.js 0 B -19.5 kB (removed) 🏆
./bundle/chunk-M6TQFOVU.js 0 B -659 kB (removed) 🏆
./bundle/chunk-QIEIW2RR.js 0 B -3.43 kB (removed) 🏆
./bundle/chunk-RUNL6FKS.js 0 B -49.2 kB (removed) 🏆
./bundle/chunk-XPNUDQSA.js 0 B -2.78 MB (removed) 🏆
./bundle/chunk-Y5CQCVZ3.js 0 B -12.5 kB (removed) 🏆
./bundle/core-EHUDP6EY.js 0 B -49.3 kB (removed) 🏆
./bundle/devtoolsService-FDZLV7WU.js 0 B -28 kB (removed) 🏆
./bundle/gemini-JB4ONNHJ.js 0 B -587 kB (removed) 🏆
./bundle/interactiveCli-5HIHG5YY.js 0 B -1.3 MB (removed) 🏆
./bundle/liteRtServerManager-UO776J5D.js 0 B -2.11 kB (removed) 🏆
./bundle/oauth2-provider-3M6AV2UR.js 0 B -9.16 kB (removed) 🏆
./bundle/chunk-2DAKXKR4.js 14.8 MB +14.8 MB (new file) 🆕
./bundle/chunk-4BA2KADV.js 3.8 kB +3.8 kB (new file) 🆕
./bundle/chunk-G6ZZDPHY.js 19.5 kB +19.5 kB (new file) 🆕
./bundle/chunk-GW7LQPYZ.js 3.43 kB +3.43 kB (new file) 🆕
./bundle/chunk-GZS5FAGG.js 49.2 kB +49.2 kB (new file) 🆕
./bundle/chunk-TOMYICEO.js 659 kB +659 kB (new file) 🆕
./bundle/chunk-VHJZZMZQ.js 2.78 MB +2.78 MB (new file) 🆕
./bundle/chunk-WYPWZEFH.js 12.5 kB +12.5 kB (new file) 🆕
./bundle/core-NRKER4LR.js 49.3 kB +49.3 kB (new file) 🆕
./bundle/devtoolsService-COZ6ZUI2.js 28 kB +28 kB (new file) 🆕
./bundle/gemini-56GXQU6E.js 587 kB +587 kB (new file) 🆕
./bundle/interactiveCli-XPSOGEGS.js 1.3 MB +1.3 MB (new file) 🆕
./bundle/liteRtServerManager-KVJOWY2D.js 2.11 kB +2.11 kB (new file) 🆕
./bundle/oauth2-provider-H3MN7HS7.js 9.16 kB +9.16 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
./bundle/bundled/third_party/index.js 8 MB 0 B
./bundle/chunk-34MYV7JD.js 2.45 kB 0 B
./bundle/chunk-5AUYMPVF.js 858 B 0 B
./bundle/chunk-5PS3AYFU.js 1.18 kB 0 B
./bundle/chunk-664ZODQF.js 124 kB 0 B
./bundle/chunk-DAHVX5MI.js 206 kB 0 B
./bundle/chunk-IUUIT4SU.js 56.5 kB 0 B
./bundle/chunk-N22WUHJE.js 1.97 MB 0 B
./bundle/chunk-RJTRUG2J.js 39.8 kB 0 B
./bundle/cleanup-XQO235KD.js 0 B -932 B (removed) 🏆
./bundle/devtools-36NN55EP.js 696 kB 0 B
./bundle/dist-T73EYRDX.js 356 B 0 B
./bundle/events-XB7DADIJ.js 418 B 0 B
./bundle/examples/hooks/scripts/on-start.js 188 B 0 B
./bundle/examples/mcp-server/example.js 1.43 kB 0 B
./bundle/gemini.js 5.1 kB 0 B
./bundle/getMachineId-bsd-TXG52NKR.js 1.55 kB 0 B
./bundle/getMachineId-darwin-7OE4DDZ6.js 1.55 kB 0 B
./bundle/getMachineId-linux-SHIFKOOX.js 1.34 kB 0 B
./bundle/getMachineId-unsupported-5U5DOEYY.js 1.06 kB 0 B
./bundle/getMachineId-win-6KLLGOI4.js 1.72 kB 0 B
./bundle/memoryDiscovery-ALKMYAPP.js 980 B 0 B
./bundle/multipart-parser-KPBZEGQU.js 11.7 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/client/main.js 222 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.js 229 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.js 13.4 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.js 132 B 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B
./bundle/sandbox-macos-strict-open.sb 4.82 kB 0 B
./bundle/sandbox-macos-strict-proxied.sb 5.02 kB 0 B
./bundle/src-QVCVGIUX.js 47 kB 0 B
./bundle/start-7BVCRO47.js 0 B -652 B (removed) 🏆
./bundle/tree-sitter-7U6MW5PS.js 274 kB 0 B
./bundle/tree-sitter-bash-34ZGLXVX.js 1.84 MB 0 B
./bundle/cleanup-7TSP22TI.js 932 B +932 B (new file) 🆕
./bundle/start-DDYU7Y4G.js 652 B +652 B (new file) 🆕

compressed-size-action

@gemini-cli gemini-cli Bot added the area/agent Issues related to Core Agent, Tools, Memory, Sub-Agents, Hooks, Agent Quality label May 12, 2026
@joshualitt joshualitt force-pushed the jl/snapshot-recovery branch from 0029dfc to c092ec7 Compare May 12, 2026 19:49
@gemini-cli gemini-cli Bot added priority/p2 Important but can be addressed in a future release. priority/p3 Backlog - a good idea but not currently a priority. area/core Issues related to User Interface, OS Support, Core Functionality labels May 12, 2026
This commit implements an opaque state export/import pattern for the
ContextManager to ensure expensive LLM-derived snapshots are properly
rehydrated upon session resume.

The ContextManager now exposes `exportState` and `restoreState` methods,
delegating structural validation to the `SnapshotStateHelper`.
During active chat, the GeminiClient routinely passes the finalized
context state down to the ChatRecordingService, which seamlessly
embeds it into the existing JSONL metadata payload. Upon resume, the
saved snapshot is re-published as a draft to the LiveInbox, allowing
the synchronous pipeline to automatically and deterministically splice
it back into the raw graph without an additional LLM call.
@joshualitt joshualitt force-pushed the jl/snapshot-recovery branch from c092ec7 to 3369732 Compare May 13, 2026 00:49
@gemini-cli gemini-cli Bot added the area/platform Issues related to Build infra, Release mgmt, Testing, Eval infra, Capacity, Quota mgmt label May 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/agent Issues related to Core Agent, Tools, Memory, Sub-Agents, Hooks, Agent Quality area/core Issues related to User Interface, OS Support, Core Functionality area/platform Issues related to Build infra, Release mgmt, Testing, Eval infra, Capacity, Quota mgmt priority/p2 Important but can be addressed in a future release. priority/p3 Backlog - a good idea but not currently a priority.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ensure snapshot is persisted across session restarts

1 participant