mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-19 01:40:15 +01:00
🔧 fix: Fix rampant pings and rate limiting
- Skips idle connection checks in `getMCPManager` to avoid unnecessary pings. - Introduces a skipOAuthTimeout flag during initial connection to prevent timeouts during server discovery. - Uses a lightweight connection state check instead of ping to avoid rate limits. - Prevents refetch spam and rate limit errors when checking connection status. - Fixes an issue where the server connection was not being disconnected.
This commit is contained in:
parent
1da5365397
commit
10e06f2221
9 changed files with 90 additions and 39 deletions
|
|
@ -219,7 +219,7 @@ router.get('/connection/status', requireJwtAuth, async (req, res) => {
|
|||
return res.status(401).json({ error: 'User not authenticated' });
|
||||
}
|
||||
|
||||
const mcpManager = getMCPManager();
|
||||
const mcpManager = getMCPManager(null, true); // Skip idle checks to avoid ping spam
|
||||
const connectionStatus = {};
|
||||
|
||||
// Get all MCP server names from custom config
|
||||
|
|
@ -237,12 +237,14 @@ router.get('/connection/status', requireJwtAuth, async (req, res) => {
|
|||
const userConnection = mcpManager.getUserConnectionIfExists(user.id, serverName);
|
||||
const hasUserConnection = !!userConnection;
|
||||
|
||||
// Determine if connected based on actual connection state
|
||||
// Use lightweight connection state check instead of ping-based isConnected()
|
||||
let connected = false;
|
||||
if (hasAppConnection) {
|
||||
connected = await appConnection.isConnected();
|
||||
// Check connection state without ping to avoid rate limits
|
||||
connected = appConnection.connectionState === 'connected';
|
||||
} else if (hasUserConnection) {
|
||||
connected = await userConnection.isConnected();
|
||||
// Check connection state without ping to avoid rate limits
|
||||
connected = userConnection.connectionState === 'connected';
|
||||
}
|
||||
|
||||
// Determine if this server requires user authentication
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue