chore: fix lint warnings

This commit is contained in:
Peter Steinberger
2026-01-01 21:25:29 +01:00
parent c7364de2f0
commit 4c1424bb83
6 changed files with 14 additions and 8 deletions

View File

@@ -33,6 +33,7 @@
- macOS: prioritize main bundle for device resources to prevent crash (#73) — thanks @petter-b - macOS: prioritize main bundle for device resources to prevent crash (#73) — thanks @petter-b
- macOS remote: route settings through gateway config and avoid local config reads in remote mode. - macOS remote: route settings through gateway config and avoid local config reads in remote mode.
- Telegram: align token resolution for cron/agent/CLI sends (env/config/tokenFile) to prevent isolated delivery failures (#76). - Telegram: align token resolution for cron/agent/CLI sends (env/config/tokenFile) to prevent isolated delivery failures (#76).
- Tooling: clean up lint warnings in onboarding, browser, and signal paths.
- Chat UI: clear composer input immediately and allow clear while editing to prevent duplicate sends (#72) — thanks @hrdwdmrbl - Chat UI: clear composer input immediately and allow clear while editing to prevent duplicate sends (#72) — thanks @hrdwdmrbl
- Restart: use systemd on Linux (and report actual restart method) instead of always launchctl. - Restart: use systemd on Linux (and report actual restart method) instead of always launchctl.
- Gateway relay: detect Bun binaries via execPath to resolve packaged assets on macOS. - Gateway relay: detect Bun binaries via execPath to resolve packaged assets on macOS.

View File

@@ -5,6 +5,7 @@ import type {
Page, Page,
} from "playwright-core"; } from "playwright-core";
import { chromium } from "playwright-core"; import { chromium } from "playwright-core";
import { formatErrorMessage } from "../infra/errors.js";
export type BrowserConsoleMessage = { export type BrowserConsoleMessage = {
type: string; type: string;
@@ -119,9 +120,13 @@ async function connectBrowser(endpoint: string): Promise<ConnectedBrowser> {
await new Promise((r) => setTimeout(r, delay)); await new Promise((r) => setTimeout(r, delay));
} }
} }
throw lastErr instanceof Error if (lastErr instanceof Error) {
? lastErr throw lastErr;
: new Error(String(lastErr ?? "CDP connect failed")); }
const message = lastErr
? formatErrorMessage(lastErr)
: "CDP connect failed";
throw new Error(message);
}; };
connecting = connectWithRetry().finally(() => { connecting = connectWithRetry().finally(() => {

View File

@@ -286,7 +286,7 @@ export async function armFileUploadViaPlaywright(opts: {
try { try {
const input = const input =
typeof fileChooser.element === "function" typeof fileChooser.element === "function"
? await fileChooser.element() ? await Promise.resolve(fileChooser.element())
: null; : null;
if (input) { if (input) {
await input.evaluate((el) => { await input.evaluate((el) => {

View File

@@ -39,11 +39,11 @@ export function applyMinimaxConfig(cfg: ClawdisConfig): ClawdisConfig {
allowed.add("anthropic/claude-opus-4-5"); allowed.add("anthropic/claude-opus-4-5");
allowed.add("lmstudio/minimax-m2.1-gs32"); allowed.add("lmstudio/minimax-m2.1-gs32");
const aliases = { ...(cfg.agent?.modelAliases ?? {}) }; const aliases = { ...cfg.agent?.modelAliases };
if (!aliases.Opus) aliases.Opus = "anthropic/claude-opus-4-5"; if (!aliases.Opus) aliases.Opus = "anthropic/claude-opus-4-5";
if (!aliases.Minimax) aliases.Minimax = "lmstudio/minimax-m2.1-gs32"; if (!aliases.Minimax) aliases.Minimax = "lmstudio/minimax-m2.1-gs32";
const providers = { ...(cfg.models?.providers ?? {}) }; const providers = { ...cfg.models?.providers };
if (!providers.lmstudio) { if (!providers.lmstudio) {
providers.lmstudio = { providers.lmstudio = {
baseUrl: "http://127.0.0.1:1234/v1", baseUrl: "http://127.0.0.1:1234/v1",

View File

@@ -18,7 +18,7 @@ function upsertSkillEntry(
skillKey: string, skillKey: string,
patch: { apiKey?: string }, patch: { apiKey?: string },
): ClawdisConfig { ): ClawdisConfig {
const entries = { ...(cfg.skills?.entries ?? {}) }; const entries = { ...cfg.skills?.entries };
const existing = (entries[skillKey] as { apiKey?: string } | undefined) ?? {}; const existing = (entries[skillKey] as { apiKey?: string } | undefined) ?? {};
entries[skillKey] = { ...existing, ...patch }; entries[skillKey] = { ...existing, ...patch };
return { return {

View File

@@ -19,7 +19,7 @@ type SignalEnvelope = {
timestamp?: number | null; timestamp?: number | null;
dataMessage?: SignalDataMessage | null; dataMessage?: SignalDataMessage | null;
editMessage?: { dataMessage?: SignalDataMessage | null } | null; editMessage?: { dataMessage?: SignalDataMessage | null } | null;
syncMessage?: unknown | null; syncMessage?: unknown;
}; };
type SignalDataMessage = { type SignalDataMessage = {