mattermost / mattermost/desktop
portable(s) are not actually portable
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.3k
- Forks
- 980
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 30
Description
I didn't notice earlier since I try to go for fresh deploys, but that's a major dealbreaker for a '''portable'''. Users expected it to work like any https://portableapps.com/ and I was surprised it didn't. #2112 made me investigate again.
Windows zip
https://github.com/mattermost/desktop/releases/download/v5.0.4/mattermost-desktop-5.0.4-win-x64.zip
Creates a folder in %appdata%.
Still better than an installer, but not portable by any means. Users were surprised why they needed to enter server details all of a sudden, after moving the folder.
Linux binary
Creates one in ~/.config which isn't great, but expected on Linux. There's not a whole lot of typical user awareness (of any kind) on desktop Linux yet. Copy, paste, done. Still would be nice if a plain binary build would stick to a relative ./userdata/ until told otherwise.
At the very least, people need to be made aware of the Windows zip not actually being a portable as you'd expect by downloading a presumably self-contained zip. Almost every ordinary Windows user knows the 'self contained portable' concept and this is unexpected.
How about a default of ./userdata/ on both platforms, and a CLI parameter --datadir xyz to choose wherever?
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
Start by reproducing the Windows zip and Linux tarball behavior described in the issue, checking where each build stores its user data. Trace the desktop application's data-directory and CLI argument entry points, then verify that a relative ./userdata/ default and --datadir xyz work consistently on both platforms.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, typescript
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100