RocketChat/Rocket.Chat · error · MarketplaceAppsError
Marketplace_Internal_Error
Error message
Marketplace_Internal_Error
What it means
MarketplaceAppsError 'Marketplace_Internal_Error' from fetchMarketplaceCategories: the categories request returned HTTP 500 with cloud body code in [189, 266] — the categories-specific set of known cloud internal failure codes. Same mapping pattern as 172, different endpoint and code list; response logged as 'Error fetching marketplace categories'.
Solutions
- Retry shortly; internal cloud errors on categories are usually transient.
- Check cloud status pages for incidents.
- Persist the logged status/response and contact support if it lasts beyond the incident window.
- Fallback: browse/search apps without category filters, which uses the apps-list call path.
Defensive patterns
Strategy: retry
Try / catch
try {
const cats = await fetchMarketplaceCategories();
} catch (e) {
if (e instanceof MarketplaceAppsError && e.message === 'Marketplace_Internal_Error') {
await sleep(2000);
return fetchMarketplaceCategories(); // single retry; then degrade gracefully
}
throw e;
} Prevention
- Treat categories as progressive enhancement: render the marketplace without them on failure.
- Cache categories; they change rarely.
- Retry once with backoff before degrading.
When it happens
Trigger: Browsing marketplace categories while the cloud's categories service fails internally; not triggerable by client input. The apps listing may be fine while only categories error.
Common situations: Cloud incidents touching the categories service; deploy windows on cloud; caching layers serving error envelopes with 500.
Related errors
- Marketplace_Failed_To_Fetch_Categories
- Marketplace_Internal_Error
- Marketplace_Failed_To_Fetch_Apps
- Marketplace_Unsupported_Version
- App metadata download failed
AI-assisted analysis of RocketChat/Rocket.Chat@b2c16d5842 (2026-08-18).
Data as JSON: /api/errors/17e1eca987274c6c.
Report an issue: GitHub.
Appendix: source
Thrown at apps/meteor/ee/server/apps/marketplace/fetchMarketplaceCategories.ts:72
if (request.status === 200) {
const response = await request.json();
fetchMarketplaceCategoriesSchema.parse(response);
return response;
}
const response = await request.json();
Apps.getRocketChatLogger().error({ msg: 'Error fetching marketplace categories', status: request.status, response });
// TODO: Refactor cloud to return a proper error code on unsupported version
if (request.status === 426 && 'errorMsg' in response && response.errorMsg === 'unsupported version') {
throw new MarketplaceUnsupportedVersionError();
}
const INTERNAL_MARKETPLACE_ERROR_CODES = [189, 266];
if (request.status === 500 && INTERNAL_MARKETPLACE_ERROR_CODES.includes(response.code)) {
throw new MarketplaceAppsError('Marketplace_Internal_Error');
}
throw new MarketplaceAppsError('Marketplace_Failed_To_Fetch_Categories');
}
View on GitHub (pinned to b2c16d5842)