Mark Felder
e53c20b03c
Pleroma.Web.MastodonAPI.AccountController: dialyzer errors
...
lib/pleroma/web/mastodon_api/controllers/account_controller.ex:479:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:account => _, :user => _, _ => _},
:body_params => %{:comment => _, _ => _},
_ => _
},
<<114, 101, 108, 97, 116, 105, 111, 110, 115, 104, 105, 112, 46, 106, 115, 111, 110>>,
[
{:target, %Pleroma.User{:id => _, _ => _}} | {:user, %Pleroma.User{:id => _, _ => _}},
...
]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/account_controller.ex:519:call
The function call will not succeed.
Plug.Conn.assign(
_conn :: %{:body_params => %{:uri => _, _ => _}, _ => _},
:account,
_user :: %Pleroma.User{_ => _}
)
breaks the contract
(t(), atom(), term()) :: t()
2024-01-28 17:41:07 -05:00
Mark Felder
5b95abaeea
Credo.Check.Readability.PredicateFunctionNames
...
This check was recently improved in Credo and it does make sense for readability.
The offending functions in Pleroma have been renamed and a couple missing the ? suffix have been fixed as well.
2024-01-26 16:59:58 -05:00
Haelwenn
ab3f03a04a
Merge branch 'develop' into 'public-polls'
...
# Conflicts:
# docs/development/API/differences_in_mastoapi_responses.md
2024-01-21 12:03:29 +00:00
marcin mikołajczak
b39403a48f
Update API docs for my changes
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-01-17 17:13:21 +01:00
Alexander Tumin
32d8e0d496
Fix authentication check on account rendering when bio is defined
2024-01-04 16:57:48 +03:00
Haelwenn
ddc321a094
Merge branch 'tusooa/3205-group-actor' into 'develop'
...
Implement group actors
See merge request pleroma/pleroma!3969
2023-12-28 10:46:53 +00:00
marcin mikołajczak
017e35fbf1
Fix some more typos
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-28 00:17:04 +01:00
marcin mikołajczak
f6fee39e42
Add changelog
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-27 21:24:20 +01:00
tusooa
b273025fd7
Add pleroma:group_actors to instance features
2023-12-27 12:28:11 -05:00
tusooa
7a58ddfa48
Allow local user to have group actor type
...
https://git.pleroma.social/pleroma/pleroma/-/issues/3205
2023-12-27 12:27:37 -05:00
marcin mikołajczak
6051715a99
Merge remote-tracking branch 'origin/develop' into instance_rules
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-22 14:34:30 +01:00
marcin mikołajczak
9fc6676d8c
Merge remote-tracking branch 'origin/develop' into instance-contact-account
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-22 13:54:44 +01:00
Haelwenn
bd50892c25
Merge branch 'instance-v2' into 'develop'
...
Implement api/v2/instance route
See merge request pleroma/pleroma!3939
2023-12-21 21:14:46 +00:00
marcin mikołajczak
4f2fb8dc5e
Use consistent terminology
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-21 00:13:13 +01:00
lain
29d202e1df
Merge branch 'add-opengraph-rich-media-proxy' into 'develop'
...
Add media proxy to opengraph rich media cards
See merge request pleroma/pleroma!3997
2023-12-13 06:23:16 +00:00
Alexander Tumin
e7af2addd8
Add media proxy to opengraph rich media cards
2023-12-12 18:32:02 +03:00
Lain Soykaf
ef8a2134bc
AccountView: Add test, refactor
2023-12-07 11:25:18 +04:00
Haelwenn (lanodan) Monnier
8ac7cc98c1
MastoAPI AccountView: Change last_status_at to be a date
...
Changed in Mastodon 3.1.0 with: https://github.com/tootsuite/mastodon/pull/12966
2023-11-16 15:52:01 +01:00
lain
752bc168f6
Merge branch 'quotes-count' into 'develop'
...
Count and display post quotes
See merge request pleroma/pleroma!3956
2023-11-12 13:38:09 +00:00
marcin mikołajczak
9a063deacc
Count and display post quotes
2023-11-12 13:38:08 +00:00
Lain Soykaf
0c5cc51983
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-meilisearch
2023-11-12 13:53:18 +04:00
Marcin Mikołajczak
1e9333a9aa
Merge remote-tracking branch 'origin/develop' into instance-v2
2023-11-08 20:46:57 +01:00
marcin mikołajczak
93370b870a
Expose nonAnonymous field from Smithereen polls
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-28 23:58:39 +02:00
marcin mikołajczak
c6cedbb810
InstanceV2: skip auth
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-28 00:07:18 +02:00
marcin mikołajczak
6b8c5e12df
Add contact account to InstanceView
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-26 23:32:08 +02:00
tusooa
a348c2e4dd
Use pleroma: instead of pleroma. for ws events
2023-10-15 17:20:25 -04:00
tusooa
7d005e8c93
Return stream attribute in server-sent events
2023-10-15 17:20:23 -04:00
tusooa
21395aa509
Allow authenticating via client-sent events
2023-10-15 17:19:49 -04:00
tusooa
273cda63ad
Allow subscribing to streams
2023-10-15 17:19:49 -04:00
tusooa
2b5636bf12
Allow unified streaming endpoint
2023-10-15 17:19:40 -04:00
tusooa
08608afca5
Fix quote_visible attribute
2023-09-13 19:20:33 -04:00
tusooa
a8b2f9205d
Expose quote_id parameter on the api
2023-09-13 19:20:32 -04:00
Alex Gleason
cf8e425883
StatusView: return quote post inside a reblog
2023-09-13 19:19:04 -04:00
Alex Gleason
74e0a4555f
StatusView: add `quote_visible` param
2023-09-13 19:19:04 -04:00
Alex Gleason
6f11f11519
StatusView: fix quote visibility
2023-09-13 19:19:04 -04:00
Alex Gleason
80ab2572a4
Return quote_url through the API, don't render quotes more than 1 level deep
2023-09-13 19:19:04 -04:00
Alex Gleason
5716f88a1d
InstanceView: add "quote_posting" feature
2023-09-13 19:19:03 -04:00
Alex Gleason
0d9c443e51
StatusView: render the whole quoted status
2023-09-13 19:19:03 -04:00
Alex Gleason
ce5eb31723
StatusView: show quoted posts through the API, probably
2023-09-13 19:19:03 -04:00
marcin mikołajczak
28ef5ebd3c
Update InstanceView.features
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-09-07 15:00:24 +02:00
marcin mikołajczak
79e46ce73f
InstanceView: Add common_information function
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-08-11 13:57:22 +02:00
marcin mikołajczak
9effa24f30
Implement api/v2/instance route
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-08-11 00:08:05 +02:00
tusooa
2c66f584b5
Show more informative errors when profile exceeds char limits
2023-05-25 08:22:33 -04:00
tusooa
c5d946bc92
Fix emoji reactions for legacy 2-tuple formats
2023-03-26 15:12:40 -04:00
Haelwenn
353538d16c
Merge branch 'pleroma-akkoma-emoji-port' into 'develop'
...
Custom emoji reactions support
See merge request pleroma/pleroma!3845
2023-03-16 08:00:00 +00:00
Alexander Tumin
2c2ea16b50
Allow custom emoji reactions: Add pleroma_custom_emoji_reactions feature, review changes
2023-03-12 11:39:17 +03:00
Haelwenn (lanodan) Monnier
197647a04e
MastoAPI Attachment: Use "summary" for descriptions if present
2023-03-09 11:10:02 +01:00
Alexander Tumin
8d3b29aaba
Allow custom emoji reactions: add test for mixed emoji react, fix credo errors
2023-03-02 11:18:16 +03:00
Alexander Tumin
4b85d1c617
Allow custom emoji reactions: Fix tests, mixed custom and unicode reactions
2023-03-02 11:18:16 +03:00
floatingghost
787e30c5fd
Allow reacting with remote emoji when they exist on the post ( #200 )
...
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/200
2023-03-02 11:18:16 +03:00
tusooa
d83f16fe44
Allow with_relationships param for blocks
2023-02-28 22:16:01 -05:00
marcin mikołajczak
92592c25c2
Merge remote-tracking branch 'pleroma/develop' into status-notification-type
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-02-19 22:02:03 +01:00
lain
755279e253
Merge branch 'tusooa/api-spec-property-map' into 'develop'
...
OpenApiSpex: overhaul
See merge request pleroma/pleroma!3832
2023-02-09 19:50:59 +00:00
tusooa
bc7ec43179
Allow customizing instance languages
2023-01-26 20:17:13 -05:00
tusooa
97f947deaf
Fix tests
2023-01-15 21:39:05 -05:00
lain
e853cfe7c3
Revert "Merge branch 'copyright-bump' into 'develop'"
...
This reverts merge request !3825
2023-01-02 20:38:50 +00:00
marcin mikołajczak
10886eeaa2
Bump copyright year
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-01-01 12:13:06 +01:00
marcin mikołajczak
6e51845d44
Merge remote-tracking branch 'pleroma/develop' into secure-mode
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-12-27 16:41:16 +01:00
Sean King
90681c720d
Make lint happy
2022-12-21 23:40:39 -07:00
Sean King
351b5a9df4
Use crazy hack to finally get pleroma:report notifications not visible after revoking privileges
2022-12-21 23:35:39 -07:00
Ekaterina Vaartis
398141da68
Merge remote-tracking branch 'upstream/develop' into meilisearch
2022-12-20 21:00:07 +03:00
Sean King
60df2d8a97
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into fine_grained_moderation_privileges
2022-12-18 22:03:48 -07:00
tusooa
a3985aac91
Merge branch 'fix-2856' into 'develop'
...
Uploading an avatar media exceeding max size returns a 413
Closes #2856
See merge request pleroma/pleroma!3804
2022-12-16 16:15:36 +00:00
Lain Soykaf
4a32b584e1
StatusView: Fix warning
2022-12-15 18:02:33 -05:00
duponin
9876742358
Return 413 when an actor's banner or background exceeds the size limit
2022-12-11 23:15:08 +01:00
duponin
452595baed
Uploading an avatar media exceeding max size returns a 413
...
Until now it was returning a 500 because the upload plug were going
through the changeset and ending in the JSON encoder, which raised
because struct has to @derive the encoder.
2022-12-11 22:54:47 +01:00
Ekaterina Vaartis
a6946048fb
Rename Activity.Search to Search.DatabaseSearch
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
0fae71f88d
Rename search.ex to database_search.ex and add search/2
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
e154ebbf79
Initial meilisearch implementation, doesn't delete posts yet
2022-10-10 20:19:08 +03:00
Tusooa Zhu
dd82fd234f
Merge branch 'release/2.4.4' into mergeback/2.4.4
2022-10-08 22:15:09 -04:00
tusooa
1a7107f4a5
Merge branch 'remove_from_followers' into 'develop'
...
MastoAPI: POST /api/v1/accounts/:id/remove_from_followers
See merge request pleroma/pleroma!3647
2022-09-16 23:24:13 +00:00
Tusooa Zhu
ea60c4e709
Fix wrong relationship direction
2022-09-14 20:24:04 -04:00
tusooa
20347898e2
Merge branch 'fix/federation-context-issues' into 'develop'
...
Fix reply context fixing (Pleroma replies to Misskey threads) and removal of context objects
See merge request pleroma/pleroma!3717
2022-09-04 18:43:36 +00:00
Haelwenn
e40c221c31
Merge branch 'from/upstream-develop/tusooa/edits' into 'develop'
...
Editing
Closes #1429 , #2859 , and #2288
See merge request pleroma/pleroma!3678
2022-09-03 02:16:42 +00:00
Tusooa Zhu
c59ee1f172
Expose availability of GET /main/ostatus via instance
2022-08-20 21:19:31 -04:00
Tusooa Zhu
f459c1260b
Lint
2022-08-19 20:24:24 -04:00
Tusooa Zhu
c62a4f1c17
Disconnect streaming sessions when token is revoked
2022-08-19 20:22:45 -04:00
Hélène
def0f5dc2e
StatusView: implement pleroma.context field
...
This field replaces the now deprecated conversation_id field, and now
exposes the ActivityPub object `context` directly via the MastoAPI
instead of relying on StatusNet-era data concepts.
2022-08-10 02:29:38 +02:00
Hélène
a9111bcaf2
StatusView: clear MSB on calculated conversation_id
...
This field seems to be a left-over from the StatusNet era.
If your application uses `pleroma.conversation_id`: this field is
deprecated.
It is currently stubbed instead by doing a CRC32 of the context, and
clearing the MSB to avoid overflow exceptions with signed integers on
the different clients using this field (Java/Kotlin code, mostly; see
Husky and probably other mobile clients.)
This should be removed in a future version of Pleroma. Pleroma-FE
currently depends on this field, as well.
2022-08-09 20:10:43 +02:00
Hélène
7f71e3d0fe
CommonFields: remove context_id
2022-08-09 20:10:43 +02:00
Hélène
f3e061c964
Object: remove context_id field
...
30 to 70% of the objects in the object table are simple JSON objects
containing a single field, 'id', being the context's ID. The reason for
the creation of an object per context seems to be an old relic from the
StatusNet era, and has only been used nowadays as an helper for threads
in Pleroma-FE via the `pleroma.conversation_id` field in status views.
An object per context was created, and its numerical ID (table column)
was used and stored as 'context_id' in the object and activity along
with the full 'context' URI/string.
This commit removes this field and stops creation of objects for each
context, which will also allow incoming activities to use activity IDs
as contexts, something which was not possible before, or would have been
very broken under most circumstances.
The `pleroma.conversation_id` field has been reimplemented in a way to
maintain backwards-compatibility by calculating a CRC32 of the full
context URI/string in the object, instead of relying on the row ID for
the created context object.
2022-08-09 20:10:43 +02:00
marcin mikołajczak
c899af1d6a
Reject requests from specified instances if `authorized_fetch_mode` is enabled
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-05 11:06:30 +02:00
Haelwenn
b2ba307f4d
Merge branch 'from/upstream-develop/tusooa/2871-fix-local-public' into 'develop'
...
local only fixes
Closes #2871
See merge request pleroma/pleroma!3660
2022-08-02 05:39:50 +00:00
marcin mikołajczak
5d3d6a58f7
Use `duration` param for mute expiration duration
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-31 17:22:34 +02:00
Haelwenn
0f9f3d2897
Merge branch 'from/upstream-develop/tusooa/2384-pagination' into 'develop'
...
Make mutes and blocks behave the same as other lists
Closes #2384
See merge request pleroma/pleroma!3693
2022-07-28 04:37:10 +00:00
tusooa
301ce5bc62
Merge branch 'mute-expiration' into 'develop'
...
MastoAPI: Show mutes expiration date
See merge request pleroma/pleroma!3682
2022-07-23 00:34:15 +00:00
tusooa
8aba7c08d1
Merge branch 'notification_types' into 'develop'
...
MastoAPI: Use `types` for filtering notifications
See merge request pleroma/pleroma!3648
2022-07-17 03:17:43 +00:00
Ilja
44d14e8a9c
Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into fine_grained_moderation_privileges
2022-07-14 07:07:19 +02:00
tusooa
fdc71f6051
Merge branch 'short-description' into 'develop'
...
Add short_description instance field
Closes #2865
See merge request pleroma/pleroma!3651
2022-07-13 04:42:24 +00:00
Tusooa Zhu
c1874bc8f9
Make mutes and blocks behave the same as other lists
2022-07-12 19:03:18 -04:00
Ilja
f88ed1df75
Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into fine_grained_moderation_privileges
2022-07-05 12:05:19 +02:00
Tusooa Zhu
4edc867b87
Merge branch 'develop' into 'from/upstream-develop/tusooa/edits'
...
# Conflicts:
# lib/pleroma/constants.ex
2022-07-03 22:24:57 +00:00
Haelwenn
6b937d1473
Merge branch 'from/upstream-develop/tusooa/server-announcements' into 'develop'
...
Server announcements (1st pass)
See merge request pleroma/pleroma!3643
2022-07-03 20:58:20 +00:00
Ilja
37fdf148b0
Rename privilege tags
...
I first focussed on getting things working
Now that they do and we know what tags there are, I put some thought in providing better names
I use the form <what_it_controls>_<what_it_allows_you_to_do>
:statuses_read => :messages_read
:status_delete => :messages_delete
:user_read => :users_read
:user_deletion => :users_delete
:user_activation => :users_manage_activation_state
:user_invite => :users_manage_invites
:user_tag => :users_manage_tags
:user_credentials => :users_manage_credentials
:report_handle => :reports_manage_reports
:emoji_management => :emoji_manage_emoji
2022-07-01 10:28:09 +02:00
Tusooa Zhu
99a6f50316
Unify the logic of updating objects
2022-06-25 00:32:22 -04:00
Tusooa Zhu
06da000c5d
Add editing to features
2022-06-21 12:32:44 -04:00
Ilja
211e561e2a
Show privileges to FE
...
I added an extra key
We already had is_admin and is_moderator, now we have an extra privileges key
2022-06-21 12:10:27 +02:00
Ilja
143ea7b80a
Add deactivated status for privileged users
...
Deactivated users are only visible to users privileged with :user_activation since fc317f3b17
Here we also make sure the users who are deactivated get the status deactivated for users who are allowed to see these users
2022-06-21 12:10:27 +02:00
Ilja
eab13fed3e
Hide pleroma:report for non-privileged users
...
Before we deleted the notifications, but that was a side effect and didn't always trigger any more.
Now we just hide them when an unprivileged user asks them.
2022-06-21 12:10:27 +02:00
Ilja
5a65e2dac5
Remove privileged_staff
...
Everything that was done through this setting, can now be set by giving the proper privileges to the roles.
2022-06-21 12:10:27 +02:00