My daily worklog


I’ll use this thread to publish a small, daily update of what I’ve been working on for the past day and what I plan to work on. This will help me stay focused and understand how I can better structure my week. I think it also may be of interest for the community and backers to see how I spend my time, what are the recurring tasks, etc.


Today, I have a lot of paperworks today (none of which is related to Funkwhale).

I also want to start designing my ideal work week schedule, setup a basic public calendar with this schedule, and fix the broken https certificate of

If I have time left, I’d like to continue working on Licenses handling in Funkwhale.


So, yesterday I’ve done everything I wanted to:

Today, I plan to finish the licenses feature and start doing some research about setting up a non-profit for Funkwhale. If I have time remaining, I’ll probably start working on the moderation tools.


Yesterday was interesting! I’ve:

Today, I plan to work on moderation tools, which should keep me busy :wink:


Yesterday, I’ve been focusing on the moderation tools, as planned. This is going slowly, because there are a lot of things to figure and since I’m designing the whole thing to be based on lists that can themselves federate, I cannot rely on existing implementations.

I think the first iteration will focus on instance level moderation (blocking domains and users).

Today, I plan to:

  • Continue my work on the moderation tools in the morning
  • Start organizing the Funkwhale Sync for January
  • Configure our Weblate instance so that Plume can use it for their own translation need
  • Investigate how I may take the ownership for, since the current owner asked me if I wanted to do that


Yesterday, I spent most of my day working on the moderation tools (I’ll elaborate on that below), and also setup the Pad / date poll for the next Sync, in January (cf Funkwhale sync #2). I’ve also configured Weblate so people can login with GitHub, and created a translation project for Plume.

Regarding the moderation tools, things were a bit bumpy. Basically, I started the implementation a few weeks ago, in a dedicated branch, but unforunately my first design was overly complex and would have lead to performance issues as well as a bad UX.

I decided to start from scratch yesterday afternoon, and I’m feeling way better about this second implementation. In terms of feature, it will enable blocking/filtering domains and users, at the instance level (user-level will come in another branch). This will support blocking everything for any given user or domain (in and out), or with more granularity (e.g. block only follow requests from a specific domain, or do not deliver Audio objects to a given user).

I’m pretty sure this will keep me busy this morning, and this afternoon, I’ll start looking into mirroring the FreeMusicArchive :slight_smile:


Friday, I spent my morning working on the moderation tools. I spent the afternoon ordering and configuring a dedicated server to host Funkwhale apps and services (which were hosted on my personal server).

This was needed to prepare for the migration of Open.Audio, and since I post-poned it multiple times already, I decided it was time to migrate our Gitlab instance to a dedicated domain and VM. (cf Migration of our Gitlab instance).

I’ll to that migration today, I expect it to take all my time.


Yesterday was pretty intense, I basically spend my day migrating our Gitlab instance (cf Migration of our Gitlab instance).

Today, I will:


Yesterday, I was working from a friend’s place. I managed to do everything I planned. I also started looking into how to mirror the Free Music Archive, and started to work on for that purpose.

Today, I’ll continue working on that.


Yesterday, I pushed the first fully functional iteration of, which anyone can now use to bulk download content from

I tried it for real, with a first set of 25Gb of music files (~300 albums) coming from the Free Music Archive collection, and well it worked.

I then launched a second download task for ~2000 additional albums, which completed successfully in a few hours, and launched another one for an additional 4000 albums before going to sleep. This last one is finished, and we currently have 383GB of music, with ~6500 albums, under an open license, that will be imported on today for everyone to enjoy.

This library is public and available for everyone to consume, either by following it from their own funkwhale instance ( or directly by browsing and listen to available content :slight_smile:

Today, once the import is finished, I’ll be back working on the moderation tools :wink:


Yesterday, I continued working on the moderation tools. Things are going well (though slowly), and I’m starting to work on the UI for instance-level blocks / mute.

I’d stick on that for today!


Friday, I continued working on the moderation tools, and I’m going to take a break today and switch to a different feature :wink: I think I found a way to make embeding funkwhale content in external websites possible (Funkwhale architecture is a bit different from traditionnal projects) and I want to hack on that :slight_smile:


Oops, looks like I forgot posting my log this morning. Yesterday, I’ve worked on embedding Funkwhale content on other sites. See my progress.

I’ll continue working on that today :slight_smile:


Yesterday, I continued to work on the embed widget and I’m near done. I’d like finish and deploy that on today, but since it will require some slight changes in the nginx configuration that is incompatible with earlier releases, I’ll also use this occasion to fix a longstanding issue with our documentation deployment process:

the docs deployed at are built from the develop branch. When we push new features for the next releases, we push them with the relevant documentation on the develop branch which is then deployed at However, this creates strange issues for people that are in the process of deploying an instance because they are trying to deploy a tagged release using the next release documentation.

I’m going to fix that today and deploy only the stable documentation on