feat: remove legacy OpenCode runtime

Cut product flows over to Coding/Pi and retain only the migration-owned v1 boundary. Promote supported native optional packages because electron-builder omitted pnpm transitive optional closure from the packaged ASAR.
This commit is contained in:
2026-08-24 12:17:43 +08:00
parent 61fede2b4d
commit 5a275b93a7
199 changed files with 1330 additions and 64725 deletions

View File

@@ -3,51 +3,21 @@ import { describe, expect, it, vi } from 'vitest';
import { setCorsHeaders } from '@electron/api/route-utils';
describe('Host API CORS', () => {
it('allows only the current dynamic OpenCode runtime origin', () => {
it.each([
'http://127.0.0.1:5173',
'http://localhost:5173',
])('allows the configured Renderer development origin %s', (origin) => {
const setHeader = vi.fn();
const response = { setHeader } as unknown as ServerResponse;
setCorsHeaders(
response,
'http://127.0.0.1:54721',
'http://127.0.0.1:54721',
);
expect(setHeader).toHaveBeenCalledWith(
'Access-Control-Allow-Origin',
'http://127.0.0.1:54721',
);
setCorsHeaders({ setHeader } as unknown as ServerResponse, origin);
expect(setHeader).toHaveBeenCalledWith('Access-Control-Allow-Origin', origin);
});
it('does not allow another loopback port when the runtime uses a dynamic port', () => {
it('does not allow an arbitrary loopback origin', () => {
const setHeader = vi.fn();
const response = { setHeader } as unknown as ServerResponse;
setCorsHeaders(
response,
{ setHeader } as unknown as ServerResponse,
'http://127.0.0.1:54722',
'http://127.0.0.1:54721',
);
expect(setHeader).not.toHaveBeenCalledWith(
'Access-Control-Allow-Origin',
expect.anything(),
);
});
it('does not retain the preferred runtime port after falling back dynamically', () => {
const setHeader = vi.fn();
const response = { setHeader } as unknown as ServerResponse;
setCorsHeaders(
response,
'http://127.0.0.1:4096',
'http://127.0.0.1:54721',
);
expect(setHeader).not.toHaveBeenCalledWith(
'Access-Control-Allow-Origin',
expect.anything(),
);
expect(setHeader).not.toHaveBeenCalledWith('Access-Control-Allow-Origin', expect.anything());
});
});