You can use it at the main branch or latest Docker image.
]]>The most major change is internal one: ActivityPub library’s upgrading.
We also added changes to home page and timeline. See a blog post for details.
In addition, a problem that activities don’t reach other instances is solved. We should have fixed it, but other cause have remained. It should be away.
See the release note for details.
]]>As a part of that, I added a few changes to home page and timelines. I
By these changes, I think you will get free from unexpected article updates.
They are applied to this instance. How do you think?
]]>I have done an internal improvement I have worked with since Jan. 2022: Upgrade activitystreams to 0.7, again
It doesn’t affect features and user interfaces directly, but is a large change. So I will use it at my personal instance and see what will happen. You can also try it using Docker images’s ap07
tag or ap07
branch of source code. Note that it might have critical bugs that break federation with other instances.
Next, I will implement some tiny features and fixes tiny bugs. And then, I will work with Rocket 0.5, which should be also hard work.
]]>% plm migration run
This update added MAIL_PORT
environment variable support. See documentation for details.
Also it added sign-up feature. You can see how to set up at SIGNUP
variable in Useful environment variables page. A blog post might help you.
Now I’m working on Malfunction while creating a blog post in Persian issue and upgrading Rocket library to 0.5. I hope the next release includes fixes for them.
]]>For current implementation, when provided address is used for an existing user,
How do you think about this behavior?
A’s purpose is:
B’s purposes are:
(Updated on 2021-01-07)
Confirmation email is sent once when a user signs up (registers), so users can log in without email confirmation. And users have been before this feature is enabled don’t need to be confirmed.
Any comments are welcome. I want to release this feature as version 0.7.1 in several days if there is no problem.
You may try this feature today using the latest source code or Docker image. It requires running migration before restarting Plume:
% plm migration run
Setting SIGNUP
environment variable to email
enables the feature:
% SIGNUP=email plume
Thank you for using Plume. I hope you mamage Plume instances with comfort.
]]>This release include many changes from v0.6.0 because one year passed since it released. I write significant changes. See release note for all changes.
Now Plume sign outgoing ActivityPub GET requests. This means Mastodon instances with security mode on accept Plume’s requests. It improves interoperability with Fediverse.
We update dependent crates, some includes security fixes. All administrators are encouraged to update Plume.
RtoL support was improved. Thanks trinity-1686a, mskf1383, mareklach and ahangarha!
Posts’ URIs was changed. Plume uses Posts’ title for URI (with percent-encoded), while capital-cased dash-inserted slug have been used for former versions. Already published posts URIs didn’t change. This affects only newly published posts.
Remote interaction including fav, boost and comment hasn’t worked for some time. It was fixed.
Menu opening button hasn’t worked for iOS. It was fixed.
And some fixes are included in new version. See release page for details.
Thank you for reading on, writing on, translating, reporting issues and development on Plume. We will continue development even if it is slow. Welcome any contributing!
]]>I have finished migration. Thank you gled for maintainig the blog for long time!
]]>Now article’s URI is automatically modified by Plume to capital case: “article title” → “Article Title” and hyphens are inserted between some type of characters: “タイトル” → “タ-イ-ト-ル”. Sometimes this behavior is not preferred. So I stopped this behavior. Existing URIs won’t be modified. New articles’ titles will be applied.
If possible, it’s so appreciated for you to run the latest version from source code or Docker image and report issues, especially whether there’s trouble with federation between Mastodon servers.
This was reported long time ago. Thank you for patience until now.
We decided to release the next version v0.7.0.
The primary reason is that sometimes issues about federation with Mastodon are reported. We didn’t see detailed logs but current edge version of Mastodon requires signing some HTTP headers and Plume v0.6.0 doesn’t. The next version includes the fix for this problem.
Of course, we think frequent release is good, though it’s not easy for us. I hope we could develop more rapidly and release more often.
As said above, we will release the next version. Until Apr. 25, we have translation term. You may translate Plume UIs on our Crowdin project. Two languages were added: Sinhala and Urdu. Translations for them are welcome as well as existing langs.
See our translation page for details.
I’m aware some issues are remaining on Gitea and GitHub. Rust, a programing language in Plume is written, is getting more popular. Contributing to Rust is a chance to learn Rust :) Get involved if you’re intersted!
]]>Now I’m enjoying development of Plume again.
Riker actors including search actor and remote fetch actor have executed their tasks many times ever. I fixed it so that they execute tasks only once.
Plume have tried to save duplicated posts when it fetches remote instance’s post ever. Actually database’s constraint have prevented the duplication and Plume have logged
thread ‘pool-thread-#5’ panicked at ‘Article from remote user couldn’t be saved: Db(DatabaseError(UniqueViolation, “duplicate key value violates unique constraint "post_unique_slug"”))’
Now it upserts (updates or inserts) remote posts into local database and the log doesn’t appear.
This fix requires database migration. Run
plm migration run
before run the latest version.
Image explosion problem (see posts of 2021-02-15 and 2021-02-22) was stopped but images have been remaining. I created a command to remove some of them. How to use it is:
Assuming you use revision fe92d95f6c or earlier.
git fetch
cargo run -p plume-cli --bin=plm -- migration run
cargo run -p plume-cli --bin=remove-dup-images
docker pull plumeorg/plume:remove-dup-images
.env
for Plumedocker exec $CONTAINER plm migration run
docker-compose exec plume remove-dup-images
I don’t indend to include remove-dup-image
command into stable release. This is a problem occuring between v0.6.0 and the next release. Stable releases are not affected from it.
Some other bugs were fixed, too.
Some poeple might think to contribute to Plume but have no idea what to do. I introduce a thing to contribute easily.
@pullopen reported that Plume doesn’t show all posts at each author’s page. They should be shown with pagination. A pagination is very popular pattern of web development. Therefore you can contribute to this issue if you can write Rust and have experience of web development.
I have felt a modecum of relief by releasing remove-dup-image
. Next thing to do is preparing v0.7.0, I think.
The image explosion problem I mentioned in last post needs two steps to fix:
I achieved the first last week and you can get the fixed version from Gitea’s main branch or Docker latest image. I will work on the latter this week.
@Marius fixed the presentation problem that preformatted text in documentation site sometimes too long and you see horizontal scroll bar. Additinally, he removed build env’s dependency on Node.js. Thanks.
]]>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.
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
I made images in post card links.
I often tap those images and get remembered that those are not links every time. Now they behave like my expectation!
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.
I would like to do some refactorings.
unwrap()
and expect()
in our Rust code. They bring up hidden problems. I want to rewrite them to error structure.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 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.
]]>This is internal improvements. In the future, Mastodon requires (request-target)
in requests’ signature HTTP header. I added it.
Now I’m working on a problem that when publishing a post, it doesn’t reach some instances including Plume, Mastodon and so on. I had a hypothesis and could verify it’s correct. So, I think I will fix it this week.
Period! Have fun with reading, interacting with and writing blog articles!
]]>