Commit graph

298 commits

Author SHA1 Message Date
Ivan Tashkinov f69cbf4755 [#114] Added :user_id component to email confirmation path to improve the security.
Added tests for `confirm_email` action.
2018-12-20 13:41:30 +03:00
Ivan Tashkinov 501ce34d7f [#114] Stylistic adjustments. 2018-12-20 12:55:12 +03:00
Ivan Tashkinov 279096228c [#114] Made MastodonAPI and TwitterAPI user show actions return 404 for auth-inactive users
unless requested by admin or moderator.
2018-12-19 18:56:52 +03:00
Ivan Tashkinov a532ad5d72 [#114] User.register/1 tweak. 2018-12-19 17:24:55 +03:00
Ivan Tashkinov 968d7490b6 [#114] User.Info: renamed confirmation_update to confirmation_changeset. 2018-12-19 16:31:03 +03:00
Ivan Tashkinov 59fc5d15df [#114] User.Info: renamed confirmation_update to confirmation_change. 2018-12-19 16:27:16 +03:00
Ivan Tashkinov b096e30cff [#114] Added email confirmation resend action. Added tests
for registration, authentication, email confirmation, confirmation resending.
Made admin methods create confirmed users.
2018-12-18 17:22:46 +03:00
Ivan Tashkinov b86057cc7f [#114] Refactored User.register_changeset to init confirmation data.
Introduced User.register/1 to encapsulate User record creation and post-registration actions.
2018-12-18 17:22:42 +03:00
Ivan Tashkinov 1de0aa2f10 [#114] Account confirmation email, registration as unconfirmed (config-based), auth prevention for unconfirmed. 2018-12-18 17:21:05 +03:00
Ivan Tashkinov a05cb10a95 [#114] Email confirmation route, action, node setting, User.Info fields. 2018-12-18 17:18:53 +03:00
raeno a300336459 Merge branch 'develop' into oembed_provider 2018-12-18 14:59:32 +01:00
lain e4763cd459 Fix tagging problems for existing instances. 2018-12-17 20:12:01 +01:00
raeno 46486595ff Handle "users/:id" links as well. Fix comments in MR. 2018-12-14 19:55:40 +01:00
href 7214d57463
Extended nicknames: allow dashes. 2018-12-12 21:48:54 +01:00
href 7d9ddbe689
Allow underscores in usernames.
Fixes #429.
2018-12-12 18:57:33 +01:00
Maksim Pechnikov 89b3729afa fix warnings 2018-12-12 09:09:19 +03:00
lain d6bf06ab4f Fix warnings. 2018-12-10 20:49:06 +01:00
lambda 0863ec2737 Merge branch 'fix_empty_bio_crash' into 'develop'
Fixes #415. Do not crash during registration when hasn't filled bio field

Closes #415

See merge request pleroma/pleroma!529
2018-12-10 19:08:35 +00:00
raeno 9ba4a1c5fe Fixes #415. Properly handle nil and empty string by User.parse_bio 2018-12-10 01:01:43 +04:00
Maksim Pechnikov 074fa790ba fix compile warnings 2018-12-09 20:50:08 +03:00
lambda 94d8f1ab30 Merge branch '394_user_tags' into 'develop'
[#394] User tags

Closes #394

See merge request pleroma/pleroma!508
2018-12-07 18:25:38 +00:00
Ivan Tashkinov 1cea97df64 [#394] Refactoring of User.tag and User.untag (removed User.tag_or_untag etc.) 2018-12-07 12:27:32 +03:00
Ivan Tashkinov 6ed5044c4e [#394] Refactoring (using Ecto.Multi; "untag" route change). 2018-12-07 11:04:39 +03:00
Ivan Tashkinov 7bcb6a183a [#394] Refactoring. 2018-12-06 20:23:16 +03:00
Ivan Tashkinov 7b19487389 [#394] Added users.tags and admin routes to tag and untag users. Added tests. 2018-12-06 20:06:50 +03:00
rinpatch 2ae1128d9f MastoAPI: Fix put_settings 2018-12-06 17:42:07 +03:00
William Pitcock 956f3c75ca user: put default user info when registering a user 2018-12-05 03:35:41 +00:00
Maxim Filippov ce98d5eb9b Parse user's bio on register 2018-12-02 22:03:53 +03:00
lain f18b86fd5f More fixes for Info schema. 2018-12-01 12:46:08 +01:00
lain 347df6421d Fix masto api user updating. 2018-12-01 10:40:01 +01:00
lain badbe2656c More fixes. 2018-11-27 18:12:03 +01:00
lain 0bea0308f1 Merge branch 'validate-user-info' of git.pleroma.social:pleroma/pleroma into validate-user-info 2018-11-20 20:16:16 +01:00
lain d3180e0ccc Raise on usage of old function. 2018-11-20 20:14:38 +01:00
William Pitcock 312676f711 user: fix user.info lookup in User.locked?() 2018-11-20 18:41:44 +00:00
lain 2887f4ff1d Fix formatter tests. 2018-11-20 19:07:01 +01:00
lain 40d9d2098c Fix user updating from AP. 2018-11-18 22:15:03 +01:00
lain cafa15131a Mix format. 2018-11-18 21:41:35 +01:00
lain 4c918392c6 Fix most User tests. 2018-11-18 21:40:52 +01:00
lain fc3bcf335e Fix following locked users. 2018-11-18 18:53:50 +01:00
lain d5af41b577 Fix note count update. 2018-11-18 18:52:21 +01:00
lain 6f90ceb2ed Fix follower count test. 2018-11-18 18:49:17 +01:00
lain 812f5b058a Fix blocking. 2018-11-18 18:40:31 +01:00
lain 756764266c Formatting. 2018-11-18 18:27:04 +01:00
lain b396dba425 Fix follower count setting. 2018-11-18 18:24:16 +01:00
lain 5c8f07f0a8 Fix note counting. 2018-11-18 18:17:56 +01:00
lain 47d883d3ab Fix User deactivation. 2018-11-18 18:06:02 +01:00
lain e8d8c84f79 Add better test for user search functionlity. 2018-11-16 18:31:32 +01:00
William Pitcock 8c805ada32 user: remove obsolete User.get_notified_from_activity(). 2018-11-09 09:01:40 +00:00
William Pitcock d26cd6c1bf user: factor out user set fetching from User.get_notified_from_activity() 2018-11-09 08:23:45 +00:00
William Pitcock 81d6ca1783 user: implement AS2 mention extraction + unify Announce handling 2018-11-08 20:19:56 +00:00
William Pitcock 6b4064fa5d activitypub: transmogrifier: unify mention extraction 2018-11-08 19:41:36 +00:00
William Pitcock 0a2c1a3419 user: add optional local_only param to get_notified_from_activity() 2018-11-08 19:30:55 +00:00
William Pitcock 144dc048b8 user: only consider to recipients as mention targets 2018-11-08 18:58:24 +00:00
William Pitcock f584a603f9 user: make User.delete() return data consistent with Object.delete() 2018-11-01 07:56:21 +00:00
William Pitcock 2c3bfd7f76 user: delete user_info data in User.invalidate_cache() 2018-11-01 07:52:58 +00:00
scarlett b92e38d2d4 Add user reactivation task. 2018-10-29 23:13:15 +00:00
William Pitcock 1b480e3514 user: add helper for fetching profile url (which may be different than ap id) 2018-10-25 04:01:59 +00:00
Haelwenn (lanodan) Monnier eacab0fb05
Delete Tokens and Authorizations on password change
Closes: https://git.pleroma.social/pleroma/pleroma/issues/320
2018-10-14 02:14:54 +02:00
William Pitcock 51eaece3ea user: break out local cases for maybe_direct_follow 2018-10-11 10:49:54 +00:00
William Pitcock 2c29329d39 user: local users are always AP-enabled (closes #316) 2018-10-11 10:35:11 +00:00
William Pitcock e69faf550c user: add wait_and_refresh() for async three-way handshake case 2018-10-05 23:40:49 +00:00
William Pitcock 4f7a468659 user: only pre-create follow relationships on OStatus
closes #306
2018-10-05 22:58:03 +00:00
William Pitcock 735cdfb848 user: add User.html_filter_policy() 2018-09-22 02:53:00 +00:00
William Pitcock c9f6eb9a41 user: implement dynamic refresh of profiles (gets rid of need for fix_ap_users task) 2018-09-20 23:50:56 +00:00
William Pitcock b61430163b user: add moderator_user_query() 2018-09-03 12:03:23 +00:00
Will Pearson 0c2a0e3551 Specify default scope in verify_credentials
Certain Mastodon/Pleroma front ends call verify_credentials to get the
default scope of a new toot.

Currently, Pleroma hardcodes this value to "public".

This patch changes it to the user's default_scope value.
2018-08-31 21:04:46 -07:00
William Pitcock 5dd6542db5 formatting 2018-08-27 10:46:01 +00:00
William Pitcock 1089d3658e user: fix up notification last calculation [NOT related to upstream] 2018-08-27 10:46:01 +00:00
lambda 46c7c2380c Merge branch 'feature/relay' into 'develop'
message relay

Closes #144

See merge request pleroma/pleroma!264
2018-08-27 08:29:25 +00:00
lambda 440b459cd1 Merge branch 'bugfix/announce-timeline-flooding' into 'develop'
activitypub: filter destination list for announce activities differently than normal (closes #164)

Closes #164

See merge request pleroma/pleroma!227
2018-08-27 08:25:27 +00:00
kaniini 0f5bff8c66 Merge branch 'develop' into 'feature/relay'
# Conflicts:
#   lib/pleroma/web/activity_pub/utils.ex
2018-08-26 21:06:15 +00:00
William Pitcock d91fd48edf user: do not leak virtuals in account search 2018-08-06 11:29:02 +00:00
William Pitcock ecfd4b2106 user: hide virtual actors from statistics queries 2018-08-06 11:29:01 +00:00
William Pitcock e49131bb72 relay: move to /relay endpoint from / due to webapp issues 2018-08-06 08:22:16 +00:00
William Pitcock ae3cb652b6 user: set up a valid followers address to use 2018-08-06 08:22:15 +00:00
William Pitcock 1c90f88393 user: remote actors can have no nickname if they are virtual services 2018-08-06 08:22:11 +00:00
William Pitcock 4807a52284 user: support creating an actor which represents the instance itself 2018-08-06 08:22:07 +00:00
William Pitcock 275c42e438 user: filter out duplicate follow requests 2018-08-05 01:11:13 +00:00
William Pitcock 47189531c5 user: use Object.normalize() instead of Object.get_by_ap_id() directly. 2018-06-27 13:07:17 +00:00
lambda dfc96f222c Merge branch 'feature/configurable-blocks' into 'develop'
Add more configurability to how blocks work

See merge request pleroma/pleroma!203
2018-06-25 06:12:29 +00:00
squidboi c4038ede07
fix mind-crushingly dumb syntax error 2018-06-23 14:32:00 -07:00
squidboi f4990283de
change moved attributes into normal variables 2018-06-23 14:27:07 -07:00
squidboi 4e099fcfa9
move configurable module attributes into relevant functions 2018-06-23 14:16:08 -07:00
William Pitcock 056305dfa7 user: add helper function to fetch a user given only an ap_id (fix tests) 2018-06-19 08:31:06 +00:00
William Pitcock 320ca7b11e user: when processing a block in User.block(), ensure all follow relationships are broken
this is needed for activitypub conformance

ref #213
2018-06-19 00:59:26 +00:00
William Pitcock 7e0f62acee object: add helper functions to handle various forms of a given object and return a normalized one 2018-06-18 05:27:10 +00:00
William Pitcock 591c82620e activitypub: filter destination list for announce activities differently than normal (closes #164) 2018-06-18 04:36:25 +00:00
squidboi 2e294ee44a Merge branch 'develop' into feature/configurable-blocks 2018-06-16 15:37:16 -07:00
William Pitcock 5eed1ea181 run mix format 2018-06-11 22:15:53 +00:00
William Pitcock 1452b2823f user: add a workaround for situations where Pleroma may believe a followee is followed
this was caused by lack of Undo follows in the early days, and can likely be eventually removed
2018-06-11 22:15:53 +00:00
William Pitcock ad7188fe92 user: use Enum.uniq on the follow request query 2018-06-11 22:15:53 +00:00
William Pitcock 9c88933422 implement tracking of follow requests 2018-06-11 22:15:53 +00:00
William Pitcock e5206752e1 activitypub: only send accept back automatically if the account is not locked 2018-06-11 22:15:27 +00:00
lambda 7f79b467b1 Merge branch 'feature/domain-blocks' into 'develop'
Domain blocks

See merge request pleroma/pleroma!190
2018-06-11 11:19:45 +00:00
squidboi 4f9ecfc77a formatting 2018-06-09 04:28:11 +00:00
squidboi 16d896f526 fixes 2018-06-08 19:01:14 -07:00
squidboi b3580b6971 add option to not deny follow if blocked (fixed) 2018-06-08 18:29:41 -07:00
William Pitcock 1e9dd6fbc2 user: fix maybe_direct_follow() after user_info() refactoring broke it slightly 2018-06-08 02:52:36 +00:00
eal 4856962434 MastoAPI: add domain blocking. 2018-06-03 22:21:23 +03:00
eal 87566b6e2f user.ex: add domain blocks. 2018-06-03 22:01:37 +03:00
lain 6138b29783 There are no symbols in JSON. 2018-05-26 15:20:21 +02:00
lain 745072b2cc Merge branch 'kaniini/pleroma-feature/activitypub-accept-reject-conformance' into develop 2018-05-26 15:15:52 +02:00
William Pitcock e80d91c64a introduce User.maybe_direct_follow() and use it where we used to call User.follow() 2018-05-25 09:40:10 +00:00
William Pitcock c0ca9f82b9 mastodon api: properly track if an account is locked or not 2018-05-25 06:14:09 +00:00
William Pitcock 1d88abf2d4 user: do not allow refollowing somebody who has blocked a user 2018-05-25 03:18:35 +00:00
Thog e55c6f311b
Migrate to comeonin 4 and Cachex 3
Also fix some warning in the code and add a missing alias
2018-05-20 20:08:40 +02:00
William Pitcock 6e8de2faae run mix format 2018-05-19 08:37:04 +00:00
lain 1d4bbec6b3 Fix User search.
Now uses a trigram based search. This is a lot faster and gives better
results. Closes #185.
2018-05-16 17:55:20 +02:00
lain 279b1d19f0 Align local bio limits to remote limit. 2018-04-25 15:41:59 +02:00
Dashie afe892ddac
Correct syntax with mix format 2018-04-24 14:12:23 +02:00
Dashie 9972678a68
Add User.decrease_note_count and call it from ActivityPub.delete 2018-04-24 11:34:18 +02:00
eal 947431e9aa MastoAPI and OAuth: allow login with either email or username. 2018-04-18 13:13:57 +03:00
William Pitcock 2edde06042 user: strip leading @ from user query when searching for users if present
closes #117
2018-04-09 02:42:37 -05:00
lain 2222e5599c Don't fetch anything except ap_id for follower / following
collections.

Should speed up the queries because ecto doesn't have to parse the json.
2018-03-31 20:02:09 +02:00
lain 4afbef39f4 Format the code. 2018-03-30 15:01:53 +02:00
lain bd4926288e Speed up follower query. 2018-03-26 10:31:22 +02:00
lain 847cb15626 Fix tests. 2018-03-24 15:09:09 +01:00
Mark Felder 185c030258 AP again 2018-03-19 17:57:58 +00:00
lain 611ca385de Merge branch 'develop' into feature/activitypub 2018-03-08 12:37:06 +01:00
lain d3b0167854 Fix salmon tests. 2018-02-25 17:06:12 +01:00
lain 8e7f63afde Fix specs. 2018-02-25 16:40:37 +01:00
lain e3629af4da Handle remote update activities. 2018-02-25 16:14:25 +01:00
lain 37e406ae36 Get avatar and banner from AP users. 2018-02-22 08:14:15 +01:00
lain 8895088029 Fix for following type change. 2018-02-21 22:27:16 +01:00
lain 4816b09fa7 Add user upgrade function. 2018-02-21 22:21:40 +01:00
lain f48bc5c3e1 Make User.following a postgres array. 2018-02-21 22:20:29 +01:00
Ekaterina Vaartis ec07e087bc Make user bio optional 2018-02-21 23:31:57 +03:00
lain 6b32b9e346 Notifications: Use all recipients, not just "to". 2018-02-19 10:05:26 +01:00
lain b99eeb2bdf Try to fetch AP user data first. 2018-02-18 12:27:05 +01:00
lain 68752b2047 Switch protocols to AP when post come in through AP. 2018-02-18 12:04:59 +01:00
lain fb7b926be3 Handle black name fields on incoming users. 2018-02-17 18:15:48 +01:00
lain 7b26443a76 ActivityPub: Send out Accept after Follow. 2018-02-17 16:08:55 +01:00
lain 8cf97ee8e1 ActivityPub: Basic note federation with Mastodon. 2018-02-11 20:43:33 +01:00
Roger Braun ae1ec858f4 Basic AP user building. 2018-02-11 17:20:43 +01:00
Roger Braun 52200998c9 Merge branch 'develop' into feature/activitypub 2018-02-11 09:50:55 +01:00
Hakaba Hitoyo ea6d1b2b17 move avi.png & banner.png from /priv/static/static to /priv/static/images 2018-02-03 20:43:14 +09:00
eal 14b086eec2 Add a default profile picture and banner.
This removes the placehold.it dependency.
2018-01-15 22:18:17 +02:00
Roger Braun a9c23e1c32 Add plug to validate signed http requests. 2017-12-12 10:17:21 +01:00
Lain Iwakura bad499b3fd Basic user deletion. 2017-12-08 17:50:11 +01:00
Lain Iwakura 6df6ad0b42 User deletion: Remove relationships. 2017-12-07 18:13:05 +01:00
Lain Iwakura a78ae2a685 Don't follow deactivated users. 2017-12-07 17:51:55 +01:00
Lain Iwakura b727ecc5e7 Add function to deactivate users. 2017-12-07 17:47:23 +01:00
Lain Iwakura 5637d163e6 MastodonAPI: Add proper user count. 2017-11-30 14:59:44 +01:00
eal e9037ffc8d Do not include user in their own follower count. 2017-11-21 15:33:09 +02:00
eal bd921ca5d7 Fix posts being streamed to non-local websocket channels. 2017-11-20 07:58:43 +02:00
eal 4db5954786 Don't let the user unfollow their own account. 2017-11-20 07:50:56 +02:00
eal aadf54e0df Don't show the user in their own following count. 2017-11-20 00:31:39 +02:00
Thog 59770c3f5c
Fix all compilation warnings 2017-11-19 02:22:07 +01:00
Roger Braun a743940463 MastoAPI: Implement all streaming functions. 2017-11-16 16:49:51 +01:00
Roger Braun 6a5f087174 Add blocks to User. 2017-11-02 21:57:37 +01:00