iflytek/astron-agent · error · X

REQUEST_TIMEOUT

REQUEST_TIMEOUT

Error message

${e.statusText}: /api/v1/app/config/get?appId

What it means

Generic getAppConfig failure whose message embeds the HTTP statusText (e.g. 'Internal Server Error: /api/v1/app/config/get?appId...'). Thrown whenever the config fetch returns an unexpected status not covered by the specific auth/404 handlers — a catch-all server-error path.

Solutions

  1. Read the embedded statusText/status to identify the HTTP failure
  2. Check avatar config service logs for the corresponding request
  3. Retry with backoff if the failure is transient (5xx)
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at console/frontend/src/utils/avatar-sdk-web_3.1.2.1002/xrtc-player-BJTnVhG9.js:13002 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class

Background: Request timed out: what client-side request timeouts mean across libraries (Request timed out, TIMED_OUT, APITimeoutError) — this error's family across 39 libraries.


AI-assisted analysis of iflytek/astron-agent@5e758547a8 (2026-09-12). Data as JSON: /api/errors/7cf9d0eb648e3761. Report an issue: GitHub.

Appendix: source

Thrown at console/frontend/src/utils/avatar-sdk-web_3.1.2.1002/xrtc-player-BJTnVhG9.js:13002

                    i.extendInfo.location &&
                    (a += '&location='.concat(i.extendInfo.location)),
                  t && ((i.privateKey = t), (a += '&privateKey='.concat(t))),
                  (c = function () {
                    return fetch(a, {
                      method: 'GET',
                      headers: o,
                      signal: s.signal,
                    });
                  }),
                  r.abrupt(
                    'return',
                    Promise.race([
                      i.timeoutPromise(i.timeout, s, 'getAppConfig'),
                      c(),
                    ])
                      .then(function (e) {
                        if (e.ok) return e.json();
                        throw new X(
                          401 === e.status
                            ? {
                                code: B.AUTHORIZATION_FAILED,
                                message:
                                  'Authorization failed: /api/v1/app/config/get?appId',
                              }
                            : 404 === e.status
                              ? {
                                  code: B.GET_SERVER_NODE_FAILED,
                                  message: '404: /api/v1/app/config/get?appId',
                                }
                              : 408 === e.status
                                ? {
                                    code: B.REQUEST_TIMEOUT,
                                    message: ''.concat(
                                      e.statusText,
                                      ': /api/v1/app/config/get?appId'
                                    ),

View on GitHub (pinned to 5e758547a8)