There have been some requests to make it possible for Mastodon users to create threads on Lemmy. At the moment this is not possible because Mastodon cant set the title field which is mandatory in Lemmy. The same problem affects other projects like Pleroma or Friendica (where title is optional).
It is unlikely that Mastodon would make any change in this regard, so a workaround in Lemmy would be necessary. I implemented such a workaround which makes the title optional when receiving a federated post, and uses the first line of the content instead. This workaround could also be made configurable per instance or per community.
But to be honest I am not sure the workaround is a good idea in general, as it could result in bad titles, and generally more low-quality posts. Thats why I want to know what the community thinks about it.
We are looking for someone who would be willing to provide a build server for Lemmy's continuous integration. This is used to ensure that new changes and pull requests pass all the checks, and that the code is written well. At the moment we are using a small VPS for this purpose (2 vCPU, 2 GB RAM). This works but is quite slow, and can slow down the development process with unnecessary waiting times.
For this reason we are looking for a community member with a spare server or computer, who would be willing to provide it as a build server. There are no specific hardware requirements, but the faster the better. The build server has to run 24/7 and run the [Drone Docker Runner](https://docs.drone.io/runner/docker/overview/). The setup is very easy, especially if your machine is already running docker. If you have such a server and are willing to provide it, please comment below with the specs.
Additionally we are also looking for an ARM builder, so that we can provide official releases for this platform as well. Note that some Raspberry Pi models seem unable to build Lemmy (our 4GB memory builder failed), so please try if the compilation works on your device. If you can provide an ARM builder, also comment below with the specs.
Give it a try if you are interested in the project. If you notice any problems, you can [open an issue](https://github.com/LemmyNet/lemmyBB/issues). Contributions are also more than welcome.
In a few days I will publish the first release, and make a proper announcement.
I have just finished migrating the services mentioned above to new domains, and also to hosting on the lemmy.ml server, instead of my personal server. This makes sense because all of them are used almost exclusively for Lemmy development. It will also allow [@firstname.lastname@example.org](https://lemmy.ml/u/dessalines) to administrate the services in case of problems.
The new domains are:
There are redirects in place, so you will automatically be forwarded from old domains to new ones.
I have finished writing instructions for deploying lemmyBB on a production server, which you can follow at the link above. Right now the project is still in a very early stage, nevertheless main funcionality is already working. This includes browsing communities, posts and comments, writing posts/comments and registration/login. Before developing the project further, I would like to get some feedback from users and admins.
If you are interested, you can follow the instructions to install lemmyBB on your own server. This setup also installs lemmy-ui, in order to access functionality which is not yet available in lemmyBB (particularly moderation).
You can also try out lemmyBB on a test server with this setup, namely [lemmybb.lemmy.ml](https://lemmybb.lemmy.ml/). It runs lemmy-ui at [lemmyui.lemmy.ml](https://lemmyui.lemmy.ml/), which shows the same data in another format, and the same account login works on both domains. Registrations are currently open, but keep in mind that this instance is only meant for testing, until other instances are created.
If you notice any bugs or want to request new features, please open an [issue](https://github.com/LemmyNet/lemmyBB/issues) or comment here.
To reduce the amount of work, the project uses HTML templates and CSS themes from [phpBB](https://www.phpbb.com/), which are open source under GPLv2. This also has the advantage that many preexisting phpBB themes can be used for lemmyBB. It is written in Rust, because it allows for tight integration with the Lemmy API, and is generally a great language for webservers.
For now the funcionality is very basic, but nonetheless its already usable. You can:
- browse the local post listing
- browse comments
- login and logout
- create new posts and comments
To give it a try, run the following commands on your local computer, replacing lemmy.ml with your own instance:
git clone https://github.com/Nutomic/lemmyBB.git
LEMMY_INTERNAL_HOST=https://lemmy.ml cargo run
If there is any specific feature that you would like to see added, please [open an issue](https://github.com/Nutomic/lemmyBB/issues). For now there arent any instructions for deploying lemmyBB to a server. If you would like to do that, please open an issue as well.
This post was made from lemmyBB.
[Activitypub](https://www.w3.org/TR/activitypub/) is decentralized social networking protocol recommended by the W3C. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content. As part of the work on [Lemmy](https://join-lemmy.org/), we have implemented some high-level abstractions for handling the server-to-server protocol in Rust. These abstractions are now available as a standalone library.
The main features are:
- Data structures for federation are defined by the user, not the library. This gives you maximal flexibility, and lets you accept only messages which your code can handle. Others are rejected automatically during deserialization.
- ObjectId type, wraps the id url and allows for type safe fetching of objects, both from database and HTTP
- Queue for activity sending, handles HTTP signatures, retry with exponential backoff, all in background workers
- Inbox for receiving activities, verifies HTTP signatures, performs other basic checks and helps with routing
- Generic error type (unfortunately this was necessary)
- various helpers for verification, (de)serialization, context etc
Documentation is currently lacking. If you want to get started with the library, best look at the example.
The code has already been used in production as part of Lemmy for a long time, without any notable problems. However, ergonomics are lacking and need to be improved. There are also many additional features which would be worth implementing. See the project readme for details. Contributions and suggestions are very much welcome!
You can find the project here:
Lemmy.ml has long had some political conflict among the userbase, especially in communities like worldnews. This is because the instance is composed of both leftists (anarchist/communist) and liberals (those who agree with the mainstream political views in western countries). Additionally, the instance admins all belong to the former group.
Recently we made an announcement offering [free Lemmy instance hosting](https://join-lemmy.org/news/2022-03-17_-_Free_Lemmy_instance_hosting) for one year, for non-politics instances. We are hereby making a similar offer to host a liberal or mainstream political instance, which can accomodate those who are unhappy with lemmy.ml moderation.
This has many advantages. Instance admins have full power to set the rules, block federated instances (like lemmygrad.ml), or remove unwanted content. An administration team that is closer aligned politically would certainly be an improvement for some of the users here.
So if you are interested to host such an instance, send an email to email@example.com some relevant details about yourself. You will also have to buy a domain. We will only host one such instance, so if multiple people are interested, you should coordinate among yourselves. As in the original offer, the hosting will be limited to one year.
On a side note, we would also like to help with the creation of a general-purpose instance that is less focused on politics than most of the existing instances. This is fully within the terms of the initial "free instance hosting" announcement, so if you are interested, send us an email!
We just released a new patch which fixes an important federation problem. Due to a mistake in the code, activities were only sent out once, even if delivery failed (e.g. because the target instance is down, or a temporary connection issue). Instance admins should definitely upgrade.
This problem is fixed, so that failed deliveries are retried up to 9 times, with exponentionally increasing intervals. The only limitation now is that it will not keep retrying after Lemmy is restarted, but that case should be less common.
The domain was included in a spam list, which meant that confirmation emails couldnt be delivered, and signup was impossible. Now the problem is fixed, so if you would like to translate Lemmy into your language, register an account and get started.
You can also join the [Lemmy Translations](https://matrix.to/#/#lemmy-translations:matrix.org) Matrix chat.
I never really thought about the automatic self upvote on Reddit and Lemmy. But after reading this article [Dont let me like my own post](https://yujiri.xyz/theory/selflike), i'm wondering if we should just get rid of it. Its not really adding anything, or does it? Plus removing it would slightly simplify the code, and slightly less federation messages would get sent (probably unnoticable in practice).