diff options
| -rw-r--r-- | .opencode/tool/github-pr-search.ts | 2 | ||||
| -rw-r--r-- | .opencode/tool/github-triage.ts | 2 | ||||
| -rw-r--r-- | .oxlintrc.json | 9 | ||||
| -rw-r--r-- | packages/app/src/utils/server.ts | 5 | ||||
| -rw-r--r-- | packages/console/app/src/routes/download/[channel]/[platform].ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/cli/cmd/tui/component/logo.tsx | 2 | ||||
| -rw-r--r-- | packages/opencode/src/server/ui/index.ts | 4 | ||||
| -rw-r--r-- | packages/opencode/src/v2/session-event.ts | 6 |
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, }) } } |
