mattermost / mattermost/desktop
[Bug]: Desktop client marks downloaded files as downloaded from the Internet on Windows (`ZoneId=3`)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.3k
- Forks
- 980
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 30
Description
Checks before filing an issue
- This issue doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
- I have checked the issue tracker and have not found an issue that matches the one I'm filing. This should include closed issues.
- This issue is not a troubleshooting question. Troubleshooting questions go here: https://forum.mattermost.com/c/trouble-shoot/16.
- This issue is not a feature request. You can request features and make product suggestions here: https://mattermost.com/suggestions/.
- This issue reproduces on the most recent stable version, or the most recent prerelease version of the Mattermost Desktop App.
- I have read the contribution guidelines.
Mattermost Desktop Version
5.13.2, 6.2.0
Operating System
Windows 10 x64
Mattermost Server Version
11.3.0
Steps to reproduce
Open the desktop client on Windows.
Download Excel file.
Check the downloaded file in PowerShell:
Get-Content -Path ".\filename.xlsx" -Stream Zone.Identifier
Download the same file through the web interface/browser.
Check the browser-downloaded file the same way.
Expected behavior
Files downloaded through the desktop client should behave consistently with files downloaded through the web interface.
If downloading the same file through the browser does not add ZoneId=3, the desktop client should not add this mark either.
Observed behavior
Observed behavior
Files downloaded through the Windows desktop client are marked by Windows as downloaded from the Internet.
The downloaded file contains a Zone.Identifier alternate data stream with ZoneId=3:
[ZoneTransfer]
ZoneId=3
### Log Output
```shell
[2026-06-26 11:13:23.567] [error] Logger Log level set to: info
[2026-06-26 11:13:23.711] [warn] [Config] app-update.yml does not exist, disabling auto-updates
[2026-06-26 11:13:25.204] [info] [App.Config] config.autostart has been configured: true
[2026-06-26 11:13:25.259] [info] [App.Config] config.autostart has been configured: true
[2026-06-26 11:13:26.705] [error] [MainWindow] Unable to send the message to the main window for message type update-downloads-dropdown
[2026-06-26 11:13:27.140] [error] [MainWindow] Unable to send the message to the main window for message type reload-config
[2026-06-26 11:13:28.051] [info] [App.Initialize] Autoupgrade disabled: false
[2026-06-26 11:13:28.254] [info] [ServerDropdownView] init
[2026-06-26 11:13:28.535] [warn] [i18nManager] Failed to set new language en-US
[2026-06-26 11:13:28.535] [warn] [i18nManager] Failed to set new language RU
[2026-06-26 11:13:30.147] [info] [App.Config] config.autostart has been configured: true
[2026-06-26 11:13:30.271] [warn] [WebContentsEventM...] [renderer] No satisfying version (^05559f4c61c5a314783c390d2d82906ee8c7e558) of shared module react-bootstrap found in shared scope default.
Available versions: github:mattermost/react-bootstrap#05559f4c61c5a314783c390d2d82906ee8c7e558 from mattermost-webapp
[2026-06-26 11:13:30.507] [info] [App.Config] config.autostart has been configured: true
[2026-06-26 11:13:32.571] [info] [App.Config] config.autostart has been configured: true
[2026-06-26 11:13:35.740] [warn] [WebContentsEventM...] [renderer] jira: This plugin is usingΩ registerPostDropdownMenuComponent which is deprecated in Mattermost v11.0. That API will be removed in a future release, and plugins that use it may not work correctly. Please update the plugin to use registerPostDropdownMenuAction instead. See https://forum.mattermost.com/t/deprecating-a-post-dropdown-menu-component-plugin-api-v11/25001 for more information.
Additional Information
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue on Windows 10 using the stated Mattermost Desktop versions and compare the downloaded file with one obtained through the browser. Trace the desktop client's download handling from the relevant entry point, then verify that the resulting file does not contain a Zone.Identifier stream with ZoneId=3. No file or test path is named in the report.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, typescript
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100