Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Federation rewrite with diaspora_federation gem #6873
This PR currently uses the latest commit on the develop-branch of the federation gem. I would release the 0.1.0 version and update the PR after this PR was reviewed and tested successfully. Also I suggest to move the gem to the diaspora-organization after this PR is merged.
This PR also includes a complete rewrite of the notification-system, to fix the "sometimes no, sometimes one and sometimes two notification mails"-problem.
I think that #3519 also can be closed after this is merged, because this code doesn't exist anymore.
Note: The migration to cleanup participation (04c8329) can cause problems on big mysql databases if they have a
Maybe someone can test the migrations with a bigger postgresql database? I only have a small test-DB (so the syntax should be OK), but I don't know if they cause trouble on bigger DBs (edge cases on old installations). I tested the migrations on a backup of my production mysql-database, so mysql should be OK.
I didn't write migrations to cleanup the
@cmrd-senya: maybe you can test this PR with your federation-tests?
(This part is not part of the initial PR text and gets abused as a ToDo list.)
ToDos before merging:
ToDos after merging:
So, before adding any more comments: Thank you for your work. I know that you spent over a year on the federation gem and on getting this first PR out. This is awesome and I guess it is fair to say that this is the biggest change for diaspora so far. It is very sad that, if everything goes well, no user will ever notice what was achieved here, but that's the fun of backend work, isn't it?
I finished a first round of review, mainly looking for obvious mistakes (which I did not find any) and style improvements. The migrations look fine to me, but I will run them on a copy of Geraspora's database (which, coincidentally, is a Postgres database) to make sure. Also, I do expect some more changes to come.
But... great work so far!
Finally, a note to everyone else: I know everyone is excited, but please keep the comments of this PR rather clean. Please add your heart and party emoticons to the PR, but please do not post any comments unless needed. If you have questions about a change or you want to suggest something but you are not sure if this is something that should be done, please contact a core team member via IRC. I do expect some technical discussions about some implementations in this PR and everything will be easier if we reduce the amount of off-topic comments. Thanks! <3
I updated d-fr which now runs the last develop commits.
Thank you very much!
Before diaspora#6873 we deleted contacts when someone blocks a person, but we didn't drop the notification for the started sharing event. In diaspora#6864 we try to get the contact for the notification, which is not there anymore. So we need to remove the notifications for the contacts that don't exit anymore.