Socialhome version 0.5.0 released
Approximately one month since the previous release, #Socialhome 0.5.0 is out with 102 changed files, 2870 insertions and 999 deletions by 2 contributors.
For users there are only a few features added in this release, most of the work being internal refactoring and work in preparation for future features.
Please see the full changelog here.
New features
A few notes on feature highlights.
Shares in streams
Shares are now pulled up to the "Followed" stream. What this basically means is that when a person you follow shares something authored by a person you don't follow, the post will be pulled up in your stream by the share action.
Generally, you should only see a single post once. If you follow the author whose content was shared, that content has already been in your stream, and thus a share will not repeat it. Note however that since stream pre-calculation is a new thing, it is possible that content seen in the stream before this feature was added will pop up in a new share once more.
There are still some things to do for shares, these are being tracked in this issue.
Stream precaching
Related to "shares in streams", there was a lot of refactoring work to create the new base for how all streams function. This includes unifying lots of code and rewriting it so that in addition to pulling content out of the database, we can "precalculate" streams. This is done to ensure streams load super fast even if the calculations on what content the stream has are heavy.
The only stream that is currently precached is the "Followed" stream. Precaching means it will load as fast as the public stream even though we now include shares by non-followed users and include them only once - which would be a heavy calculation to do without precaching. The real benefit will come when custom user defined streams are available.
How would you like to configure the content in your stream?
GIF uploads
Yes, we love GIF's <3
Links in content
All links in content (whether textual, markdown or HTML) are now treated equally. They will all be used as candidates for OEmbed/OpenGraph fetches and all will be processed to add a target="_blank"
to the link, forcing it to open in another tab/window.
Stream URL changes
All stream urls now live under /streams/
, so for example followed stream is /streams/followed/
. The old url's should still work until they are needed for something else.
Features coming up
Vue.js streams
Christophe Henry has been hard at work rewriting the current Django template + #jQuery based streams in #VueJS. The status of that work can be tracked here. We're hoping to replace the current stream frontend with the Vue streams within the coming months. This will drop a lot of legacy code and speed up development of new features, and will also mean our #API is fully complete for the stream features.
ActivityPub protocol support
This is still something we want to do as soon as some of the basic features are first implemented. Currently it looks like having it before the end of the year is slightly optimistic, but federating with for example #Mastodon using #ActivityPub will be a strong priority to get early next year.
Docker images
There has been some work on #Docker images to run a Socialhome instance. Will post more info as they are ready.
What is Socialhome?
Socialhome is best described as a #federated personal profile with social networking functionality. Users can create rich content using Markdown. All content can be pinned to the user profile and all content will federate to contacts in the federated social web. Currently #federation happens using the #Diaspora protocol. Federating using existing protocols means Socialhome users can interact with tens of thousands of other users.
Please check the official site for more information about features. Naturally, the official site is a Socialhome profile itself.
Official site: https://socialhome.network.
Contribute
Want to work on a #Django and Vue.js powered social network server? Join in the fun! We have easy to follow development environment setup documentation and a friendly chat room for questions.