* 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
This adds a new boolean field "public_details" to person model.
By default it is false and represents old behaviour. When it is
set to true, extended profile (bio,location,gender,birthday)
get available to people who didn't log into diaspora and to
people you don't share with (i.e. it is made public).
In UI, a bootstrap-switch added on the profile-edit page in order to
change the setting.
This also changes wording from public/private profile to basic/extended.
The latter could be public and limited.