Skip to content

sx.org calls have no timeout, so a reload that reconfigures sx never returns #421

Description

@lexfrei

sxGet and sxPost in src/sx.js call fetch with no AbortSignal:

const res = await fetch(url, { headers: { accept: 'application/json' } });

Undici gives a connect timeout but no response timeout, so a server that accepts the connection and then says nothing hangs the promise for good.

reloadAccounts awaits that path whenever the sx key or mode on disk differs from the running one:

if (diskSxKey) await sx.configure(diskSxKey, diskSxMode);

configure goes to _ensureProxy, then provision, then sxGet. So POST /teamclaude/reload and the TUI's R key never come back. res.json() after it has no size cap either.

Narrow trigger: a configured sx.apiKey, a changed sx setting on disk, and an api.sx.org that stalls rather than fails. AbortSignal.timeout(...) on both helpers would cover it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions