Plume Development 2021-02-15

Reaching remote instances, menu on iPhone, image explosion

New posts reach to remote instances

Now some instances of Plume, Mastodon and so on receive Plume’s new posts, and others doesn’t. The cause of this is that some attempts to notify publishing timed out when Plume instance federates with many instances. That was fixed and now (at unreleased edge version) all instances should receive new posts.

Menu on iOS works

The problem that nemu doesn’t open on iOS was finally fixed.

During the fix, I found that WASM also doesn’t work. cargo-web, which is used to build WASM, doesn’t work well for newer Rust and it is not maintained now. So we switched WASM builder to wasm-pack, therefore build process slightly changed. See documentation for details. Because of this, you need use wasm-pack instead of cargo-web. The documentation was also updated: Compiling from source

Images became links

I made images in post card links.

https://i.gyazo.com/c6049b8115eb60c80b306e17e744e3df.png

I often tap those images and get remembered that those are not links every time. Now they behave like my expectation!

Image explosion

Marius reported that his instance has too many images even though it has a few posts. He and I started investigation and it seems related to federation.

Refactoring

I would like to do some refactorings.

  • There are many unwrap() and expect() in our Rust code. They bring up hidden problems. I want to rewrite them to error structure.
  • Actors are in plume-models now. I think they should be in plume because they are service objects such as Rocket instance and mailer rather than models.
  • I want to extract more actors including mailer, inbox handling, sending activities to other instances and so on. It must provide well perspective of architecture.

Near future work: user email confirmation

I started working on email confirmation feature as explained at #636.


I’m also thinking about the next release. I set the milestone v0.7.0 with well communitation with Mastodon, introducing actor system and implementing multi-author blog feature. The last one is difficult to develop soon. So the next release will inlcude the former two improvements and some bug fixes.