summaryrefslogtreecommitdiff
path: root/lib/pleroma/user.ex
AgeCommit message (Collapse)Author
2024-01-29Pleroma.User: dialyzer errorsMark Felder
lib/pleroma/user.ex:757:no_return Function register_changeset/1 has no local return. ________________________________________________________________________________ lib/pleroma/user.ex:757:no_return Function register_changeset/2 has no local return. ________________________________________________________________________________ lib/pleroma/user.ex:757:no_return Function register_changeset/3 has no local return. ________________________________________________________________________________ lib/pleroma/user.ex:778:call The function call will not succeed. Pleroma.User.approval_changeset( %Ecto.Changeset{ :action => atom(), :changes => %{atom() => _}, :constraints => [ %{ :constraint => binary() | %Regex{ :opts => binary() | [any()], :re_pattern => _, :re_version => _, :source => binary() }, :error_message => binary(), :error_type => atom(), :field => atom(), :match => :exact | :prefix | :suffix, :type => :check | :exclusion | :foreign_key | :unique } ], :data => nil | map(), :empty_values => _, :errors => Keyword.t({binary(), Keyword.t()}), :filters => %{atom() => _}, :params => nil | %{binary() => _}, :prepare => [(_ -> any())], :repo => atom(), :repo_opts => Keyword.t(), :required => [atom()], :types => nil | %{ atom() => atom() | {:array | :assoc | :embed | :in | :map | :maybe | :param, _} | {:parameterized, atom(), _} }, :valid? => boolean(), :validations => Keyword.t() }, [{:set_approval, _}, ...] ) breaks the contract (t(), :elixir.keyword()) :: Ecto.Changeset.t() ________________________________________________________________________________ lib/pleroma/user.ex:854:unused_fun Function maybe_validate_required_birthday/1 will never be called.
2024-01-29Merge branch 'deps-bump' into 'develop'Haelwenn
Bump dependencies See merge request pleroma/pleroma!4044
2024-01-28Pleroma.Web.AdminAPI.UserController: dialyzer errorsMark Felder
lib/pleroma/web/admin_api/controllers/user_controller.ex:205:no_return Function activate/2 has no local return. ________________________________________________________________________________ lib/pleroma/web/admin_api/controllers/user_controller.ex:215:call The function call will not succeed. Keyword.values( _updated_users :: %Pleroma.User{ :__meta__ => _, :accepts_chat_messages => _, :actor_type => _, :allow_following_move => _, :also_known_as => _, :ap_id => _, :avatar => _, :background => _, :banner => _, :bio => _, :birthday => _, :blocked_users => _, :blockee_blocks => _, :blocker_blocks => _, :blocker_users => _, :blocks => _, :confirmation_token => _, :default_scope => _, :deliveries => _, :disclose_client => _, :domain_blocks => _, :email => _, :email_notifications => _, :emoji => _, :endorsed_users => _, :endorsee_endorsements => _, :endorser_endorsements => _, :endorser_users => _, :featured_address => _, :fields => _, :follower_address => _, :follower_count => _, :following_address => _, :following_count => _, :hide_favorites => _, :hide_followers => _, :hide_followers_count => _, :hide_follows => _, :hide_follows_count => _, :id => _, :inbox => _, :incoming_relationships => _, :inserted_at => _, :invisible => _, :is_active => _, :is_admin => _, :is_approved => _, :is_confirmed => _, :is_discoverable => _, :is_locked => _, :is_moderator => _, :is_suggested => _, :keys => _, :language => _, :last_active_at => _, :last_digest_emailed_at => _, :last_refreshed_at => _, :last_status_at => _, :local => _, :mascot => _, :multi_factor_authentication_settings => _, :muted_notifications => _, :muted_reblogs => _, :muted_users => _, :mutee_mutes => _, :muter_mutes => _, :muter_users => _, :mutes => _, :name => _, :nickname => _, :no_rich_text => _, :note_count => _, :notification_muted_users => _, :notification_mutee_mutes => _, :notification_muter_mutes => _, :notification_muter_users => _, :notification_settings => _, :notifications => _, :outgoing_relationships => _, :password => _, :password_confirmation => _, :password_hash => _, :password_reset_pending => _, :pinned_objects => _, :pleroma_settings_store => _, :public_key => _, :raw_bio => _, :raw_fields => _, :reblog_muted_users => _, :reblog_mutee_mutes => _, :reblog_muter_mutes => _, :reblog_muter_users => _, :registration_reason => _, :registrations => _, :search_rank => _, :search_type => _, :shared_inbox => _, :show_birthday => _, :show_role => _, :skip_thread_containment => _, :subscribee_subscriptions => _, :subscribee_users => _, :subscriber_subscriptions => _, :subscriber_users => _, :subscribers => _, :tags => _, :updated_at => _, :uri => _ } ) will never return since the success typing is: ([any()]) :: [any()] and the contract is (t()) :: [value()] ________________________________________________________________________________ lib/pleroma/web/admin_api/controllers/user_controller.ex:218:no_return Function deactivate/2 has no local return. ________________________________________________________________________________ lib/pleroma/web/admin_api/controllers/user_controller.ex:228:call The function call will not succeed. Keyword.values( _updated_users :: %Pleroma.User{ :__meta__ => _, :accepts_chat_messages => _, :actor_type => _, :allow_following_move => _, :also_known_as => _, :ap_id => _, :avatar => _, :background => _, :banner => _, :bio => _, :birthday => _, :blocked_users => _, :blockee_blocks => _, :blocker_blocks => _, :blocker_users => _, :blocks => _, :confirmation_token => _, :default_scope => _, :deliveries => _, :disclose_client => _, :domain_blocks => _, :email => _, :email_notifications => _, :emoji => _, :endorsed_users => _, :endorsee_endorsements => _, :endorser_endorsements => _, :endorser_users => _, :featured_address => _, :fields => _, :follower_address => _, :follower_count => _, :following_address => _, :following_count => _, :hide_favorites => _, :hide_followers => _, :hide_followers_count => _, :hide_follows => _, :hide_follows_count => _, :id => _, :inbox => _, :incoming_relationships => _, :inserted_at => _, :invisible => _, :is_active => _, :is_admin => _, :is_approved => _, :is_confirmed => _, :is_discoverable => _, :is_locked => _, :is_moderator => _, :is_suggested => _, :keys => _, :language => _, :last_active_at => _, :last_digest_emailed_at => _, :last_refreshed_at => _, :last_status_at => _, :local => _, :mascot => _, :multi_factor_authentication_settings => _, :muted_notifications => _, :muted_reblogs => _, :muted_users => _, :mutee_mutes => _, :muter_mutes => _, :muter_users => _, :mutes => _, :name => _, :nickname => _, :no_rich_text => _, :note_count => _, :notification_muted_users => _, :notification_mutee_mutes => _, :notification_muter_mutes => _, :notification_muter_users => _, :notification_settings => _, :notifications => _, :outgoing_relationships => _, :password => _, :password_confirmation => _, :password_hash => _, :password_reset_pending => _, :pinned_objects => _, :pleroma_settings_store => _, :public_key => _, :raw_bio => _, :raw_fields => _, :reblog_muted_users => _, :reblog_mutee_mutes => _, :reblog_muter_mutes => _, :reblog_muter_users => _, :registration_reason => _, :registrations => _, :search_rank => _, :search_type => _, :shared_inbox => _, :show_birthday => _, :show_role => _, :skip_thread_containment => _, :subscribee_subscriptions => _, :subscribee_users => _, :subscriber_subscriptions => _, :subscriber_users => _, :subscribers => _, :tags => _, :updated_at => _, :uri => _ } ) will never return since the success typing is: ([any()]) :: [any()] and the contract is (t()) :: [value()]
2024-01-26Credo.Check.Readability.PredicateFunctionNamesMark Felder
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-20Use config to control loading of custom modulesMark Felder
2024-01-20Fix typo in typespecMark Felder
2024-01-20Fix incorrect type definition for maybe_direct_follow/2Mark Felder
2024-01-20Fix invalid typespec references to Ecto.Changeset.t()Mark Felder
2023-12-27Allow local user to have group actor typetusooa
https://git.pleroma.social/pleroma/pleroma/-/issues/3205
2023-12-22Merge remote-tracking branch 'origin/develop' into webfinger-fixmarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-21Use consistent terminologymarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-20Elixir 1.15: Chase the Logger.warn deprecationMark Felder
2023-12-16User: Ignore non-local users when setting 'last active at'Lain Soykaf
2023-12-10User.get_or_fetch_public_key_for_ap_id/1 is no longer required.Mark Felder
2023-12-09Revert "Remove unnecessary forced refresh of user"Mark Felder
This reverts commit 97cf78f63d312d0475ac8908d0b093cb5eff18d5.
2023-12-08Remove unnecessary forced refresh of userMark Felder
2023-12-08get_cached_by_ap_id/1 returns a single result, not a tupleMark Felder
2023-12-08Optimistic InboxMark Felder
Rework inbound federation to accept requests optimistically. The HTTP Signatures Plug will not attempt to fetch the actor or key and will fail early. If the signature cannot be validated we pass the required data into the Oban job with a reduced priority and increase the timeout to 20 seconds. The Oban job will handle the actor and key fetching before attempting to validate the activity again. This job will be retried 5 times by default. Another welcome side effect is that actors who change their keys can federate to Pleroma instances immediately instead of needing to wait the default value of 86400s / 24 hours before the key will be fetched again.
2023-10-25Use correct domain for fqn and InstanceViewmarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-05-05User: Remove ap_enabled fieldHaelwenn (lanodan) Monnier
2023-05-05User: Remove ap_enabled?/1Haelwenn (lanodan) Monnier
2023-05-05User: Stop relying on ap_enabledHaelwenn (lanodan) Monnier
2023-01-02Revert "Merge branch 'copyright-bump' into 'develop'"lain
This reverts merge request !3825
2023-01-01Bump copyright yearmarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-12-18Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into ↵Sean King
fine_grained_moderation_privileges
2022-12-16Merge branch 'fix-2856' into 'develop'tusooa
Uploading an avatar media exceeding max size returns a 413 Closes #2856 See merge request pleroma/pleroma!3804
2022-12-14Fix failure when registering a user with no email when approval requiredtusooa
2022-12-11Uploading an avatar media exceeding max size returns a 413duponin
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-09-08Fix User.get_or_fetch/1 with usernames starting with httpTusooa Zhu
2022-09-05User: generate private keys on user creationHélène
This fixes a race condition bug where keys could be regenerated post-federation, causing activities and HTTP signatures from an user to be dropped due to key differences.
2022-08-03bugfix/follow-state (#104)floatingghost
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/104
2022-07-31Merge branch 'develop' into 'from/develop/tusooa/emit-move'tusooa
# Conflicts: # CHANGELOG.md # test/pleroma/user_test.exs
2022-07-31Use `duration` param for mute expiration durationmarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-23Merge branch 'mute-expiration' into 'develop'tusooa
MastoAPI: Show mutes expiration date See merge request pleroma/pleroma!3682
2022-07-16Use :utc_datetimemarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-14Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into ↵Ilja
fine_grained_moderation_privileges
2022-07-10Make lint happyTusooa Zhu
2022-07-06Make validation functions for restricted nicknames and blacklisted domains; ↵Sean King
do restricted nickname validation in LDAP account registration
2022-07-05Make checking blacklisted domains and restricted nicknames case-insenstiveSean King
2022-07-01Rename privilege tagsIlja
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-06-21Show privileges to FEIlja
I added an extra key We already had is_admin and is_moderator, now we have an extra privileges key
2022-06-21Add Pleroma.User.all_users_with_privilege/1Ilja
This should eventually replace the Pleroma.User.all_superusers/0 function * I added a new param `is_privileged` in User.query * Now we can fetch all users with a specified privilege
2022-06-21Remove function superuser?Ilja
Everything now happens with privileged?/2
2022-06-21Revert "Delete report notifs when demoting from superuser"Ilja
This reverts commit 89667189b840fc79d85336739e6b2512684d7be0 and cdc5bbe8369d4fc66d642bb3e845a237d11e34d7. This is a side effect when changing user role. The goal was to not have report notifications when someone isn't admin or moderator any more. But this won't be triggered when we change the privilege tags for a role, so we can't use this sollution any more. There was another solution to filter out report notifications during fetch. It wasn't merged because this seemed 'cleaner' at the time, but now it seems the better sollution. I'll add it in the next commit.
2022-06-21User.visible_for/2Ilja
According to the tests, this was only used for unconfirmed accounts. So this just needed to be restricted to users with privilege :user_activation
2022-06-21Add Pleroma.User.privileged?/2Ilja
This should eventually replace Pleroma.User.superuser?/1
2022-06-16Store mutes expiration datemarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-03-20Merge branch 'from/upstream-develop/tusooa/translate-pages' into 'develop'Haelwenn
Translate backend-rendered pages See merge request pleroma/pleroma!3634
2022-03-20Merge branch 'delete_report_notifs_when_demoting_from_superuser' into 'develop'Haelwenn
Delete report notifs when demoting from superuser Closes #2840 See merge request pleroma/pleroma!3642
2022-03-07After code reviewIlja
Use patern matching to see if someone was superuser before