Commit graph

8192 commits

Author SHA1 Message Date
Miss Pasture
863010ea63 date-times are always strings 2021-03-31 06:51:22 +00:00
03f38ac4eb Prefer FollowBot naming convention vs Followbot 2021-03-30 11:10:44 -05:00
4796df0bc3 Remove Task.async as it is broken here and probably a premature optimization anyway 2021-03-30 11:10:44 -05:00
c252ac71d4 Revert 2021-03-30 11:10:44 -05:00
778010ef8e Do not try to follow local users. Their posts are already available locally on the instance. 2021-03-30 11:10:44 -05:00
86182ef8e4 Change module name to FollowbotPolicy 2021-03-30 11:10:44 -05:00
1926d0804b Add follow_requests_outstanding_since?/3 to Pleroma.Activity 2021-03-30 11:10:44 -05:00
f0dcc1ca69 Lint 2021-03-30 11:10:44 -05:00
a176914c73 Better checking of previous follow request attempts 2021-03-30 11:10:44 -05:00
3989ec508c Prevent duplicates from being processed 2021-03-30 11:10:44 -05:00
3949cfdc24 Make the followbot only dispatch follow requests once per 30 day period 2021-03-30 11:10:43 -05:00
Mark Felder
e78738173a Enforce that the followbot must be marked as a bot. 2021-03-30 11:10:43 -05:00
Mark Felder
fba770b3ea Try to handle misconfiguration scenarios gracefully 2021-03-30 11:10:03 -05:00
Mark Felder
8b81d62227 Upstream original followbot implementation 2021-03-30 11:10:03 -05:00
Alexander Strizhakov
4d046afd27
tests for release config provider 2021-03-27 09:05:33 +03:00
Alexander Strizhakov
6e108b8603
reading the file, instead of config keyword 2021-03-26 19:19:19 +03:00
Alexander Strizhakov
1885268c9c
expanding validator 2021-03-25 13:26:54 +03:00
Alexander Strizhakov
2a520ba008
expanding AddRemoveValidator 2021-03-25 13:03:42 +03:00
Alexander Strizhakov
8857242c95
removeing corresponding add activity 2021-03-25 13:03:41 +03:00
Alexander Strizhakov
3adb43cc20
refetch user on incoming add/remove activity
if featured_address is nil
2021-03-25 13:03:41 +03:00
Alexander Strizhakov
d1d2744ee3
featured_address valition in AddRemoveValidator 2021-03-25 13:03:40 +03:00
Alexander Strizhakov
ff612750b1
validator renaming & add validation for target 2021-03-25 13:03:40 +03:00
Alexander Strizhakov
17f28c0507
mastodon pins 2021-03-25 13:03:40 +03:00
Alexander Strizhakov
3ec1dbd922
Let pins federate
- save object ids on pin, instead of activity ids
- pins federation
- removed pinned_activities field from the users table
- activityPub endpoint for user pins
- pulling remote users pins
2021-03-25 13:03:40 +03:00
Alex Gleason
b6a69b5efd
Return token's primary key with POST /oauth/token 2021-03-24 12:50:05 -05:00
caadde3b04 Merge branch 'fix/2585-config-migration-dir' into 'develop'
migrating config to tmp folder

Closes #2585

See merge request pleroma/pleroma!3379
2021-03-23 17:46:52 +00:00
Alexander Strizhakov
4cd34d0197
suggestion 2021-03-23 17:27:02 +03:00
Alexander Strizhakov
03843a5386
migrating config to tmp folder 2021-03-23 14:29:02 +03:00
rinpatch
d3660b24d3 Copy emoji in the subject from parent post
Sometimes people put emoji in the subject, which results in the subject
looking broken if someone replies to it from a server that does not
have the said emoji under the same shortcode. This patch solves the problem
by extending the emoji set available in the summary to that of the parent
post.
2021-03-22 21:20:47 +03:00
rinpatch
572363793f Merge branch 'fix/2579-finger-content-type' into 'develop'
respect content-type header in finger request

Closes #2579

See merge request pleroma/pleroma!3375
2021-03-21 08:25:02 +00:00
rinpatch
72143dd732 Merge branch 'richmedia-workaround' into 'develop'
Workaround for RichMedia preview image breakage edge case

See merge request pleroma/pleroma!3363
2021-03-21 08:19:42 +00:00
Alexander Strizhakov
d7e51206a2
respect content-type header in finger request 2021-03-19 18:53:55 +03:00
rinpatch
a9bc652ab9 Merge branch 'mediaproxy-decode' into 'develop'
Simple way to decode mediaproxy URLs

See merge request pleroma/pleroma!3364
2021-03-19 08:52:12 +00:00
rinpatch
f930e83fa2 Merge branch 'fix/remove_auto_nsfw' into 'develop'
Remove sensitive setting #nsfw

See merge request pleroma/pleroma!3223
2021-03-19 08:48:22 +00:00
rinpatch
67bde35e71 Merge branch 'bugfix/bridgy-user-icon' into 'develop'
Add support for actor icon being a list (Bridgy)

See merge request pleroma/pleroma!3372
2021-03-19 08:36:26 +00:00
Haelwenn
a2aa309496 Merge branch 'update_open_api_spex' into 'develop'
Update OpenApiSpex dependency

See merge request pleroma/pleroma!3362
2021-03-16 01:54:43 +00:00
Haelwenn (lanodan) Monnier
b1d4b2b81e
Add support for actor icon being a list (Bridgy) 2021-03-15 06:44:05 +01:00
b80f868c6b Prefer naming this function build_image_url/2 2021-03-13 12:27:15 -06:00
Ivan Tashkinov
cb73456609 [#3213] Code formatting fix. 2021-03-12 12:25:18 +03:00
Ivan Tashkinov
3edf45021e [#3213] Background migration infrastructure refactoring.
Extracted BaseMigrator and BaseMigratorState.
2021-03-12 12:18:11 +03:00
029ff65389 Leverage function pattern matching instead 2021-03-11 09:20:29 -06:00
8246db2a96 Workaround for URI.merge/2 bug https://github.com/elixir-lang/elixir/issues/10771
If we avoid URI.merge unless we know we need it we reduce the edge cases we could encounter.
The site would need to both have "//" in the %URI{:path} and the image needs to be a relative URL.
2021-03-10 17:15:31 -06:00
Ivan Tashkinov
946e0aab49 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2021-03-10 07:48:50 +03:00
Haelwenn
7f413139fb Merge branch 'openapi/admin/user' into 'develop'
Add OpenAPI spec for AdminAPI.UserController

See merge request pleroma/pleroma!3355
2021-03-10 03:24:40 +00:00
Ivan Tashkinov
92526e0230 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2021-03-07 11:34:39 +03:00
Ivan Tashkinov
7f8785fd9b [#3213] Performance optimization of filtering by hashtags ("any" condition). 2021-03-07 11:33:21 +03:00
e97b34f65d Add simple way to decode fully qualified mediaproxy URLs 2021-03-05 13:18:37 -06:00
Egor Kislitsyn
92ab72dbbb
Update OpenApiSpex dependency 2021-03-05 15:51:29 +04:00
Egor Kislitsyn
9876fa8e90
Add UserOperation to Redoc 2021-03-04 21:13:53 +04:00
Ivan Tashkinov
5856f51717 [#3213] ActivityPub hashtags filtering refactoring. Test fix. 2021-03-03 23:09:30 +03:00
lain
13aa98d689 Merge branch 'mergeback/2.3.0' into 'develop'
Mergeback/2.3.0

See merge request pleroma/pleroma!3360
2021-03-03 15:07:50 +00:00
lain
2e296c079f Revert "StatusController: Deactivate application support for now."
This reverts commit 024c11c18d.
2021-03-03 15:33:06 +01:00
8d601d3b23 Make the object reference in both render("show.json", _) functions consistently named 2021-03-02 14:14:38 -06:00
85b2387f66 Fix build_application/1 match 2021-03-02 11:37:37 -06:00
Egor Kislitsyn
3aae5231b2
Add OpenAPI spec for AdminAPI.UserController 2021-03-02 20:49:17 +04:00
lain
7dac83eb6e Linting. 2021-03-02 15:03:16 +01:00
lain
024c11c18d StatusController: Deactivate application support for now.
Some more things to discuss about, so we'll remove it from 2.3.0
2021-03-02 14:40:47 +01:00
Ivan Tashkinov
882dd46843 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2021-03-02 08:26:30 +03:00
Alex Gleason
1dc5794e29 Never forward the client's user-agent through the media proxy 2021-03-01 21:05:46 +01:00
b1e1db82bc Store application details in the object under the generator key, not application key 2021-03-01 11:29:10 -06:00
lain
4a9d3a1f28 Merge branch 'features/reports-enhancements' into 'develop'
Enhance reports in Pleroma API: index, show

See merge request pleroma/pleroma!3280
2021-02-28 16:45:15 +00:00
lain
6a71aa535b Merge branch 'admin-api-versioning' into 'develop'
Pleroma APIs versioning

Closes #2509

See merge request pleroma/pleroma!3335
2021-02-28 16:22:22 +00:00
lain
050c4b1f14 Merge branch 'bugfix/peertube-mpegURL-object' into 'develop'
Video: Handle peertube videos only stashing attachments in x-mpegURL

Closes #2372 and #2535

See merge request pleroma/pleroma!3336
2021-02-28 16:18:23 +00:00
lain
e6a14e1cd1 Merge branch 'feat/client_app_details' into 'develop'
Support application field

See merge request pleroma/pleroma!3311
2021-02-28 16:17:34 +00:00
Haelwenn (lanodan) Monnier
3bc7d12271
Remove sensitive-property setting #nsfw, create HashtagPolicy 2021-02-27 21:26:17 +01:00
lain
d0823d7f1e Merge branch 'frontendstatic-ignore-api-calls' into 'develop'
Filter out API calls from FrontendStatic plug

Closes #2261

See merge request pleroma/pleroma!3346
2021-02-27 19:40:38 +00:00
Alexander Strizhakov
da5d21a1cf
don't use continue in Stats init for test env 2021-02-27 09:39:15 +03:00
d35b6254b4 Store the client application data in ActivityStreams format 2021-02-26 18:14:57 -06:00
840686ecd5 Merge branch 'fix/2498-expires_in-scheduled-posts' into 'develop'
expires_in in scheduled status params

Closes #2498

See merge request pleroma/pleroma!3315
2021-02-26 16:49:11 +00:00
2217b35bd4 Merge branch 'ecto-rollback-in-test-env' into 'develop'
Possibility to run rollback in test env

See merge request pleroma/pleroma!3212
2021-02-26 16:47:53 +00:00
76b166f040 Note our upgrade path for this functionality 2021-02-25 13:08:36 -06:00
2da71a526f No need to filter out Mix.env() from the API routes. 2021-02-25 13:04:08 -06:00
1552179792 Improved recursion through the api route list 2021-02-25 10:07:29 -06:00
6b87dfad5d Filter out MIX_ENV from route list and add a test 2021-02-25 09:23:10 -06:00
8ad1613717 Enum instead of Stream 2021-02-25 09:06:56 -06:00
cea31df6a6 Attempt to filter out API calls from FrontendStatic plug 2021-02-24 15:27:53 -06:00
Ivan Tashkinov
40d4362261 [#3213] mix pleroma.database rollback tweaks. 2021-02-23 18:11:25 +03:00
Ivan Tashkinov
8f88a90ca3 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	lib/pleroma/application.ex
#	lib/pleroma/config.ex
2021-02-23 13:58:35 +03:00
Ivan Tashkinov
77f3da0358 [#3213] Misc. tweaks: proper upsert in Hashtag, better feature toggle management. 2021-02-23 13:52:28 +03:00
Ivan Tashkinov
6531eddf36 [#3213] hashtags: altered name type to text. hashtags_objects: removed unused index. HashtagsTableMigrator: records_per_second calculation fix. ActivityPub: hashtags-related options normalization. 2021-02-22 23:26:07 +03:00
Ivan Tashkinov
0ef783baa1 [#2534] Earlier init of Pleroma.Web.Endpoint (must be started prior to Pleroma.Web.Streamer). 2021-02-22 23:09:41 +03:00
Haelwenn (lanodan) Monnier
7fc9cd0974
Video: Handle peertube videos only stashing attachments in x-mpegURL
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/2535
2021-02-21 23:41:28 +01:00
eugenijm
c1d63bbd9a Reroute /api/pleroma to /api/v1/pleroma 2021-02-21 13:26:23 +03:00
73aef0503c Exiftool also cannot strip from heic files. 2021-02-20 14:29:35 -06:00
369581db6d Show a proper error. A failure doesn't always mean the command isn't available, and we check for it on startup 2021-02-20 14:27:42 -06:00
26b620d676 Permit :disclose_client in changesets 2021-02-18 17:50:46 -06:00
63739c5a58 Tests to validate client disclosure obeys user setting 2021-02-18 17:23:17 -06:00
83301fe61a Add field to user schema for controlling disclosure of client details 2021-02-18 16:43:41 -06:00
d5ef02c7a7 Mastodon makes this field null when posting with MastoFE or if you choose to not disclose it, so it's safe to be null by default 2021-02-18 16:35:03 -06:00
Ivan Tashkinov
998437d4a4 [#3213] Experimental / debug feature: database: [improved_hashtag_timeline: :preselect_hashtag_ids]. 2021-02-18 21:03:06 +03:00
Ivan Tashkinov
b981edad8a [#3213] HashtagsTableMigrator: fault rate allowance to enable the feature (defaults to 1%), counting of affected objects, misc. tweaks. 2021-02-18 20:40:10 +03:00
Alexander Strizhakov
1e6c27181e
expires_in in scheduled status params 2021-02-18 14:59:22 +03:00
rinpatch
8829a408ec Merge branch 'fix/chats-no-unread-in-openapi' into 'develop'
ChatMessage schema: Add `unread` property

See merge request pleroma/pleroma!3323
2021-02-18 09:54:59 +00:00
rinpatch
2ab9499258 OAuthScopesPlug: remove transform_scopes in favor of explicit admin scope definitions
Transforming scopes is no longer necessary since we are dropping
support for accessing admin api without `admin:` prefix in scopes.
2021-02-17 21:37:23 +03:00
rinpatch
95a22c1cc2 OpenAPI: Add admin: scope prefix to admin operations
Also splits "Emoji packs" to two categories: "Emoji pack administration"
and "Emoji packs"
2021-02-17 21:10:28 +03:00
rinpatch
6d66fadea7 Remove :auth, :enforce_oauth_admin_scope_usage
`admin` scope has been required by default for more than a year now
and all apps that use the API seems to request a proper scope by now.
2021-02-17 20:47:38 +03:00
Haelwenn (lanodan) Monnier
ff72ce31ca
Enhance reports in Pleroma API: index, show 2021-02-17 18:46:53 +01:00
Haelwenn
e7b1f0f5f4 Merge branch 'feat/chat-list-pagination' into 'develop'
Chats: Introduce /api/v2/pleroma/chats which implements pagination

Closes #2140

See merge request pleroma/pleroma!3325
2021-02-17 15:36:59 +00:00
rinpatch
158f9f18ee Merge branch 'remove-conversation-api' into 'develop'
Add API endpoint to remove a conversation

Closes #2488

See merge request pleroma/pleroma!3321
2021-02-17 15:14:27 +00:00
rinpatch
264cb2c77f Merge branch '2510-oauth-app-tokens-further-support' into 'develop'
[#2510] Improved support for app-bound OAuth tokens

Closes #2510

See merge request pleroma/pleroma!3316
2021-02-17 13:08:51 +00:00
rinpatch
d7ad288c84 Chats: Introduce /api/v2/pleroma/chats which implements pagination
Also removes incorrect claim that /api/v1/pleroma/chats supports
pagination and deprecates it.

Closes #2140
2021-02-17 16:03:24 +03:00
Ivan Tashkinov
854ea1aefb [#3213] Fixed HashtagsTableMigrator.count/1. 2021-02-17 09:23:35 +03:00
Ivan Tashkinov
111bfdd3a0 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2021-02-16 23:23:49 +03:00
Ivan Tashkinov
938823c730 [#3213] HashtagsTableMigrator state management refactoring & improvements (proper stats serialization etc.). 2021-02-16 23:14:15 +03:00
rinpatch
98ab2b82a6 ChatMessage schema: Add unread property
It is present in the code, but was not documented.
2021-02-16 22:41:06 +03:00
Ivan Tashkinov
1dac7d1462 [#3213] Fixed hashtags.name lookup (must use citext type to do index scan). Fixed embedded hashtags lookup (lowercasing), adjusted tests. 2021-02-15 21:13:14 +03:00
Egor Kislitsyn
cf6d3db58f
Add API endpoint to remove a conversation 2021-02-15 21:48:13 +04:00
Ivan Tashkinov
284504f689 [#2053] Changed Notification/for_user_query/2 to use join to filter out inactive actors instead of subselect of _all_ inactive AP ids from users. 2021-02-15 09:08:04 +03:00
Ivan Tashkinov
349b8b0f4f [#3213] rescue around potentially-raising Repo.insert_all/_ calls. Misc. improvements (docs etc.). 2021-02-13 22:01:11 +03:00
3554a65f45 Inject fake application metadata and validate it is stripped by transmogrifier 2021-02-12 13:05:12 -06:00
9b61df1fb6 App is already preloaded into the token, so avoid an extra query 2021-02-12 12:44:45 -06:00
c1d78328ee Consistency 2021-02-11 14:27:52 -06:00
6dc0b13cf8 Revert to original formatting for these function defs 2021-02-11 14:24:51 -06:00
7c508319a5 Prefer naming this put_application because we're putting it into the params map 2021-02-11 14:19:53 -06:00
09b8378646 %Token{} may not be in the conn, so avoid breaking the ability to post statuses in that scenario. 2021-02-11 14:15:25 -06:00
Ivan Tashkinov
5992382cf8 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	CHANGELOG.md
#	lib/mix/tasks/pleroma/database.ex
#	lib/pleroma/web/templates/feed/feed/_activity.rss.eex
2021-02-11 19:31:57 +03:00
Ivan Tashkinov
a996ab46a5 [#3213] Reorganized hashtags cleanup. Transaction-wrapped Hashtag.get_or_create_by_names/1. Misc. improvements. 2021-02-11 19:30:21 +03:00
Ivan Tashkinov
df89b5019b [#2510] Improved support for app-bound OAuth tokens. Auth-related refactoring. 2021-02-11 15:02:50 +03:00
Haelwenn
2cf753c502 Merge branch 'fix/no-version-api-pleroma-social' into 'develop'
Fix no version number on api.pleroma.social

See merge request pleroma/pleroma!3310
2021-02-10 00:52:59 +00:00
4540e08a6a Rendering fallback for when we don't have valid data available 2021-02-09 18:52:22 -06:00
981349f21d Enable rendering of the client application data details 2021-02-09 18:22:41 -06:00
3dc7e89c54 Ensure we capture the application details into the object 2021-02-09 18:07:15 -06:00
de8b8e9cf1 Add a function to lookup client app details by the app_id 2021-02-09 16:59:58 -06:00
rinpatch
a853218701 Merge branch 'features/ap_id-c2s-authentication' into 'develop'
activity_pub_controller: Add authentication to object & activity endpoints

See merge request pleroma/pleroma!3295
2021-02-09 19:29:43 +00:00
rinpatch
0d9230aed9 OpenAPI spec: Do not show build enviroment in the spec version 2021-02-09 22:23:11 +03:00
rinpatch
f13f5d9303 OpenAPI spec task: Load pleroma application to get version info
For whatever reason it seems to pick up the version without loading the
app on my machine, but not on the CI.
2021-02-09 22:10:09 +03:00
4cacce4b42 Revert "Add plaintext support for all emails except the digest"
This reverts commit 5df9f68392.
2021-02-08 16:39:55 -06:00
593c0851d9 Merge branch 'develop' into 'new-user-emails' 2021-02-08 16:01:50 -06:00
Haelwenn
a5bee1bf35 Merge branch 'feat/mrf-noemptypolicy' into 'develop'
MRF NoEmptyPolicy: Deny posts from local users if there is no content or only mentions.

See merge request pleroma/pleroma!3309
2021-02-08 21:49:20 +00:00
55a13fc360 MRF NoEmptyPolicy: Deny posts from local users if there is no content or only mentions.
Helps prevent accidental button mashes from submitting incomplete posts
2021-02-08 15:32:47 -06:00
rinpatch
17f41a589f Merge branch 'fix/rss-link' into 'develop'
RSS: Make sure post URL is the first `<link>` element

See merge request pleroma/pleroma!3308
2021-02-08 20:14:53 +00:00
rinpatch
ed8ef80b5e RSS: Make sure post URL is the first <link> element
Otherwise some RSS readers (tested in Miniflux) might pick the context
URL as the external link.

Related to #2425.
2021-02-08 22:44:15 +03:00
Haelwenn (lanodan) Monnier
8c7b3b20d8
activity_pub_controller: Add authentication to object & activity endpoints 2021-02-08 20:00:47 +01:00
rinpatch
8babd796da Merge branch 'fix/reports-from-admins' into 'develop'
Suppress report notification for admin actors

See merge request pleroma/pleroma!3301
2021-02-08 10:31:20 +00:00
Ivan Tashkinov
d1c6dd97aa [#3213] Partially addressed code review points.
migration rollback task changes, hashtags-related config handling tweaks, `hashtags.data` deletion (unused).
2021-02-07 22:24:12 +03:00
rinpatch
6e68058b63 Merge branch 'feat/allow_alt_text_search_config' into 'develop'
allow user defined text search config in database

See merge request pleroma/pleroma!3275
2021-02-06 09:42:20 +00:00
hyperion
8d4e0342e1 Update priv/repo/migrations/20190501125843_add_fts_index_to_objects.exs, priv/repo/optional_migrations/rum_indexing/20190510135645_add_fts_index_to_objects_two.exs files 2021-02-06 09:42:17 +00:00
0368419fce Slightly better formatting 2021-02-05 09:13:53 -06:00
5df9f68392 Add plaintext support for all emails except the digest 2021-02-05 09:13:17 -06:00
95930a7aa5 Actually send the mail 2021-02-04 17:42:09 -06:00
e945ccc91b Add a registration email that only sends if no other emails (welcome, approval, confirmation) are enabled 2021-02-04 15:16:50 -06:00
2956c21a55 Improve confirmation email language 2021-02-04 15:10:43 -06:00
af37a5c51a Also make this maybe_ for consistency 2021-02-04 14:33:49 -06:00
b22b12f738 These welcome emails are not guaranteed and can be private functions 2021-02-04 14:01:15 -06:00
d047372291 Merge branch 'develop' into fix/reports-from-admins 2021-02-04 12:37:20 -06:00
bf9cd4a0e2 Standardize the way we capture and use Mix.env() 2021-02-04 10:13:03 -06:00
7b67bf4e97 Merge branch 'fix/configdb-error' into 'develop'
Improve error message for ConfigDB

See merge request pleroma/pleroma!3289
2021-02-04 14:33:59 +00:00
Haelwenn
ea5469961a Merge branch 'bugfix/notice-external-redirect' into 'develop'
Redirect non-local activities when /notice/:id is used

See merge request pleroma/pleroma!3300
2021-02-04 14:26:03 +00:00
Haelwenn (lanodan) Monnier
ecff027418
Redirect non-local activities when /notice/:id is used
Related-to: https://git.pleroma.social/pleroma/pleroma/-/issues/2496
2021-02-04 15:17:40 +01:00
887db076b5 Load an emoji.txt specific to the test env 2021-02-03 16:40:59 -06:00