summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.opencode/tool/github-pr-search.ts2
-rw-r--r--.opencode/tool/github-triage.ts2
-rw-r--r--.oxlintrc.json9
-rw-r--r--packages/app/src/utils/server.ts5
-rw-r--r--packages/console/app/src/routes/download/[channel]/[platform].ts2
-rw-r--r--packages/opencode/src/cli/cmd/tui/component/logo.tsx2
-rw-r--r--packages/opencode/src/server/ui/index.ts4
-rw-r--r--packages/opencode/src/v2/session-event.ts6
8 files changed, 22 insertions, 10 deletions
diff --git a/.opencode/tool/github-pr-search.ts b/.opencode/tool/github-pr-search.ts
index 927e68fd7..8bc8c554a 100644
--- a/.opencode/tool/github-pr-search.ts
+++ b/.opencode/tool/github-pr-search.ts
@@ -7,7 +7,7 @@ async function githubFetch(endpoint: string, options: RequestInit = {}) {
Authorization: `Bearer ${process.env.GITHUB_TOKEN}`,
Accept: "application/vnd.github+json",
"Content-Type": "application/json",
- ...options.headers,
+ ...(options.headers instanceof Headers ? Object.fromEntries(options.headers.entries()) : options.headers),
},
})
if (!response.ok) {
diff --git a/.opencode/tool/github-triage.ts b/.opencode/tool/github-triage.ts
index c06d2407f..dcbfc8d05 100644
--- a/.opencode/tool/github-triage.ts
+++ b/.opencode/tool/github-triage.ts
@@ -28,7 +28,7 @@ async function githubFetch(endpoint: string, options: RequestInit = {}) {
Authorization: `Bearer ${process.env.GITHUB_TOKEN}`,
Accept: "application/vnd.github+json",
"Content-Type": "application/json",
- ...options.headers,
+ ...(options.headers instanceof Headers ? Object.fromEntries(options.headers.entries()) : options.headers),
},
})
if (!response.ok) {
diff --git a/.oxlintrc.json b/.oxlintrc.json
index a0b620649..f1ca1ff46 100644
--- a/.oxlintrc.json
+++ b/.oxlintrc.json
@@ -37,10 +37,15 @@
"no-new": "off",
// Type-aware: catch unhandled promises
- "typescript/no-floating-promises": "warn"
+ "typescript/no-floating-promises": "warn",
+ // Warn when spreading non-plain objects (Headers, class instances, etc.)
+ "typescript/no-misused-spread": "warn"
},
"options": {
"typeAware": true
},
- "ignorePatterns": ["**/node_modules", "**/dist", "**/.build", "**/.sst", "**/*.d.ts"]
+ "options": {
+ "typeAware": true
+ },
+ "ignorePatterns": ["**/node_modules", "**/dist", "**/.build", "**/.sst", "**/*.d.ts", "**/sdk.gen.ts"]
}
diff --git a/packages/app/src/utils/server.ts b/packages/app/src/utils/server.ts
index 17f4a3adc..ae849b71e 100644
--- a/packages/app/src/utils/server.ts
+++ b/packages/app/src/utils/server.ts
@@ -16,7 +16,10 @@ export function createSdkForServer({
return createOpencodeClient({
...config,
- headers: { ...config.headers, ...auth },
+ headers: {
+ ...(config.headers instanceof Headers ? Object.fromEntries(config.headers.entries()) : config.headers),
+ ...auth,
+ },
baseUrl: server.url,
})
}
diff --git a/packages/console/app/src/routes/download/[channel]/[platform].ts b/packages/console/app/src/routes/download/[channel]/[platform].ts
index e9b3f23e7..82d2f1d01 100644
--- a/packages/console/app/src/routes/download/[channel]/[platform].ts
+++ b/packages/console/app/src/routes/download/[channel]/[platform].ts
@@ -37,5 +37,5 @@ export async function GET({ params: { platform, channel } }: APIEvent) {
const headers = new Headers(resp.headers)
if (downloadName) headers.set("content-disposition", `attachment; filename="${downloadName}"`)
- return new Response(resp.body, { ...resp, headers })
+ return new Response(resp.body, { status: resp.status, statusText: resp.statusText, headers })
}
diff --git a/packages/opencode/src/cli/cmd/tui/component/logo.tsx b/packages/opencode/src/cli/cmd/tui/component/logo.tsx
index 51cf69dc1..d41d36a6e 100644
--- a/packages/opencode/src/cli/cmd/tui/component/logo.tsx
+++ b/packages/opencode/src/cli/cmd/tui/component/logo.tsx
@@ -520,7 +520,7 @@ export function Logo() {
const shadow = tint(theme.background, ink, 0.25)
const attrs = bold ? TextAttributes.BOLD : undefined
- return [...line].map((char, i) => {
+ return Array.from(line).map((char, i) => {
const h = field(off + i, y, frame)
const n = wave(off + i, y, frame, lit(char)) + h
const s = wave(off + i, y, dusk, false) + h
diff --git a/packages/opencode/src/server/ui/index.ts b/packages/opencode/src/server/ui/index.ts
index afe6e510f..d449cd1c4 100644
--- a/packages/opencode/src/server/ui/index.ts
+++ b/packages/opencode/src/server/ui/index.ts
@@ -37,9 +37,9 @@ export const UIRoutes = (): Hono =>
}
} else {
const response = await proxy(`https://app.opencode.ai${path}`, {
- ...c.req,
+ raw: c.req.raw,
headers: {
- ...c.req.raw.headers,
+ ...Object.fromEntries(c.req.raw.headers.entries()),
host: "app.opencode.ai",
},
})
diff --git a/packages/opencode/src/v2/session-event.ts b/packages/opencode/src/v2/session-event.ts
index f662f05e7..8ea239033 100644
--- a/packages/opencode/src/v2/session-event.ts
+++ b/packages/opencode/src/v2/session-event.ts
@@ -39,7 +39,11 @@ export namespace SessionEvent {
}) {
static create(input: FileAttachment) {
return new FileAttachment({
- ...input,
+ uri: input.uri,
+ mime: input.mime,
+ name: input.name,
+ description: input.description,
+ source: input.source,
})
}
}