sqrtminusone's Blog

sqrtminusone's Avatar Image
Graduate student of Saint-Petersburg State Electrotechnical University.

If I'm not doing something with #Emacs, I'm probably doing something in #Emacs.
← All posts

Today, I tried to #selfhost #AFFiNE. TL;DR it’s surprisingly unusable yet.

Essentially, I was looking for a FOSS #Notion clone in which a group of students could collaborate on markdown documents. A git repo, MediaWiki, etc. weren’t quite optimal for this use case, and I’ve seen a bunch of such clones over the last year, so…

The deploy itself went fine. I configured the app and promptly discovered that I’m on a “free plan” on a self-hosted version that should be unlimited. The free plan allows only 3 people to be added to a workspace.

After some digging in the source code, I gave myself a “proplanv1” by manually adding a row into “user_features”. The limit increased to 10 people.

After more digging, I managed to increase the limit to 10000 by changing a row in the “features” table (in which this configuration is stored in a denormalized JSON format without any apparent good reason).

Then I tried to invite people into the instance and discovered that SMTP didn’t work. The UI doesn’t allow inviting people without a working SMTP. I guess the config API doesn’t expose some nodemailer option that was required in my case, but I didn’t follow up on that because I didn’t want to rebuild the image.

You could’ve just used msmtp, y’know…

Well, I found a GraphQL mutation that allows creating an account with a password without email confirmation. But! Adding an existing account to a workspace still requires SMTP, and the built-in GraphQL UI wasn’t configured to use my session, so I couldn’t send an authorized request (or I didn’t know how).

I could’ve manually added the records into the database again but decided it wasn’t worth the effort.

Don’t get me wrong, I’m not demanding anything from a project I haven’t paid for. Even if the project is “source available” and not open source, as I’ve discovered a minute ago. But I do wonder about two things:

  1. how a project can have 30k stars on GitHub and require giving yourself a “premium subscription” by multiple SQL queries;
  2. why the developers are pushing for #AI integration when the project has these issues.
To like or reply, open original post on Emacs.ch