Content of share session URL is blank #6696

Open
opened 2026-02-16 18:04:59 -05:00 by yindo · 2 comments
Owner

Originally created by @zengyuzhi on GitHub (Jan 18, 2026).

Originally assigned to: @thdxr on GitHub.

Description

The content of share URL for particular session is blank, but other sessions are good. Suspect the reason could be the session is too long which is larger then the server limit.

Detail: Server-side streaming SSR response is incomplete, the getShareData Promise never resolves.

Plugins

No response

OpenCode version

1.1.25

Steps to reproduce

No response

Screenshot and/or share link

https://opncd.ai/share/X2LCRFwD

Operating System

macos

Terminal

No response

Originally created by @zengyuzhi on GitHub (Jan 18, 2026). Originally assigned to: @thdxr on GitHub. ### Description The content of share URL for particular session is blank, but other sessions are good. Suspect the reason could be the session is too long which is larger then the server limit. Detail: Server-side streaming SSR response is incomplete, the getShareData Promise never resolves. ### Plugins _No response_ ### OpenCode version 1.1.25 ### Steps to reproduce _No response_ ### Screenshot and/or share link https://opncd.ai/share/X2LCRFwD ### Operating System macos ### Terminal _No response_
yindo added the bug label 2026-02-16 18:04:59 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Jan 18, 2026):

This issue might be a duplicate of existing issues. Please check:

  • #8110: [Share Session] Error | Uncaught Client Exception - Share links showing errors when opened in browser
  • #6451: /share generates blank page - Blank page when opening /share links
  • #5522: Share links are broken - Share links resulting in 404 errors
  • #7106: opencode import fails for valid /share link (HTTP 200) with "Failed to fetch share data: Not Found" - Share data fetching failures

Feel free to ignore if none of these address your specific case.

@github-actions[bot] commented on GitHub (Jan 18, 2026): This issue might be a duplicate of existing issues. Please check: - #8110: [Share Session] Error | Uncaught Client Exception - Share links showing errors when opened in browser - #6451: /share generates blank page - Blank page when opening /share links - #5522: Share links are broken - Share links resulting in 404 errors - #7106: opencode import fails for valid /share link (HTTP 200) with "Failed to fetch share data: Not Found" - Share data fetching failures Feel free to ignore if none of these address your specific case.
Author
Owner

@hellosunghyun commented on GitHub (Jan 27, 2026):

Same issue here. Session ses_405d0df22ffezHHApMkehF6jhK with 1274 messages + 5059 parts (6300+ items total).

Share URL: https://opncd.ai/share/kehF6jhK

Console error:

Error: Too many subrequests.
    at AwsClient.fetch (placeholder:23730:27)
    at async Object.read (placeholder:23933:30)
    at async Object.read (placeholder:24014:24)
    at async placeholder:24177:69
    at async Promise.all (index 997)
    at async Object.data (placeholder:24177:25)

The Promise.all in Share.data() fires one Storage.read() (→ AwsClient.fetch) per event, which exceeds Cloudflare's per-request subrequest limit (~50 for Workers, ~1000 for Durable Objects) when there are many events.

Root cause (from packages/enterprise/src/core/share.ts):

const data = await Promise.all(
  list.map(async (event) => await Storage.read<Data[]>(event))
).then((x) => x.flat())

This fans out to N R2 reads in parallel. For large sessions, N easily exceeds the subrequest cap.

Possible fix: Paginate the event reads or eagerly compact events during sync() instead of deferring all compaction to read time.

  • opencode v1.1.36
  • macOS Sequoia
@hellosunghyun commented on GitHub (Jan 27, 2026): Same issue here. Session `ses_405d0df22ffezHHApMkehF6jhK` with 1274 messages + 5059 parts (6300+ items total). **Share URL:** https://opncd.ai/share/kehF6jhK **Console error:** ``` Error: Too many subrequests. at AwsClient.fetch (placeholder:23730:27) at async Object.read (placeholder:23933:30) at async Object.read (placeholder:24014:24) at async placeholder:24177:69 at async Promise.all (index 997) at async Object.data (placeholder:24177:25) ``` The `Promise.all` in `Share.data()` fires one `Storage.read()` (→ `AwsClient.fetch`) per event, which exceeds Cloudflare's per-request subrequest limit (~50 for Workers, ~1000 for Durable Objects) when there are many events. **Root cause** (from `packages/enterprise/src/core/share.ts`): ```typescript const data = await Promise.all( list.map(async (event) => await Storage.read<Data[]>(event)) ).then((x) => x.flat()) ``` This fans out to N R2 reads in parallel. For large sessions, N easily exceeds the subrequest cap. **Possible fix:** Paginate the event reads or eagerly compact events during `sync()` instead of deferring all compaction to read time. - opencode v1.1.36 - macOS Sequoia
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#6696