Mattermost app required by a whole movement

Because i cant find any Mattermost forum topic here on F-Droid i would like to create this one.
Mattermost is been used by a movement named Extinction Rebellion. Its a worldwide movement. Here a short overview:

There are more then 1000 activists out there that sadly cant use a F-Droid version of this app. Many people that are part in this movement understand the requirement of free software for their privacy and thus for the whole movement. Recently its really sad to see that there is no maintained Mattermost version in F-Droid.

This is not a app request forum post. This is a general forum post for discussion of the Mattermost app development to be compatible with google-free devices.

I have seen that there is just one outdated Mattermost version recently at f-droid:
There is written “This app is not maintained anymore and has been replaced by Mattermost Beta.”
metadata/com.mattermost.mattermost.yml · master · F-Droid / Data · GitLab

I have seen this post here:
What is the status of the acceptance of this patch upstream?

The outdated app in F-Droid dont seem to work with recent software versions of the server software: Mattermost classic doesn't seem to work at all (#1360) · Issues · F-Droid / Data · GitLab

The F-Droid build services seems to not be able to build the new app:

This have been merged to the build servers to help the issue out when i understand right: build: log buildserver guest ram + cpu (!623) · Merge requests · F-Droid / fdroidserver · GitLab

Recent questions i have:

  • Have Mattermost upstream done some work to make it possible to build the app without closed source software/services?
  • If not, does F-Droid now use a patch that is not being accepted upstream to make those free software builds possible?
  • What is the current build issue?

The current situation is: we have successfully patched the Mattermost app to remove non-free libraries, but our build server does not have enough RAM to build it :confused:


how much RAM does it need? I believe the build server host has 16GB, I can’t imagine it takes more than Fennec, which builds using 4GB.

Are you sure? I can build it on my computer with 12 GB so I assumed the build server had less.
(And I think @Bubu managed to build it in a 3 GB VM.)

@hans Older build logs say this:

It’s been two month or more since I added logging for guest ram amount to fdroidserver. This hasn’t been deployed yet. :frowning:

I think the VM I built it on had 6 gb of ram, but I’m not sure.

I checked and it was indeed 6 GB.

The server was just updated, latest commit is two weeks old, still doesn’t have your commits?

Now it failed for other reason though…

Does Mattermost upstream have accepted the patches for google free builds?

Why was @Bubu able to build it with 3GB of RAM and the f-droid build server that have 33% more RAM but cant build it?

@Licaon_Kter THanks for the news. For what reason did it fail now?


Still a mistery

I’ve looked by ENOSPC is rather odd, no space left? Where? Why?

ENOSPC can mean a lot of things. The error happens in FSWatcher, so it is probably caused by the build process watching more files than the maximum number allowed by the system.

I am trying a solution here.

I think @bubu said that there is now 10GB for the buildserver instance

10Gb RAM or storage space?

@bubu @Rudloff Memory again?

See here: build - F-Droid Monitor

And it’s not quite 10 GB but 10.000 MB :slight_smile:

10GB RAM, many many GB of storage

The last build from 23.05.2019 also failed:


Task :app:bundleReleaseJsAndAssets
warning: the transform cache was reset.
Loading dependency graph, done.

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
<— Last few GCs —>

[4623:0x56434b030830] 2424685 ms: Mark-sweep 1322.8 (1491.0) → 1322.4 (1491.5) MB, 16889.9 / 0.4 ms allocation failure GC in old space requested
[4623:0x56434b030830] 2444115 ms: Mark-sweep 1322.4 (1491.5) → 1322.3 (1445.5) MB, 19428.1 / 0.5 ms last resort GC in old space requested
[4623:0x56434b030830] 2463472 ms: Mark-sweep 1322.3 (1445.5) → 1322.3 (1439.5) MB, 19354.5 / 0.4 ms last resort GC in old space requested

That’s before the latest fix, let’s wait for the next cycle…hopefully…

We finally got it to build: Mattermost Beta | F-Droid - Free and Open Source Android App Repository

(Now let’s hope that future updates won’t break our patches so we can keep it up-to-date.)


This is awesome! Finally!
Can we now throw away this classic version? Its fully outdated and works only with mattermost versions that have huge security issues. With other words: It should not be used in any case.

What about upstreaming the patches that have been used to build this F-Droid version? Now its publicly proven that those work.

A small part was submitted (but not accepted): Add foss and play build variants by Rudloff · Pull Request #1686 · mattermost/mattermost-mobile · GitHub

But most of the code we had to patch is not from Mattermost itself, but from dependencies: