diff --git a/.changeset/wrap-record-save-error.md b/.changeset/wrap-record-save-error.md new file mode 100644 index 000000000..4c8853272 --- /dev/null +++ b/.changeset/wrap-record-save-error.md @@ -0,0 +1,5 @@ +--- +"@stackflow/plugin-stack-persistence": patch +--- + +Wrap storage save failures in `StackSnapshotRecordSaveError` before invoking `onRecordSaveError` or rethrowing, matching the declared handler signature and the load-path behavior. diff --git a/extensions/plugin-stack-persistence/src/stackPersistencePlugin.ts b/extensions/plugin-stack-persistence/src/stackPersistencePlugin.ts index ff10cab8f..d0b6558c4 100644 --- a/extensions/plugin-stack-persistence/src/stackPersistencePlugin.ts +++ b/extensions/plugin-stack-persistence/src/stackPersistencePlugin.ts @@ -30,8 +30,10 @@ export function stackPersistencePlugin( snapshot, metadata }).catch(error => { - if (onRecordSaveError) return onRecordSaveError(error); - else throw error; + const saveError = new StackSnapshotRecordSaveError(error); + + if (onRecordSaveError) return onRecordSaveError(saveError); + else throw saveError; }); }