fix(web): render full document content in viewer#1056
Conversation
The memories list endpoint caps content at 2000 chars; the document modal rendered straight from that list cache, so long Claude Code sessions (and any doc over the cap) were truncated mid-transcript. Fetch the full document by id when the modal opens and use it for parsing, the editor, and content rendering. Also closes a latent data-loss path where the editor initialized from truncated content, so a save could overwrite the stored document.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
supermemory-app | 9e30bfa | Commit Preview URL Branch Preview URL |
Jun 06 2026, 08:39 AM |
How to use the Graphite Merge QueueAdd the label Main to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
Claude finished @ved015's task in 1m 38s —— View job Review Complete
Summary: Reviewed the changes for the full document content fix. No bugs, security issues, or logic errors found. The implementation correctly fetches full document content when the modal opens, with proper cache management and error handling. Submitted review with score 9/10. |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
supermemory-mcp | 9e30bfa | Jun 06 2026, 08:38 AM |
There was a problem hiding this comment.
Overview: Fetches full document content when the modal opens to prevent truncated data from being displayed or saved.
Issues found: None — this looks good to ship.
The implementation is clean:
useFullDocumentContenthook correctly skips temporary documents and handles errors gracefullyeffectiveDocumentonly overrides when full content is actually available (fullContent !== null)- The 5-minute stale time provides good caching for repeated modal opens
- The existing
useEffectsyncs the editor wheninitialEditorStringchanges, ensuring the full content propagates correctly
Score: 9/10
There was a problem hiding this comment.
Overview: Fetches full document content when the modal opens to prevent truncated data from being displayed or saved.
Issues found: None — this looks good to ship.
The implementation is clean:
useFullDocumentContenthook correctly skips temporary documents and handles errors gracefullyeffectiveDocumentonly overrides when full content is actually available (fullContent !== null)- The 5-minute stale time provides good caching for repeated modal opens
- Query keys match between
use-full-document.tsanduse-document-mutations.ts, ensuring cache consistency on save/delete - The
useEffectat line 234-238 properly syncs the editor wheninitialEditorStringchanges, ensuring the full content propagates correctly - Cache invalidation on both single and bulk delete mutations prevents stale data
Score: 9/10

The memories list endpoint caps content at 2000 chars; the document modal rendered straight from that list cache, so long Claude Code
sessions (and any doc over the cap) were truncated mid-transcript.
Fetch the full document by id when the modal opens and use it for parsing, the editor, and content rendering.
Also closes a latent data-loss path where the editor initialized from truncated content, so a save could overwrite the stored document.