Fix Discord Gateway Reconnection Triggering Friend List Cache Refresh
🔍 WiseChecker

Fix Discord Gateway Reconnection Triggering Friend List Cache Refresh

Discord users sometimes notice that after a brief network interruption or a gateway reconnection, their friend list refreshes unexpectedly. This can cause the online status of friends to flicker or show cached data that is out of sync. The issue stems from how Discord’s WebSocket gateway handles reconnections and clears local cache for friend data. This article explains the root cause of the problem and provides steps to minimize or eliminate unnecessary friend list cache refreshes after a gateway reconnection.

Key Takeaways: Fixing Friend List Cache Refresh After Discord Reconnection

  • User Settings > Advanced > Developer Mode: Enables you to inspect gateway events and confirm reconnection patterns.
  • User Settings > Voice & Video > Reset Voice Settings: Clears stale WebSocket connections that trigger unnecessary cache refreshes.
  • Windows 10/11 Network Reset: Resolves underlying network instability that causes frequent gateway reconnections.

ADVERTISEMENT

Why Discord Gateway Reconnection Triggers Friend List Cache Refresh

Discord uses the WebSocket protocol to maintain a persistent connection between your client and its servers. This connection, known as the gateway, handles real-time events such as friend online status, messages, and channel updates. When the gateway drops and reconnects — due to network jitter, router resets, or server-side issues — Discord performs a sequence of operations to restore state.

During a reconnection, the client requests a fresh copy of the friend list from Discord’s API to ensure accuracy. This is a safety measure: if the client relied solely on its cached friend data after a disconnect, it might show stale or incorrect statuses. However, this refresh causes a brief flash or reload of the friend list, which can be disruptive for users with large friend lists or those who rely on real-time status visibility.

The Role of the Gateway Identify Payload

When a client reconnects, it sends an Identify payload to resume the session. If the session cannot be resumed (for example, because the previous session ID expired), Discord treats it as a fresh connection. In that case, the server sends a Ready event, which includes the entire friend list. This event triggers the cache refresh on the client side. The more frequently your connection drops, the more often this refresh occurs.

How Network Instability Amplifies the Issue

Users on unstable Wi-Fi, VPNs, or networks with high packet loss experience more gateway reconnections. Each reconnection that fails to resume properly forces a full friend list reload. The friend list cache refresh is therefore a symptom of underlying network instability, not a bug in Discord itself.

Steps to Reduce or Prevent Friend List Cache Refresh After Gateway Reconnection

The goal is to make gateway reconnections as seamless as possible so that the session resumes without triggering a full friend list reload. Follow these steps in order.

  1. Enable Developer Mode to Monitor Gateway Events
    Open Discord and go to User Settings > Advanced. Toggle Developer Mode on. Right-click any user or server and select Copy ID to verify the feature is active. While this does not fix the issue directly, it lets you see gateway logs in the browser console (Ctrl+Shift+I on Windows) and confirm when reconnections happen.
  2. Reset Voice Settings to Clear Stale WebSocket Connections
    Go to User Settings > Voice & Video. Scroll to the bottom and click Reset Voice Settings. This clears any lingering WebSocket state that might interfere with reconnection. You will need to re-select your input and output devices afterward.
  3. Disable Hardware Acceleration
    In User Settings > Advanced, turn off Hardware Acceleration. This forces Discord to use software rendering, which can stabilize WebSocket handling on some systems. Restart Discord after changing this setting.
  4. Change DNS Settings
    Switch to a public DNS provider like Google DNS (8.8.8.8 and 8.8.4.4) or Cloudflare DNS (1.1.1.1 and 1.0.0.1). On Windows, go to Control Panel > Network and Sharing Center > Change adapter settings, right-click your network adapter, select Properties, double-click Internet Protocol Version 4 (TCP/IPv4), and enter the DNS addresses. This can reduce DNS resolution delays that cause gateway timeouts.
  5. Run a Network Reset on Windows 10 or 11
    Open Settings > Network & Internet > Advanced network settings > Network reset. Click Reset now. Your PC will restart. This reinstalls network drivers and clears cached network settings that might cause frequent disconnections.
  6. Use a Wired Connection Instead of Wi-Fi
    If possible, connect your computer directly to the router via an Ethernet cable. This eliminates wireless interference and packet loss that trigger gateway reconnections.
  7. Disable VPN or Proxy Temporarily
    VPNs and proxies can introduce latency and packet loss. Disconnect from any VPN service and try Discord again. If the friend list stops refreshing, the VPN was the cause. Add an exception for Discord in your VPN settings if you must use it.

ADVERTISEMENT

If Discord Still Refreshes the Friend List After the Main Fix

Some users may still experience friend list cache refreshes even after following the steps above. This section covers additional scenarios and their solutions.

Discord Desktop App Shows Friend List Reload on Every Launch

If the friend list refreshes every time you open Discord, the issue is likely a corrupted local cache. Close Discord completely. Press Windows key + R, type %appdata%/discord, and press Enter. Delete the Cache and Code Cache folders. Restart Discord. This forces a fresh download of friend data but prevents repeated refreshes during a session.

Friend List Statuses Flicker After Reconnection

This is a visual artifact of the cache refresh. To reduce flicker, enable User Settings > Appearance > Enable Reduced Motion. This disables animations that make the flicker more noticeable. The underlying data refresh still occurs, but the visual disturbance is minimized.

Discord Mobile App Refreshes Friend List Constantly

On iOS or Android, go to User Settings > Appearance > Advanced and disable Hardware Acceleration if available. Also, ensure your mobile app is updated. If the problem persists, reinstall the app. Mobile networks are more prone to disconnections, so the refresh may be unavoidable in areas with poor signal.

Discord Gateway Reconnection Scenarios: Friend List Refresh vs No Refresh

Item Session Resumed (No Refresh) Session Expired (Refresh Occurs)
Description The client reconnects using a valid session ID and sends a Resume payload. The server restores state without sending a new Ready event The client cannot resume because the session ID is invalid or expired. The server sends a new Ready event, which includes the full friend list
Cause Short network blip under 30 seconds; session ID still valid Longer disconnect, client restart, or server-side timeout
Friend list behavior No visible refresh; friend statuses remain stable Friend list reloads; statuses may flash or show cached data briefly
User impact None Brief disruption; friend list may appear outdated for a moment

The key difference is whether the session can be resumed. To maximize session resumption, keep your internet connection stable and avoid actions that force a full restart of Discord, such as clearing the app data or using third-party tools that terminate the process.

By stabilizing your network connection and configuring Discord to reuse sessions whenever possible, you can significantly reduce the frequency of friend list cache refreshes after a gateway reconnection. Start with the network reset and DNS changes, as they address the root cause. If the issue persists, the cache refresh is a normal safety behavior that ensures your friend list is accurate. Using Developer Mode to monitor gateway logs will help you identify whether the refresh is caused by a session timeout or a genuine network problem.

ADVERTISEMENT