From 05e7d0a438ab8223b059441a0acd62e99b022d82 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Fri, 23 Aug 2019 03:17:20 +0300 Subject: [PATCH 1/2] Add an index on object likes In !1538 favorites timeline was switched to use the joined object, but no idex on likes in the joined object was added. --- CHANGELOG.md | 1 + priv/repo/migrations/20190823000549_add_likes_index_to_objects.exs | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 priv/repo/migrations/20190823000549_add_likes_index_to_objects.exs diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b0f4f40e..880fba58a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Fixed - Not being able to pin unlisted posts - Objects being re-embedded to activities after being updated (e.g faved/reposted). Running 'mix pleroma.database prune_objects' again is advised. +- Favorites timeline doing database-intensive queries - Metadata rendering errors resulting in the entire page being inaccessible - `federation_incoming_replies_max_depth` option being ignored in certain cases - Federation/MediaProxy not working with instances that have wrong certificate order diff --git a/priv/repo/migrations/20190823000549_add_likes_index_to_objects.exs b/priv/repo/migrations/20190823000549_add_likes_index_to_objects.exs new file mode 100644 index 000000000..13f3d6e83 --- /dev/null +++ b/priv/repo/migrations/20190823000549_add_likes_index_to_objects.exs @@ -0,0 +1,7 @@ +defmodule Pleroma.Repo.Migrations.AddLikesIndexToObjects do + use Ecto.Migration + + def change do + create_if_not_exists index(:objects, ["(data->'likes')"], using: :gin, name: :objects_likes) + end +end From e5f76a54e660585d4a2fb1c224d5b22d36d499c3 Mon Sep 17 00:00:00 2001 From: aries Date: Fri, 23 Aug 2019 21:28:52 +0000 Subject: [PATCH 2/2] Fix default config of account fields length --- config/config.exs | 4 ++-- docs/config.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config/config.exs b/config/config.exs index f0b6b0363..118f697b3 100644 --- a/config/config.exs +++ b/config/config.exs @@ -257,8 +257,8 @@ config :pleroma, :instance, user_name_length: 100, max_account_fields: 10, max_remote_account_fields: 20, - account_field_name_length: 255, - account_field_value_length: 255, + account_field_name_length: 512, + account_field_value_length: 512, external_user_synchronization: true config :pleroma, :markup, diff --git a/docs/config.md b/docs/config.md index ec3035c22..c246e2f6c 100644 --- a/docs/config.md +++ b/docs/config.md @@ -134,8 +134,8 @@ config :pleroma, Pleroma.Emails.Mailer, * `dynamic_configuration`: Allow transferring configuration to DB with the subsequent customization from Admin api. * `max_account_fields`: The maximum number of custom fields in the user profile (default: `10`) * `max_remote_account_fields`: The maximum number of custom fields in the remote user profile (default: `20`) -* `account_field_name_length`: An account field name maximum length (default: `255`) -* `account_field_value_length`: An account field value maximum length (default: `255`) +* `account_field_name_length`: An account field name maximum length (default: `512`) +* `account_field_value_length`: An account field value maximum length (default: `512`) * `external_user_synchronization`: Enabling following/followers counters synchronization for external users.