MigrateFromJSON previously called AddFullMessage in a loop, then renamed the .json file to .json.migrated. If the process crashed after appending some messages but before the rename, a retry would re-read the same .json and append all messages again — duplicating whatever was written before the crash. Switch to SetHistory which atomically replaces the session contents. A retry after crash overwrites the partial data instead of appending. |
||
|---|---|---|
| .. | ||
| jsonl.go | ||
| jsonl_test.go | ||
| migration.go | ||
| migration_test.go | ||
| store.go | ||