mattermost/mattermost

[Bug]: Upload requests can remain “pending” after interruption, causing inconsistent app state

Open

#34,226 opened on 2025年10月21日

GitHub で見る
 (1 comment) (0 reactions) (1 assignee)TypeScript (32,880 stars) (7,823 forks)batch import
Help Wanted

説明

Before you file a bug report

Mattermost Server Version

Server Version: 11.1.0 Load Metric: 3 Database Schema Version: 143 Build Number: 18657393317 Database: postgres

Operating System

macos

Steps to reproduce

  1. Start uploading a new file, as if composing a new message.
  2. While the upload is in progress, refresh the page (this doesn’t cause the bug itself but reliably exposes it).

Expected behavior

  1. Start uploading a new file, as if composing a new message.
  2. While the upload is in progress, refresh the page.
  3. The upload area should disappear, or any “almost uploaded” files should be marked as errored, allowing the user to retry or cancel them.

Observed behavior

The upload area remains visible but shows no files, blocking the draft from being sent. The upload state is broken, and refreshing the page does not fix it. Sometimes switching to another channel resets the state, but not consistently. In these cases, the user is completely stuck and cannot send a new message in that channel.

Additional Information

I couldn’t upload the video directly to GitHub (it failed), so I’ve created an external link for it — it’s a reproduction on the community webapp.

To reliably reproduce the bug, we use a page refresh, but it can also occur in more subtle cases — for example, when behind a VPN or on an unstable network. In such situations, the XHR request may remain pending client-side, causing the upload progress to stop updating. If the user then refreshes or leaves the page at that moment, the issue can occur

コントリビューターガイド