You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Record Bin v3.0.14: Lambda-less restore always fails because ctx is undefined #152
Record Bin v3.0.14: Lambda-less restore fails because ctx is undefined
Description
Restoring records in Lambda-less mode fails with the following alert:
The record could not be restored!
No detailed restoration error panel appears after dismissing the alert.
Deleting records and archiving them in the Record Bin collection works correctly. The failure occurs only when attempting to restore an archived record.
Steps to reproduce
Install Record Bin v3.0.14.
Use the default Lambda-less runtime.
Create and delete a record.
Open the resulting Record Bin entry.
Click Restore record.
Actual result
The generic “The record could not be restored!” alert appears. The record is not restored, and no detailed error report is shown.
Expected result
The record should be restored through the Content Management API. If the CMA rejects the payload, the detailed restoration error panel should be displayed.
Suspected cause
In record-bin/src/entrypoints/BinOutlet.tsx, the top-level executeRestoreWithoutLambda() function references:
cmaBaseUrl: ctx.cmaBaseUrlHowever,ctxdoesnotappeartobeinscopeinsidethatfunction.Thismaycause:
ReferenceError: ctxisnotdefinedTheerror is notaLambdaLessRestoreError,soitappearstoberethrownandhandledonlybytheoutergenericerrorhandler.Thiswouldexplainbothsymptoms:
-TherestorationrequestneverreachestheCMA.-setError()is never called,sothedetailedrestorationerrorpanelisnotrendered.Thesuspectedregressionappearsrelatedtothiscommit:
https://github.com/datocms/plugins/commit/94895ccd67ff6a9bb2b0250354f5591d61d39704
Affected source:
https://github.com/datocms/plugins/blob/master/record-bin/src/entrypoints/BinOutlet.tsxEnvironment-Plugin: datocms-plugin-record-bin-Version: 3.0.14-Runtime: Lambda-less
I would like to apologize both for the extended delay in processing this, and for my previous AI-written comment.
This repo's issues and PRs weren't being as actively monitored as they should've been (our fault — they slipped through the cracks in our triage system). In an attempt to catch us up, I asked an AI to close the ones that were already fixed, but it ended up also answering for me in a comment. That wasn't the intent, and I'm sorry... nobody likes being talked at by a bot!
We are in the process of improving our intake/triage system so this doesn't happen again. In the meantime, I do believe that the technical analysis was correct (this issue should now be fixed). But if anything is still a concern, please tag me here as @roger-datocms or email us at support@datocms.com and I (not a bot!) will take a look at it personally ASAP.
Thanks for the update. I've updated the plugin and I'm now getting a new error that I can't delete a record. The following two errors are being displayed
Activity
roger-datocms commentedon Oct 19, 2026
Thanks for the precise report. Your diagnosis was correct, and master already has the fix.
cmaBaseUrla parameter ofexecuteRestoreWithoutLambda(). The function no longer readsctx.cmaBaseUrl: ctx.cmaBaseUrlfrom inside its scope:record-bin/src/entrypoints/BinOutlet.tsx:410.datocms-plugin-record-bin3.1.0, now the latest version on npm.Update the plugin to 3.1.0 or later to restore records in Lambda-less mode. Closing as fixed. Reopen if restore still fails on 3.1.0.
roger-datocms commentedon Oct 20, 2026
Hello @TD-Travel,
I would like to apologize both for the extended delay in processing this, and for my previous AI-written comment.
This repo's issues and PRs weren't being as actively monitored as they should've been (our fault — they slipped through the cracks in our triage system). In an attempt to catch us up, I asked an AI to close the ones that were already fixed, but it ended up also answering for me in a comment. That wasn't the intent, and I'm sorry... nobody likes being talked at by a bot!
We are in the process of improving our intake/triage system so this doesn't happen again. In the meantime, I do believe that the technical analysis was correct (this issue should now be fixed). But if anything is still a concern, please tag me here as
@roger-datocmsor email us at support@datocms.com and I (not a bot!) will take a look at it personally ASAP.Sorry about that!
TD-Travel commentedon Oct 21, 2026
Hi Roger
Thanks for the update. I've updated the plugin and I'm now getting a new error that I can't delete a record. The following two errors are being displayed
Any ideas?
Thanks
Tom
roger-datocms commentedon Oct 21, 2026
(EDIT: Deleted a few previous comments before I found the actual cause)
The error is caused by this outstanding upgrade that the plugin doesn't know how to work around:
https://your-project.admin.datocms.com/configuration/available-updates
https://www.datocms.com/product-updates/improved-items-listing
If you activate that now, it should fix this issue (but please read the announcement and check your other CMA calls first to make sure nothing breaks)
Otherwise, if you can wait a few more days, #171 and #172 will fix these bugs once they're merged
fix(record-bin): show blocked deletions as error toasts
fix(record-bin): stop awaiting alerts in restore and settings flows
fix(record-bin): return from onBeforeItemsDestroy without awaiting no…
fix(record-bin): show blocked deletions as error toasts
fix(record-bin): stop awaiting alerts in restore and settings flows
fix(record-bin): capture current versions before deletion