Commit graph

410 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
da53c079db Refactor to store user ap_id, add tests 2019-03-15 14:20:08 +01:00
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