Plume Development 2021-01-18

Language supports, bug fixes, UI improvements, internal improvements

Since previous release 0.6.0, we added serveral improvements to Plume. You can try them by checking out latest main branch or pulling a docker image plumeorg/plume:latest. Here are some of them!

Left to Right block in Right to Left article

According to @ahangarha, it’s natural to read code blocks left-to-right in right-to-left documents in Persian. @FDB_hiroshima added dir="auto" HTML attribute to make it work.

https://i.gyazo.com/8bb4c002492c49f8acfbf16fb7731436.png

This improvement is applied to this fediverse.blog instance.

More language

By an issue by @pullopen, I found Chinese translations were not embedded into Plume binary. I added translations for languages below:

  • Afrikaans
  • Welsh
  • Danish
  • Greek
  • Finnish
  • Hebrew
  • Hungarian
  • Korean
  • Dutch
  • Norwegian
  • Santali
  • Sinhala
  • Slovak
  • Slovenian
  • Turkish
  • Ukrainian
  • Vietnamese
  • Chinese

Though some langs don’t have translations actually, I added all langs registered on Crowdin, a translation platform we use.

Bug fix about remote liking, boosting and following

You can sometimes neither like nor boost articles, nor follow someone on remote instances now. This happen when target article’s title or writer’s name includes non-ASCII characters. This problem will be fixed in the next release.

This fixe is applied to this fediverse.blog instance.

Menu improvement for iOS

@marek-lach fixed an issue that menu is not opened even though you tap the menu icon.

I have neither iPhone, iPad nor macOS. I’m so glad if you try it and send feedbacks, though surely I will test it before next release (should be 0.6.1 or 0.7.0).

Riker actor system library

This was a long time refactoring. Riker is an actor system library for Rust. By actor model, we can get simple perspective of system archtecture keepingx it easy to write asynchronous tasks. This should make Plume more stable and performant.

@meena repeated trial & error many times, and eventually wrote a design doc. That’s a great work. Thank you.

Proxy support

@dr-bonez sended a pull request to introduce proxy support and it was merged. You can run Plume and make it federate with the fediverse behind a proxy server.

Logging fundamental

I added tracing logging library. I intend to use it for investigate federation problems in the near future. We are often reported federation issues. Fixing it is so hard if we cannot reproduce the problem on our development environment. At that time, we need record logs on production environment, and tracing should be a fundamental to help us well.

Musl build effort

This is not our improvement, but what @pwFoo is attempting. Musl is a alternate libc for static link. By building Plume with it, you can get more portable binary and run Plume on variuos machines including Alpine Linux. See the issue if you interested in it.

Rust version update

We updated Rust version to nightly-2021-01-15.

Some day suddenly building Docker image on Docker hub failed. To fix it, we need to upgrade some crates and update Rust version. If you build Plume from source code, newer Rust will be donwloaded automatically according to rust-toolchain file.

Milestone 0.7.0

I create the 0.7.0 milestone on our Gitea instance and added some issues there. Those are not promises but useful for me concentrate current task without keeping other tasks in my mind. In addition, I think some of you have wanted to know what is being developed now, and the milestone provides the information.

Edit links at the side of article title

I started adding edit links to the site of article title in home and blog pages.

https://i.gyazo.com/4ea25f485f2452f85934cd3de3438c7a.png

Now you need click links three times to reach to draft’s edit page:

  1. visit dashboard
  2. visit a draft article
  3. tap an edit link

This improvement reduce it:

  1. just tap an edit link in home page

or,

  1. visit dashboard
  2. tap an edit link at the side of article title

I’m sure it’s useful to put edit links in dashboard and blog pages. But I’m not sure whether putting them in home page is nice. Feedbacks are welcome!