Commit graph

2405 commits

Author SHA1 Message Date
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
Egor Kislitsyn 0c750bc432 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/pinned-posts 2019-01-08 16:32:07 +07:00
Egor Kislitsyn 6428ef77ad add default configuration for the pinned statuses and some doc 2019-01-08 16:11:03 +07:00
lain 0fae04c4e3 Add a setting for users to autofollow on sign up. 2019-01-08 09:57:53 +01:00
Egor Kislitsyn e679da4c34 add pinned property to StatusView 2019-01-08 15:27:02 +07:00
Egor Kislitsyn 63dbd87568 rename post to status 2019-01-08 15:25:50 +07:00
lain a16b17cc61 Actually put some onformation in the error user, make it actually properly parse
in conversations.
2019-01-07 20:59:30 +01:00
kaniini 74e1093732 Merge branch 'resilient-user-view' into 'develop'
Make TwAPI UserView more resilient to issues.

See merge request pleroma/pleroma!634
2019-01-07 17:09:52 +00:00
Egor Kislitsyn f24087f96e Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/pinned-posts 2019-01-07 20:55:32 +07:00
Egor Kislitsyn 380e9fba21 add pinned posts 2019-01-07 20:45:33 +07: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
scarlett 36fa5e8802 Check visible_for_user when performing a search using a direct link. 2019-01-07 10:36:31 +00:00
scarlett 52493467ac Twitter API: Add a summary_html field.
The intention here is to allow proper subject copying when it contains
emoji, obviously this will require minor frontend changes, though.
2019-01-06 10:19:00 +00:00
Sadposter 042852ecf3 Add check to prevent multiple follow notifications from the same user 2019-01-05 22:54:25 +00:00
kaniini 8d047c7a72 Merge branch 'fix/user-search-null-name' into 'develop'
fix user search results for users with unset display name

Closes #499

See merge request pleroma/pleroma!625
2019-01-05 22:34:47 +00:00
kaniini 0b54c3d643 Merge branch 'fix_486' into 'develop'
fix 486: Add option --assume-yes to allow mix pleroma.user to work non-interactive

See merge request pleroma/pleroma!627
2019-01-05 22:33:38 +00:00
kaniini 576368237c Merge branch 'activitypub-tombstone-fix' into 'develop'
Don't crash on AP request for tombstone

See merge request pleroma/pleroma!630
2019-01-05 22:29:08 +00:00
scarlett 145d6fe6e9 Merge branch 'emoji-in-summary' into 'develop'
Strip HTML in and allow emoji in summaries.

See merge request pleroma/pleroma!631
2019-01-05 21:52:02 +00:00
scarlett 6556be344d Resolve some test failures. 2019-01-05 18:20:42 +00:00
scarlett 3c86d907d4 add some brakets to the emoji list. 2019-01-05 17:35:39 +00:00
scarlett 0787f0dfbe Strip HTML in and allow emoji in summaries. 2019-01-05 17:28:47 +00:00
sxsdv1 2d7da5f437 Don't crash on AP request for tombstone
Because tombstone objects has no addressing the is_public?-predicate
would cause an error that propagated as a 500 error in the api
2019-01-05 11:16:05 +01:00
cascode a81307251c Merge branch 'develop' of git.pleroma.social:cascode/pleroma into fix/user-search-null-name 2019-01-04 20:32:55 -08:00
rinpatch ba17518a0a Merge branch 'feature/rich-media-cachex' into 'develop'
rich media: use cachex to avoid flooding remote servers

See merge request pleroma/pleroma!629
2019-01-04 23:56:42 +00:00
William Pitcock 487c00d36d rich media: disable cachex in test mode 2019-01-04 23:53:26 +00:00
kaniini bf5aaefbb5 Merge branch 'fix/html-cache-content-collision' into 'develop'
Different caches based on the module. Remove scrubber version since it is not relevant anymore

See merge request pleroma/pleroma!628
2019-01-04 23:35:56 +00:00
William Pitcock 0964c207eb rich media: use cachex to avoid flooding remote servers 2019-01-04 23:32:01 +00:00
Rin Toshaka 1e2d58982e oopsies 2019-01-05 00:25:31 +01:00
Rin Toshaka 846082e54f Different caches based on the module. Remove scrubber version since it is not relevant anymore 2019-01-05 00:19:46 +01:00
spctrl 4aa977d3b3 fix 486: Add option --assume-yes to allow it to work non-interactive 2019-01-04 22:11:46 +01:00
kaniini 4258dd8633 Merge branch 'feature/rich-media' into 'develop'
URL previews in posts

Closes #402

See merge request pleroma/pleroma!617
2019-01-04 20:50:18 +00:00
kaniini ffea81b84f Merge branch 'activitypub-c2s-delete-activity' into 'develop'
Activitypub c2s delete activity

See merge request pleroma/pleroma!618
2019-01-04 20:32:10 +00:00
cascode 5b23dfa1c5 handle null 2019-01-04 01:35:26 -08:00
kaniini d9d62a110c Merge branch 'mr/retry-queue-remove-fold' into 'develop'
rewrites List.foldl to Enum.each in RetryQueue

See merge request pleroma/pleroma!621
2019-01-03 22:30:02 +00:00
kaniini eaaf701319 Merge branch 'fix/follow-requests-deleted-accounts' into 'develop'
user: check that the follow request actually has an active account associated with it

See merge request pleroma/pleroma!623
2019-01-03 18:53:30 +00:00
rinpatch b73a1a33de Merge branch 'captcha' into 'develop'
Make captcha (kocaptcha) stateless

See merge request pleroma/pleroma!585
2019-01-03 17:04:27 +00: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
Michael Loftis 943211b035 rewrites List.foldl to Enum.each 2019-01-02 21:21:40 +00:00
Maxim Filippov 48e81d3d40 Add RichMediaController and tests 2019-01-02 17:02:50 +03:00
sxsdv1 4e1cc2bab6 Implement delete activity 2019-01-01 23:20:43 +01:00
sxsdv1 551c3d9391 Split create activity specifics from update_outbox 2019-01-01 23:20:28 +01:00
Maxim Filippov 917d48d09b Better variable name 2019-01-01 23:29:47 +03:00
Maxim Filippov 2aab4e03c3 Add OGP parser 2019-01-01 23:26:40 +03:00
kaniini 32bed66471 Merge branch 'pool-usage' into 'develop'
Update of hackney and tesla, removal of superflous default options.

See merge request pleroma/pleroma!614
2019-01-01 20:12:34 +00:00
rinpatch 34fa709015 Merge branch 'configurable-federator' into 'develop'
Make Federator options configurable.

See merge request pleroma/pleroma!615
2019-01-01 18:55:59 +00:00
lambda 32541172cd Merge branch 'cleanup/admin-api-useless-if' into 'develop'
Web.AdminAPI.AdminAPIController: Remove a useless if in user_delete

See merge request pleroma/pleroma!612
2019-01-01 13:48:59 +00:00
lain 400337b0a7 Make Federator options configurable. 2019-01-01 14:46:55 +01:00
lain 096a927805 Merge remote-tracking branch 'origin/develop' into pool-usage 2019-01-01 14:19:55 +01:00
lain d4799e0dc2 Remove default pool, it's used automatically anyway. 2019-01-01 13:49:24 +01:00
Haelwenn (lanodan) Monnier 1e6c102bfc
Web.AdminAPI.AdminAPIController: Remove a useless if in user_delete 2018-12-31 19:50:14 +01:00
kaniini 90e157ef80 Merge branch 'features/admin-api-user-views' into 'develop'
User/Account views: Add rights.admin

Closes #472

See merge request pleroma/pleroma!589
2018-12-31 15:49:34 +00:00
William Pitcock 980b5288ed update copyright years to 2019 2018-12-31 15:41:47 +00:00
lambda 33e3a7ba7d Merge branch 'fix/scrubber-cache' into 'develop'
[#481] Store scrubbed posts in Cachex

Closes #481

See merge request pleroma/pleroma!610
2018-12-31 09:56:26 +00:00
Rin Toshaka 6ed9b31a5f Eh? 2018-12-31 08:25:48 +01:00
Rin Toshaka 7e09c2bd7d Move scrubber cache-related functions to Pleroma.HTML 2018-12-31 08:19:48 +01:00
kaniini 8e7da98b18 Merge branch 'mr/retry-queue' into 'develop'
Improves RetryQueue behavior

See merge request pleroma/pleroma!609
2018-12-30 21:47:50 +00:00
Rin Toshaka dec23500d8 Resolve merge conflict 2018-12-30 21:00:40 +01:00
Rin Toshaka ab3089d6a7 Fix comment in object.ex 2018-12-30 20:51:31 +01:00
Rin Toshaka c50353e6ae shame on me for not testing after revert 2018-12-30 20:44:17 +01:00
Rin Toshaka 3f9da55adc Fix formating. Aparently my pre-commit hook broke. 2018-12-30 20:16:42 +01:00
Rin Toshaka 62af23bd26 Revert some changes in html.ex 2018-12-30 20:12:12 +01:00
Rin Toshaka c119ea3a57 Friendship ended with Postgresql now Cachex is my best friend 2018-12-30 20:00:01 +01:00
Rin Toshaka 535fddd286 Friendship ended with Postgresql now Cachex is my best friend 2018-12-30 19:33:36 +01:00
Rin Toshaka d9f40b05b3 Added get_stripped_html_for_object. Renamed a few things 2018-12-30 16:51:16 +01:00
Michael Loftis cb286fdeba Improves RetryQueue behavior
reduces to one single timer firing once a second
switches to a parallel worker model
2018-12-30 15:16:26 +00:00
Rin Toshaka bce152aba0 Tidy up the code. Rename key to signature 2018-12-30 15:58:19 +01:00
Rin Toshaka 66d1c31461 Fix some stupid typos 2018-12-30 13:51:01 +01:00
sxsdv1 f40562b4e1 Respond with full activity to outbox post 2018-12-30 12:01:39 +01:00
sxsdv1 1e781715c8 Limit activity types accepted to outbox to only 'Create' 2018-12-30 12:01:39 +01:00
sxsdv1 569bad8210 Create activity when client posts to outbox 2018-12-30 12:01:39 +01:00
sxsdv1 26dc2dddab Implement ActivityPub inbox view
More or less verbatim copied from the outbox template with only changes
to the activities fetched and url reported
2018-12-30 12:01:39 +01:00
Rin Toshaka a32e23905a Use Object.change instead of Ecto.Changeset.change 2018-12-30 11:08:19 +01:00
sxsdv1 aa082ca7b6 Wire up stub routes for client calls of activitypub inbox/outbox
Code style: remove wrapping function of outbox
2018-12-29 22:22:03 +01:00
Rin Toshaka 9a0163db53 use Kernel.put_in instead of Map.merge 2018-12-29 21:50:34 +01:00
vaartis 816db3f494 Remove the debugging IO.inspect 2018-12-29 17:44:26 +00:00
Haelwenn f5d7b0003e Merge branch 'fix_485' into 'develop'
Change 'name' to 'instance_name' so option is used when running non-interactive

See merge request pleroma/pleroma!607
2018-12-29 17:30:31 +00: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 3dc5f04976 Merge branch 'carrot-bullying' into 'develop'
Add some hard limits on inserted activities.

See merge request pleroma/pleroma!595
2018-12-29 11:46:06 +00:00
spctrl ab9cda315f Change 'name' to 'instance_name' so option is used when running non-interactive 2018-12-29 12:43:54 +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
Maksim Pechnikov 523848d1fd Salmon# fixed publish an activity to remote accounts 2018-12-29 12:48:54 +03: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 700661b761 [#483] Blocked users list import (TwitterAPI). 2018-12-28 23:01:03 +03:00
Ivan Tashkinov 0a41786624 [#467] Refactored valid / invalid user rendering. 2018-12-28 22:47:42 +03:00
kaniini 68f483ef4c Merge branch 'fix/no-attachment-links' into 'develop'
Treat any present value in "no_attachment_links" as true

Closes pleroma-fe#175

See merge request pleroma/pleroma!597
2018-12-28 18:33:14 +00:00
Ivan Tashkinov 6e9a15b181 [#483] Blocked users export for TwitterAPI. 2018-12-28 21:08:07 +03:00
Haelwenn (lanodan) Monnier b43d630f30
Web.TwitterAPI.UserView: Add rights.admin 2018-12-28 17:38:32 +01:00
Ivan Tashkinov 0d1788ce44 [#471] Factored out User.visible_for?/2. 2018-12-28 14:35:25 +03:00
Vyr Cossont d8cc96cb1f Fix Twitter timelines for private instances 2018-12-27 22:43:40 -08:00
kaniini bee6acd51d Merge branch 'feature/create-tombstone-instead-of-delete' into 'develop'
Create tombstone instead of object deletion

See merge request pleroma/pleroma!593
2018-12-27 19:37:55 +00:00
kaniini cff0292d4b Merge branch 'reserve-user-names' into 'develop'
Reserve a few user names

See merge request pleroma/pleroma!594
2018-12-27 19:35:06 +00:00
Ivan Tashkinov e6aeb1d4a5 [#471] Prevented rendering of inactive local accounts. 2018-12-27 15:46:18 +03:00
Maxim Filippov be70272ab0 Treat only true and "true" as true 2018-12-27 13:21:04 +03:00
vaartis 708a228919 Set ttl_interval to the seconds_valid time 2018-12-27 07:42:03 +00:00
Vyr Cossont e4562105e7 Implement exclude_reblogs and include_rts 2018-12-26 21:38:00 -08:00
Maxim Filippov 838c024231 Treat any present value in "no_attachment_links" as true 2018-12-27 02:39:41 +03:00
Ekaterina Vaartis 448af3601a Up captcha timer to 60 secs again, save used captchas in cachex 2018-12-27 00:16:43 +03:00
lain 551d80cc01 Expose restricted names in nodeinfo. 2018-12-26 12:46:16 +01:00
lain 5811e65e67 Add some hard limits on inserted activities. 2018-12-26 12:39:35 +01: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
Maxim Filippov ca2e9ce9cc Revert unneeded changes 2018-12-25 03:44:48 +03:00
Maxim Filippov f75f707f6c Revert Activity tombstones, add ObjectTombstone struct 2018-12-25 03:00:06 +03:00
Maxim Filippov 2bbec33c71 Fix failing tests 2018-12-25 00:29:13 +03:00
Maxim Filippov 18a4cbb244 Capitalize "tombstone" 2018-12-24 20:09:18 +03:00
Maxim Filippov 0f412cf6e6 Create tombstone instead of object deletion 2018-12-24 02:25:36 +03:00
William Pitcock 69ad1039ba mix tasks: add legal boilerplate 2018-12-23 20:56:42 +00:00
William Pitcock 2791ce9a1f add license boilerplate to pleroma core 2018-12-23 20:56:42 +00:00
lambda 005b4194ff Merge branch 'bugfix/trans_fix_url_videos' into 'develop'
Fix "url" of Videos in transmogrifier

Closes #367

See merge request pleroma/pleroma!459
2018-12-23 14:46:58 +00:00
William Pitcock 34a4ed22c4 twitter api: add "Video" to supported activity types list 2018-12-23 14:00:54 +00:00
William Pitcock 79b51a97fe twitter api: activity representer: remove peertube hack 2018-12-23 14:00:50 +00:00
William Pitcock 32dfc1d12a mastodon api: status view: remove obsolete peertube hack 2018-12-23 13:40:33 +00:00
William Pitcock 71f6d9f418 transmogrifier: significantly rework handling of peertube videos, add test 2018-12-23 13:31:08 +00:00
lambda a3e33fa177 Merge branch 'hotfix/activity-without-content' into 'develop'
Twitter ActivityView: fix crash with activity without content

See merge request pleroma/pleroma!572
2018-12-23 13:17:25 +00:00
Haelwenn (lanodan) Monnier 3aff8067e4 transmogrifier: When it’s a Video move "url" to "attachment" 2018-12-23 13:00:25 +00:00
Karen Konou a7f07bb6e5 Implement kaniini's tweaks 2018-12-23 12:24:53 +01:00
Karen Konou c76179419d Renamed the things 2018-12-23 11:14:29 +01:00
Karen Konou 409ff60bf8 Fix formatting 2018-12-22 23:32:38 +01:00
Karen Konou 92362e1e22 Implement large thread filter 2018-12-22 23:18:31 +01:00
Ekaterina Vaartis b386e560ba Move the encryption out of kocaptcha into general captcha module
That way there won't be a need to reimplement it for other captcha services
2018-12-22 22:42:14 +03:00
Ekaterina Vaartis 336e37d98f Make captcha (kocaptcha) stateless
Also rename seconds_retained to seconds_valid since that's how it is
now. Put it down from 180 to 20 seconds. The answer data is now
stored in an encrypted text transfered to the client and back, so no
ETS is needed
2018-12-21 09:55:47 +03:00
kaniini 2e2030ada8 Merge branch '114_email_confirmation' into 'develop'
[#114] Email confirmation

See merge request pleroma/pleroma!546
2018-12-20 13:28:36 +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 8adcd1e80f [#114] Removed flash messages rendering on redirects. 2018-12-20 13:05:42 +03:00
Ivan Tashkinov 501ce34d7f [#114] Stylistic adjustments. 2018-12-20 12:55:12 +03:00
Maksim f1b93b5be7 [#413] fix parse mentions 2018-12-20 09:35:01 +00:00
kaniini fda148a9a2 Merge branch 'documentation/copy-pleroma-api' into 'develop'
Pleroma-API.md: Import from /wikis/Pleroma-only-api-endpoints

See merge request pleroma/pleroma!571
2018-12-20 04:01:54 +00:00
Ivan Tashkinov b520d44b58 [#114] mix format 2018-12-19 19:03:39 +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
kaniini f98ee9402f Merge branch 'userless-admin' into 'develop'
Add a way to use the admin api without a user.

See merge request pleroma/pleroma!576
2018-12-19 00:12:39 +00:00
lain f3eb414e28 Add a way to use the admin api without a user. 2018-12-18 21:08:52 +01:00
rinpatch ef318fb8a9 Merge branch 'develop' into fix/formatter-ignore-html-chars 2018-12-18 21:39:36 +03:00
rinpatch 059dd6f681 Ignore HTML characters in formatter.ex 2018-12-18 21:38:15 +03:00
Haelwenn (lanodan) Monnier a6dfe1fc6b
Documentation: Move generated files to priv/static/doc, add it to endpoint.ex 2018-12-18 17:05:36 +01:00
href f58f20abbb
Twitter ActivityView: fix crash when activity content is nil 2018-12-18 15:34:27 +01:00
Ivan Tashkinov 3371a45884 [#114] Formatting fix. 2018-12-18 17:30:30 +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 aed0f90287 [#114] Added pleroma.confirmation_pending to user views, adjusted view tests. 2018-12-18 17:22:45 +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