Commit Graph

587 Commits

Author SHA1 Message Date
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
Roger Braun 4dcbb64f19 Avoid potentially slow count queries for user note count.
For a variety of reasons, posgresql won't use the available actor,
type index to do an index only scan. We now just increase the user
note count, which will lead to slightly wrong counts in some cases,
but it's better than the potentially very slow count query.
2017-10-31 16:37:11 +01:00
Roger Braun 502cb38cd6 Move user search to User module. 2017-10-30 19:23:16 +01:00
Roger Braun 9af560083f Use more efficient user note count update query. 2017-10-24 14:16:17 +02:00
Roger Braun 6af164f27b Add password reset. 2017-10-19 17:37:24 +02:00
Roger Braun 44693c100d Federate banners out. 2017-09-16 13:44:08 +02:00
Roger Braun 61adf676d5 Add basic mastodon notification support. 2017-09-11 18:53:19 +02:00
Roger Braun 5142a8efbb Add profile update. 2017-08-29 15:14:00 +02:00
Roger Braun 72ca58c540 Save follower count and note count in user. 2017-07-22 17:42:15 +02:00
Roger Braun 44aef2183e Add follower / friend fetching to user. 2017-07-20 19:37:41 +02:00
Roger Braun 396c32a6da Add follower_address to users, add on generation. 2017-07-19 18:49:25 +02:00
Roger Braun e343c0c9c4 Add way to update most recent notification id. 2017-07-02 15:01:59 +02:00
Roger Braun ac04ba240a Larger bio length limit for remote accounts. 2017-07-01 02:00:12 +02:00
Roger Braun 70024632ba AP refactoring. 2017-05-16 18:19:04 +02:00
Roger Braun dd12cf7296 Fix cws. 2017-05-11 17:59:11 +02:00
Roger Braun fca7390c69 Only kick off websubs for local users. 2017-05-10 18:43:14 +02:00
Roger Braun 118c572006 Use changeset for remote user creation. 2017-05-10 10:16:20 +02:00
Roger Braun 373753e595 Add some basic changesets. 2017-05-09 18:11:51 +02:00
Roger Braun b403ea4d2b Merge branch 'develop' into dtluna/pleroma-feature/unfollow-activity 2017-05-07 19:28:23 +02:00
Roger Braun bda389d7d9 Subscribe to remote users on following. 2017-05-06 14:09:39 +02:00
Roger Braun c48c381e90 Merge branch 'develop' into dtluna/pleroma-refactor/1 2017-05-05 11:46:59 +02:00
Roger Braun 6843755834 Make outgoing salmons work. 2017-05-01 13:14:58 +02:00
Roger Braun bed0b39813 Add function to fetch users from fqn. 2017-04-30 18:48:48 +02:00
Roger Braun eb12a89d22 Rename wrongly-named function. 2017-04-30 15:06:22 +02:00
Roger Braun a173fb9e41 Get users fresh, might so we don't make new keys all the time. 2017-04-30 15:05:16 +02:00
Roger Braun bb1d08a47c Return keys in webfinger. 2017-04-30 15:00:04 +02:00
Roger Braun ffc604a2c2 Use cache for user info data.
Later these should be persisted in the user.
2017-04-30 10:04:54 +02:00
dtluna a9b2ad1759 Merge branch 'develop' of ssh.gitgud.io:lambadalambda/pleroma into feature/unfollow-activity 2017-04-28 16:06:57 +03:00
dtluna 6cf7c13228 Refactor code to comply with credo suggestions 2017-04-27 16:18:50 +03:00
Roger Braun e8882ab3da Merge branch 'develop' into feature/incoming_ostatus 2017-04-26 09:18:49 +02:00
dtluna 668b01da0b Add restriction on names 2017-04-24 15:34:54 +03:00
Roger Braun 43d7a4b2cf Add basic fields to support remote users. 2017-04-24 08:49:09 +02:00
Roger Braun 361a8c4219 Merge branch 'develop' of ssh.gitgud.io:lambadalambda/pleroma into develop 2017-04-23 10:37:22 +02:00
dtluna 28b203d08f Add Undo of Follow Activity insertion 2017-04-21 19:54:21 +03:00
Roger Braun 1e88f102c4 Fix specs, add some user info. 2017-04-21 00:51:09 +02:00
Roger Braun 36e883cd4b Add basic Ostatus user representer. 2017-04-17 14:12:36 +02:00
lambadalambda ac9817bdb0 Merge branch 'bugfix/repeated-follow-unfollow' into 'develop'
Add error messages for repeated follows and unfollows

See merge request !7
2017-04-17 05:46:59 -04:00
Roger Braun 6bfd521974 Switch cache implementation for size limiting. 2017-04-17 11:36:17 +02:00
dtluna ef5033d7a7 Merge branch 'develop' of ssh.gitgud.io:lambadalambda/pleroma into bugfix/repeated-follow-unfollow 2017-04-16 17:18:34 +03:00
Roger Braun d7e3b72c6a Add avatar objects to user, fix specs. 2017-04-16 15:28:28 +02:00
Roger Braun 03c6148bb3 Add user registration changeset. 2017-04-15 16:40:09 +02:00
Roger Braun 03ddaead7e Add basic user caching.
Expires after 5 seconds.
2017-04-14 17:13:51 +02:00
dtluna 65ef18a715 Add error messages for repeated follows and unfollows 2017-04-12 17:34:36 +03:00
Roger Braun ddaaab115e Use standard base url in User. 2017-04-03 18:27:47 +02:00
Roger Braun 9ad045fd58 Return user specific json for logged in users. 2017-03-23 15:51:34 +01:00
Roger Braun 30650e5bc6 Add unfollowing to TwAPI. 2017-03-23 13:13:09 +01:00
Roger Braun 75e51b190d Add following TwAPI endpoint. 2017-03-23 12:09:27 +01:00
Roger Braun 9a8850eb9e Basic status creation and retrieval. 2017-03-21 17:53:20 +01:00
Roger Braun 66f536ecba Add user schema. 2017-03-20 21:28:31 +01:00