pleroma issueshttps://git.pleroma.social/pleroma/pleroma/-/issues2019-02-01T11:11:52Zhttps://git.pleroma.social/pleroma/pleroma/-/issues/581example config on MRF page doesn't compile due to missing commas2019-02-01T11:11:52Zwitches.liveexample config on MRF page doesn't compile due to missing commas[On the MRF instruction page,](https://git.pleroma.social/pleroma/pleroma/wikis/Message-Rewrite-Facility-configuration-(how-to-block-instances)) there is an example block of code at the bottom. However using it does not compile because i...[On the MRF instruction page,](https://git.pleroma.social/pleroma/pleroma/wikis/Message-Rewrite-Facility-configuration-(how-to-block-instances)) there is an example block of code at the bottom. However using it does not compile because it's missing a couple of commas. It should read
```
config :pleroma, :instance,
rewrite_policy: Pleroma.Web.ActivityPub.MRF.SimplePolicy
config :pleroma, :mrf_simple,
media_removal: ["illegalporn.biz"],
media_nsfw: ["porn.biz", "porn.business"],
reject: ["spam.com"],
federated_timeline_removal: ["spam.university"]
```https://git.pleroma.social/pleroma/pleroma/-/issues/537Check handling of follow request2019-01-29T14:47:39ZlainCheck handling of follow requestUsers have been reporting stuck follow requests and general weirdness in that area. We should check how this can happen and how to solve it.Users have been reporting stuck follow requests and general weirdness in that area. We should check how this can happen and how to solve it.https://git.pleroma.social/pleroma/pleroma/-/issues/501shitposter.club migration issues2019-06-04T22:45:13Zkaniinishitposter.club migration issuesBecause of shitposter.club's migration, we became aware of a serious defect in the `Transmogrifier.user_upgrade_task()` function: it doesn't handle the actor URI changing.
This has caused many instances to have orphaned activities if th...Because of shitposter.club's migration, we became aware of a serious defect in the `Transmogrifier.user_upgrade_task()` function: it doesn't handle the actor URI changing.
This has caused many instances to have orphaned activities if they were set up prior to shitposter.club's migration going live.
There's two components we need to fix:
1. `Transmogrifier.user_upgrade_task()` needs to stitch up the activities when an actor URI changes.
2. We need to delete the orphaned activities:
* Scan users with `ap_id ~= "https://shitposter.club/user/%"` and force the Transmogrifier to upgrade them.
* If the upgrade fails because of the shitposter.club user purge, then delete the orphaned activities.
This should resolve all damage to instance object graphs caused by the migration.https://git.pleroma.social/pleroma/pleroma/-/issues/491@user@host are replaced by just @user in bios2019-01-19T07:37:00Zhrefhref@random.sh@user@host are replaced by just @user in biosIf you add an @user@host identifier in your bio, the @host part is removed after savedIf you add an @user@host identifier in your bio, the @host part is removed after savedIvan TashkinovIvan Tashkinovhttps://git.pleroma.social/pleroma/pleroma/-/issues/487Elixir 1.7 on Raspbian ?2019-01-08T14:23:05ZRobElixir 1.7 on Raspbian ?I updated Pleroma today to find out that it no longer works on Elixir 1.6 and needs 1.7. I've not had any luck getting 1.7 to install on Raspbian (Stretch).
The link pointing to the install page says to add an additional apt repository...I updated Pleroma today to find out that it no longer works on Elixir 1.6 and needs 1.7. I've not had any luck getting 1.7 to install on Raspbian (Stretch).
The link pointing to the install page says to add an additional apt repository but that still sends Elixir 1.6.1.
```
pi@funkypi20:~ $ sudo apt-get install elixir
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
elixir
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,479 kB of archives.
After this operation, 6,036 kB of additional disk space will be used.
Get:1 https://packages.erlang-solutions.com/debian stretch/contrib armhf elixir all 1.6.1-1 [3,479 kB]
Fetched 3,479 kB in 13s (265 kB/s)
Selecting previously unselected package elixir.
(Reading database ... 36523 files and directories currently installed.)
Preparing to unpack .../elixir_1.6.1-1_all.deb ...
Unpacking elixir (1.6.1-1) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up elixir (1.6.1-1) ...
```
Has anyone here successfully updated Pleroma and Elixir on a Pi to work with the recent updates? If not, what's the best way to revert back to a previous commit before the Elixir 1.7 dependency was added?https://git.pleroma.social/pleroma/pleroma/-/issues/483Import / Export of Blocks list2018-12-29T11:34:54ZIvan TashkinovImport / Export of Blocks listIn TwitterAPI, allow importing and exporting of blocked accounts list, per FE request: https://git.pleroma.social/pleroma/pleroma-fe/issues/220.In TwitterAPI, allow importing and exporting of blocked accounts list, per FE request: https://git.pleroma.social/pleroma/pleroma-fe/issues/220.Ivan TashkinovIvan Tashkinovhttps://git.pleroma.social/pleroma/pleroma/-/issues/478Hosting documentation2019-03-29T09:57:16ZsuccfemboiHosting documentationIt would be great to have a unified site of docs for this project.
The docs seem to have been [moved into the repo itself already](https://git.pleroma.social/pleroma/pleroma/merge_requests/571/diffs).
However, I can't find pleroma on `he...It would be great to have a unified site of docs for this project.
The docs seem to have been [moved into the repo itself already](https://git.pleroma.social/pleroma/pleroma/merge_requests/571/diffs).
However, I can't find pleroma on `hexdocs.pm` .
Maybe one could automate publishing and updating docs via the gitlab CI and host it on something like `docs.pleroma.social`.https://git.pleroma.social/pleroma/pleroma/-/issues/467Mix tasks in an OTP release2019-12-08T16:56:08Zhrefhref@random.shMix tasks in an OTP releasePleroma is almost ready from being OTP release ready. The remaining issue is the mix tasks. Mix is a dev tool, and it's not present in an OTP releases.
Instead, we can run mfa RPC calls into the running app node: we just have to change ...Pleroma is almost ready from being OTP release ready. The remaining issue is the mix tasks. Mix is a dev tool, and it's not present in an OTP releases.
Instead, we can run mfa RPC calls into the running app node: we just have to change the existing tasks to not use any of the Mix functions at runtime (`Mix.shell`, …) while still respecting the `Mix.Task` contract (keep the `use Mix.Task`), so we'll just execute them with an array of arguments that has been passed to a [custom command shell script](https://hexdocs.pm/distillery/extensibility/custom_commands.html) with ([`release_remote_ctl()`](https://hexdocs.pm/distillery/extensibility/shell_scripts.html)).
An exception is the migrations: it would need to be outside of a running node (because before running the migrations you'll have to restart the node to get the new code; and the new code may/will crash because it misses the migrations) with [`release_ctl()`](https://hexdocs.pm/distillery/extensibility/shell_scripts.html). We can also envisage to just run them automatically in `Pleroma.Application.start/2`.
(note: `Mix.Task.run("app.start")` should be remplaced with `Application.ensure_all_started(:pleroma)`).
(depends on !568 to properly test with a release built by distillery.)Ivan TashkinovIvan Tashkinovhttps://git.pleroma.social/pleroma/pleroma/-/issues/447Pinafore compatibility2020-04-22T19:07:23ZCarlos Fernández LlamasPinafore compatibilityHi!
I'm trying to use https://pinafore.social with Pleroma and it mostly work. Mostly.
There are a couple of things that I found that doesn't work properly:
- **Image sizing**: Pinafore uses the **meta field** inside attachments to pr...Hi!
I'm trying to use https://pinafore.social with Pleroma and it mostly work. Mostly.
There are a couple of things that I found that doesn't work properly:
- **Image sizing**: Pinafore uses the **meta field** inside attachments to properly size the images and prevent layout recalculations after image loads ([Link to attachments info in Mastodon Client API](https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md#attachment)). Pleroma isn't returning this metadata with the attachments, so a proper image sizing in Pinafore is missing for Pleroma instances (right now, it fallbacks to 300x200 always).
- **Realtime events**: Pinafore tries to connect to the endpoint `wss://pleroma.instance/api/v1/streaming?stream=user&access_token=zr9XAk2oWZjeIY8qO3MMA9JJwG9Y_oCvoAnZkvVdUII%3D` (This is the real `access_token` being provided. Maybe that helps.). The Mastodon Streaming API (which is part of the Client API) describes this endpoint [right here](https://docs.joinmastodon.org/api/streaming/#websocket). The connection returns `403 Forbidden`.
My Pinafore instance have the following configuration in `prod.secret.exs` with `MIX_ENV=prod` (security tokens and real address removed).
```exs
# Pleroma instance configuration
# NOTE: This file should not be committed to a repo or otherwise made public
# without removing sensitive information.
use Mix.Config
config :pleroma, Pleroma.Web.Endpoint,
url: [host: "pleroma.instance", scheme: "https", port: 443],
secret_key_base: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
config :pleroma, :instance,
name: "pleroma test",
email: "example@example.com",
limit: 5000,
registrations_open: true,
dedupe_media: false
config :pleroma, :media_proxy,
enabled: false,
redirect_on_failure: true
#base_url: "https://cache.pleroma.social"
config :pleroma, Pleroma.Repo,
adapter: Ecto.Adapters.Postgres,
username: "pleroma",
password: "pleroma",
database: "pleroma_dev",
hostname: "db",
pool_size: 10
# Configure web push notifications
config :web_push_encryption, :vapid_details,
subject: "mailto:example@example.com",
public_key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
private_key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Enable Strict-Transport-Security once SSL is working:
# config :pleroma, :http_security,
# sts: true
# Configure S3 support if desired.
# The public S3 endpoint is different depending on region and provider,
# consult your S3 provider's documentation for details on what to use.
#
# config :pleroma, Pleroma.Uploaders.S3,
# bucket: "some-bucket",
# public_endpoint: "https://s3.amazonaws.com"
#
# Configure S3 credentials:
# config :ex_aws, :s3,
# access_key_id: "xxxxxxxxxxxxx",
# secret_access_key: "yyyyyyyyyyyy",
# region: "us-east-1",
# scheme: "https://"
#
# For using third-party S3 clones like wasabi, also do:
# config :ex_aws, :s3,
# host: "s3.wasabisys.com"
# Configure Openstack Swift support if desired.
#
# Many openstack deployments are different, so config is left very open with
# no assumptions made on which provider you're using. This should allow very
# wide support without needing separate handlers for OVH, Rackspace, etc.
#
# config :pleroma, Pleroma.Uploaders.Swift,
# container: "some-container",
# username: "api-username-yyyy",
# password: "api-key-xxxx",
# tenant_id: "<openstack-project/tenant-id>",
# auth_url: "https://keystone-endpoint.provider.com",
# storage_url: "https://swift-endpoint.prodider.com/v1/AUTH_<tenant>/<container>",
# object_url: "https://cdn-endpoint.provider.com/<container>"
#
```
The server is inside a Docker container and behind a Caddy proxy with the following configuration:
```
https://pleroma.instance {
tls example@example.com
proxy / 127.0.0.1:4000 {
transparent
websocket
}
}
```
The server works perfectly with the Pleroma's UI, including the websocket functionality (bottom right chat) all over HTTPS/WSS.
Thanks in advance for your efforts :)https://git.pleroma.social/pleroma/pleroma/-/issues/420Add CloudFront support2019-08-18T23:39:18ZAndi N. FiziksAdd CloudFront supportAt the moment the S3 uploader assumes URLs will be of the format:
```
public_endpoint + "/" + bucket + "/" key
```
This can be seen in the [`get_file`](https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/uploaders/s3.ex...At the moment the S3 uploader assumes URLs will be of the format:
```
public_endpoint + "/" + bucket + "/" key
```
This can be seen in the [`get_file`](https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/uploaders/s3.ex#L13) method, and it seems hardcoded.
If there was another config option to turn off appending the bucket to URLs, it'd be trivial to use CloudFront as a CDN in front of the S3 bucket. Or alternately, using S3's built-in static website hosting would be much simpler.
Happy to write a PR if it helps, but be forewarned I've never written a line of Elixir in my life so it might be Actually Very Bad™ if I do that. :sweat\_smile:https://git.pleroma.social/pleroma/pleroma/-/issues/418Warning while compiling2018-12-11T15:23:06ZValDWarning while compilingThere are lots of warning while compiling
```
warning: "catch" should always come after "rescue" in try
lib/pleroma/web/xml/xml.ex:24
warning: variable "e" is unused
lib/pleroma/web/xml/xml.ex:36
warning: default arguments in hackn...There are lots of warning while compiling
```
warning: "catch" should always come after "rescue" in try
lib/pleroma/web/xml/xml.ex:24
warning: variable "e" is unused
lib/pleroma/web/xml/xml.ex:36
warning: default arguments in hackney_options/1 are never used
lib/pleroma/http/connection.ex:23
warning: variable "activity" is unused
lib/mix/tasks/relay_follow.ex:17
warning: variable "author" is unused
lib/pleroma/web/streamer.ex:64
warning: variable "timeout" is unused
lib/pleroma/web/federator/retry_queue.ex:45
warning: variable "reason" is unused
lib/pleroma/web/federator/retry_queue.ex:65
warning: module attribute @instance was set but never used
lib/pleroma/web/federator/retry_queue.ex:10
warning: module attribute @httpoison was set but never used
lib/pleroma/web/federator/retry_queue.ex:9
warning: module attribute @ostatus was set but never used
lib/pleroma/web/federator/retry_queue.ex:8
warning: module attribute @websub was set but never used
lib/pleroma/web/federator/retry_queue.ex:7
warning: unused alias ActivityPub
lib/pleroma/web/federator/retry_queue.ex:4
warning: unused alias WebFinger
lib/pleroma/web/federator/retry_queue.ex:3
warning: unused alias Websub
lib/pleroma/web/federator/retry_queue.ex:3
warning: variable "activity" is unused
lib/mix/tasks/relay_unfollow.ex:16
warning: variable "object_url" is unused
lib/pleroma/uploaders/swift/swift.ex:12
warning: variable "ext" is unused
lib/mix/tasks/migrate_local_uploads.ex:57
warning: variable "opts" is unused
lib/pleroma/upload.ex:131
warning: function url_from_spec/1 is unused
lib/pleroma/upload.ex:219
warning: unused alias S3
lib/mix/tasks/migrate_local_uploads.ex:4
warning: unused import Mix.Ecto
lib/mix/tasks/migrate_local_uploads.ex:3
warning: unused alias User
lib/pleroma/plugs/session_authentication_plug.ex:3
warning: module attribute @cache_control was set but never used
lib/pleroma/plugs/uploaded_media.ex:11
warning: unused alias User
lib/pleroma/user_invite_token.ex:6
warning: variable "opts" is unused
lib/pleroma/plugs/federating_plug.ex:8
warning: unused alias Config
lib/pleroma/uploaders/mdii.ex:2
warning: def call/3 has multiple clauses and also declares default values. In such cases, the default valuesshould be defined in a header. Instead of:
def foo(:first_clause, b \\ :default) do ... end
def foo(:second_clause, b) do ... end
one should write:
def foo(a, b \\ :default)
def foo(:first_clause, b) do ... end
def foo(:second_clause, b) do ... end
lib/pleroma/reverse_proxy.ex:132
warning: variable "headers" is unused
lib/pleroma/reverse_proxy.ex:243
warning: variable "opts" is unused
lib/pleroma/reverse_proxy.ex:271
warning: module attribute @env was set but never used
lib/pleroma/application.ex:18
warning: unused alias Web
lib/pleroma/uploaders/local.ex:4
warning: variable "opts" is unused
lib/pleroma/list.ex:26
warning: variable "list" is unused
lib/pleroma/list.ex:49
warning: variable "tag" is unused
lib/pleroma/html.ex:169
warning: variable "children" is unused
lib/pleroma/html.ex:180
warning: variable "tag" is unused
lib/pleroma/html.ex:183
warning: variable "conn" is unused
Note variables defined inside case, cond, fn, if and similar do not leak. If you want to conditionally override an existing variable "conn", you will have to explicitly return the variable. For example:
if some_condition? do
atom = :one
else
atom = :two
end
should be written as
atom =
if some_condition? do
:one
else
:two
end
Unused variable found at:
lib/pleroma/plugs/http_security_plug.ex:9
warning: variable "options" is unused
lib/pleroma/plugs/http_security_plug.ex:7
warning: undefined module attribute @protocol, please remove access to @protocol or explicitly set it beforeaccess
lib/pleroma/plugs/http_security_plug.ex:45: Pleroma.Plugs.HTTPSecurityPlug (module)
warning: variable "protocol" is unused
lib/pleroma/plugs/http_security_plug.ex:32
warning: variable "id" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:40
warning: variable "actor" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:42
warning: variable "id" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:53
warning: variable "params" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:55
warning: variable "path" is unused
lib/pleroma/upload/filter/dedupe.ex:4
warning: variable "tags" is unused
lib/pleroma/web/common_api/utils.ex:125
warning: variable "callback" is unused
lib/pleroma/web/federator/federator.ex:137
warning: variable "secret" is unused
lib/pleroma/web/federator/federator.ex:137
warning: variable "topic" is unused
lib/pleroma/web/federator/federator.ex:137
warning: variable "xml" is unused
lib/pleroma/web/federator/federator.ex:137
warning: variable "vid" is unused
lib/pleroma/web/twitter_api/representers/activity_representer.ex:176
warning: module attribute @httpoison was set but never used
lib/pleroma/web/federator/federator.ex:16
warning: variable "content" is unused
lib/pleroma/web/twitter_api/representers/activity_representer.ex:144
warning: variable "summary" is unused
lib/pleroma/web/twitter_api/representers/activity_representer.ex:168
warning: The transport/3 macro accepts only websocket and longpoll for transport names. Other names are deprecated. If you want multiple websocket/longpoll endpoints, define multiple sockets instead
(phoenix) lib/phoenix/socket.ex:307: Phoenix.Socket.__transport__/4
lib/pleroma/web/mastodon_api/mastodon_socket.ex:7: (module)
(elixir) src/elixir_compiler.erl:71: :elixir_compiler.dispatch/4
(elixir) src/elixir_compiler.erl:68: :elixir_compiler.compile/3
(elixir) src/elixir_module.erl:281: :elixir_module.eval_form/6
(elixir) src/elixir_module.erl:79: :elixir_module.compile/5
(stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
(elixir) src/elixir.erl:265: :elixir.eval_forms/4
(elixir) src/elixir_compiler.erl:49: :elixir_compiler.eval_forms/3
(elixir) src/elixir_lexical.erl:17: :elixir_lexical.run/2
(elixir) src/elixir_compiler.erl:23: :elixir_compiler.quoted/2
(elixir) lib/kernel/parallel_compiler.ex:206: anonymous fn/4 in Kernel.ParallelCompiler.spawn_workers/6
warning: variable "opts" is unused
lib/pleroma/plugs/basic_auth_decoder_plug.ex:8
warning: clauses with the same name and arity (number of arguments) should be grouped together, "def bin_mime_type/1" was previously defined (lib/pleroma/mime.ex:32)
lib/pleroma/mime.ex:38
warning: variable "type" is unused
lib/pleroma/web/twitter_api/twitter_api.ex:16
warning: "else" clauses will never match because all patterns in "with" will always match
lib/pleroma/web/mastodon_api/mastodon_socket.ex:55
warning: variable "follow_activity" is unused
lib/pleroma/web/twitter_api/twitter_api.ex:40
warning: variable "followed" is unused
lib/pleroma/web/activity_pub/utils.ex:295
warning: do not use "length(activities) > 0" to check if a list is not empty since length always traverses the whole list. Prefer to pattern match on a non-empty list, such as [_ | _], or use "activities != []" as a guard
lib/pleroma/web/ostatus/ostatus.ex:385
warning: variable "data" is unused
lib/pleroma/notification.ex:120
warning: variable "local_only" is unused
lib/pleroma/notification.ex:133
warning: variable "activity" is unused
lib/pleroma/notification.ex:137
warning: variable "type" is unused
lib/pleroma/notification.ex:137
warning: variable "activity" is unused
lib/pleroma/notification.ex:144
warning: variable "to" is unused
lib/pleroma/notification.ex:144
warning: function make_date/0 is unused
lib/pleroma/web/twitter_api/twitter_api.ex:247
warning: variable "info" is unused
lib/pleroma/web/common_api/utils.ex:239
warning: variable "params" is unused
lib/pleroma/user.ex:65
warning: variable "struct" is unused
lib/pleroma/user.ex:65
warning: module attribute @httpoison was set but never used
lib/pleroma/web/twitter_api/twitter_api.ex:9
warning: unused alias MediaProxy
lib/pleroma/web/twitter_api/twitter_api.ex:6
warning: unused alias OStatus
lib/pleroma/web/twitter_api/twitter_api.ex:5
warning: variable "follower" is unused
Note variables defined inside case, cond, fn, if and similar do not leak. If you want to conditionally override an existing variable "follower", you will have to explicitly return the variable. For example:
if some_condition? do
atom = :one
else
atom = :two
end
should be written as
atom =
if some_condition? do
:one
else
:two
end
Unused variable found at:
lib/pleroma/web/activity_pub/transmogrifier.ex:377
warning: variable "actor" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:361
warning: variable "id" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:361
warning: clauses with the same name and arity (number of arguments) should be grouped together, "def handle_incoming/1" was previously defined (lib/pleroma/web/activity_pub/transmogrifier.ex:311)
lib/pleroma/web/activity_pub/transmogrifier.ex:360
warning: variable "actor" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:387
warning: variable "id" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:387
warning: variable "actor" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:411
warning: variable "actor" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:424
warning: variable "info" is unused
lib/pleroma/user.ex:223
warning: variable "actor" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:495
warning: variable "e" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:523
warning: variable "e" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:542
warning: variable "e" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:557
warning: variable "data" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:547
warning: variable "actor" is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:565
warning: variable "password" is unused
lib/pleroma/plugs/authentication_plug.ex:32
warning: variable "user" is unused
lib/pleroma/filter.ex:29
warning: unused alias Repo
lib/mix/tasks/set_locked.ex:14
warning: variable "options" is unused
lib/pleroma/plugs/user_fetcher_plug.ex:10
warning: unused alias Repo
lib/mix/tasks/make_moderator.ex:12
warning: function mastodon_follow_hack/1 is unused
lib/pleroma/web/activity_pub/transmogrifier.ex:344
warning: variable "user" is unused
lib/pleroma/web/activity_pub/activity_pub.ex:798
warning: unused alias Activity
lib/pleroma/filter.ex:4
warning: unused alias User
lib/pleroma/filter.ex:4
warning: variable "user" is unused
lib/pleroma/web/admin_api/admin_api_controller.ex:57
warning: clauses with the same name and arity (number of arguments) should be grouped together, "def right_add/2" was previously defined (lib/pleroma/web/admin_api/admin_api_controller.ex:43)
lib/pleroma/web/admin_api/admin_api_controller.ex:73
warning: variable "password" is unused
lib/pleroma/web/oauth/oauth_controller.ex:124
warning: variable "user" is unused
lib/pleroma/web/admin_api/admin_api_controller.ex:104
warning: variable "message" is unused
lib/pleroma/web/admin_api/admin_api_controller.ex:118
warning: variable "message" is unused
lib/pleroma/web/admin_api/admin_api_controller.ex:131
warning: variable "user" is unused
lib/pleroma/web/ostatus/ostatus_controller.ex:160
warning: variable "conn" is unused
lib/pleroma/web/ostatus/ostatus_controller.ex:169
warning: module attribute @shortdoc was set but never used
lib/pleroma/web/admin_api/admin_api_controller.ex:151
warning: variable "filename" is unused
lib/pleroma/web/media_proxy/controller.ex:11
warning: unused alias Formatter
lib/pleroma/web/twitter_api/controllers/util_controller.ex:9
warning: unused import Phoenix.HTML.Form
lib/pleroma/web/mastodon_api/views/mastodon_view.ex:4
warning: variable "params" is unused
lib/pleroma/web/activity_pub/activity_pub_controller.ex:144
warning: variable "user" is unused
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex:431
warning: variable "user" is unused
lib/pleroma/web/twitter_api/twitter_api_controller.ex:158
warning: variable "params" is unused
lib/pleroma/web/twitter_api/twitter_api_controller.ex:370
warning: variable "params" is unused
lib/pleroma/web/twitter_api/twitter_api_controller.ex:390
warning: variable "title" is unused
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex:833
warning: unused alias CommonUtils
lib/pleroma/web/twitter_api/twitter_api_controller.ex:6
warning: unused alias Formatter
lib/pleroma/web/twitter_api/twitter_api_controller.ex:3
warning: unused alias Pbkdf2
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex:11
warning: unused alias Repo
lib/pleroma/web/router.ex:4
warning: unused alias Router
lib/pleroma/web/router.ex:4
warning: unused alias User
lib/pleroma/web/router.ex:4
```
Most of these are related to unused variableshttps://git.pleroma.social/pleroma/pleroma/-/issues/406Post data should include a list of favorites' ids in addition to favorite cou...2020-06-11T11:11:21ZHJPost data should include a list of favorites' ids in addition to favorite counter.something like `likes_id: [123,12341,52341]`, this way FE would be able to correctly handle the favourites counter and not display incorrect number.
I'm not sure about repeats tho, somehow they seem to be working fine.something like `likes_id: [123,12341,52341]`, this way FE would be able to correctly handle the favourites counter and not display incorrect number.
I'm not sure about repeats tho, somehow they seem to be working fine.https://git.pleroma.social/pleroma/pleroma/-/issues/403Markdown problem with char # in url2019-06-04T14:56:14ZTetsumakiMarkdown problem with char # in urlIf an url contains #, this generates a bad href.
Eq :
`[test](https://domain.tld/test#12345)`
Generated href :
`https://domain.tld/test<a href='https://my-instance.tld/tag/12345' rel='tag'>#12345</a>`If an url contains #, this generates a bad href.
Eq :
`[test](https://domain.tld/test#12345)`
Generated href :
`https://domain.tld/test<a href='https://my-instance.tld/tag/12345' rel='tag'>#12345</a>`Sergey SuprunenkoSergey Suprunenkohttps://git.pleroma.social/pleroma/pleroma/-/issues/402URL previews on posts2019-01-05T00:29:37ZsuccfemboiURL previews on postsMaybe show a preview of a link under a post, like on GNUsocial.
(Sorry that I'm spamming so many issues but I forget to write this from time to time)Maybe show a preview of a link under a post, like on GNUsocial.
(Sorry that I'm spamming so many issues but I forget to write this from time to time)https://git.pleroma.social/pleroma/pleroma/-/issues/385Bio specified during registration is not parsed for username links2018-12-03T16:33:16ZnikBio specified during registration is not parsed for username linksExpected outcome:
* Visit an instance's registration page, enter all user info, set the bio to `hello @crushv@letsalllovela.in`, submit registration
* Once the account is created, the bio will be `hello @crushv(link to user)`
Actual ou...Expected outcome:
* Visit an instance's registration page, enter all user info, set the bio to `hello @crushv@letsalllovela.in`, submit registration
* Once the account is created, the bio will be `hello @crushv(link to user)`
Actual outcome:
* Visit an instance's registration page, enter all user info, set the bio to `hello @crushv@letsalllovela.in`, submit registration
* Once the account is created, the bio is `hello @crushv@letsalllovela.in` (no link)
If you go into user preferences after already making the account and set the bio to `hello @crushv@letsalllovela.in` the bio will become `hello @crushv(link to user)`. This seems to indicate a difference in how the bio is set in the registration flow vs update preferences flow.Maxim FilippovMaxim Filippovhttps://git.pleroma.social/pleroma/pleroma/-/issues/367Error viewing home timeline from mobile client2018-12-23T14:47:00ZBigl0afError viewing home timeline from mobile client```
pleroma_web | 10:36:28.113 request_id=2lid2clgrqimfsnqkc0006ih [info] GET /api/v1/timelines/home
pleroma_web | 10:36:28.176 request_id=2lid2clkkbp7adkpjk0006j1 [info] GET /api/v1/custom_emojis
pleroma_web | 10:36:28.178 request_id=2l...```
pleroma_web | 10:36:28.113 request_id=2lid2clgrqimfsnqkc0006ih [info] GET /api/v1/timelines/home
pleroma_web | 10:36:28.176 request_id=2lid2clkkbp7adkpjk0006j1 [info] GET /api/v1/custom_emojis
pleroma_web | 10:36:28.178 request_id=2lid2clkoc7lfatd6g0006jh [info] GET /api/v1/notifications
pleroma_web | 10:36:28.202 request_id=2lid2clkkbp7adkpjk0006j1 [info] Sent 200 in 25ms
pleroma_web | 10:36:28.409 request_id=2lid2clkoc7lfatd6g0006jh [info] Sent 200 in 230ms
pleroma_web | 10:36:28.430 request_id=2lid2clgrqimfsnqkc0006ih [info] Sent 500 in 317ms
pleroma_web | 10:36:28.433 [error] #PID<0.3680.0> running Pleroma.Web.Endpoint (cowboy_protocol) terminated
pleroma_web | Server: social.foxfam.club:80 (http)
pleroma_web | Request: GET /api/v1/timelines/home?limit=40&max_id=41386
pleroma_web | ** (exit) an exception was raised:
pleroma_web | ** (MatchError) no match of right hand side value: "https://video.monsieurbidouille.fr/static/webseed/824fe8e1-b2b5-45cc-b0b8-50cb4cadfab9-720.mp4"
pleroma_web | (pleroma) lib/pleroma/web/mastodon_api/views/status_view.ex:167: Pleroma.Web.MastodonAPI.StatusView.render/2
pleroma_web | (elixir) lib/enum.ex:1294: Enum."-map/2-lists^map/1-0-"/2
pleroma_web | (pleroma) lib/pleroma/web/mastodon_api/views/status_view.ex:107: Pleroma.Web.MastodonAPI.StatusView.render/2
pleroma_web | (pleroma) lib/pleroma/web/mastodon_api/views/status_view.ex:48: Pleroma.Web.MastodonAPI.StatusView.render/2
pleroma_web | (elixir) lib/enum.ex:1294: Enum."-map/2-lists^map/1-0-"/2
pleroma_web | (elixir) lib/enum.ex:1294: Enum."-map/2-lists^map/1-0-"/2
pleroma_web | (pleroma) lib/pleroma/web/mastodon_api/views/status_view.ex:31: Pleroma.Web.MastodonAPI.StatusView.render/2
pleroma_web | (phoenix) lib/phoenix/view.ex:332: Phoenix.View.render_to_iodata/3
```HaelwennHaelwennhttps://git.pleroma.social/pleroma/pleroma/-/issues/312Don't display replies to people you don't follow in home timeline2020-05-01T12:42:49ZcosineDon't display replies to people you don't follow in home timelineReplies to people I follow are displayed in my home timeline. This has a few negative effects:
- Personal conversations with people I don't know are in my TL but uninteresting
- Broken threads are directly on my TL if visibility level i...Replies to people I follow are displayed in my home timeline. This has a few negative effects:
- Personal conversations with people I don't know are in my TL but uninteresting
- Broken threads are directly on my TL if visibility level is "Private"
- Social implications of a reply are more like Twitter's "Quote-tweet" than an OP-directed reply (this is subjective, but in my experience on Mastodon, it's much nicer the latter way)
Specifically for me, on my pleroma I'm constantly seeing people PDAing to people I don't know or follow and couldn't care less / feel uncomfortable seeing all the time.
Apologies if this has been discussed and rejected, I tried to search open and closed issues and didn't find anything.
Thanks!Karen KonouKaren Konouhttps://git.pleroma.social/pleroma/pleroma/-/issues/289Pleroma Notice controller should serve the actual Note, not the Create activity2018-11-17T22:20:11ZClairePleroma Notice controller should serve the actual Note, not the Create activityWhen queried with `Accept: application/activity+json`, URLs such as https://pleroma.site/notice/4821668 serve the `Create` activity for the `Note`.
It may make more sense to serve the `Note` object directly rather than the `Create` Activ...When queried with `Accept: application/activity+json`, URLs such as https://pleroma.site/notice/4821668 serve the `Create` activity for the `Note`.
It may make more sense to serve the `Note` object directly rather than the `Create` Activity.https://git.pleroma.social/pleroma/pleroma/-/issues/280do not include mentions data in self-replies2020-04-23T11:04:52Zkaniinido not include mentions data in self-repliesright now, we include `Mention` tags to ourselves in self-replies. we should probably not do this unless we actually mention ourselves. it leads to strange UX on certain FEs, as well as other fediverse servers.right now, we include `Mention` tags to ourselves in self-replies. we should probably not do this unless we actually mention ourselves. it leads to strange UX on certain FEs, as well as other fediverse servers.https://git.pleroma.social/pleroma/pleroma/-/issues/278Why do we need two config sources part 2 electric boogaloo.2019-02-27T19:57:38ZHJWhy do we need two config sources part 2 electric boogaloo.Continuation of #276 and discussion over IRC. New issue because turbodevs couldn't wait for me to actually comment on that issue.
So config.exs i needed because in currently proposed binary package FE is bundled in in such a way config...Continuation of #276 and discussion over IRC. New issue because turbodevs couldn't wait for me to actually comment on that issue.
So config.exs i needed because in currently proposed binary package FE is bundled in in such a way configuration for it is awkward.
## config.exs/pleroma.conf + config.json if you set some flag in config.exs
Pros:
* "easy" configuration in binary package (in quotes because it doesn't seem all that easy)
Cons:
* one configuration for ALL the FEs, impossible to have separate configs unless you switch to config.json
* to apply new config you need to restart entire server
* need to sync PleromaFE settings to PleromaBE
* FE devs have little control over what is synced to BE as we recently saw
* FE devs don't really know how to configure FE in binary-package enviroment (logoMask vs logo_mask, where config file is located) therefore tough to help users struggling with new changes (i wrongly directed people to config.json initially)
* Having a switch to disable config.exs will lead to FE devs to recommend people to toggling that off and using config.json instead
## just config.json and nothing else
Pros:
* easy configuration of FE itself
* can have separate configs for different FEs (possible to run stable FE + unstable FE for example)
* FE devs are happy
Cons:
* Need to uncouple FE from BE or make configuration less awkward (symlink?)