tinyhumansai/openhuman · error

Core rejected the meet_list_upcoming request.

Error message

Core rejected the meet_list_upcoming request.

What it means

The openhuman.meet_list_upcoming RPC (calendar lookahead for auto-join planning) returned a falsy result or ok:false. Params are conditionally spread — lookahead_minutes and limit are omitted when null — so a rejection here is the core's calendar/meet domain failing the query, not a transport issue.

Solutions

  1. Check calendar connection status in Settings → Connections before relying on upcoming lists
  2. Inspect core logs for the calendar provider error behind the ok:false
  3. Fall back to an empty list plus a 'connect your calendar' affordance in the UI
  4. Keep limit/lookahead within sensible ranges the handler validates

Example fix

// before
const meetings = await listUpcomingMeetings(60, 10);

// after
let meetings: UpcomingMeeting[] = [];
try { meetings = await listUpcomingMeetings(60, 10); }
catch (err) { logger.warn('upcoming meetings unavailable', err); }
Defensive patterns

Strategy: fallback

Validate before calling

async function calendarConnected(): Promise<boolean> {
  const status = await callCoreRpc<{ connected: boolean }>({ method: 'openhuman.calendar_status', params: {} }).catch(() => null);
  return status?.connected === true;
}

Type guard

function isUpcomingRejected(err: unknown): boolean {
  return err instanceof Error && err.message.includes('meet_list_upcoming');
}

Try / catch

let meetings: UpcomingMeeting[] = [];
try { meetings = await listUpcomingMeetings(lookahead, limit); }
catch (err) { logger.warn('upcoming meetings unavailable', err); }
return meetings; // empty list = no auto-join candidates

Prevention

When it happens

Trigger: Calling listUpcomingMeetings(lookaheadMinutes?, limit?) when the calendar integration is not connected/authorized; the calendar provider fetch failing upstream; the meet domain failing to read its policy store during listing; unsupported lookahead/limit values.

Common situations: No calendar connected but the upcoming-meetings widget still polls; expired calendar OAuth token; provider API outage or rate limit surfacing as ok:false.

Related errors


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/712dcdefe01d9f53. Report an issue: GitHub.

Appendix: source

Thrown at app/src/services/meetCallService.ts:409

}

/**
 * Fetch upcoming calendar meetings that have a conferencing link.
 * Returns an empty array when no Google Calendar is connected.
 */
export async function listUpcomingMeetings(
  lookaheadMinutes?: number,
  limit?: number
): Promise<UpcomingMeeting[]> {
  const result = await callCoreRpc<CoreListUpcomingResponse>({
    method: 'openhuman.meet_list_upcoming',
    params: {
      ...(lookaheadMinutes != null ? { lookahead_minutes: lookaheadMinutes } : {}),
      ...(limit != null ? { limit } : {}),
    },
  });
  if (!result?.ok) {
    throw new Error('Core rejected the meet_list_upcoming request.');
  }
  return result.meetings ?? [];
}

// ---------------------------------------------------------------------------
// Per-event join-policy overrides
// ---------------------------------------------------------------------------

interface CoreSetEventPolicyResponse {
  ok: boolean;
}

interface CoreGetEventPoliciesResponse {
  ok: boolean;
  policies: Record<string, string>;
}

/**

View on GitHub (pinned to 7491200858)