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
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.
mysql changes the type of TEXT columns to MEDIUMTEXT with "CONVERT TO",
but we don't want this, so change this columns back to TEXT.
see: https://bugs.mysql.com/bug.php?id=31291
Add #clear_account! disable mail spec
Add migration for disabling mail for all closed accounts
Change migration to use #update_all for disable_mail attribute
Add #clear_account! false fields spec
Add warning about MySQL collation
Fix database index length
This allows new databases to be created with utf8mb4, on MySQL. The maximum
column size is 767 bytes. Each character is 4 bytes long -> 767 / 4 = 191
characters for the column.
URI.extract recognized http:// as an URL, causing invalid
associations. #5347 already fixed the parsing, this just
cleans up the caches to get rid of the false associations.
Add Sidetiq webview to the Sidekiq monitoring panel
Add rake task maintenance:queue_users_for_removal
This basically just triggers an immediate run of the normal maintenance remove old users functionality that is normally (if enabled) scheduled to run once a day via sidetiq
Add extra safety when checking for user removal due to inactivity.
Now also user.last_seen will also be checked to make sure a user will not be removed in the event that the Devise rememember me login functionality has stopped the users remove_after timestamp from being removed.
Add initializer for maintenance job.
Add warning about mail being disabled if remove_old_users maintenance is enabled.