fix stale upload widget contracts - #1601
Conversation
|
Claude finished @Prasanna721's task in 1m 35s —— View job Code Review Complete
Summary: Reviewed all 13 changed files. No bugs, security issues, or logic errors found. The implementation correctly adds backward compatibility for older app catalogs via a fallback Score: 9/10 — Good to ship. |
There was a problem hiding this comment.
Overview: Restores backward compatibility for older ChatGPT app catalogs by adding a fallback upload-file-submit tool while keeping direct uploads as the primary path, and cleanly removes the unused SupermemoryMCP Durable Object.
Issues found: None — this looks good to ship.
The implementation is solid:
- The Durable Object removal is done correctly with a proper
deleted_classesmigration (v3) - The
upload-file-submitcompatibility tool has proper input/output schema validation via zod - The widget correctly tries
prepare-file-uploadfirst, then falls back to the compatibility path only when unavailable - Error handling chains correctly:
compatibilityUpload.error ?? preparation.error ?? "Upload failed" - The
SupermemoryClient.uploadFilemethod properly handles FormData construction, auth headers, timeouts, and response validation - Explicit
listChanged: falsecapabilities accurately reflect the stateless runtime
The base64 encoding/decoding path for the compatibility upload is expected overhead for older catalogs and is clearly documented.
Score: 9/10
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
supermemory-app | 2aa46d4 | Commit Preview URL Branch Preview URL |
Aug 26 2026, 07:34 PM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ❌ Deployment failed View logs |
supermemory-mcp | 2aa46d4 | Aug 26 2026, 07:32 PM |
restores the app-only upload action still referenced by older ChatGPT catalogs while keeping direct uploads as the primary path.
upload-file-submitonly whenprepare-file-uploadis unavailabletested with
bun run test:unit, both MCP typechecks,git diff --check, and a Wrangler dry run.