Matt's Dev Log


After several months of work, we released #WriteFreely v0.11 today / last night. This included one last bugfix I found while testing, #205 / Fix URLs in CSV exports.

The team caught some issues with templates with during our review process before merging, but then introduced new bugs with the attempted fix that weren't caught during further review. The new bug only affected instances configured for single users (not multiple users), but if a blog had any pinned posts, all blog rendering would fail and display our silly “500” error text instead of the author's writing. In other words, this wasn't an edge case, but the software catastrophically failing for a decent subset of users.

Admittedly, this is a configuration we don't currently test super-thoroughly — but nonetheless it got merged with the rest of the intended fix.

I quietly released v0.11 around 3am Japan Standard Time, and within two hours a user upgraded their instance and encountered our newly introduced bug, filing an issue for it (#207).

The bug was easily fixed when I woke up (#209), but this incident — a large release after several months, completely botched for a subset of users — made it clear we need to change how we do things in the future.

Going forward, we'll put out a Release Candidate or two before all major or minor releases. The goal will be to get more eyes on the code we're about to send out, so that we might catch silly errors like this before putting our stamp of approval on a new release.

In the meantime, skip v0.11 and enjoy WriteFreely v0.11.1! This time, you won't regret the upgrade!

Get future updates via RSS and ActivityPub:

We're working on supporting #ActivityPub mentions in #WriteFreely now (T627). The work is in progress, and last post didn't work.

Testing to see if gets this.

Let's see.

Get future updates via RSS and ActivityPub:

Testing #ActivityPub #mentions in #WriteFreely now (T627). Apparently Mastodon doesn't honor mentions in Articles (they only work with Notes — we've opened #12129 to fix this), so won't work. But Pleroma does honor them, so should work just fine.

Let's see.

Get future updates via RSS and ActivityPub:

Now that we're growing past one core developer, we've moved #WriteFreely development off of master. As I mentioned on Mastodon:

Things are validated. Now all core development is done on feature branches off of develop, with code review before merging. (So, more validated than the master branch used to be.)

Of course, there may be some larger features that get added over several pull requests (thus might need fixes / changes), but in general we're trying to avoid that.

Get future updates via RSS and ActivityPub:

With a growing team of core #WriteFreely developers (#wfdevelopers), we're starting to document everything needed to actually work on the application. It'll be a long process, but it's underway.

Official documentation lives in Markdown files in the writefreely/documentation repo. Current work is done on the develop branch (contributions welcome).

Most recent addition, thanks to @sandrockcstm: an explanation of the database schema

Get future updates via RSS and ActivityPub:

Here's how you might create a new page for users in WriteFreely.

In this example, assume you want to create a new Import page based on the current Export page template:

  • create a copy of templates/user/export.tmpl named templates/user/import.tmpl
  • change define "export" on the first line to define "import" (the name here should match the filename between templates/user/ and .tmpl
  • duplicate the viewExportOptions() handler func in account.go, changing it accordingly
  • add the import page route in routes.go

#WriteFreely #wfdevelopers

Get future updates via RSS and ActivityPub:

I'm Matt Baer, founder of and creator of WriteFreely.

I mainly write on my blog, but this one is for more casual writing, particularly around #WriteFreely development.

You can follow this blog from the fediverse by searching for or subscribing to the RSS feed.

Get in touch with me on Mastodon or via email.