Commit Graph

857 Commits

Author SHA1 Message Date
rinpatch 2c55f7d7cb Remove FedSockets
Current FedSocket implementation has a bunch of problems. It doesn't
have proper error handling (in case of an error the server just doesn't
respond until the connection is closed, while the client doesn't match
any error messages and just assumes there has been an error after 15s)
and the code is full of bad descisions (see: fetch registry which uses
uuids for no reason and waits for a response by recursively querying a
 ets table until the value changes, or double JSON encoding).

Sometime ago I almost completed rewriting fedsockets from scrach to
adress these issues. However, while doing so, I realized that fedsockets
 are just too overkill for what they were trying to accomplish, which is
 reduce the overhead of federation by not signing every message.
This could be done without reimplementing failure states and endpoint
 logic we already have with HTTP by, for example, using TLS cert auth,
or switching to a more performant signature algorithm. I opened
https://git.pleroma.social/pleroma/pleroma/-/issues/2262 for further
discussion on alternatives to fedsockets.

From discussions I had with other Pleroma developers it seems like they
 would approve the descision to remove them as well,
therefore I am submitting this patch.
2020-11-17 17:28:30 +03:00
Egor Kislitsyn fb41bd1a85 Hide reactions from muted and blocked users 2020-11-16 22:50:14 +04:00
Alex Gleason 9546c1444c
Merge remote-tracking branch 'upstream/develop' into registration-workflow 2020-11-14 19:48:47 -06:00
lain dd2b3a8da9 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/expire-mutes 2020-11-04 16:51:42 +01:00
Haelwenn 131f3219e6 Merge branch 'issue/2069' into 'develop'
[#2069] unread_conversation_count

See merge request pleroma/pleroma!2939
2020-10-29 23:39:15 +00:00
feld 1204aaa2e3 Merge branch 'feature/autofollowing' into 'develop'
autofollowing_nicknames

See merge request pleroma/pleroma!3087
2020-10-27 22:55:31 +00:00
lain 60e379ce0b User: Correctly handle whitespace names. 2020-10-23 13:53:01 +02:00
Mark Felder 1b8fd7e65a Adds feature to permit e.g., local admins and community moderators to automatically follow all newly registered accounts 2020-10-16 17:36:02 +00:00
Mark Felder fb056ce05b Merge branch 'develop' into refactor/discoverable_user_field 2020-10-15 16:39:01 -05:00
Alex Gleason 83770b7b39
Merge remote-tracking branch 'upstream/develop' into aliases 2020-10-14 12:33:24 -05:00
Alex Gleason dc38dc8472
Replace User.toggle_confirmation/1 with User.confirm/1, fixes #2235 2020-10-13 22:01:27 -05:00
Mark Felder 8bacdc3680 Change user.discoverable field to user.is_discoverable 2020-10-13 09:45:08 -05:00
Mark Felder 9968b7efed Change user.locked field to user.is_locked 2020-10-13 09:31:13 -05:00
Alex Gleason 66e00ace7c
Refactor User.post_register_action/1 emails 2020-10-12 17:21:08 -05:00
Alex Gleason cb29769a22
Make User.confirm/1 and User.approve/1 idempotent 2020-10-12 16:42:59 -05:00
Alex Gleason 6ebec50df6
Refactor User.confirm/1, add more tests 2020-10-12 16:32:34 -05:00
Alex Gleason bb8c0614ef
Move admin approval email logic into User.post_register_action/1 2020-10-11 21:46:10 -05:00
Alex Gleason 521e965884
Registration tests 2020-10-11 21:38:01 -05:00
Alex Gleason 28005563f0
Send approval pending email during registration 2020-10-11 20:50:09 -05:00
Alex Gleason c69b205409
Registration: user state is separate from instance state 2020-10-11 19:25:34 -05:00
Alex Gleason b2fed59209
Handle User.post_register_action/1 in steps 2020-10-11 18:52:35 -05:00
Alex Gleason 5ec7d88b77
Aliases: fix URL regex 2020-10-08 16:33:47 -05:00
Alex Gleason 77b1ea68a7
Merge remote-tracking branch 'upstream/develop' into aliases 2020-10-08 15:44:48 -05:00
Mark Felder b3a9ba09ec More robust expires_at timestamp processing 2020-09-29 12:27:47 -05:00
Maksim Pechnikov de993b856b added `force` option to the unfollow operation 2020-09-28 09:16:42 +03:00
Mark Felder f3a1f9c3bb Merge branch 'develop' into feature/bulk-confirmation 2020-09-23 11:56:22 -05:00
Roman Chvanikov 8f5589cf66 Merge develop 2020-09-23 13:56:50 +03:00
Roman Chvanikov 28d0986f83 Refactor mutes removing in CommonAPI and User 2020-09-20 20:58:17 +03:00
Roman Chvanikov 4987ee6256 Merge branch 'develop' into feature/expire-mutes 2020-09-20 19:27:27 +03:00
Maksim Pechnikov ed3bc53fa1 Merge branch 'develop' into issue/2099 2020-09-18 22:13:05 +03:00
Steven Fuchs f2ef9735c5 Federate data through persistent websocket connections 2020-09-18 11:58:22 +00:00
Roman Chvanikov 44e8b6037a Merge branch 'develop' into feature/expire-mutes 2020-09-17 14:54:00 +03:00
Maksim Pechnikov b867f9d7ae Merge branch 'develop' into issue/2099 2020-09-17 08:41:35 +03:00
lain 7a88b726bf User: Remote users don't need to be confirmed or approved 2020-09-16 17:29:16 +02:00
Maksim Pechnikov 599f8bb152 RepoStreamer.chunk_stream -> Repo.chunk_stream 2020-09-16 09:47:18 +03:00
Roman Chvanikov c5830ac037 Merge develop 2020-09-13 12:24:57 +03:00
Alexander Strizhakov eb5ff715f7 pin/unpin for activities with expires_at option 2020-09-10 21:50:41 +03:00
Mark Felder d23d0c27c2 Handle possibility of user account in a bulk operation not having an email address 2020-09-08 16:48:54 -05:00
Mark Felder 75b6fef25d Add mix task for bulk [un]confirming the local instance users 2020-09-08 16:39:41 -05:00
Haelwenn (lanodan) Monnier 947ee55ae2 user: harden get_friends_query(), get_followers_query() and their wrappers 2020-09-08 20:21:34 +03:00
Roman Chvanikov e3f845b243 Add expiring mutes for activities 2020-09-08 15:13:50 +03:00
Roman Chvanikov c56e3d4f3b Add expires_in param for account mutes 2020-09-08 13:26:44 +03:00
Maksim Pechnikov 5ae56aafb2 added import mutes 2020-09-06 21:42:51 +03:00
rinpatch 126461942b User table: ensure bio is always a string
Gets rid of '|| ""' in multiple places and fixes #2067
2020-09-01 10:45:42 +03:00
Maksim Pechnikov 0d5088c2b8 remove `unread_conversation_count` from User 2020-09-01 09:37:08 +03:00
Alexander Strizhakov 7dc275b69b
relay fix for admin-fe 2020-08-19 08:41:39 +03:00
Alex Gleason 72cbe20a58
Purge most user fields upon deletion, "right to be forgotten" #859 2020-08-17 23:44:44 -05:00
Alex Gleason c12c576ee2
Also purge bio and display name 2020-08-17 22:11:45 -05:00
Alex Gleason d55faa2f8f
Purge a local user upon deletion, fixes #2062 2020-08-17 21:52:28 -05:00
Ivan Tashkinov 95529ab709 [#2046] Defaulted pleroma/restrict_unauthenticated basing on instance privacy setting (i.e. restrict on private instances only by default). 2020-08-14 20:55:45 +03:00
Alex Gleason 4af1b80381
Clean up account aliases 2020-08-07 17:37:15 -05:00
Alex Gleason 1a5a7ba6e8
Merge remote-tracking branch 'upstream/develop' into aliases 2020-08-07 16:35:15 -05:00
Mark Felder 474147a67a Make a new function instead of overloading register_changeset/3 2020-08-07 14:54:14 -05:00
Mark Felder 2a4bca5bd7 Comments are good when they're precise... 2020-08-05 11:40:09 -05:00
Mark Felder 81126b0142 Add email to user account only if it exists in LDAP 2020-08-05 11:36:12 -05:00
Mark Felder 2192d1e492 Permit LDAP users to register without capturing their password hash
We don't need it, and local auth fallback has been removed.
2020-08-05 10:07:31 -05:00
lain 28584bb224 Merge branch 'email-blacklist' into 'develop'
Add email blacklist, fixes #1404

Closes #1404

See merge request pleroma/pleroma!2837
2020-08-04 11:00:30 +00:00
Alex Gleason 4f57e85ab9
Email blacklist: Update phrasing again 2020-08-03 22:20:49 -05:00
Alex Gleason 058daf498f
Email blacklist: Update response phrasing 2020-08-03 19:57:53 -05:00
Alex Gleason dc88b6f091
Add email blacklist, fixes #1404 2020-08-02 14:53:42 -05:00
Ilja f671d7e68c Add welcome chatmessages
* I added the option in config/config.exs
* created a new module lib/pleroma/user/welcome_chat_message.ex
* Added it to the registration flow
* added to the cheatsheet
* added to the config/description.ex
* added to the Changelog.md
2020-08-02 15:54:59 +02:00
Alex Gleason f43518eb74
Lint, fix test 2020-07-27 19:22:31 -05:00
Alex Gleason 6f44a0ee84
Add configurable registration_reason limit 2020-07-27 15:13:34 -05:00
Alex Gleason 6747bf2e16
Merge remote-tracking branch 'upstream/develop' into by-approval 2020-07-27 12:29:18 -05:00
Alex Gleason 6931dbfa58
Merge remote-tracking branch 'upstream/develop' into by-approval 2020-07-26 15:46:14 -05:00
Maksim Pechnikov 67ab9a7928 Merge branch 'develop' into issue/1934-welcome-email 2020-07-23 16:36:27 +03:00
lain 250e0369c7 Merge branch 'issue/1878' into 'develop'
[#1878] fix reset confirmation email in admin section

See merge request pleroma/pleroma!2751
2020-07-23 10:56:33 +00:00
Maksim Pechnikov 7991ddad58 added warning to use old keys 2020-07-23 09:01:37 +03:00
Maksim Pechnikov db0224d174 added check user email for welcome email 2020-07-22 16:00:49 +03:00
Maksim Pechnikov 3edaecae96 added welcome email 2020-07-21 09:25:53 +03:00
Alex Gleason bd1e2e3a58
Validate alias IDs 2020-07-17 19:17:15 -05:00
Alex Gleason d0eb43b58b
Add account aliases 2020-07-17 16:17:49 -05:00
Alex Gleason 5756843736
Fully delete users with status :approval_pending 2020-07-17 12:19:41 -05:00
Alex Gleason 48983e9421
Merge remote-tracking branch 'upstream/develop' into by-approval 2020-07-14 18:56:40 -05:00
Alex Gleason df3d1bf5e5
Add :approval_pending to User @type account_status 2020-07-14 18:56:36 -05:00
Alex Gleason 20d24741af
AdminAPI: Add `PATCH /api/pleroma/admin/users/approve` endpoint 2020-07-14 18:02:44 -05:00
Alex Gleason 5ddf0415c4
Accept `reason` in POST /api/v1/accounts and store in DB 2020-07-14 00:22:12 -05:00
feld 8f9ee694ed Merge branch 'features/profile-fields-emojo' into 'develop'
user: Add support for custom emojis in profile fields

See merge request pleroma/pleroma!2741
2020-07-13 15:43:46 +00:00
Alex Gleason bcfd38c8f3
Make a user unapproved when registering with `account_approval_required` on 2020-07-12 22:55:37 -05:00
Alex Gleason a62f17da17
Add `approval_pending` field to User 2020-07-12 20:27:14 -05:00
Maksim Pechnikov 62fc8eab0d fix reset confirmation email in admin section 2020-07-11 07:20:35 +03:00
lain b39eb6ecc5 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into chat-federation-information 2020-07-10 12:26:53 +02:00
Haelwenn (lanodan) Monnier cc7153cd82
user: Add support for custom emojis in profile fields 2020-07-09 19:21:58 +02:00
Mark Felder d23804f191 Use the Pleroma.Config alias 2020-07-09 10:53:51 -05:00
lain 00e54f8fe7 ActivityPub: Remove `follow` and fix issues. 2020-07-08 17:07:24 +02:00
lain 59cf78e412 AccountController: Allow removal / reset of user images. 2020-07-07 16:53:03 +02:00
lain e3b5559780 AccountController: Make setting accepts_chat_messages possible. 2020-07-03 15:54:25 +02:00
lain 5c0bf4c472 ActivityPub: Ingest information about chat acceptance. 2020-07-03 13:58:34 +02:00
lain 37fdb05058 User, Migration: Change `accepts_chat_messages` to be nullable
This is to model the ambiguous state of most users.
2020-07-03 13:12:23 +02:00
lain 98bfdba108 User: On registration, set `accepts_chat_messages` to true. 2020-07-03 12:47:05 +02:00
Mark Felder d69af7f742 Rename user.settings column
This is used exclusively by MastoFE/GlitchFE now
2020-06-30 11:50:53 -05:00
lain 15a8b70318 User: Don't unfollow on block when the relevant setting is set. 2020-06-26 12:06:00 +02:00
lain 44bb7cfccd ActivityPub: Remove `block`. 2020-06-25 11:51:33 +02:00
lain 59bdef0c33 Merge branch 'feature/1739-account-endpoints' into 'develop'
account visibility in masto api

Closes #1739

See merge request pleroma/pleroma!2488
2020-06-22 12:37:10 +00:00
Sergey Suprunenko b63646169d
Add support for bot field in update_credentials 2020-06-19 21:18:07 +02:00
lain 372533b7c3 Merge branch 'dry-up-follower-update' into 'develop'
User: update_follower_count refactor.

See merge request pleroma/pleroma!2649
2020-06-19 13:40:34 +00:00
lain d772361e62 Merge branch 'fix/1787-mogrify-args' into 'develop'
Moving custom ecto types in context folders

See merge request pleroma/pleroma!2652
2020-06-17 15:53:24 +00:00
rinpatch 4ec2fb967e Merge branch 'features/users-raw_bio' into 'develop'
User: Add raw_bio, storing unformatted bio

See merge request pleroma/pleroma!2326
2020-06-17 10:34:23 +00:00
Alexander Strizhakov 3c2cee33ad
moving custom ecto types in context folders 2020-06-16 17:50:33 +03:00
lain e1ee8bc1da User: update_follower_count refactor. 2020-06-15 14:29:34 +02:00
eugenijm b15cfc3d36 Mastodon API: ensure the notification endpoint doesn't return less than the requested amount of records unless it's the last page 2020-06-14 18:27:11 +03:00
Sergey Suprunenko 8d9e586887
Delete pending follow requests on user deletion 2020-06-07 17:31:37 +02:00
Haelwenn (lanodan) Monnier e1b07402ab
User: Add raw_bio, storing unformatted bio
Related: https://git.pleroma.social/pleroma/pleroma/issues/1643
2020-06-06 16:23:16 +02:00
lain f6ddf0cc50 Merge branch 'feature/1792-update-actor-type' into 'develop'
Validate actor type

See merge request pleroma/pleroma!2593
2020-05-28 16:58:28 +00:00
rinpatch d35be02e70 Merge branch 'refactor-add-mention-step-one' into 'develop'
Fix ObjectView calling into strange functions

Closes #1807

See merge request pleroma/pleroma!2580
2020-05-27 14:17:12 +00:00
Alexander Strizhakov 3249141588
validate actor type 2020-05-27 10:14:22 +03:00
lain 5fef405208 User: Change signature of get_users_from_set 2020-05-25 15:06:35 +02:00
lain d0c26956da User: Don't error out if we want to refresh a user but can't 2020-05-25 12:46:14 +02:00
lain ab1154e13f Merge branch 'admin-logo-upload' into 'develop'
Ability to upload background, logo, default user avatar, instance thumbnail, and the NSFW hiding image

See merge request pleroma/pleroma!2388
2020-05-21 14:30:34 +00:00
lain 283fb1e05b Merge branch 'issue/749' into 'develop'
[#749] unsubscribes of friends when user deactivated

See merge request pleroma/pleroma!2513
2020-05-21 13:27:44 +00:00
eugenijm b7fc61e17b Added the ability to upload background, logo, default user avatar, instance thumbnail, and the NSFW hiding image via AdminFE 2020-05-21 04:41:42 +03:00
lain 423ea497bb Merge branch 'feature/1734-user-deletion' into 'develop'
User deletion

Closes #1734

See merge request pleroma/pleroma!2493
2020-05-20 11:43:49 +00:00
lain a985bd57b4 User.Query: Speed up recipients query. 2020-05-19 14:11:32 +02:00
Alexander Strizhakov 1671864d88
return :visible instead of boolean 2020-05-18 10:34:50 +03:00
Alexander Strizhakov e7bc2f980c
account visibility 2020-05-18 10:34:49 +03:00
Alex Gleason b46811a074
Upgrade Comeonin to v5
https://github.com/riverrun/comeonin/blob/master/UPGRADE_v5.md
2020-05-12 17:14:59 -05:00
Maksim Pechnikov 63477d07ad unsubscribes of friends when user deactivated 2020-05-12 08:14:42 +03:00
lain 5367a00257 Deletion: Handle the case of pruned objects. 2020-05-11 15:06:23 +02:00
Alexander Strizhakov 287f781808
user deletion 2020-05-08 17:11:17 +03:00
lain 788b7e7bbd Merge fixes. 2020-05-07 14:52:37 +02:00
lain f0c22df226 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/undo-validator-reduced 2020-05-07 14:45:20 +02:00
Maksim 3d0c567fbc Pleroma.Web.TwitterAPI.TwoFactorAuthenticationController -> Pleroma.Web.PleromaAPI.TwoFactorAuthenticationController 2020-05-07 08:14:54 +00:00
rinpatch 473b0d9f3d Merge branch 'feature/delete-validator' into 'develop'
Move deletions to the common pipeline

Closes #1497

See merge request pleroma/pleroma!2441
2020-05-06 14:32:58 +00:00
lain a3bb2e5474 Undoing: Move undoing announcements to the pipeline everywhere. 2020-05-05 16:42:34 +02:00
lain a3071f0231 Undoing: Move undoing likes to the pipeline everywhere. 2020-05-05 15:08:41 +02:00
lain 8bed6ea922 User, Webfinger: Remove OStatus vestiges
Mainly the `magic_key` field
2020-05-05 09:25:09 +02:00
lain 6fb96f64c1 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/delete-validator 2020-05-03 12:55:29 +02:00
rinpatch e55876409b Deactivate local users on deletion instead of deleting the record
Prevents the possibility of re-registration, which allowed to read
DMs of the deleted account.

Also includes a migration that tries to find any already deleted
accounts and insert skeletons for them.

Closes pleroma/pleroma#1687
2020-05-02 19:05:13 +03:00
lain 3b443cbc1d User: Use common pipeline to delete user activities 2020-04-30 20:08:25 +02:00
Alexander 6e625a427c
reply filtering 2020-04-24 15:43:49 +03:00
lain 7a3a88a13e Streamer: Stream boosts to the boosting user. 2020-04-22 17:21:13 +02:00
Ivan Tashkinov 6e6f95c6ae Merge remote-tracking branch 'remotes/origin/develop' into 1559-follow-request-notifications
# Conflicts:
#	CHANGELOG.md
2020-04-17 16:23:58 +03:00
rinpatch 942d7467ca Merge branch 'develop' into features/remove-user-source_data 2020-04-16 21:28:52 +03:00
rinpatch 252528a4b9 Merge branch 'refactor/remove-upgrade-changeset' into 'develop'
Remove User.upgrade_changeset in favor of remote_user_creation

See merge request pleroma/pleroma!2368
2020-04-16 14:59:11 +00:00
rinpatch 77ee64b993 user: remove blank? 2020-04-16 17:54:57 +03:00
rinpatch 5e365448f3 Merge branch 'following-relationships-optimizations' into 'develop'
FollowingRelationship storage & performance optimizations

See merge request pleroma/pleroma!2332
2020-04-11 19:46:04 +00:00
rinpatch c077ad0b33 Remove User.upgrade_changeset in favor of remote_user_creation
The two changesets had the same purpose, yet some changes were updated
in one, but not the other (`uri`, for example).

Also makes `Transmogrifier.upgrade_user_from_ap_id` be called from
`ActivityPub.make_user_from_ap_id` only when the user is actually
not AP enabled yet.

I did not bother rewriting tests that used `User.insert_or_update`
to use the changeset instead because they seemed to just test the implementation,
rather than behavior.
2020-04-11 22:31:46 +03:00
Haelwenn (lanodan) Monnier e89078ac2a
User: remove source_data 2020-04-10 06:20:03 +02:00
Haelwenn (lanodan) Monnier 3420dec494
Remove User.fields/1 2020-04-10 06:20:02 +02:00
Haelwenn (lanodan) Monnier 9172d719cc
profile emojis in User.emoji instead of source_data 2020-04-10 06:20:02 +02:00
Haelwenn (lanodan) Monnier 62656ab259
User: Move inbox & shared_inbox to own fields 2020-04-10 06:20:02 +02:00
Haelwenn (lanodan) Monnier b6bed1a284
Types.URI: New 2020-04-10 06:20:02 +02:00
Haelwenn (lanodan) Monnier 19eedb3d04
User: Move public_key from source_data to own field 2020-04-10 06:16:18 +02:00
Haelwenn (lanodan) Monnier 5628984df4
User: remove source_data use for follower_address and following_address 2020-04-10 06:16:18 +02:00
Ivan Tashkinov 1a4875adfa [#1559] Support for "follow_request" notifications (configurable).
(Not currently supported by PleromaFE, thus disabled by default).
2020-04-07 21:52:32 +03:00
rinpatch dd4d10b275 Merge branch 'fix-auto-link-for-profile-fields' into 'develop'
Use Pleroma.Formatter.linkify/2 instead

See merge request pleroma/pleroma!2352
2020-04-07 11:41:10 +00:00
Haelwenn (lanodan) Monnier 185520d1b4
Provide known-good user.uri, remove User.profile_url/1 2020-03-31 23:55:29 +02:00
Haelwenn (lanodan) Monnier b30fb1f3bb
User: Fix use of source_data in profile_url/1 2020-03-31 23:54:20 +02:00
kPherox 7408f003a6
Use `Pleroma.Formatter.linkify` instead of `AutoLinker.link` 2020-04-01 02:52:30 +09:00
kPherox d191b0942f
Remove no longer used function 2020-03-31 22:50:18 +09:00