tinyhumansai/openhuman · error
Core rejected the meet_get_event_policies request.
Error message
Core rejected the meet_get_event_policies request.
What it means
`openhuman.meet_get_event_policies` resolved with `ok` falsy. The function short-circuits an empty id array locally (returns `{}` without RPC), so this throw requires a non-empty batch the core refused. By contract only ids with explicit overrides come back in the map; a missing id is not an error — so ok:false again signals a handler-level failure (store read error) or invalid ids rather than 'nothing found'.
Source
Thrown at app/src/services/meetCallService.ts:457
if (!result?.ok) {
throw new Error('Core rejected the meet_set_event_policy request.');
}
}
/**
* Batch-fetch per-event join-policy overrides for the given calendar event IDs.
* Only IDs that have an explicit override are present in the returned map.
*/
export async function getEventPolicies(
calendarEventIds: string[]
): Promise<Record<string, string>> {
if (calendarEventIds.length === 0) return {};
const result = await callCoreRpc<CoreGetEventPoliciesResponse>({
method: 'openhuman.meet_get_event_policies',
params: { calendar_event_ids: calendarEventIds },
});
if (!result?.ok) {
throw new Error('Core rejected the meet_get_event_policies request.');
}
return result.policies ?? {};
}
export async function joinMeetingViaMascotBot(
input: MascotJoinMeetingInput
): Promise<MascotJoinMeetingResult> {
const meetUrl = input.meetUrl.trim();
if (!meetUrl) {
throw { message: 'Please paste a meeting link.', isCapacityGated: false };
}
try {
return await apiClient.post<MascotJoinMeetingResult>('/mascots/join-meeting', {
platform: input.platform,
meetUrl,
displayName: input.displayName?.trim() || undefined,
});
} catch (err) {View on GitHub (pinned to a221052e0d)
Solutions
- Filter the id list before calling: drop empty/whitespace values and de-duplicate
- Chunk very large batches into smaller calls
- Check core logs for the get_event_policies failure
- Treat a failed batch as 'no overrides' in the UI (safe default) and surface a warning
Example fix
// before
const policies = await getEventPolicies(eventIds);
// after
const ids = [...new Set(eventIds.map(i => i.trim()).filter(Boolean))];
const policies = ids.length ? await getEventPolicies(ids) : {}; Defensive patterns
Strategy: try-catch
Validate before calling
const ids = [...new Set(calendarEventIds.map(i => i?.trim() ?? '').filter(Boolean))];
if (ids.length === 0) return {}; // matches the service's own empty short-circuit Type guard
function areValidEventIds(ids: unknown[]): ids is string[] {
return ids.every(i => typeof i === 'string' && i.trim().length > 0);
} Try / catch
let policies: Record<string, string> = {};
try { policies = await getEventPolicies(ids); }
catch { policies = {}; } // no overrides shown — safe default Prevention
- Trim, de-duplicate, and drop blanks before batching ids
- Chunk batches (e.g. 100 ids) so one bad element fails small
- Treat a failed fetch as 'no overrides' rather than blocking the calendar view
When it happens
Trigger: Batch containing malformed calendar_event_id values (empty strings, wrong type); the policy store unreadable; very large batches exceeding a core-side limit.
Common situations: UI passing unfiltered ids including blanks or stale rows; workspace store corrupted or partially copied; frontend batching logic changed to send thousands of ids.
Related errors
- Core rejected the meet_list_upcoming request.
- Core rejected the meet_set_event_policy request.
- Core rejected the meet_agent_list_calls request.
- Core rejected the meet_agent_get_call_detail request.
- Core rejected the agent_meetings_join request.
AI-assisted analysis of tinyhumansai/openhuman@a221052e0d (2026-08-16).
Data as JSON: /api/errors/2fe30fbfeb41328d.
Report an issue: GitHub.