Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
df51166
fix(ci): run V2 Discord notification after skipped build jobs (#52012)
opencode-agent[bot] Sep 29, 2026
760f87f
fix(core): pass through Copilot Responses settings (#52182)
rekram1-node Sep 29, 2026
74dbc50
fix(ai): place prompt cache breakpoints on OpenRouter Anthropic and Q…
rekram1-node Sep 29, 2026
1b02abc
feat(session-ui): group adjacent reads into one row (#52207)
Hona Sep 30, 2026
67b14e9
feat(session-ui): keep open Used group header sticky (#52210)
Hona Sep 30, 2026
bf97a04
fix(app): alert only for open session tabs (#52204)
opencode-agent[bot] Sep 30, 2026
a80a000
fix(ai): classify Workers AI context window rejections as context ove…
rekram1-node Sep 30, 2026
1243d09
tui: update OpenTUI to 0.5.13 (#52233)
simonklee Sep 30, 2026
dd68d6e
fix(app): select new-session project by resolved ID (#52230)
opencode-agent[bot] Sep 30, 2026
01efd22
feat(desktop): comment on page elements from the in-app browser (#52217)
Hona Sep 30, 2026
ffa4c4c
feat(app): open referenced session IDs from markdown (#52231)
opencode-agent[bot] Sep 30, 2026
c0285b4
chore(core): refresh bundled models.dev snapshot
opencode-agent[bot] Sep 30, 2026
1844c11
fix(acp): follow server defaults and refresh the session catalog (#52…
nexxeln Sep 30, 2026
02c3891
feat(core): let form cancellation carry a message (#52137)
jlongster Sep 30, 2026
9388b94
fix(tui): tighten expanded instruction group spacing (#52311)
OpeOginni Sep 30, 2026
0159356
tui: upgrade OpenTUI to 0.5.14 (#52316)
simonklee Sep 30, 2026
82bb5ff
fix(browser): hide browser tools unless a desktop is attached (#52309)
jlongster Sep 30, 2026
599bdc9
fix(ai): classify Amazon Nova input token rejections as context overf…
rekram1-node Sep 30, 2026
7878744
test(acp): drive ACP tests through the wire protocol (#52307)
nexxeln Sep 30, 2026
b020f10
fix(ai): route Cloudflare AI Gateway Claude and OpenAI through native…
rekram1-node Sep 30, 2026
14636b9
fix(core): avoid reinjecting ancestor instructions (#52364)
rekram1-node Sep 30, 2026
f46fa72
fix(core): add namespaced session identity headers (#52368)
rekram1-node Sep 30, 2026
91b9bc5
fix(ai): make model capability defaults forward-compatible (#52388)
rekram1-node Sep 30, 2026
a923596
feat(plugin): expose session removal (#52387)
rekram1-node Sep 30, 2026
dd2af0e
sync release versions for v2.0.21
Sep 30, 2026
210c16a
chore(sync): merge upstream v2 through v2.0.21
cursoragent Sep 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix(core): add namespaced session identity headers (anomalyco#52368)
  • Loading branch information
rekram1-node authored Sep 30, 2026
commit f46fa72a9285a0e8479e25d400f7026bfd8fe5c8
2 changes: 2 additions & 0 deletions packages/core/src/session/model-request.ts
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,8 @@ export const layer = Layer.effect(
model: model.model,
http: {
headers: {
"x-opencode-session-id": session.id,
...(session.parentID ? { "x-opencode-parent-session-id": session.parentID } : {}),
"x-session-affinity": affinity,
"X-Session-Id": affinity,
...(session.parentID ? { "x-parent-session-id": session.parentID } : {}),
Expand Down
2 changes: 2 additions & 0 deletions packages/core/test/session-compaction.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,8 @@ it.effect("manual compaction summarizes short context instead of no-op", () =>
expect(requests).toHaveLength(1)
expect(requests[0]?.promptCacheKey).toBe(parentID)
expect(requests[0]?.http?.headers).toEqual({
"x-opencode-session-id": session.id,
"x-opencode-parent-session-id": parentID,
"x-session-affinity": parentID,
"X-Session-Id": parentID,
"x-parent-session-id": parentID,
Expand Down
3 changes: 3 additions & 0 deletions packages/core/test/session-runner.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4682,6 +4682,7 @@ describe("SessionRunnerLLM", () => {
yield* s.runPrompt("Run correlated request")

expect(s.requests[0]?.http?.headers).toEqual({
"x-opencode-session-id": sessionID,
"x-session-affinity": sessionID,
"X-Session-Id": sessionID,
"User-Agent": App.useragent(App.make()),
Expand All @@ -4703,6 +4704,8 @@ describe("SessionRunnerLLM", () => {
yield* s.runPrompt("Run child request")

expect(s.requests[0]?.http?.headers).toMatchObject({
"x-opencode-session-id": sessionID,
"x-opencode-parent-session-id": parentID,
"x-session-affinity": parentID,
"X-Session-Id": parentID,
"x-parent-session-id": parentID,
Expand Down
1 change: 1 addition & 0 deletions packages/core/test/session-title.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ it.effect("generates a title from the sole user message and renames the session"

expect(requests).toHaveLength(1)
expect(requests[0]?.http?.headers).toEqual({
"x-opencode-session-id": sessionID,
"x-session-affinity": sessionID,
"X-Session-Id": sessionID,
"User-Agent": App.useragent(App.make()),
Expand Down