@bobjonkman @stigatle Where does #yaics run? Android? GNU+Linux desktop? I ask because I stopped using the Android #Diaspora app #Dandelion because clicking a link that led to another instance meant that Dandelion tried to log into the other instance (and in the process, forgot my account info on the instance where I have an account).
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.
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.
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.
I remember the first time I got off the plane in SF, heart pounding as I prepared to meet everyone for the first time. A nearly-naked Dennis Collinson strolled into SFO, "SEAN TILLEY" emblazoned on his chest with marker. Incidentally, he was also shouting my name.
That week in the summer was pure magic. I explored San Francisco in detail, completely unaware of its layout or features.
@lakwnikos afaik, there isn't connectivity among them, but what I do is to connect both to Friendica, but you can't directly post from !GNUSocial to #Diaspora (and vice versa)
Socialhome is best described as a federated personal profile with social networking functionality. Users can create rich content using Markdown and even HTML/JS/CSS (if set as trusted user). 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 with future plans to include at least ActivityPub as well. Federating using existing protocols means Socialhome users can interact with tens of thousands of other users.
The first reply is on the original content. The rest of the replies are on the reshare I made with my diaspora account.
I'm really not sure how to go with this. Separate reply "sections" by share with replies might be the only way.. Then provide a "reply" button for each share "section"... It's kind of annoying, but otherwise the replies are not guaranteed to ever go to the right place in diaspora protocol network. Which would be even more annoying.
First share sent out from a #Socialhome node, yay 😁
Share stream visualization differences below. On #diaspora:
On Socialhome (in development still, not released):
The biggest single change is that shares are not shown separately in the stream. They (will) just have the effect of bumping content up to streams they would not otherwise be in. Still thinking how to represent remote comments on the share object, which we do store separately with its real guid. So, identifying comments targeting a share is not a problem, the problem is which parent to assign local replies to when sending out.
Quick reminder to podmins: please activate the anonymous statistics in your diaspora.yml config file! It allows us to know how many users are using the last diaspora* version and ease our drive of the federation protocol changes.
Important reminder to podmins: This new federation protocol is incompatible with versions of diaspora* older than 0.6.3.0. If you are still running an earlier version, your server will no longer be able to fully communicate with servers running the latest software.
There are numerous improvements that made it into this release, some of which have been in development or quite some time.
Two immediate things jump out at me:
Support for Account Migrations - this has been under investigation for quite some time, I will have to test it out when I can.
New federation protocol - it's crazy to think that we'd get to this one day. I think the situation with Diaspora's federation architecture may actually be greatly improving. The whole system's been cleaned up, federation's in a gem, and now the protocol functionality is being versioned and extended.
A big shout-out to Benjamin Neff and Comrade Senya, who have dedicated themselves to a lot of grueling work in improving the federation system and adding in functionality for account migration.
I'm also really happy about the functionality improvements (mentions in comments!) and the inclusion of a formatting UI will likely make the interface a little more accessible for some people.
As scheduled, a new major release is now released.
A huge thanks to all the contributors from diaspora*'s amazing community! If you want to help make diaspora* even better, please check out our getting started guide. Please see the changelog for a complete list of changes made in this release.
Update instructions are available as usual in the wiki. For those of you who have been testing the release candidate, run git checkout master before the update to get back to the stable release branch.
tl;dr: The next major version of diaspora* (0.7.0.0) will include a new major version (0.2.0) of diaspora*’s federation protocol. The release of this version demonstrates that the ‘cleaning’ phase has been finished and that the community is now able to develop this protocol further.
Under an AGPL 3.0 licence and proven by many years of production, the protocol and its implementation are both reliable and robust. We encourage projects seeking to create the federated social web to take an interest in this protocol, and we will push its wider adoption by providing support and an automatic tool to test its implementation in other languages. Apart from the reference implementation in Ruby, there are currently two implementations in PHP, one in Python and one in Go, which are at various stages of development.