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