Commit graph

8096 commits

Author SHA1 Message Date
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