Commit graph

610 commits

Author SHA1 Message Date
Ivan Tashkinov
aacbf0f570 [#923] OAuth: prototype of sign in / sign up with Twitter. 2019-03-15 17:08:03 +03:00
Karen Konou
da53c079db Refactor to store user ap_id, add tests 2019-03-15 14:20:08 +01:00
Karen Konou
c8f31e0bc2 Implement mastodon's reblog hiding feature 2019-03-15 14:18:21 +01:00
Haelwenn (lanodan) Monnier
c42d34b2ec
[Credo] fix Credo.Check.Readability.MaxLineLength 2019-03-13 04:26:56 +01:00
Haelwenn (lanodan) Monnier
8cd3eada7d
[Credo] write large numbers with underscore separation 2019-03-13 04:26:56 +01:00
Haelwenn (lanodan) Monnier
fb82f6fc7c
[Credo] Remove parentesis on argument-less functions 2019-03-13 04:26:56 +01:00
Haelwenn (lanodan) Monnier
a3a9cec483
[Credo] fix Credo.Check.Readability.AliasOrder 2019-03-13 04:26:54 +01:00
Egor Kislitsyn
d013b58e84 add mix pleroma.user delete_activities NICKNAME task 2019-03-12 22:04:08 +07:00
kaniini
130fc9eae6 Merge branch 'fetch-posts-on-first-federation' into 'develop'
Fetch user's outbox posts on first federation with that user

Closes #131

See merge request pleroma/pleroma!907
2019-03-08 22:33:31 +00:00
Ekaterina Vaartis
5021b7836f Fetch user's outbox posts on first federation with that user 2019-03-08 16:27:56 +03:00
Maxim Filippov
f620199836 Merge search endpoint into /users 2019-03-04 21:26:32 +03:00
Egor Kislitsyn
eb84de0143 allow users to disable their own account 2019-03-04 19:55:11 +07:00
kaniini
ace4231628 Merge branch 'features/bio_rel_me' into 'develop'
Add rel=me to the User bio

Closes #423

See merge request pleroma/pleroma!813
2019-03-03 16:00:49 +00:00
kaniini
6c6a2dbfdd Merge branch 'feature/add-pagination-to-users-admin-api' into 'develop'
Add pagination and search to users

See merge request pleroma/pleroma!873
2019-03-03 15:59:15 +00:00
kaniini
b531e366df Merge branch 'get-follow-requests-sql' into 'develop'
Use sql query in User.get_follow_requests/1 for filtering logic

See merge request pleroma/pleroma!883
2019-03-03 15:51:32 +00:00
kaniini
413cf00cc3 Merge branch 'atomic-note-count-updates' into 'develop'
Atomic update for note count and follower count

See merge request pleroma/pleroma!885
2019-03-03 15:50:41 +00:00
eugenijm
d5418e9ff7 Remove follow_request_count as it's not needed for FE anymore.
MastoFE uses `GET /api/v1/follow_requests` and PleromaFE uses
`GET /api/pleroma/friend_requests` which they query on the initial page
load.
2019-03-03 18:42:27 +03:00
eugenijm
af0039a3a0 Use atomic update for note count and follower count 2019-03-03 17:41:34 +03:00
eugenijm
1a1f4520cd Use sql query in User.get_follow_requests/1 for filtering logic 2019-03-02 22:18:56 +03:00
Maxim Filippov
2ec8cf5665 Add pagination to search 2019-03-02 17:21:30 +03:00
Haelwenn (lanodan) Monnier
f2452d5700
Pleroma.User: mix format 2019-03-02 07:04:49 +01:00
Haelwenn (lanodan) Monnier
39a5bea9b7
Pleroma.User: Fix syntax and user.ap_id call 2019-03-02 06:57:28 +01:00
Haelwenn (lanodan) Monnier
3d22642352
Pleroma.User: Pass an array to profile_urls 2019-03-02 06:33:15 +01:00
Haelwenn (lanodan) Monnier
56d4e39012
Pleroma.User: Add rel=me to URLs where it linkbacks to the profile 2019-03-02 05:36:48 +01:00
Maxim Filippov
f635b675b2 Refactor a little bit 2019-03-01 21:17:23 +03:00
Maxim Filippov
f1a4c3163b Show current user in users list as well 2019-03-01 20:23:03 +03:00
Maxim Filippov
5b08b470f6 Add "local" params to users search 2019-03-01 20:13:02 +03:00
Maxim Filippov
46f29b9da1 Add search users endpoint 2019-02-28 19:04:47 +03:00
kaniini
cf426a719d Merge branch 'with-mutes' into 'develop'
Add `with_muted` param.

Closes #683

See merge request pleroma/pleroma!872
2019-02-28 10:22:19 +00:00
Maxim Filippov
2883f75a3a Add pagination to users admin API 2019-02-28 01:11:56 +03:00
lain
c1ae495878 Add user muted status info to MastodonAPI. 2019-02-27 16:46:47 +01:00
lain
b24cc44e8d Follower requests: Utilize object index.
Closes #677
2019-02-27 15:01:54 +01:00
Egor
c3ac9424d2 AutoLinker 2019-02-26 23:32:26 +00:00
Maxim Filippov
90d0d055fc Add more admin actions 2019-02-27 00:13:38 +03:00
Egor
bff9eb5ef7 Reports 2019-02-20 16:51:25 +00:00
Ekaterina Vaartis
5a46d37af9 Update the mute implementation to the current codebase
Make it part of the info thing (and do a migration to ensure it's there)
2019-02-19 23:09:16 +03:00
Ekaterina Vaartis
465b547c90 Remove unused "muted" parameter, use piping for mute/block fns 2019-02-19 21:49:55 +03:00
Ekaterina Vaartis
092b1b1453 Do not unfollow muted users 2019-02-19 21:49:55 +03:00
Ekaterina Vaartis
f41f017bbc Implement muting, add it to the mastodon API 2019-02-19 21:49:55 +03:00
lambda
1dd718e83c Merge branch 'set-cache-on-user-tag-update' into 'develop'
Update user cache when user tags are updated

See merge request pleroma/pleroma!840
2019-02-19 14:20:58 +00:00
lambda
f53dc5ee08 Merge branch 'fix/ap_id-unique_constraint' into 'develop'
mark ap_id unique_constraint

See merge request pleroma/pleroma!842
2019-02-19 14:07:16 +00:00
rinpatch
109b01a631 mark ap_id unique_constraint 2019-02-19 13:52:15 +03:00
eugenijm
fc35481445 Update user cache when user tags are updated 2019-02-19 10:43:38 +03:00
kaniini
cd019a5927 Merge branch 'follow-request-count' into 'develop'
Follow request count

See merge request pleroma/pleroma!817
2019-02-18 04:01:26 +00:00
lain
d812a347ca Add optional welcome message. 2019-02-16 16:42:34 +01:00
eugenijm
ecdf0657ba Add logic for keeping follow_request_count up-to-date on the follow,
`approve_friend_request`, and `deny_friend_request` actions.
Add follow_request_count to the user view.
2019-02-15 12:20:20 +03:00
William Pitcock
da44cdd381 user: search: use get_or_fetch() instead of get_or_fetch_by_nickname()
get_or_fetch() handles the nickname verses URI differences transparently.
2019-02-14 20:00:04 +00:00
lain
88a4de24f9 User.follow_all: Respect blocks in both directions. 2019-02-13 13:52:27 +01:00
kaniini
6c8d15da11 Merge branch 'fix/credo-issues' into 'develop'
Fix credo issues

See merge request pleroma/pleroma!786
2019-02-10 20:54:21 +00:00
Haelwenn (lanodan) Monnier
6a6a5b3251
de-group alias/es 2019-02-09 16:31:17 +01:00
lain
563f04e81b Do autofollow first. 2019-02-09 13:39:57 +01:00
lain
bbd0049fae Respect blocks in mass follow. 2019-02-09 13:24:23 +01:00
href
308b35ebe2
User.follow_all: ensure its stays unique 2019-01-31 18:17:44 +01:00
Haelwenn
00d4333373 Merge branch 'features/glitch-soc-frontend' into 'develop'
Features/glitch soc frontend

See merge request pleroma/pleroma!192
2019-01-31 10:16:11 +00:00
lain
47ec690c54 Use race-condition free mass follow. 2019-01-30 19:33:25 +01:00
lain
935e65e261 Use race-condition free following method. 2019-01-30 19:21:04 +01:00
Haelwenn (lanodan) Monnier
cda1470e02
[MastoAPI][GlitchAPI] Add bookmarks 2019-01-28 04:47:32 +01:00
kaniini
c9b418e547 Merge branch 'develop' into 'oembed_provider'
# Conflicts:
#   lib/pleroma/activity.ex
2019-01-25 05:00:47 +00:00
href
28d77e373c
Flake Ids for Users and Activities 2019-01-23 11:26:27 +01:00
Ivan Tashkinov
34d59e4008 [#502] Fixed User.active_local_user_query to return users with nil or missing info.deactivated. Adjusted test. 2019-01-22 17:12:53 +03:00
lambda
f3045a179e Merge branch 'i1t/pleroma-477_user_search_improvements' into 'develop'
I1t/pleroma 477 user search improvements

See merge request pleroma/pleroma!685
2019-01-20 10:24:05 +00:00
lain
5834b08fe7 Set custom similarity limit. 2019-01-20 10:57:49 +01:00
lain
b108aeee08 Make use of the indices.
Indices in postgresql rely on operators, so they won't be used if you use only functions.
2019-01-20 00:31:17 +01:00
kaniini
651ce1c97b Merge branch '491_full_mentions_in_user_bio' into 'develop'
[#491] Made user bio preserve full nicknames (nick@host)

Closes #491

See merge request pleroma/pleroma!676
2019-01-19 07:36:58 +00:00
rinpatch
74346a7035 Fix merge conflict 2019-01-18 18:31:25 +03:00
Ivan Tashkinov
79e44042bc [#477] User trigram index adjustment. 2019-01-18 10:57:42 +03:00
Ivan Tashkinov
ed8f55ab8e [#477] User: FTS and trigram search results mixing (to handle misspelled requests). 2019-01-18 10:35:45 +03:00
Ivan Tashkinov
65bb9b2fba [#491] Made full nicknames be preserved in user links text only in Bio. 2019-01-18 09:30:16 +03:00
Ivan Tashkinov
954dc4a4ad [#502] Fixed user_count in /api/v1/instance to include only active local users. 2019-01-17 19:16:02 +03:00
rinpatch
388ceb6a7d Fix the issue with get_by_nickname never being called 2019-01-17 19:00:08 +03:00
rinpatch
5fa508cc2b Remove @providers and call Pleroma.config on runtime 2019-01-16 18:04:41 +03:00
rinpatch
bb43f4cee9 Remove useless with in opengraph.ex 2019-01-16 18:02:46 +03:00
rinpatch
9a90b5d91a oof 2019-01-16 18:01:17 +03:00
rinpatch
8a9f089812 remove id cast 2019-01-16 17:58:11 +03:00
rinpatch
5a08dee379 cache ap_id in id instead of caching user two times 2019-01-16 17:44:08 +03:00
lain
943324b661 MastoAPI: Don't break on missing users. 2019-01-16 15:13:09 +01:00
Ivan Tashkinov
0bc6d30f7d [#477] Minor refactoring (user search query). 2019-01-16 10:44:32 +03:00
Ivan Tashkinov
5b8f9ff8c1 [#477] User search tests. Normalized search rank in User.search. 2019-01-15 13:05:25 +03:00
rinpatch
6f23139864 please don't bully me for this 2019-01-15 12:02:55 +03:00
rinpatch
4587a5712a cringe 2019-01-15 11:59:05 +03:00
rinpatch
ce15e0659e Fix some edge cases [nervous laughter] 2019-01-15 11:56:35 +03:00
Ivan Tashkinov
dc45ec62c2 [#477] User search improvements: tsquery search with field weights, friends & followers boosting. 2019-01-14 20:04:45 +03:00
rinpatch
5f9786288d Prefer ids to usernames 2019-01-14 09:52:52 +03:00
rinpatch
e4dc3f71ae Resolve merge conflict 2019-01-13 13:38:28 +03:00
kaniini
11d08c6226 Merge branch 'twapi-follower-pagination' into 'develop'
Twapi follower pagination

See merge request pleroma/pleroma!648
2019-01-10 18:03:32 +00:00
lain
7ac152ed38 TwitterAPI: Add follower/following pagination. 2019-01-09 18:14:32 +01:00
lain
65fc2df7cc Use follow_all in autofollow. 2019-01-09 11:38:45 +01:00
lain
26938d65fd Add User mass following function. 2019-01-09 11:35:23 +01:00
kaniini
5c5c8508c2 Merge branch 'hotfix/media-proxy-uri' into 'develop'
user: fix local vs remote determination in remote_or_auth_active?/1

See merge request pleroma/pleroma!640
2019-01-09 07:09:39 +00:00
William Pitcock
f15183178c user: fix auth_active?/1 for remote users 2019-01-09 06:45:17 +00:00
William Pitcock
0015d43e13 user: factor out illogical User.Info.superuser?/1.
any actual callee will be dealing with a User struct to begin with, so
just check the child struct inside User.superuser?/1 with pattern matching.
2019-01-09 06:44:50 +00:00
William Pitcock
74f48beec3 user: remove entirely redundant remote_or_auth_active?/1.
auth_active?/1 can check remote users and return true directly.
2019-01-09 06:36:50 +00:00
William Pitcock
2af67353c5 user: harden auth_active?/1, superuser?/1, visible_for?/1 2019-01-09 06:21:21 +00:00
William Pitcock
595a970493 user: use pattern matching to determine if user is local or remote instead of the previous hairy logic 2019-01-09 06:02:18 +00:00
lain
0fae04c4e3 Add a setting for users to autofollow on sign up. 2019-01-08 09:57:53 +01:00
lain
7382adf407 Make TwAPI UserView more resilient to issues.
Will work for missing users and badly migrated users.
2019-01-07 12:41:31 +01:00
cascode
5b23dfa1c5 handle null 2019-01-04 01:35:26 -08:00
William Pitcock
eb1a18d22f user: check that the follow request actually has an active account associated with it
because of user refetch, accounts can stop existing (get_from_ap_id() can fail), accordingly
filter the follow requests for these failures.
2019-01-02 22:47:12 +00:00
William Pitcock
980b5288ed update copyright years to 2019 2018-12-31 15:41:47 +00:00
Rin Toshaka
dec23500d8 Resolve merge conflict 2018-12-30 21:00:40 +01:00
Rin Toshaka
19f9889fbe I am not sure what's going on anymore so I'll just commit and reset all the other files to HEAD 2018-12-29 17:45:50 +01:00
kaniini
dd8f2196f6 Merge branch '483_blocks_import_export' into 'develop'
[#483] Blocked users list import & export

Closes #483

See merge request pleroma/pleroma!603
2018-12-29 11:34:51 +00:00
Ivan Tashkinov
7bd49a3222 [#483] User.get_by_nickname/1: ensured case-insensitive matching for local FQN. Added tests. 2018-12-29 12:26:23 +03:00
Ivan Tashkinov
b3574dccbb [#483] User.get_by_nickname/1: allowed retrieving user by fully-qualified local nickname
(<nick>@<our_instance_host>).
2018-12-29 12:15:46 +03:00
Ivan Tashkinov
67b4297f4d [#483] Refactored blocks and follows import, added tests. 2018-12-29 12:02:37 +03:00
kaniini
49cf5f9ce0 Merge branch '471_invalid_accounts_rendering' into 'develop'
[#471] Prevented rendering of inactive local accounts

Closes #471

See merge request pleroma/pleroma!599
2018-12-29 03:03:18 +00:00
Ivan Tashkinov
6e9a15b181 [#483] Blocked users export for TwitterAPI. 2018-12-28 21:08:07 +03:00
Ivan Tashkinov
0d1788ce44 [#471] Factored out User.visible_for?/2. 2018-12-28 14:35:25 +03:00
Ivan Tashkinov
e6aeb1d4a5 [#471] Prevented rendering of inactive local accounts. 2018-12-27 15:46:18 +03:00
lain
91724d160a Reserve a few user names
These are all names that are used for domain.com/:route routes or projected to be.
2018-12-25 20:10:45 +01:00
William Pitcock
2791ce9a1f add license boilerplate to pleroma core 2018-12-23 20:56:42 +00:00
Ivan Tashkinov
7cab7de9ff [#114] Allowed unconfirmed users to authenticate if :account_activation_required is disabled prior to confirmation.
Ensured that no confirmation emails are sent if :account_activation_required is not true. Adjusted tests.
2018-12-20 14:48:48 +03:00
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
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