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
- Check calendar connection status in Settings → Connections before relying on upcoming lists
- Inspect core logs for the calendar provider error behind the ok:false
- Fall back to an empty list plus a 'connect your calendar' affordance in the UI
- 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
- Gate polling on calendar connection status
- Treat the upcoming list as advisory data — empty fallback keeps auto-join planning inert
- Keep lookahead/limit within the handler's accepted ranges
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
- Core rejected the meet_set_event_policy request.
- Core rejected the agent_meetings_join request.
- Core rejected the meet_agent_get_call_detail request.
- Core rejected the meet_agent_list_calls request.
- Core rejected the meet_get_event_policies request.
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)