pleroma issueshttps://git.pleroma.social/pleroma/pleroma/-/issues2023-06-07T15:26:27Zhttps://git.pleroma.social/pleroma/pleroma/-/issues/3014Jsonrs issues2023-06-07T15:26:27ZZeroJsonrs issues### Environment
* Installation type: Source
* Pleroma version: 2.4.5 stable
* Elixir version: Elixir 1.13.0 (compiled with Erlang/OTP 24)
* Operating system: Ubuntu
* PostgreSQL version: 12.12
### Bug description
So I was looking for...### Environment
* Installation type: Source
* Pleroma version: 2.4.5 stable
* Elixir version: Elixir 1.13.0 (compiled with Erlang/OTP 24)
* Operating system: Ubuntu
* PostgreSQL version: 12.12
### Bug description
So I was looking for ways to speed up Pleroma, and I found [Jsonrs](https://hexdocs.pm/jsonrs/readme.html), the authors claim it to be much faster than Jason and even Jiffy, you can see the graphs in their page.
So anyway, I added it to mix.exs and used the following in my config:
```
config :phoenix, :format_encoders, json: Jsonrs, "activity+json": Jsonrs
config :phoenix, :json_library, Jsonrs
config :postgrex, :json_library, Jsonrs
```
To my surprise, everything seemed to work or so I thought, later I found out anything under the "Settings" menu for admin-fe doesn't seem to work properly when using Jsonrs.
I _think_ I traced the issue to Phoenix not being able to decode the JSON for the settings' descriptions Pleroma sends to it when using Jsonrs, but thats as far I was able to go on my own.
I managed to get a full log of the error by adding `config :logger, truncate: :infinity` to my config, as it was too long and got truncated otherwise.
The log file was upload [here](https://git.pleroma.social/-/snippets/7642/raw/main/jsonrs.log) as it would probably be too long to include in the post.
So what I'm asking is if someone knows how to solve or even work around this issue, because if this Json library is that much faster, it could benefit everyone using Pleroma.https://git.pleroma.social/pleroma/pleroma/-/issues/3129Purge or prevent OAuth tokens with no user id2023-05-29T09:44:44ZDuponinPurge or prevent OAuth tokens with no user idFollowing recent security update, I deleted all OAuth tokens but I noticed there was a huge amount (a bit more than 300k) tokens where `user_id` is `NULL`.
In comparison, I had slightly more than 3k valid OAuth tokens (with `user_id` set...Following recent security update, I deleted all OAuth tokens but I noticed there was a huge amount (a bit more than 300k) tokens where `user_id` is `NULL`.
In comparison, I had slightly more than 3k valid OAuth tokens (with `user_id` set).
You can find on your instance doing the following SQL `select count(id) from oauth_tokens where user_id is null;`.
I’ve yet to understand why these tokens without `user_id` exist.
@lanodan told me those exist because of Mastodon applications that don’t work with our MastoAPI implementation (citation needed).
We should prevent those to exist ideally in a first place, but in case we can’t, having a purge would be good.
I’m not sure if this is a security issue, but still concerning nonetheless.https://git.pleroma.social/pleroma/pleroma/-/issues/3126Confirmed user javascript execution bug2023-05-29T08:48:04ZlainConfirmed user javascript execution bugPoa.st has apparently lost some user token to a rather sophisticated attack.
Apparently, the user was able to upload javascript (nothing unusual here) and then executive it via a nostr bridge. I don't understand how this is supposed to...Poa.st has apparently lost some user token to a rather sophisticated attack.
Apparently, the user was able to upload javascript (nothing unusual here) and then executive it via a nostr bridge. I don't understand how this is supposed to work yet.
The poa.st admin has written about it, I'll quote the full post here:
https://poa.st/notice/AW21NSFdXhFPb2Zzai
> on may 19, 2023 an unknown user registered the domain name fedirelay.xyz and setup a fake mostr (nostr) relay to listen for requests on the fediverse.
>
> on may 20, 2023 at 20:52 (utc) a user uploaded the attached document to poast. it was originally an obfuscated javascript file (unobfuscated and attached it here, renamed to .txt so you can view it in any editor).
>
> what this javascript file does is take the viewers oauth token, encode it to make it look like a nostr pubkey and then forced the clandestine mostr relay to look up that user locally giving that server the encoded token all while appearing to be a legitimate mostr (nostr) bridge
>
> i have taken steps to completely limit access to the admin api and corrected any CSP or other issues that could possibly have contributed to this, however most of you (instance owners) are still vulnerable to it. the default pleroma install serves media files on your root domain as a local folder (i.e. yourdomain.xyz/media) and the default CSP for any site is to allow executing scripts via the root domain. in order to prevent this you should take steps to either move your media from yourdomain.xyz/media to media.yourdomain.xyz (or any subdomain outside of your root domain) or perhaps by limiting the CSP for that subdirectory via nginx configuration.
>
> if you are an instance owner, the obfuscated file hash is `b2977f2d97f598d2ebd6dcf37afd9047b5da2b6dc95a7b2824fb111c906fb117` so you can search yourdomain.xyz/media/b2977f2d97f598d2ebd6dcf37afd9047b5da2b6dc95a7b2824fb111c906fb117.js and see if you have it on your server.
>
> no user password or anything beyond email:user and your chats and media associated with them have been archived and everybody's tokens were dropped forcing you to all relog on your accounts. this is to ensure that if any of you had tokens exposed by viewing this JavaScript, they are no longer functional on poast.
>
> sorry to anybody i let down but i could never have foreseen this level of sophistication and i would not have ever expected it. now that we are aware of it, we will be more diligent in the future. thanks for being here with us still friends
> 4ed28ef4fa5e18bfa5c1f7…7e2fcc6d0cdb0215f15.txt
[4ed28ef4fa5e18bfa5c1f75a5c1cc759f7b718c0b600e7e2fcc6d0cdb0215f15.txt](/uploads/652ff240e96c1c9913c5eff75dba2778/4ed28ef4fa5e18bfa5c1f75a5c1cc759f7b718c0b600e7e2fcc6d0cdb0215f15.txt)https://git.pleroma.social/pleroma/pleroma/-/issues/3122Self-deleting account doesn't purge all its statuses2023-05-27T03:45:26ZtusooaSelf-deleting account doesn't purge all its statuses0. Delete one's own account using the delete account API
1. Their posts are still retained, and still exposed in the context API. This contradicts to user expectation that deleting their account will also purge all of its posts, at least...0. Delete one's own account using the delete account API
1. Their posts are still retained, and still exposed in the context API. This contradicts to user expectation that deleting their account will also purge all of its posts, at least from the point of view of the local server.https://git.pleroma.social/pleroma/pleroma/-/issues/3045Malformed XML in Atom feed due to truncation in the middle of a character entity2023-05-26T22:16:26ZAndrew AyerMalformed XML in Atom feed due to truncation in the middle of a character entity### Environment
* Installation type (OTP or From Source): OTP
* Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE): 2.5.0
* Elixir version (`elixir -v` for from source installations, N/A for OTP): N/A
* Oper...### Environment
* Installation type (OTP or From Source): OTP
* Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE): 2.5.0
* Elixir version (`elixir -v` for from source installations, N/A for OTP): N/A
* Operating system: Debian 11
* PostgreSQL version (`psql -V`): 14.6
### Bug description
Pleroma is generating the following malformed XML in the [Atom feed](https://follow.agwa.name/users/agwa/feed.atom). Consequentially the feed can't be parsed.
```
<title>If all of the information for a key+subject matches, great! But it often doesn't, and there&#...</title>
```
It looks like the title is being XML-escaped and then truncated. Truncation should occur before XML escaping to ensure truncation doesn't happen in the middle of a character entity.
Thanks for all your work on Pleroma!https://git.pleroma.social/pleroma/pleroma/-/issues/30622.5.0 build from source: '/opt/pleroma/lib/crypt-0.4.3/priv/crypt.so: undefin...2023-05-26T22:16:26ZKuoi Z2.5.0 build from source: '/opt/pleroma/lib/crypt-0.4.3/priv/crypt.so: undefined symbol: crypt'"<!--
### Precheck
* For support use https://git.pleroma.social/pleroma/pleroma-support or [community channels](https://git.pleroma.social/pleroma/pleroma#community-channels).
* Please do a quick search to ensure no similar bug has been ...<!--
### Precheck
* For support use https://git.pleroma.social/pleroma/pleroma-support or [community channels](https://git.pleroma.social/pleroma/pleroma#community-channels).
* Please do a quick search to ensure no similar bug has been reported before. If the bug has not been addressed after 2 weeks, it's fine to bump it.
* Try to ensure that the bug is actually related to the Pleroma backend. For example, if a bug happens in Pleroma-FE but not in Mastodon-FE or mobile clients, it's likely that the bug should be filed in [Pleroma-FE](https://git.pleroma.social/pleroma/pleroma-fe/issues/new) repository.
-->
### Environment
* Installation type (OTP or From Source): OTP, Compile from source by myself
* Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE): 2.5.0
* Elixir version (`elixir -v` for from source installations, N/A for OTP): 1.14.0
* Operating system: ArchLinux
* PostgreSQL version (`psql -V`): 15.1
### Bug description
My build command is that
```
cd git_repo_tag_2.5.0
mix local.hex --force
mix local.rebar --force
mix deps.get
mix deps.get --only prod
mkdir /opt/pleroma
mix release --path /opt/pleroma
```
After it's built I configure it. With the configuration below, I successfully run the official OTP release but fail with my build OTP. I already installed [libxcrypt-compat](https://archlinux.org/packages/core/x86_64/libxcrypt-compat/) and [libxcrypt](https://archlinux.org/packages/core/x86_64/libxcrypt/)
```
sudo -Hu pleroma /opt/pleroma/bin/pleroma_ctl instance gen --output "/etc/pleroma/config.exs" --output-psql "/tmp/setup_otp_db.psql" --uploads-dir "/var/lib/pleroma/uploads" --static-dir "/var/lib/pleroma/static" --dbname "pleroma" --dbuser "pleroma"
sudo -Hu postgres psql -f "/tmp/setup_otp_db.psql"
sudo -Hu pleroma /opt/pleroma/bin/pleroma_ctl migrate
```
the error log is here
<details>
```
Feb 11 21:54:53 helix pleroma[2934]: crasher:
Feb 11 21:54:53 helix pleroma[2934]: initial call: application_master:init/4
Feb 11 21:54:53 helix pleroma[2934]: pid: <0.3557.0>
Feb 11 21:54:53 helix pleroma[2934]: registered_name: []
Feb 11 21:54:53 helix pleroma[2934]: exception exit: {{shutdown,
Feb 11 21:54:53 helix pleroma[2934]: {failed_to_start_child,kernel_safe_sup,
Feb 11 21:54:53 helix pleroma[2934]: {on_load_function_failed,crypt,
Feb 11 21:54:53 helix pleroma[2934]: {error,
Feb 11 21:54:53 helix pleroma[2934]: {load_failed,
Feb 11 21:54:53 helix pleroma[2934]: "Failed to load NIF library: '/opt/pleroma/lib/crypt-0.4.3/priv/crypt.so: undefined symbol: crypt'"}}}}},
Feb 11 21:54:53 helix pleroma[2934]: {kernel,start,[normal,[]]}}
Feb 11 21:54:53 helix pleroma[2934]: in function application_master:init/4 (application_master.erl, line 142)
Feb 11 21:54:53 helix pleroma[2934]: ancestors: [<0.3556.0>]
Feb 11 21:54:53 helix pleroma[2934]: message_queue_len: 1
Feb 11 21:54:53 helix pleroma[2934]: messages: [{'EXIT',<0.3558.0>,normal}]
Feb 11 21:54:53 helix pleroma[2934]: links: [<0.3556.0>,<0.3555.0>]
Feb 11 21:54:53 helix pleroma[2934]: dictionary: []
Feb 11 21:54:53 helix pleroma[2934]: trap_exit: true
Feb 11 21:54:53 helix pleroma[2934]: status: running
Feb 11 21:54:53 helix pleroma[2934]: heap_size: 987
Feb 11 21:54:53 helix pleroma[2934]: stack_size: 28
Feb 11 21:54:53 helix pleroma[2934]: reductions: 182
Feb 11 21:54:53 helix pleroma[2934]: neighbours:
Feb 11 21:54:53 helix pleroma[2934]:
Feb 11 21:54:53 helix pleroma[2934]: =INFO REPORT==== 11-Feb-2023::21:54:53.824740 ===
Feb 11 21:54:53 helix pleroma[2934]: application: kernel
Feb 11 21:54:53 helix pleroma[2934]: exited: {{shutdown,
Feb 11 21:54:53 helix pleroma[2934]: {failed_to_start_child,kernel_safe_sup,
Feb 11 21:54:53 helix pleroma[2934]: {on_load_function_failed,crypt,
Feb 11 21:54:53 helix pleroma[2934]: {error,
Feb 11 21:54:53 helix pleroma[2934]: {load_failed,
Feb 11 21:54:53 helix pleroma[2934]: "Failed to load NIF library: '/opt/pleroma/lib/crypt-0.4.3/priv/crypt.so: undefined symbol: crypt'"}}}}},
Feb 11 21:54:53 helix pleroma[2934]: {kernel,start,[normal,[]]}}
Feb 11 21:54:53 helix pleroma[2934]: type: permanent
Feb 11 21:54:53 helix pleroma[2934]:
Feb 11 21:54:54 helix pleroma[2934]: {"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypt,{error,{load_failed,\"Failed to load NIF library: '/opt/pleroma/lib/crypt-0.4.3/priv/crypt.so: undefined symbol: crypt'\"}}}}},{kernel,start,[normal,[]]}}}"}
Feb 11 21:54:54 helix pleroma[2934]: Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypt,{error,{load_failed,"Failed to load NIF library: '/opt/pleroma/lib/crypt-0.4.3/priv/crypt.so: undefined symbol: crypt'"}}}}},{kernel,start,[normal,[]]}}})
Feb 11 21:54:54 helix pleroma[2934]:
Feb 11 21:54:54 helix pleroma[2934]: Crash dump is being written to: erl_crash.dump...done
Feb 11 21:54:54 helix systemd[1]: pleroma.service: Main process exited, code=exited, status=1/FAILURE
Feb 11 21:54:54 helix systemd[1]: pleroma.service: Failed with result 'exit-code'.
Feb 11 21:54:54 helix systemd[1]: pleroma.service: Unit process 450 (epmd) remains running after unit stopped.
Feb 11 21:54:54 helix systemd[1]: pleroma.service: Consumed 5.104s CPU time.
Feb 11 21:54:54 helix systemd[1]: pleroma.service: Scheduled restart job, restart counter is at 37.
Feb 11 21:54:54 helix systemd[1]: Stopped Pleroma social network.
Feb 11 21:54:54 helix systemd[1]: pleroma.service: Consumed 5.104s CPU time.
Feb 11 21:54:54 helix systemd[1]: pleroma.service: Found left-over process 450 (epmd) in control group while starting unit. Ignoring.
Feb 11 21:54:54 helix systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Feb 11 21:54:54 helix systemd[1]: Started Pleroma social network.
Feb 11 21:54:55 helix systemd[1]: Stopping Pleroma social network...
Feb 11 21:54:56 helix pleroma[3065]: --rpc-eval : RPC failed with reason :nodedown
Feb 11 21:54:56 helix systemd[1]: pleroma.service: Control process exited, code=exited, status=1/FAILURE
Feb 11 21:54:58 helix pleroma[3007]: =SUPERVISOR REPORT==== 11-Feb-2023::21:54:58.407014 ===
Feb 11 21:54:58 helix pleroma[3007]: supervisor: {local,kernel_sup}
Feb 11 21:54:58 helix pleroma[3007]: errorContext: start_error
Feb 11 21:54:58 helix pleroma[3007]: reason: {on_load_function_failed,crypt,
Feb 11 21:54:58 helix pleroma[3007]: {error,
Feb 11 21:54:58 helix pleroma[3007]: {load_failed,
Feb 11 21:54:58 helix pleroma[3007]: "Failed to load NIF library: '/opt/pleroma/lib/crypt-0.4.3/priv/crypt.so: undefined symbol: crypt'"}}}
Feb 11 21:54:58 helix pleroma[3007]: offender: [{pid,undefined},
Feb 11 21:54:58 helix pleroma[3007]: {id,kernel_safe_sup},
Feb 11 21:54:58 helix pleroma[3007]: {mfargs,{supervisor,start_link,
Feb 11 21:54:58 helix pleroma[3007]: [{local,kernel_safe_sup},kernel,safe]}},
Feb 11 21:54:58 helix pleroma[3007]: {restart_type,permanent},
Feb 11 21:54:58 helix pleroma[3007]: {significant,false},
Feb 11 21:54:58 helix pleroma[3007]: {shutdown,infinity},
Feb 11 21:54:58 helix pleroma[3007]: {child_type,supervisor}]
Feb 11 21:54:58 helix pleroma[3007]:
Feb 11 21:54:58 helix pleroma[3007]: =CRASH REPORT==== 11-Feb-2023::21:54:58.409484 ===
Feb 11 21:54:58 helix pleroma[3007]: crasher:
Feb 11 21:54:58 helix pleroma[3007]: initial call: supervisor:kernel/1
Feb 11 21:54:58 helix pleroma[3007]: pid: <0.3585.0>
Feb 11 21:54:58 helix pleroma[3007]: registered_name: []
Feb 11 21:54:58 helix pleroma[3007]: exception exit: {on_load_function_failed,crypt,
Feb 11 21:54:58 helix pleroma[3007]: {error,
Feb 11 21:54:58 helix pleroma[3007]: {load_failed,
Feb 11 21:54:58 helix pleroma[3007]: "Failed to load NIF library: '/opt/pleroma/lib/crypt-0.4.3/priv/crypt.so: undefined symbol: crypt'"}}}
Feb 11 21:54:58 helix pleroma[3007]: in function init:run_on_load_handlers/0
Feb 11 21:54:58 helix pleroma[3007]: in call from kernel:init/1 (kernel.erl, line 196)
Feb 11 21:54:58 helix pleroma[3007]: in call from supervisor:init/1 (supervisor.erl, line 330)
Feb 11 21:54:58 helix pleroma[3007]: in call from gen_server:init_it/2 (gen_server.erl, line 851)
Feb 11 21:54:58 helix pleroma[3007]: in call from gen_server:init_it/6 (gen_server.erl, line 814)
Feb 11 21:54:58 helix pleroma[3007]: ancestors: [kernel_sup,<0.3558.0>]
Feb 11 21:54:58 helix pleroma[3007]: message_queue_len: 0
Feb 11 21:54:58 helix pleroma[3007]: messages: []
Feb 11 21:54:58 helix pleroma[3007]: links: [<0.3560.0>]
Feb 11 21:54:58 helix pleroma[3007]: dictionary: []
Feb 11 21:54:58 helix pleroma[3007]: trap_exit: true
Feb 11 21:54:58 helix pleroma[3007]: status: running
Feb 11 21:54:58 helix pleroma[3007]: heap_size: 610
Feb 11 21:54:58 helix pleroma[3007]: stack_size: 28
Feb 11 21:54:58 helix pleroma[3007]: reductions: 213
Feb 11 21:54:58 helix pleroma[3007]: neighbours:
Feb 11 21:54:58 helix pleroma[3007]:
Feb 11 21:54:59 helix pleroma[3007]: =CRASH REPORT==== 11-Feb-2023::21:54:59.412397 ===
Feb 11 21:54:59 helix pleroma[3007]: crasher:
Feb 11 21:54:59 helix pleroma[3007]: initial call: application_master:init/4
Feb 11 21:54:59 helix pleroma[3007]: pid: <0.3557.0>
Feb 11 21:54:59 helix pleroma[3007]: registered_name: []
Feb 11 21:54:59 helix pleroma[3007]: exception exit: {{shutdown,
Feb 11 21:54:59 helix pleroma[3007]: {failed_to_start_child,kernel_safe_sup,
Feb 11 21:54:59 helix pleroma[3007]: {on_load_function_failed,crypt,
Feb 11 21:54:59 helix pleroma[3007]: {error,
Feb 11 21:54:59 helix pleroma[3007]: {load_failed,
Feb 11 21:54:59 helix pleroma[3007]: "Failed to load NIF library: '/opt/pleroma/lib/crypt-0.4.3/priv/crypt.so: undefined symbol: crypt'"}}}}},
Feb 11 21:54:59 helix pleroma[3007]: {kernel,start,[normal,[]]}}
Feb 11 21:54:59 helix pleroma[3007]: in function application_master:init/4 (application_master.erl, line 142)
Feb 11 21:54:59 helix pleroma[3007]: ancestors: [<0.3556.0>]
Feb 11 21:54:59 helix pleroma[3007]: message_queue_len: 1
Feb 11 21:54:59 helix pleroma[3007]: messages: [{'EXIT',<0.3558.0>,normal}]
Feb 11 21:54:59 helix pleroma[3007]: links: [<0.3556.0>,<0.3555.0>]
Feb 11 21:54:59 helix pleroma[3007]: dictionary: []
Feb 11 21:54:59 helix pleroma[3007]: trap_exit: true
Feb 11 21:54:59 helix pleroma[3007]: status: running
Feb 11 21:54:59 helix pleroma[3007]: heap_size: 987
Feb 11 21:54:59 helix pleroma[3007]: stack_size: 28
Feb 11 21:54:59 helix pleroma[3007]: reductions: 182
Feb 11 21:54:59 helix pleroma[3007]: neighbours:
Feb 11 21:54:59 helix pleroma[3007]:
Feb 11 21:54:59 helix pleroma[3007]: =INFO REPORT==== 11-Feb-2023::21:54:59.415243 ===
Feb 11 21:54:59 helix pleroma[3007]: application: kernel
Feb 11 21:54:59 helix pleroma[3007]: exited: {{shutdown,
Feb 11 21:54:59 helix pleroma[3007]: {failed_to_start_child,kernel_safe_sup,
Feb 11 21:54:59 helix pleroma[3007]: {on_load_function_failed,crypt,
Feb 11 21:54:59 helix pleroma[3007]: {error,
Feb 11 21:54:59 helix pleroma[3007]: {load_failed,
Feb 11 21:54:59 helix pleroma[3007]: "Failed to load NIF library: '/opt/pleroma/lib/crypt-0.4.3/priv/crypt.so: undefined symbol: crypt'"}}}}},
Feb 11 21:54:59 helix pleroma[3007]: {kernel,start,[normal,[]]}}
Feb 11 21:54:59 helix pleroma[3007]: type: permanent
Feb 11 21:54:59 helix pleroma[3007]:
Feb 11 21:54:59 helix pleroma[3007]: {"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypt,{error,{load_failed,\"Failed to load NIF library: '/opt/pleroma/lib/crypt-0.4.3/priv/crypt.so: undefined symbol: crypt'\"}}}}},{kernel,start,[normal,[]]}}}"}
Feb 11 21:54:59 helix pleroma[3007]: Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypt,{error,{load_failed,"Failed to load NIF library: '/opt/pleroma/lib/crypt-0.4.3/priv/crypt.so: undefined symbol: crypt'"}}}}},{kernel,start,[normal,[]]}}})
Feb 11 21:54:59 helix pleroma[3007]:
Feb 11 21:55:00 helix pleroma[3007]: Crash dump is being written to: erl_crash.dump...done
Feb 11 21:55:00 helix systemd[1]: pleroma.service: Main process exited, code=exited, status=1/FAILURE
Feb 11 21:55:00 helix systemd[1]: pleroma.service: Failed with result 'exit-code'.
Feb 11 21:55:00 helix systemd[1]: pleroma.service: Unit process 450 (epmd) remains running after unit stopped.
Feb 11 21:55:00 helix systemd[1]: Stopped Pleroma social network.
Feb 11 21:55:00 helix systemd[1]: pleroma.service: Consumed 5.701s CPU time.
```
</details>
I even try to mv official OTP crypt.so to this path, the log is here with web 502
<details>
```
Feb 11 21:57:59 helix systemd[1]: Started Pleroma social network.
Feb 11 21:58:02 helix pleroma[3517]: [notice] :alarm_handler: {:set, {:system_memory_high_watermark, []}}
Feb 11 21:58:03 helix pleroma[3517]: [info] Function passed as a handler with ID "pleroma-logger" is local function.
Feb 11 21:58:03 helix pleroma[3517]: This mean that it is either anonymous function or capture of function without module specified. That may cause performance penalty when calling such handler. For more details see note in `telemetry:attach/4` documentation.
Feb 11 21:58:03 helix pleroma[3517]: https://hexdocs.pm/telemetry/telemetry.html#attach-4
Feb 11 21:58:03 helix pleroma[3517]: [debug] QUERY OK source="columns" db=6.6ms queue=8.2ms idle=0.0ms
Feb 11 21:58:03 helix pleroma[3517]: SELECT TRUE FROM "information_schema"."columns" AS c0 WHERE (c0."table_name" = 'objects') AND (c0."column_name" = 'fts_content') LIMIT 1 []
Feb 11 21:58:03 helix pleroma[3517]: [info] Function passed as a handler with ID "telemetry_web__event_handler" is local function.
Feb 11 21:58:03 helix pleroma[3517]: This mean that it is either anonymous function or capture of function without module specified. That may cause performance penalty when calling such handler. For more details see note in `telemetry:attach/4` documentation.
Feb 11 21:58:03 helix pleroma[3517]: https://hexdocs.pm/telemetry/telemetry.html#attach-4
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.ForceMentionsInContent is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.DropPolicy is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.TagPolicy is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.NoPlaceholderTextPolicy is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.ForceBotUnlistedPolicy is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.EnsureRePrepended is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.AntiLinkSpamPolicy is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.AntiFollowbotPolicy is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.FollowBotPolicy is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.NoEmptyPolicy is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.UserAllowListPolicy is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] Elixir.Pleroma.Web.ActivityPub.MRF.NoOpPolicy is excluded from config descriptions, because does not implement `config_description/0` method.
Feb 11 21:58:03 helix pleroma[3517]: [debug] QUERY OK source="config" db=6.0ms queue=28.0ms idle=0.0ms
Feb 11 21:58:03 helix pleroma[3517]: SELECT c0."id", c0."key", c0."group", c0."value", c0."inserted_at", c0."updated_at" FROM "config" AS c0 []
Feb 11 21:58:03 helix pleroma[3517]: [info] Function passed as a handler with ID "oban-monitor-failure" is local function.
Feb 11 21:58:03 helix pleroma[3517]: This mean that it is either anonymous function or capture of function without module specified. That may cause performance penalty when calling such handler. For more details see note in `telemetry:attach/4` documentation.
Feb 11 21:58:03 helix pleroma[3517]: https://hexdocs.pm/telemetry/telemetry.html#attach-4
Feb 11 21:58:03 helix pleroma[3517]: [info] Function passed as a handler with ID "oban-monitor-success" is local function.
Feb 11 21:58:03 helix pleroma[3517]: This mean that it is either anonymous function or capture of function without module specified. That may cause performance penalty when calling such handler. For more details see note in `telemetry:attach/4` documentation.
Feb 11 21:58:03 helix pleroma[3517]: https://hexdocs.pm/telemetry/telemetry.html#attach-4
Feb 11 21:58:03 helix pleroma[3517]: [debug] QUERY OK source="data_migrations" db=0.8ms queue=1.3ms idle=45.2ms
Feb 11 21:58:03 helix pleroma[3517]: SELECT d0."id", d0."name", d0."state", d0."feature_lock", d0."params", d0."data", d0."inserted_at", d0."updated_at" FROM "data_migrations" AS d0 WHERE (d0."name" = $1) ["populate_hashtags_table"]
Feb 11 21:58:03 helix pleroma[3517]: [info] Gopher server disabled
Feb 11 21:58:03 helix pleroma[3517]: [debug] QUERY OK db=0.2ms queue=0.3ms idle=44.1ms
Feb 11 21:58:03 helix pleroma[3517]: show server_version []
Feb 11 21:58:03 helix pleroma[3517]: [debug] QUERY OK source="data_migrations" db=2.5ms queue=2.5ms idle=42.8ms
Feb 11 21:58:03 helix pleroma[3517]: SELECT d0."id", d0."name", d0."state", d0."feature_lock", d0."params", d0."data", d0."inserted_at", d0."updated_at" FROM "data_migrations" AS d0 WHERE (d0."name" = $1) ["delete_context_objects"]
Feb 11 21:58:03 helix pleroma[3517]: [debug] QUERY OK source="data_migrations" db=1.8ms queue=0.3ms idle=44.2ms
Feb 11 21:58:03 helix pleroma[3517]: SELECT d0."id", d0."name", d0."state", d0."feature_lock", d0."params", d0."data", d0."inserted_at", d0."updated_at" FROM "data_migrations" AS d0 WHERE (d0."name" = $1) ["delete_context_objects"]
Feb 11 21:58:03 helix pleroma[3517]: [debug] QUERY OK source="data_migrations" db=5.2ms queue=0.5ms idle=44.5ms
Feb 11 21:58:03 helix pleroma[3517]: SELECT d0."id", d0."name", d0."state", d0."feature_lock", d0."params", d0."data", d0."inserted_at", d0."updated_at" FROM "data_migrations" AS d0 WHERE (d0."name" = $1) ["populate_hashtags_table"]
Feb 11 21:58:04 helix pleroma[3517]: [debug] QUERY OK source="users" db=469.7ms decode=0.2ms queue=1.9ms idle=24.7ms
Feb 11 21:58:04 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 21:58:04 helix pleroma[3517]: [debug] QUERY OK source="users" db=7.1ms queue=1.9ms idle=486.4ms
Feb 11 21:58:04 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 21:58:04 helix pleroma[3517]: [debug] QUERY OK source="users" db=2.3ms queue=1.1ms idle=494.4ms
Feb 11 21:58:04 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 21:58:08 helix pleroma[3517]: [debug] QUERY OK source="users" db=95.5ms queue=1.2ms idle=1068.6ms
Feb 11 21:58:08 helix pleroma[3517]: SELECT u0."id", u0."bio", u0."raw_bio", u0."email", u0."name", u0."nickname", u0."password_hash", u0."keys", u0."public_key", u0."ap_id", u0."avatar", u0."local", u0."follower_address", u0."following_address", u0."featured_address", u0."tags", u0."last_refreshed_at", u0."last_digest_emailed_at", u0."banner", u0."background", u0."note_count", u0."follower_count", u0."following_count", u0."is_locked", u0."is_confirmed", u0."password_reset_pending", u0."is_approved", u0."registration_reason", u0."confirmation_token", u0."default_scope", u0."domain_blocks", u0."is_active", u0."no_rich_text", u0."ap_enabled", u0."is_moderator", u0."is_admin", u0."show_role", u0."uri", u0."hide_followers_count", u0."hide_follows_count", u0."hide_followers", u0."hide_follows", u0."hide_favorites", u0."email_notifications", u0."mascot", u0."emoji", u0."pleroma_settings_store", u0."fields", u0."raw_fields", u0."is_discoverable", u0."invisible", u0."allow_following_move", u0."skip_thread_containment", u0."actor_type", u0."also_known_as", u0."inbox", u0."shared_inbox", u0."accepts_chat_messages", u0."last_active_at", u0."disclose_client", u0."pinned_objects", u0."is_suggested", u0."last_status_at", u0."birthday", u0."show_birthday", u0."language", u0."notification_settings", u0."blocks", u0."mutes", u0."muted_reblogs", u0."muted_notifications", u0."subscribers", u0."multi_factor_authentication_settings", u0."inserted_at", u0."updated_at" FROM "users" AS u0 WHERE (u0."ap_id" = $1) ["https://social.malacology.net/internal/fetch"]
Feb 11 21:59:04 helix pleroma[3517]: [debug] QUERY OK source="users" db=418.4ms queue=0.1ms idle=888.4ms
Feb 11 21:59:04 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 21:59:04 helix pleroma[3517]: [debug] QUERY OK source="users" db=5.3ms idle=952.2ms
Feb 11 21:59:04 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 21:59:04 helix pleroma[3517]: [debug] QUERY OK source="users" db=2.4ms idle=957.8ms
Feb 11 21:59:04 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:00:05 helix pleroma[3517]: [debug] QUERY OK source="users" db=428.4ms idle=1960.1ms
Feb 11 22:00:05 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:00:05 helix pleroma[3517]: [debug] QUERY OK source="users" db=3.0ms idle=1390.0ms
Feb 11 22:00:05 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:00:05 helix pleroma[3517]: [debug] QUERY OK source="users" db=2.8ms idle=1393.2ms
Feb 11 22:00:05 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:01:05 helix pleroma[3517]: [debug] QUERY OK source="users" db=411.1ms decode=0.2ms idle=1397.9ms
Feb 11 22:01:05 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:01:05 helix pleroma[3517]: [debug] QUERY OK source="users" db=4.9ms idle=1810.6ms
Feb 11 22:01:05 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:01:05 helix pleroma[3517]: [debug] QUERY OK source="users" db=2.6ms queue=0.1ms idle=1815.7ms
Feb 11 22:01:05 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:02:05 helix pleroma[3517]: [debug] QUERY OK source="users" db=457.2ms queue=0.2ms idle=1818.0ms
Feb 11 22:02:05 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:02:05 helix pleroma[3517]: [debug] QUERY OK source="users" db=3.1ms idle=1278.5ms
Feb 11 22:02:05 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:02:05 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.3ms idle=1210.7ms
Feb 11 22:02:05 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:03:06 helix pleroma[3517]: [debug] QUERY OK source="users" db=407.3ms queue=0.1ms idle=957.8ms
Feb 11 22:03:06 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:03:06 helix pleroma[3517]: [debug] QUERY OK source="users" db=2.8ms idle=691.6ms
Feb 11 22:03:06 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:03:06 helix pleroma[3517]: [debug] QUERY OK source="users" db=0.6ms idle=694.4ms
Feb 11 22:03:06 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:04:06 helix pleroma[3517]: [debug] QUERY OK source="users" db=477.1ms idle=695.7ms
Feb 11 22:04:06 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:04:06 helix pleroma[3517]: [debug] QUERY OK source="users" db=3.3ms queue=0.2ms idle=1174.4ms
Feb 11 22:04:06 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:04:06 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.3ms queue=0.1ms idle=1177.9ms
Feb 11 22:04:06 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:05:07 helix pleroma[3517]: [debug] QUERY OK source="users" db=412.5ms queue=0.1ms idle=1180.5ms
Feb 11 22:05:07 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:05:07 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.1ms idle=1595.5ms
Feb 11 22:05:07 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:05:07 helix pleroma[3517]: [debug] QUERY OK source="users" db=0.9ms idle=1596.8ms
Feb 11 22:05:07 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:06:07 helix pleroma[3517]: [debug] QUERY OK source="users" db=733.7ms decode=0.1ms queue=0.1ms idle=1594.2ms
Feb 11 22:06:07 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:06:07 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.3ms idle=1329.9ms
Feb 11 22:06:07 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:06:07 helix pleroma[3517]: [debug] QUERY OK source="users" db=0.9ms idle=1331.5ms
Feb 11 22:06:07 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:07:08 helix pleroma[3517]: [debug] QUERY OK source="users" db=417.2ms queue=0.1ms idle=1333.6ms
Feb 11 22:07:08 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:07:08 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.3ms idle=1752.4ms
Feb 11 22:07:08 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:07:08 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.1ms idle=1753.9ms
Feb 11 22:07:08 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:08:08 helix pleroma[3517]: [debug] QUERY OK source="users" db=414.1ms idle=1754.7ms
Feb 11 22:08:08 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:08:08 helix pleroma[3517]: [debug] QUERY OK source="users" db=3.2ms idle=1170.9ms
Feb 11 22:08:08 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:08:08 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.3ms idle=1174.4ms
Feb 11 22:08:08 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:09:09 helix pleroma[3517]: [debug] QUERY OK source="users" db=459.7ms idle=1175.7ms
Feb 11 22:09:09 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:09:09 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.4ms queue=0.1ms idle=1636.6ms
Feb 11 22:09:09 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:09:09 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.2ms idle=1638.2ms
Feb 11 22:09:09 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:10:09 helix pleroma[3517]: [debug] QUERY OK source="users" db=413.7ms decode=1.1ms queue=0.1ms idle=1453.2ms
Feb 11 22:10:09 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:10:09 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.7ms idle=1056.5ms
Feb 11 22:10:09 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:10:09 helix pleroma[3517]: [debug] QUERY OK source="users" db=0.9ms idle=1058.5ms
Feb 11 22:10:09 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:11:10 helix pleroma[3517]: [debug] QUERY OK source="users" db=405.9ms queue=0.1ms idle=1060.6ms
Feb 11 22:11:10 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:11:10 helix pleroma[3517]: [debug] QUERY OK source="users" db=2.0ms idle=1468.7ms
Feb 11 22:11:10 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:11:10 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.0ms idle=1470.9ms
Feb 11 22:11:10 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:12:10 helix pleroma[3517]: [debug] QUERY OK source="users" db=431.1ms decode=0.1ms queue=0.1ms idle=1472.4ms
Feb 11 22:12:10 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:12:10 helix pleroma[3517]: [debug] QUERY OK source="users" db=3.3ms idle=1905.6ms
Feb 11 22:12:10 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:12:10 helix pleroma[3517]: [debug] QUERY OK source="users" db=0.9ms idle=1909.2ms
Feb 11 22:12:10 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:13:10 helix pleroma[3517]: [debug] QUERY OK source="users" db=411.0ms queue=0.3ms idle=1911.6ms
Feb 11 22:13:10 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:13:10 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.7ms idle=1324.4ms
Feb 11 22:13:10 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:13:10 helix pleroma[3517]: [debug] QUERY OK source="users" db=0.9ms idle=1326.3ms
Feb 11 22:13:10 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:14:11 helix pleroma[3517]: [debug] QUERY OK source="users" db=404.2ms idle=1328.0ms
Feb 11 22:14:11 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:14:11 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.1ms queue=0.1ms idle=1733.6ms
Feb 11 22:14:11 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:14:11 helix pleroma[3517]: [debug] QUERY OK source="users" db=0.9ms idle=1735.0ms
Feb 11 22:14:11 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:15:11 helix pleroma[3517]: [debug] QUERY OK source="users" db=433.1ms idle=1737.3ms
Feb 11 22:15:11 helix pleroma[3517]: SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
Feb 11 22:15:11 helix pleroma[3517]: [debug] QUERY OK source="users" db=1.0ms idle=1171.8ms
Feb 11 22:15:11 helix pleroma[3517]: SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (NOT (u0."nickname" IS NULL)) AND (NOT (u0."nickname" LIKE 'internal.%')) AND (u0."local" = $1) [true]
Feb 11 22:15:11 helix pleroma[3517]: [debug] QUERY OK source="users" db=0.8ms queue=0.2ms idle=1173.0ms
Feb 11 22:15:11 helix pleroma[3517]: SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."is_active" = TRUE) AND (u0."local" = TRUE) AND (NOT (u0."nickname" IS NULL)) AND (NOT (u0."invisible")) []
Feb 11 22:16:02 helix systemd[1]: Stopping Pleroma social network...
Feb 11 22:16:03 helix pleroma[3517]: [notice] SIGTERM received - shutting down
Feb 11 22:16:03 helix pleroma[3580]: [os_mon] memory supervisor port (memsup): Erlang has closed
Feb 11 22:16:03 helix pleroma[3517]: [notice] :alarm_handler: {:clear, :system_memory_high_watermark}
Feb 11 22:16:03 helix pleroma[3581]: [os_mon] cpu supervisor port (cpu_sup): Erlang has closed
Feb 11 22:16:17 helix systemd[1]: pleroma.service: Deactivated successfully.
Feb 11 22:16:17 helix systemd[1]: pleroma.service: Unit process 3549 (epmd) remains running after unit stopped.
Feb 11 22:16:17 helix systemd[1]: Stopped Pleroma social network.
Feb 11 22:16:17 helix systemd[1]: pleroma.service: Consumed 26.472s CPU time.
```
</details>https://git.pleroma.social/pleroma/pleroma/-/issues/3030v2.5.0 crypt library requires GLIBC_2.252023-05-26T22:16:26Zdebulav2.5.0 crypt library requires GLIBC_2.25TLDR: hang, restart, hang, restart...
I'm running a small Pleroma instance on an 1C1G tiny VPS and everything works fine. The memory consumed by the Pleroma process fluctuates roughly around 160-240MB.
But today when I update to v2.5.0...TLDR: hang, restart, hang, restart...
I'm running a small Pleroma instance on an 1C1G tiny VPS and everything works fine. The memory consumed by the Pleroma process fluctuates roughly around 160-240MB.
But today when I update to v2.5.0, it can't be started again. Here are some sample logs:
```
Dec 24 12:08:51 constance systemd[1]: Started Pleroma social network.
Dec 24 12:08:56 constance pleroma[1647]: 2022-12-24 12:08:56.440861 supervisor_report #{label=>{supervisor,start_error},report=>[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,{on_load_function_failed,crypt}},{offender,[{pid,undefined},{id,kernel_safe_sup},{mfargs,{supervisor,start_link,[{local,kernel_safe_sup},kernel,safe]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
Dec 24 12:08:56 constance pleroma[1647]: 2022-12-24 12:08:56.440951 crash_report #{label=>{proc_lib,crash},report=>[[{initial_call,{supervisor,kernel,['Argument__1']}},{pid,<0.3543.0>},{registered_name,[]},{error_info,{exit,{on_load_function_failed,crypt},[{init,run_on_load_handlers,0,[]},{kernel,init,1,[{file,"kernel.erl"},{line,189}]},{supervisor,init,1,[{file,"supervisor.erl"},{line,301}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,417}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,385}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}},{ancestors,[kernel_sup,<0.3516.0>]},{message_queue_len,0},{messages,[]},{links,[<0.3518.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,610},{stack_size,28},{reductions,262}],[]]}
Dec 24 12:08:57 constance pleroma[1647]: 2022-12-24 12:08:57.458325 crash_report #{label=>{proc_lib,crash},report=>[[{initial_call,{application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}},{pid,<0.3515.0>},{registered_name,[]},{error_info,{exit,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypt}}},{kernel,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,138}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}},{ancestors,[<0.3514.0>]},{message_queue_len,1},{messages,[{'EXIT',<0.3516.0>,normal}]},{links,[<0.3514.0>,<0.3513.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,376},{stack_size,28},{reductions,190}],[]]}
Dec 24 12:08:57 constance pleroma[1647]: 2022-12-24 12:08:57.468156 std_info #{label=>{application_controller,exit},report=>[{application,kernel},{exited,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypt}}},{kernel,start,[normal,[]]}}},{type,permanent}]}
Dec 24 12:08:57 constance pleroma[1647]: {"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypt}}},{kernel,start,[normal,[]]}}}"}
Dec 24 12:08:57 constance pleroma[1647]: Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypt}}},{kernel,start,[normal,[]]}}})
Dec 24 12:08:57 constance pleroma[1647]: #015
Dec 24 12:08:58 constance pleroma[1647]: Crash dump is being written to: erl_crash.dump...done
Dec 24 12:08:58 constance systemd[1]: pleroma.service: Main process exited, code=exited, status=1/FAILURE
Dec 24 12:08:58 constance pleroma[1697]: --rpc-eval : RPC failed with reason :nodedown
Dec 24 12:08:58 constance systemd[1]: pleroma.service: Control process exited, code=exited status=1
Dec 24 12:08:58 constance systemd[1]: pleroma.service: Unit entered failed state.
Dec 24 12:08:58 constance systemd[1]: pleroma.service: Failed with result 'exit-code'.
Dec 24 12:08:58 constance systemd[1]: pleroma.service: Service hold-off time over, scheduling restart.
Dec 24 12:08:58 constance systemd[1]: Stopped Pleroma social network.
Dec 24 12:08:58 constance systemd[1]: Started Pleroma social network.
...
```
Since it was killed at start time, I guess the culprit might be the new version of Elixir.
Now I'm trying to roll back to [v2.4.5](https://git.pleroma.social/pleroma/pleroma/-/pipelines/42739). Fortunately, a database backup was made before the upgrade.https://git.pleroma.social/pleroma/pleroma/-/issues/3067Support for Age Verifcation API like id.me2023-05-26T14:19:20ZSkylar CaulfieldSupport for Age Verifcation API like id.me**Pitch**
Add support for id.me during the plemora sign up process and require api be configured for US hosts by default
**Motivation**
Multiple laws have been proposed across the United States requiring that social media platforms ve...**Pitch**
Add support for id.me during the plemora sign up process and require api be configured for US hosts by default
**Motivation**
Multiple laws have been proposed across the United States requiring that social media platforms verify if the user is 18, or the users has parental permissions, failure to verify via a third party provider this could result in serve liability fines.
Bills proposed are
https://www.arkleg.state.ar.us/Bills/FTPDocument?path=%2FBills%2F2023R%2FPublic%2FSB396.pdf
https://le.utah.gov/~2023/bills/static/SB0152.htmlhttps://git.pleroma.social/pleroma/pleroma/-/issues/1021Deprecate emojis in priv/static2023-05-26T06:07:01Zrinpatchrin+pleroma@patch.cxDeprecate emojis in priv/static`priv` is not really something the end user should touch, it's tracked in git and may cause merge conflicts when we change something. We should start warning about needing to move emojis to `instance/static/emoji` in 1.1 and probably com...`priv` is not really something the end user should touch, it's tracked in git and may cause merge conflicts when we change something. We should start warning about needing to move emojis to `instance/static/emoji` in 1.1 and probably completely deprecate it in 2.02.0https://git.pleroma.social/pleroma/pleroma/-/issues/3123cannot post status on new instance2023-05-25T16:39:00Zjeffcannot post status on new instance
### Environment
* Installation type (OTP or From Source): source (develop)
* Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE):
```
Backend version
2.5.51-156-g5433742f-develop
Frontend version
c730c9...
### Environment
* Installation type (OTP or From Source): source (develop)
* Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE):
```
Backend version
2.5.51-156-g5433742f-develop
Frontend version
c730c9b6
```
* Elixir version (`elixir -v` for from source installations, N/A for OTP):
```
Erlang/OTP 25 [erts-13.1.5] [source] [64-bit] [smp:3:3] [ds:3:3:10] [async-threads:1] [jit:ns]
Elixir 1.14.0 (compiled with Erlang/OTP 24)
```
* Operating system: debian bookworm
* PostgreSQL version (`psql -V`):
```
psql (PostgreSQL) 15.3 (Debian 15.3-1.pgdg120+1)
```
### Bug description
try to make new post, get a http 422 from the request with a giant pile of json as the error message.
![Screenshot_20230525_122231](/uploads/09f185f4d74f77d1293d4778f35c56cb/Screenshot_20230525_122231.webp)https://git.pleroma.social/pleroma/pleroma/-/issues/3053if profile is too big, and you update it, it silently fails2023-05-21T12:35:34ZJeff Cliffif profile is too big, and you update it, it silently fails1) i've been adding more and more text to my profile, once i hit about 5000 characters, if you hit 'save changes' it just silently does nothing
what should happen
either profile should update or some kind of error message should show
wh...1) i've been adding more and more text to my profile, once i hit about 5000 characters, if you hit 'save changes' it just silently does nothing
what should happen
either profile should update or some kind of error message should show
what does happen
silently fails to update the profile
instance: shitposter.club
Backend version 2.4.53-9048-g0f77643d-shitposterclub
Frontend version c807254d
themusicgod1@eva1:~$ wc profile
69 691 4947 profilehttps://git.pleroma.social/pleroma/pleroma/-/issues/2952Allow "Note" to have "Link" tags2023-05-17T19:04:53Zsilverpill silverpillAllow "Note" to have "Link" tags### Environment
* Installation type (OTP or From Source): From Source
* Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE): 2.4.3
* Elixir version (`elixir -v` for from source installations, N/A for OTP): 1....### Environment
* Installation type (OTP or From Source): From Source
* Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE): 2.4.3
* Elixir version (`elixir -v` for from source installations, N/A for OTP): 1.10.3
* Operating system: Debian
* PostgreSQL version (`psql -V`): 13.8
### Bug description
(This problem was previously reported in the discussion on quotes: https://git.pleroma.social/pleroma/pleroma/-/issues/2783#note_95257)
Pleroma fails to process `Note` with `Link` tag, and incoming activity is silently dropped. Here's an example of a link tag:
```json
{
"type": "Note",
"tag": [
{
"name": "RE: https://example.org/objects/1",
"type": "Link",
"href": "https://example.org/objects/1",
"mediaType": "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\""
}
],
...
}
```
This type of tag is permitted by AP/AS specs, so I think Pleroma should accept the activity (and ignore the tag if it doesn't know what to do with it).
The fix was recently proposed to Rebased (Pleroma fork): https://gitlab.com/soapbox-pub/rebased/-/merge_requests/185/diffs?commit_id=0cd15c997c70ee2303c3c04e938b8c3de39a436c. Perhaps the same fix can be applied to Pleroma?https://git.pleroma.social/pleroma/pleroma/-/issues/3065OAuth scopes should have (translatable) descriptions2023-05-17T18:51:27ZtusooaOAuth scopes should have (translatable) descriptionsCurrently our web UI only gives out the name of the scope, without ever explaining what it does. It should, instead, have an explanation.Currently our web UI only gives out the name of the scope, without ever explaining what it does. It should, instead, have an explanation.https://git.pleroma.social/pleroma/pleroma/-/issues/1024Make it possible to anonymize reports2023-05-09T20:59:31Zrinpatchrin+pleroma@patch.cxMake it possible to anonymize reportsPeople argue that sending unanonymized reports can lead to harassment by hostile admins. Would be nice if we had an option to anonymize them by having a "System" account and sending reports using it as an actorPeople argue that sending unanonymized reports can lead to harassment by hostile admins. Would be nice if we had an option to anonymize them by having a "System" account and sending reports using it as an actorhttps://git.pleroma.social/pleroma/pleroma/-/issues/574Implement sentry for error reporting2023-05-09T19:10:57ZsuccfemboiImplement sentry for error reportingThis might be controversial but maybe one could implement sentry to log errors on the server. The admin can configure to run the error logger if desired but by default it should be off. The admin might also want to decide if an error rep...This might be controversial but maybe one could implement sentry to log errors on the server. The admin can configure to run the error logger if desired but by default it should be off. The admin might also want to decide if an error report should be sent or nothttps://git.pleroma.social/pleroma/pleroma/-/issues/3120Add support for OpenTelemetry2023-05-09T19:10:56ZDuponinAdd support for OpenTelemetry[OpenTelemetry](https://opentelemetry.io/) is a framework to add app telemetry, giving insights on what’s going on *in* the application.
This could be greatly useful to understand some weird behaviours, rather than looking at a blackbox ...[OpenTelemetry](https://opentelemetry.io/) is a framework to add app telemetry, giving insights on what’s going on *in* the application.
This could be greatly useful to understand some weird behaviours, rather than looking at a blackbox and guessing what might have happened.
Most instances won’t benefit, and won’t have any tool to ingest that data; it should be disabled by default.
However, it could be useful for big/busy federation instances.
Related topic are Applicatiom Performance Monitors (APM), this topic got discussed in context of Sentry, see https://git.pleroma.social/pleroma/pleroma/-/issues/574.https://git.pleroma.social/pleroma/pleroma/-/issues/2996LDAP auth saying invald credentals2023-05-08T12:36:50Znoidea manLDAP auth saying invald credentalsI have a config similar to #1646
### environment
* Installation type:
* self build docker image from https://github.com/angristan/docker-pleroma
* ldap authentication
```
import Config
config :pleroma, :instance,
registrations_o...I have a config similar to #1646
### environment
* Installation type:
* self build docker image from https://github.com/angristan/docker-pleroma
* ldap authentication
```
import Config
config :pleroma, :instance,
registrations_open: false
config :pleroma, Pleroma.Web.Auth.PleromaAuthenticator, Pleroma.Web.Auth.LDAPAuthenticator
config :pleroma, :ldap,
enabled: true,
host: "host",
port: 389,
ssl: false,
tls: false,
base: "cn=users,cn=accounts,dc=server,dc=com",
uid: "uid"
```
loging into the webui returns invalid credentials
trying the command listed in the previous issue ends with
```
mix pleroma.user new user user@server.com
Compiling 22 files (.ex)
== Compilation error in file lib/phoenix-1.5.9/priv/templates/phx.gen.channel/channel.ex ==
** (SyntaxError) lib/phoenix-1.5.9/priv/templates/phx.gen.channel/channel.ex:1:13: syntax error before: '='
(elixir 1.11.4) lib/kernel/parallel_compiler.ex:314: anonymous fn/4 in Kernel.ParallelCompiler.spawn_workers/7
```
I went to a remote device to see if the mail attribute shows when not authenticating against freeipa's ldap
```
ldapsearch -x -b "cn=users,cn=accounts,dc=server,dc=com" -H ldap://host
```
and it does not show the mail attribute. After allowing anonymous read access it does show
```
ipa permission-add 'Mail readable by anon' --type=user --attrs=mail --bindtype=anonymous --permissions=read
```
But account creation/login still failshttps://git.pleroma.social/pleroma/pleroma/-/issues/1107Unused indexes2023-05-08T12:32:17ZfeldUnused indexesUsing the `postgres_dba`[1] tools, looking at Pleroma database on bikeshed -- we have a few obvious indexes we can probably shed. A few others are picked up incorrectly because of data/features not on bikeshed.
```
pleroma_prod=# :dba
M...Using the `postgres_dba`[1] tools, looking at Pleroma database on bikeshed -- we have a few obvious indexes we can probably shed. A few others are picked up incorrectly because of data/features not on bikeshed.
```
pleroma_prod=# :dba
Menu:
0 – Node & Current DB Information: master/replica, lag, DB size, tmp files, etc
1 – Databases: Size, Statistics
2 – Table Sizes
3 – Load Profile
a1 – Current Activity: count of current connections grouped by database, user name, state
b1 – Tables Bloat, rough estimation
b2 – B-tree Indexes Bloat, rough estimation
b3 – Tables Bloat, more precise (requires pgstattuple extension; expensive)
b4 – B-tree Indexes Bloat, more precise (requires pgstattuple extension; expensive)
b5 – Tables and Columns Without Stats (so bloat cannot be estimated)
e1 – List of extensions installed in the current DB
i1 – Unused/Rarely Used Indexes
i2 – Redundant Indexes
i3 – FKs with Missing/Bad Indexes
i4 – Invalid Indexes
i5 – Unused/Redundant Indexes Do & Undo Migration DDL
p1 – [EXPERIMENTAL] Alignment Padding. How many bytes can be saved if columns are ordered better?
s1 – Slowest Queries, by Total Time (requires pg_stat_statements extension)
s2 – Slowest Queries Report (requires pg_stat_statements)
t1 – Postgres parameters tuning
v1 – Vacuum: Current Activity
q – Quit
Type your choice and press <Enter>:
i1
reason | schema_name | table_name | index_name | index_scan_pct | scans_per_write | index_size | table_size | idx_scan | all_scans
----------------------------+-------------+-----------------------------+---------------------------------------------------+----------------+-----------------+------------+------------+----------+------------
Never Used Indexes | public | objects | objects_actor_type | 0.00 | 0.00 | 797 MB | 14 GB | 0 | 2347416057
Never Used Indexes | public | activities | activities_hosts | 0.00 | 0.00 | 241 MB | 5841 MB | 0 | 22719783
Never Used Indexes | public | activities | activities_in_reply_to | 0.00 | 0.00 | 170 MB | 5841 MB | 0 | 22719783
Never Used Indexes | public | users | users_following_address_index | 0.00 | 0.00 | 6976 kB | 78 MB | 0 | 40852176
Never Used Indexes | public | conversation_participations | conversation_participations_updated_at_desc_index | 0.00 | 0.00 | 1096 kB | 3280 kB | 0 | 1921
Never Used Indexes | public | instances | instances_unreachable_since_index | 0.00 | 0.00 | 56 kB | 32 kB | 0 | 989610
Never Used Indexes | public | lists | lists_user_id_index | 0.00 | 0.00 | 16 kB | 8192 bytes | 0 | 558899
Never Used Indexes | public | lists | lists_following_index | 0.00 | 0.00 | 16 kB | 8192 bytes | 0 | 558899
Never Used Indexes | public | filters | hided_phrases_index | 0.00 | 0.00 | 8192 bytes | 0 bytes | 0 | 1083
Never Used Indexes | public | scheduled_activities | scheduled_activities_scheduled_at_index | 0.00 | 0.00 | 8192 bytes | 0 bytes | 0 | 60230
Low Scans, High Writes | public | activities | activities_context_index | 0.07 | 0.02 | 838 MB | 5841 MB | 16551 | 22719783
Low Scans, High Writes | public | activities | activities_actor_id_DESC_NULLS_LAST_index | 2.90 | 0.90 | 611 MB | 5841 MB | 658341 | 22719783
Low Scans, High Writes | public | activities | activities_actor_index | 0.00 | 0.00 | 539 MB | 5841 MB | 157 | 22719783
Low Scans, High Writes | public | objects | objects_in_reply_to_index | 0.00 | 0.01 | 439 MB | 14 GB | 12672 | 2347416057
Low Scans, High Writes | public | activities | activities_id_desc_nulls_last_local_index | 1.65 | 0.51 | 308 MB | 5841 MB | 373744 | 22719783
Low Scans, High Writes | public | activities | activities_visibility_index | 0.00 | 0.00 | 250 MB | 5841 MB | 219 | 22719783
Low Scans, High Writes | public | activities | activities_local_index | 0.00 | 0.00 | 157 MB | 5841 MB | 105 | 22719783
High-Write Large Non-Btree | public | objects | objects_fts | 0.00 | 0.00 | 2020 MB | 14 GB | 240 | 2347416057
High-Write Large Non-Btree | public | objects | objects_tags | 0.00 | 0.00 | 134 MB | 14 GB | 544 | 2347416057
(19 rows)
```
[1] https://github.com/NikolayS/postgres_dbahttps://git.pleroma.social/pleroma/pleroma/-/issues/2990Trimming unused indexes2023-05-08T12:32:14ZfeldTrimming unused indexes```
SELECT
pt.tablename AS TableName
,t.indexname AS IndexName
,pc.reltuples AS TotalRows
,pg_size_pretty(pg_relation_size(quote_ident(pt.tablename)::text)) AS TableSize
,pg_size_pretty(pg_relation_size(quote_ident(t....```
SELECT
pt.tablename AS TableName
,t.indexname AS IndexName
,pc.reltuples AS TotalRows
,pg_size_pretty(pg_relation_size(quote_ident(pt.tablename)::text)) AS TableSize
,pg_size_pretty(pg_relation_size(quote_ident(t.indexrelname)::text)) AS IndexSize
,t.idx_scan AS TotalNumberOfScan
,t.idx_tup_read AS TotalTupleRead
,t.idx_tup_fetch AS TotalTupleFetched
FROM pg_tables AS pt
LEFT OUTER JOIN pg_class AS pc
ON pt.tablename=pc.relname
LEFT OUTER JOIN
(
SELECT
pc.relname AS TableName
,pc2.relname AS IndexName
,psai.idx_scan
,psai.idx_tup_read
,psai.idx_tup_fetch
,psai.indexrelname
FROM pg_index AS pi
JOIN pg_class AS pc
ON pc.oid = pi.indrelid
JOIN pg_class AS pc2
ON pc2.oid = pi.indexrelid
JOIN pg_stat_all_indexes AS psai
ON pi.indexrelid = psai.indexrelid
)AS T
ON pt.tablename = T.TableName
WHERE pt.schemaname='public'
ORDER BY TotalNumberOfScan ASC;
```
You (may) need pg_stat_statements extension enabled for these stats to exist. (?)
![image](/uploads/275e9a9ed8ceda710a984ea1d1a3feef/image.png)
I see a lot of indexes not being used. Would like to see more data from more instances.
Maintaining indexes on `objects.actor_type`, `objects.likes`, `objects.tags`, `activities.to`, `activities.likes`, `activities.in_reply_to`, `activities.hosts`, `activities.cc`, and `activities.actor` but never actually using them seems quite expensive or we need to fix some queries...https://git.pleroma.social/pleroma/pleroma/-/issues/859"right to vanish" -- profile scrubbing tools2023-05-08T12:24:41Zxx"right to vanish" -- profile scrubbing toolsMore tools for the following would be useful:
- mass tweet deletion
- mass unliking
- mass unfavoriting
- mass unRTing
- mass unfollow
You might ask "why not just export your following, delete your account, open a new account, an...More tools for the following would be useful:
- mass tweet deletion
- mass unliking
- mass unfavoriting
- mass unRTing
- mass unfollow
You might ask "why not just export your following, delete your account, open a new account, and refollow your pals" -- well, that'd work, but we can see on Twitter that 3rd party apps that provide this information are very popular -- and they're also how a lot of user data is given to creepy 3rd parties
Perhaps in the future these could be expanded, eg
- delete posts older than a month
- delete posts made between 2016 and 2017
- unfollow all users on a given domain
- unlike all posts from a specific user
etc