Before #6873 we deleted contacts when someone blocks a person, but we
didn't drop the notification for the started sharing event. In #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.
This migrations runs only if the old 20150404193023_participation_counter
migration has not been run.
The new migration is a lot faster, because it runs after the
participation-cleanup migration has been run, so the participation table
is now a lot smaller for people upgrading from 0.5.x to 0.6.x.
It also doesn't remove manually created participations (without likes,
comments or poll participations on the same post).
Fixes#6786
* remove author_signature column
* delete all self-participating participations
* delete all participations where author and post-author are remote
* delete all duplicate participations
* delete all participations without post
* create unique index
Following query takes over 20 minutes and fills up the database:
SELECT * FROM participations WHERE author_id = XXXXX
On servers with a huge participations-table this is a serious
performance issue which is easily fixed by the author_id index
Signed-off-by: Lukas Matt <lukas@zauberstuhl.de>
We can determine diaspora_handle from a relation with people for the
shareables (posts, photos). So we don't need to store diaspora_handle in
the DB. Also remove tmp_old_id from photos which is not refenrenced anywhere.
Also:
* remove share visibilities where the shareable is already deleted
* remove share visibilities where the user doesn't exist
* remove `created_at` and `updated_at` to make the table smaller
As according to http://openid.net/specs/openid-connect-core-1_0.html#PairwiseAlg:
"If the Client has not provided a value for
sector_identifier_uri in Dynamic Client Registration
[OpenID.Registration], the Sector Identifier used
for pairwise identifier calculation is the host
component of the registered redirect_uri."
add tooltips in the frontend
fix a JS problem with empty hostname
use `find_in_batches` correctly
add a migration to clean up the pods table + unique index on hostname
* add a class for checking pod connectivity
* extend pod model to handle new functionality
* add an admin frontend to list pods and re-trigger checks manually
* add a daily worker to run through all the pods
* add unit tests for most of the new code