pleroma issueshttps://git.pleroma.social/pleroma/pleroma/-/issues2023-05-08T01:35:38Zhttps://git.pleroma.social/pleroma/pleroma/-/issues/2773Function request: pghero2023-05-08T01:35:38ZSnowFunction request: pgheroSince here are many posted issues related to the database.Since here are many posted issues related to the database.https://git.pleroma.social/pleroma/pleroma/-/issues/2771Unable to migrate, ERROR 235052023-05-08T01:26:16ZSnowUnable to migrate, ERROR 23505After running
`sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/`
It's showing:
[info] execute "UPDATE objects SET updated_at = NOW()"
** (Postgrex.Error) ERROR 23505 (uni...After running
`sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/`
It's showing:
[info] execute "UPDATE objects SET updated_at = NOW()"
** (Postgrex.Error) ERROR 23505 (unique_violation) duplicate key value violates unique constraint "objects_unique_apid_index"
table: objects
constraint: objects_unique_apid_index
Key ((data ->> 'id'::text))=(https://freespeechextremist.com/objects/06ec2ae7-890a-4ea2-8566-d30a7585f9fa) already exists.https://git.pleroma.social/pleroma/pleroma/-/issues/2769Setting a marker should mark notifications as read2023-05-08T01:35:53ZAlex GleasonSetting a marker should mark notifications as readPleroma has an `is_seen` property on all notifications. When POST `/api/v1/markers` is called with a notification ID, all notifications before it should be marked as seen.Pleroma has an `is_seen` property on all notifications. When POST `/api/v1/markers` is called with a notification ID, all notifications before it should be marked as seen.https://git.pleroma.social/pleroma/pleroma/-/issues/2767replies_count working in 2.4.1?2023-05-08T01:36:09ZBobBreplies_count working in 2.4.1?I have noticed that the reply count is not working on my site. Through correspondence on fedi, I found that it is working on release 2.2. So I'm first trying to confirm that the feature actually works in 2.4.1 before I attempt troubles...I have noticed that the reply count is not working on my site. Through correspondence on fedi, I found that it is working on release 2.2. So I'm first trying to confirm that the feature actually works in 2.4.1 before I attempt troubleshooting why my site is not working.
Using the Pleroma FE, I never see a number next to the reply (replies_count) button in any timeline. I do see numbers next to the repeat (announcement_count) button and favorite (like_count) button. The replies_count field in the data column of the objects table always shows zero according to postgresql "select max (cast (data -> 'replies_count' as integer)) from objects;"
I installed my pleroma instance from {{https://docs.pleroma.social/backend/installation/otp_en/}}.
and I am of course, a newby.https://git.pleroma.social/pleroma/pleroma/-/issues/2765MRF rejection on fetched objects apparently not recorded, causing DDoS2023-05-08T00:59:09ZPeteMRF rejection on fetched objects apparently not recorded, causing DDoSSpecifically, this can create an accidental DDoS when there is a very long thread with a lot of interactions that is rejected when other servers try to fetch it. If the attempt/rejection are not recorded, then the various servers will a...Specifically, this can create an accidental DDoS when there is a very long thread with a lot of interactions that is rejected when other servers try to fetch it. If the attempt/rejection are not recorded, then the various servers will attempt to refetch every time they see a reference to the rejected object.
In this specific case, we have the lengthy hellthread, our hellthread policy delists at 32 and rejects at 256, somewhat more liberal than typical configurations. Some activities occurred that caused other servers to attempt to fetch objects in that thread, and this caused a flood of requests, with some servers attempting to re-fetch the same few objects several times per second over the course of about 30 minutes, in some cases attempting to fetch the same object more than a thousand times. For example, SPC tried to fetch `/objects/5e64a211-12a3-4c70-aeac-96b8346e7e5f` 1,242 times, rejected it (probably due to their hellthread policy having much lower limits), and then promptly discarded the object, forgot about it, and tried to fetch it again. Across other servers, there were 10,129 attempts to fetch that object; there were 120 objects that had at least 100 requests from any single server, Pleroma dutifully attempted to load the object from the database each time, and we fell over. Rate-limiting wasn't helpful, because the requests were coming from different servers and hitting different URLs. (Other servers that had people that posted in the thread might have seen similar, but I think the majority of the posts in the thread were local.)
I might be wrong about the cause being MRF rejections when fetching posts, but I can't account for it otherwise; the servers are running different versions of Pleroma, they're not run by the same people, etc.
(There is a workaround, but it's somewhat hacky: it was to grep the logs for any path under /objects/ that a remote server had tried to fetch more than 100 times in an hour, then generate a long list of of lines like `location /objects/fb8c859a-f193-49cd-ae8d-afe8967163e4 {return 404;}` and include the result in the nginx configuration, and temporarily, we're somewhat aggressively rate-limiting `/objects/`.)https://git.pleroma.social/pleroma/pleroma/-/issues/2763Add more ways to provide transparency in content moderation (discussion)2023-05-08T01:36:18ZSean KingAdd more ways to provide transparency in content moderation (discussion)Based on my experience moderating Traboone Social, I thought it would be a good idea to bring this up. While Pleroma does by default disclose federation restrictions, I believe we could improve transparency to users in content moderation...Based on my experience moderating Traboone Social, I thought it would be a good idea to bring this up. While Pleroma does by default disclose federation restrictions, I believe we could improve transparency to users in content moderation in other ways. In doing so, I believe we should go off [The Santa Clara Principles on Transparency and Accountability in Content Moderation](https://santaclaraprinciples.org/) and address what we already do to address this and what tools we can build to address parts of it.https://git.pleroma.social/pleroma/pleroma/-/issues/2762Inaccurate moderation log entries2023-05-08T01:37:47ZSean KingInaccurate moderation log entriesI'm looking at moderation logs. And the moderation entry logs with who the report was on is inaccurate. It'll show that the report was on a the "Actor" and not the "Account".I'm looking at moderation logs. And the moderation entry logs with who the report was on is inaccurate. It'll show that the report was on a the "Actor" and not the "Account".https://git.pleroma.social/pleroma/pleroma/-/issues/2760Search: Resolved (posts,accounts) URLs are kept after an offset2023-05-08T01:38:17ZHaelwennSearch: Resolved (posts,accounts) URLs are kept after an offsethttps://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1410#note_86808https://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1410#note_86808https://git.pleroma.social/pleroma/pleroma/-/issues/2755Unable to delete a local user2023-05-08T01:38:24ZMarudUnable to delete a local user<!--
### 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): Source
* Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE): 2.4.0
* Elixir version (`elixir -v` for from source installations, N/A for OTP): Elixir 1.10.4 (compiled with Erlang/OTP 22)
* Operating system: Ubuntu 20.04.2
* PostgreSQL version (`psql -V`): 13.4
### Bug description
When you try to delete an account, according to the docs, you can use this command :
```
sudo -Hu pleroma MIX_ENV=prod mix pleroma.user rm user_name
```
It seems to work, as you are granted with the "User user_name deleted." but when you list your users, using the "list" command, the user is still here, just deactivated (state is_active: false).
Any additional try to remove the user using the command throws a message "No local user user_name".
I can't also delete using the admin panel (user marked as deactivated but never deleted)https://git.pleroma.social/pleroma/pleroma/-/issues/2752Function request: Moderation Log transparency2023-05-08T01:38:55ZSnowFunction request: Moderation Log transparencyLet users know who is banned.Let users know who is banned.https://git.pleroma.social/pleroma/pleroma/-/issues/2751Feature: Cross-post Pleroma posts to Twitter2023-05-08T01:39:23ZRajasekhar PonakalaFeature: Cross-post Pleroma posts to TwitterWe need a feature to cross-post every status from Pleroma to Twitter, including Pleroma account address at the end of every status.
It's a great boost for people looking to migrate to Pleroma but didn't want to lose their followers list...We need a feature to cross-post every status from Pleroma to Twitter, including Pleroma account address at the end of every status.
It's a great boost for people looking to migrate to Pleroma but didn't want to lose their followers listening from them. At the end of every status posted to Twitter, we can include Pleroma account address, so followers on Twitter also might get motivation to join Pleroma.
## Solution
### In-built
It is hard to maintain a separate micro-service or [trust a 3rd party service](https://github.com/renatolond/mastodon-twitter-poster), so building this into the core is preferable.
### Plugin
If not in core, there should be a provision for adding it as a [plugin](https://git.pleroma.social/pleroma/pleroma/-/issues/2713)https://git.pleroma.social/pleroma/pleroma/-/issues/2750Have to copy the favicon back after every update2023-05-08T01:43:08ZSnowHave to copy the favicon back after every updateAnd copy the styles.json back also.
I guess no one wants to change back the favicon after every update?And copy the styles.json back also.
I guess no one wants to change back the favicon after every update?https://git.pleroma.social/pleroma/pleroma/-/issues/2747Function request: searching users profile content2023-05-08T01:43:17ZSnowFunction request: searching users profile contentSince group function is still developing, if people can search the information in the profile only, that is easy to build the community by identity.Since group function is still developing, if people can search the information in the profile only, that is easy to build the community by identity.https://git.pleroma.social/pleroma/pleroma/-/issues/2745Bookmark an Object, not an Activity2023-05-08T01:43:28ZAlex GleasonBookmark an Object, not an ActivityRelated to #2744 :upside_down:
Bookmarking a Create or Announce doesn't make sense. You want to bookmark the Note, Article, etc. so it can be rendered easily without the parent activity.Related to #2744 :upside_down:
Bookmarking a Create or Announce doesn't make sense. You want to bookmark the Note, Article, etc. so it can be rendered easily without the parent activity.https://git.pleroma.social/pleroma/pleroma/-/issues/2739prune_old_objects doesn't recalculate reply counts2023-05-08T01:43:44ZHJprune_old_objects doesn't recalculate reply counts![image](/uploads/9335a3d99ff6a6783df3d00171e6c59b/image.png)![image](/uploads/9335a3d99ff6a6783df3d00171e6c59b/image.png)https://git.pleroma.social/pleroma/pleroma/-/issues/2738Add media library feature2023-05-08T01:15:54ZRanjith RajAdd media library feature# Feature request
Media Library, a media management feature that enables a user to search or sort(according to file type, size, licenses etc.) already uploaded media from their account and to add new media items(+bulk upload option), wit...# Feature request
Media Library, a media management feature that enables a user to search or sort(according to file type, size, licenses etc.) already uploaded media from their account and to add new media items(+bulk upload option), with easy to use interface.
# Advantages
- Helpful for reusing already uploaded media in new posts.
- Helps users to manage all the media uploaded by them at one place.
## Other fediverse projects implementing this
- Misskey : https://github.com/misskey-dev/misskey#misskey-drive
Peertube, Funkwhale, Pixelfed etc. are by-design media-centric projects that have media management built-in.https://git.pleroma.social/pleroma/pleroma/-/issues/2737Pleroma randomly dies every once in a while2023-05-08T01:37:59ZHJPleroma randomly dies every once in a while```
Aug 10 02:00:43 shigusegubu3 mix[3337]: 02:00:43.983 [error] GenServer {Oban.Registry, {Oban, Oban.Crontab.Scheduler}} terminating
Aug 10 02:00:43 shigusegubu3 mix[3337]: ** (MatchError) no match of right hand side value: {{:and, [],...```
Aug 10 02:00:43 shigusegubu3 mix[3337]: 02:00:43.983 [error] GenServer {Oban.Registry, {Oban, Oban.Crontab.Scheduler}} terminating
Aug 10 02:00:43 shigusegubu3 mix[3337]: ** (MatchError) no match of right hand side value: {{:and, [], [{:==, [], [{{:., [], [{:&, [], [0]}, :worker]}, [], []}, {:^, [], [0]}]}, {:^, [], [1]}]}, [{"Pleroma.Workers.Cron.NewUsersDigestWorker", {0, :worker}}
, {%Inspect.Error{message: "got MatchError with message \"no match of right hand side value: {{:and, [], [{:==, [], [{{:., [], [{:&, [], [0]}, :queue]}, [], []}, {:^, [], [0]}]}, {:^, [], [1]}]}, [{\\\"new_users_digest\\\", {0, :queue}}, {%{__struct__: Ec
to.Query.DynamicExpr, binding: [{:j, [line: 290], nil}], file: \\\"/home/pleroma/pleroma/deps/oban/lib/oban/query.ex\\\", fun: #Function<8.89406984/1 in Oban.Query.unique_field/2>, line: 290}, :boolean}]}\" while inspecting %{__struct__: Ecto.Query.Dynami
cExpr, binding: [{:j, [line: 290], nil}], file: \"/home/pleroma/pleroma/deps/oban/lib/oban/query.ex\", fun: #Function<8.89406984/1 in Oban.Query.unique_field/2>, line: 290}"}, :boolean}]}
Aug 10 02:00:43 shigusegubu3 mix[3337]: (ecto 3.6.2) lib/ecto/query/builder/dynamic.ex:54: Ecto.Query.Builder.Dynamic.expand/3
Aug 10 02:00:43 shigusegubu3 mix[3337]: (ecto 3.6.2) lib/ecto/query/builder/dynamic.ex:32: Ecto.Query.Builder.Dynamic.fully_expand/2
Aug 10 02:00:43 shigusegubu3 mix[3337]: (ecto 3.6.2) lib/ecto/query/builder/filter.ex:133: Ecto.Query.Builder.Filter.filter!/7
Aug 10 02:00:43 shigusegubu3 mix[3337]: (oban 2.3.4) lib/oban/query.ex:270: Oban.Query.unique_query/1
Aug 10 02:00:43 shigusegubu3 mix[3337]: (oban 2.3.4) lib/oban/query.ex:231: Oban.Query.insert_unique/2
Aug 10 02:00:43 shigusegubu3 mix[3337]: (ecto_sql 3.6.2) lib/ecto/adapters/sql.ex:1017: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
Aug 10 02:00:43 shigusegubu3 mix[3337]: (db_connection 2.4.0) lib/db_connection.ex:844: DBConnection.transaction/3
Aug 10 02:00:43 shigusegubu3 mix[3337]: (oban 2.3.4) lib/oban/query.ex:45: Oban.Query.fetch_or_insert_job/2
Aug 10 02:00:43 shigusegubu3 mix[3337]: Last message: {:continue, :start}
Aug 10 02:00:43 shigusegubu3 mix[3337]: State: %Oban.Crontab.Scheduler.State{circuit: :enabled, conf: %Oban.Config{circuit_backoff: 30000, crontab: [{%Oban.Crontab.Cron{days: [:*], hours: [0], minutes: [0], months: [:*], reboot: false, weekdays: [0]}, Ple
roma.Workers.Cron.DigestEmailsWorker, []}, {%Oban.Crontab.Cron{days: [:*], hours: [0], minutes: [0], months: [:*], reboot: false, weekdays: [:*]}, Pleroma.Workers.Cron.NewUsersDigestWorker, []}], dispatch_cooldown: 5, get_dynamic_repo: nil, log: false, na
me: Oban, node: "shigusegubu3", plugins: [Oban.Plugins.Pruner], poll_interval: 1000, prefix: "public", queues: [activity_expiration: [limit: 10], token_expiration: [limit: 5], filter_expiration: [limit: 1], backup: [limit: 1], federator_incoming: [limit:
50], federator_outgoing: [limit: 50], ingestion_queue: [limit: 50], web_push: [limit: 50], mailer: [limit: 10], transmogrifier: [limit: 20], scheduled_activities: [limit: 10], background: [limit: 5], remote_fetcher: [limit: 2], attachments_cleanup: [limit
: 1], new_users_digest: [limit: 1], mute_expire: [limit: 5]], repo: Pleroma.Repo, shutdown_grace_period: 15000, timezone: "Etc/UTC"}, first_run?: true, name: nil, poll_interval: 60000, poll_ref: nil, reset_timer: nil}
Aug 10 02:00:43 shigusegubu3 mix[3337]: 02:00:43.992 [error] GenServer {Oban.Registry, {Oban, Oban.Crontab.Scheduler}} terminating
```
(sameish stuff repeated multiple times)
```
Aug 10 02:00:45 shigusegubu3 mix[3337]: 02:00:45.459 request_id=FpnI5fqsy6hRc24AD0vi [info] Sent 404 in 15113ms
Aug 10 02:00:45 shigusegubu3 mix[3337]: 02:00:45.459 request_id=FpnI5gw3D3APFdwABEnE [info] Sent 404 in 14817ms
Aug 10 02:00:45 shigusegubu3 mix[3337]: 02:00:45.459 request_id=FpnI5geWBx3wuAsAE2Jh [info] Sent 404 in 14896ms
Aug 10 02:00:46 shigusegubu3 mix[3337]: 02:00:46.176 [info] Application pleroma exited: shutdown
Aug 10 02:00:47 shigusegubu3 mix[3337]: {"Kernel pid terminated",application_controller,"{application_terminated,pleroma,shutdown}"}
Aug 10 02:00:47 shigusegubu3 mix[3337]: Kernel pid terminated (application_controller) ({application_terminated,pleroma,shutdown})
Aug 10 02:00:47 shigusegubu3 mix[3337]: [1B blob data]
Aug 10 02:00:48 shigusegubu3 mix[3337]: Crash dump is being written to: erl_crash.dump...done
```
after which it's automatically restarted by systemdhttps://git.pleroma.social/pleroma/pleroma/-/issues/2736Can't fav, can't reprööt 2yo post2023-05-08T01:43:52ZHJCan't fav, can't reprööt 2yo posthttps://shigusegubu.club/notice/9hQVCnO6YTybPxrwC8
can emoji react tho.https://shigusegubu.club/notice/9hQVCnO6YTybPxrwC8
can emoji react tho.https://git.pleroma.social/pleroma/pleroma/-/issues/2731background_image don't updates at /api/v1/instance2023-05-08T01:45:04ZYevhenii Zapletinbackground_image don't updates at /api/v1/instanceI am trying to update background_image via Pleroma Admin FE.
`Settings->Frontend->Background`
It is updates at `/api/pleroma/frontend_configurations` but `/api/v1/instance` still have old value.
Actual background image changed and Ple...I am trying to update background_image via Pleroma Admin FE.
`Settings->Frontend->Background`
It is updates at `/api/pleroma/frontend_configurations` but `/api/v1/instance` still have old value.
Actual background image changed and Pleroma FE displays an updated image.
I am developing a mobile application for Pleroma and display a background image in it. I started load background value from `/api/pleroma/frontend_configurations` but I think data should be consistent. `background_image` field should be removed from `/api/v1/instance` or return same value as for `/api/pleroma/frontend_configurations`https://git.pleroma.social/pleroma/pleroma/-/issues/2729terminate_worker/3 crashes Pleroma from time to time.2023-05-08T01:45:10ZNEETzscheterminate_worker/3 crashes Pleroma from time to time.```
Jul 29 00:22:06 iddqd mix[21847]: 00:22:06.932 [error] Error during FastHtml.Pool.terminate_worker/3 callback:
Jul 29 00:22:06 iddqd mix[21847]: ** (ArgumentError) argument error
Jul 29 00:22:06 iddqd mix[21847]: :erlang.port_clo...```
Jul 29 00:22:06 iddqd mix[21847]: 00:22:06.932 [error] Error during FastHtml.Pool.terminate_worker/3 callback:
Jul 29 00:22:06 iddqd mix[21847]: ** (ArgumentError) argument error
Jul 29 00:22:06 iddqd mix[21847]: :erlang.port_close(#Port<0.19397>)
Jul 29 00:22:06 iddqd mix[21847]: (fast_html 2.0.4) lib/fast_html/pool.ex:95: FastHtml.Pool.terminate_worker/3
Jul 29 00:22:06 iddqd mix[21847]: (nimble_pool 0.1.0) lib/nimble_pool.ex:618: NimblePool.apply_worker_callback/3
Jul 29 00:22:06 iddqd mix[21847]: (nimble_pool 0.1.0) lib/nimble_pool.ex:562: NimblePool.maybe_terminate_worker/3
Jul 29 00:22:06 iddqd mix[21847]: (nimble_pool 0.1.0) lib/nimble_pool.ex:551: NimblePool.remove/3
Jul 29 00:22:06 iddqd mix[21847]: (nimble_pool 0.1.0) lib/nimble_pool.ex:453: NimblePool.cancel_request_ref/3
Jul 29 00:22:06 iddqd mix[21847]: (stdlib 3.15.2) gen_server.erl:695: :gen_server.try_dispatch/4
Jul 29 00:22:06 iddqd mix[21847]: (stdlib 3.15.2) gen_server.erl:771: :gen_server.handle_msg/6
```
I have to `systemctl restart pleroma.service` to rectify this. Did I do something wrong?