Commit Graph

4912 Commits

Author SHA1 Message Date
lain 9fb71ce7f4 Merge branch 'cache-follow-state' into 'develop'
Cache follow state

Closes #1180

See merge request pleroma/pleroma!1573
2019-08-15 14:06:27 +00:00
Maxim Filippov ec969eec51 Merge branch 'develop' into 'fix/admin-api-user-deletion'
# Conflicts:
#   CHANGELOG.md
2019-08-14 22:45:32 +00:00
Maxim Filippov 2b94ae3b39 Do not check if actor is active when deleting a user 2019-08-15 01:35:29 +03:00
rinpatch e8a8d50138 Collect stats immediately after init 2019-08-15 01:01:13 +03:00
rinpatch bd5ad0af78 Cache follow state 2019-08-15 00:47:30 +03:00
rinpatch a9e75fa6a4 Add a task to benchmark timeline rendering 2019-08-15 00:43:02 +03:00
Haelwenn (lanodan) Monnier a6a814420d
html.ex: Allow sub and sup elements by default
Closes: https://git.pleroma.social/pleroma/pleroma/issues/1191
2019-08-14 22:49:13 +02:00
rinpatch 31d576de0c Merge branch 'misc-otp-issues' into 'develop'
Misc OTP issues

See merge request pleroma/pleroma!1567
2019-08-14 19:22:15 +00:00
rinpatch dc902ad3df Merge branch 'fix/http-signatures-post' into 'develop'
activitypub: publisher: add (request-target) to http signature when POSTing

See merge request pleroma/pleroma!1569
2019-08-14 19:16:52 +00:00
kaniini 1754f8ce6d Apply suggestion to lib/pleroma/web/activity_pub/publisher.ex 2019-08-14 19:05:44 +00:00
Ariadne Conill 5bb418a90d activitypub: publisher: add (request-target) to http signature when POSTing 2019-08-14 19:01:51 +00:00
Ariadne Conill 626e094589 MRF: fix up unserializable option lists in describe implementations 2019-08-14 18:54:17 +00:00
Ivan Tashkinov 8778c16dac Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-08-14 21:44:50 +03:00
Ivan Tashkinov a180c1360e [#1149] Oban mailer job. Adjusted tests. 2019-08-14 21:42:21 +03:00
stwf c43152f6c1 fix formatting 2019-08-14 14:01:11 -04:00
stwf d81f63845a Implement Pleroma.Stats as GenServer 2019-08-14 11:59:33 -04:00
stwf 574856ef01 streamline Streamer pings 2019-08-14 11:58:32 -04:00
stwf 15ef521009 Isolate OAuth.Token.CleanWorker 2019-08-14 11:57:50 -04:00
stwf 51bdf0cab6 use default child_specs 2019-08-14 11:55:17 -04:00
lain d3af9e19ed Conversations: Load relations in one query. 2019-08-14 17:01:11 +02:00
Egor Kislitsyn c9970feee2 Fix compatibility with Elixir 1.8 2019-08-14 21:03:25 +07:00
lain f73212b2a3 Conversation: Render new participation on update. 2019-08-14 15:56:15 +02:00
lain df81abb68c Conversations: Use correct oauth paths for extended api. 2019-08-14 15:55:43 +02:00
Egor Kislitsyn 4b7f1c6995 Improve digest email template 2019-08-14 20:46:05 +07:00
lain 560dbad538 Merge remote-tracking branch 'origin/develop' into pleroma-conversations 2019-08-14 15:30:40 +02:00
Egor Kislitsyn 672fcbc7b7 Limit custom fields for old remote users 2019-08-14 14:58:06 +07:00
Egor Kislitsyn e457fcc479 Add `:max_remote_account_fields` config option 2019-08-14 14:58:06 +07:00
Egor Kislitsyn f7bbf99caa Use info.fields instead of source_data for remote users 2019-08-14 14:52:54 +07:00
Egor Kislitsyn 2c35d4b0b0 Add configurable account field name length limit 2019-08-14 14:52:54 +07:00
Egor Kislitsyn db3c05f6b4 Add configurable account field value length limit 2019-08-14 14:52:54 +07:00
Egor Kislitsyn 7d6f8a7fd7 Linkify custom fields values in ActivityPub.UserViewx 2019-08-14 14:52:54 +07:00
Egor Kislitsyn 5178f960c3 Support user attachment update in Transmogrifier 2019-08-14 14:52:54 +07:00
Egor Kislitsyn 88598c9baf Add profile custom fields to ActivityPub.UserView 2019-08-14 14:52:54 +07:00
Egor Kislitsyn a22f540fc4 Add custom fields to TwitterAPI.UserView 2019-08-14 14:52:54 +07:00
Egor Kislitsyn e0ac5c7a66 Add custom profile fields 2019-08-14 14:52:54 +07:00
kaniini 5c35d2f1d8 Merge branch 'preload-user-timelines' into 'develop'
Preload thread mutes/bookmarks in user_statuses

See merge request pleroma/pleroma!1563
2019-08-14 01:04:07 +00:00
kaniini fe42844bda Merge branch 'get-context-optimizations' into 'develop'
Preload thread mutes/bookmarks in get_context

See merge request pleroma/pleroma!1562
2019-08-14 01:03:54 +00:00
rinpatch 8202f1634a Preload thread mutes/bookmarks in user_statuses 2019-08-14 03:02:09 +03:00
rinpatch f4e087ee48 Preload thread mutes/bookmarks in get_context
Also removes filtering for creates (was done on the database side
already) and filtering for the requested activity (moved to the database
side) from application side.
2019-08-14 02:36:54 +03:00
rinpatch 9ef31767f2 Merge branch 'feature/mrf-vocabulary' into 'develop'
MRF Vocabulary

See merge request pleroma/pleroma!1559
2019-08-13 22:51:15 +00:00
kaniini c3a54cc34d Merge branch 'feature/mrf-describe' into 'develop'
MRF describe API

See merge request pleroma/pleroma!1561
2019-08-13 22:46:19 +00:00
rinpatch 83a3de8cc4 Merge branch 'length-limit-bio' into 'develop'
Add configurable length limits for `User.bio` and `User.name`

See merge request pleroma/pleroma!1515
2019-08-13 22:40:13 +00:00
Ariadne Conill abfbcfdcb3 mrf_vocabulary: add describe API support 2019-08-13 22:39:26 +00:00
Ariadne Conill 4244e17de0 fix credo 2019-08-13 22:36:24 +00:00
Haelwenn 47c20ab796 Merge branch 'fix/mastoapi-more-object-preloads' into 'develop'
Mastodon API: Preloading and normalization optimizations

See merge request pleroma/pleroma!1558
2019-08-13 22:32:49 +00:00
rinpatch 46d7bef7e7 Nicer formatting for safe_render errors 2019-08-14 01:15:18 +03:00
Ariadne Conill f305e97eeb nodeinfo: use MRF.describe() instead of hardcoded MRF transparency stuff 2019-08-13 22:09:02 +00:00
Ariadne Conill c574b7a1fc MRF: add describe() to all modules, add base MRF configuration to base describe() 2019-08-13 22:08:58 +00:00
Ariadne Conill 694bc43123 MRF: add describe() for gathering and describing the MRF configuration 2019-08-13 21:26:24 +00:00
Maksim fea4d89e9f tests for Web/ActivityPub/Relay 2019-08-13 21:12:59 +00:00
Maksim 04da1166db tests for /web/mastodon_api/mastodon_api.ex 2019-08-13 21:12:37 +00:00
Ariadne Conill 3fdbeb7087 MRF: add vocabulary policy module 2019-08-13 20:55:38 +00:00
rinpatch c1b6952d2a Mastodon API: Preloading and normalization optimizations
- Try to normalize the activity instead of object wherever possible
- Put the `user` key on non-home timelines as well so bookmarks and
thread mutes are preloaded there as well
- Skip trying to get the user when rendering mentions if the id ==
as:Public or user's follower collection
- Preload the object when getting replied to activities and do not crash
if it's not present

This almost solves the problem of Pleroma hammering the db with a lot
of queries when rendering timelines, the things left are
1. When rendering mentions and the user is not in cache, save it for
later and request all uncached users in one go
2. Somehow get rid of needing to get the latest follow activity to
detect the value of `requested` in a relationship. (create a database
view for user relationship and cache it maybe?)
2019-08-13 20:34:34 +03:00
Ivan Tashkinov 0e1c481a94 [#1149] Added more oban workers. Refactoring. 2019-08-13 20:20:26 +03:00
Ariadne Conill f46cd7e9c7 config: remove legacy activitypub accept_blocks setting
Anyone who is interested in dropping blocks can write their own MRF
policy at this point.  This setting predated the MRF framework.

Disabling the side effect (unsubscription) is still a config option
per policy.
2019-08-13 02:15:21 +00:00
lain 511ccea5aa ConversationView: Align parameter names with other views. 2019-08-12 14:23:06 +02:00
lain 60231ec7bd Conversation: Add endpoint to get a conversation by id. 2019-08-12 13:58:04 +02:00
lain 23c46f7e72 Conversations: Use 'recipients' for accounts in conversation view.
According to gargron, this is the intended usage.
2019-08-12 12:51:08 +02:00
rinpatch 92479c6f48 Do not fetch the reply object in `fix_type` unless the object has the
`name` key and use a depth limit when fetching it
2019-08-11 22:49:55 +03:00
Ariadne Conill 9cfc289594 MRF: ensure that subdomain_match calls are case-insensitive 2019-08-10 21:19:26 +00:00
kaniini 84808e1697 Merge branch 'develop' into 'fix/hide-follows-counters'
# Conflicts:
#   CHANGELOG.md
2019-08-10 18:49:04 +00:00
Sergey Suprunenko af4cf35e20 Strip internal fields including likes from incoming and outgoing activities 2019-08-10 18:47:40 +00:00
Maksim 11d08c2de0 tests for Pleroma.Uploaders 2019-08-10 18:46:26 +00:00
Ivan Tashkinov 33a5fc4a70 [#1149] Fixed failing tests. Ensured Instance.set_unreachable/2 supports ISO 8601 datetime. 2019-08-10 20:38:31 +03:00
rinpatch 0802a08871 Mastodon API: Fix thread mute detection
It was calling CommonAPI.thread_muted? with post author's account
instead of viewer's one.
2019-08-10 16:27:46 +03:00
Maksim bb9c539580 Uploader.S3 added support stream uploads 2019-08-10 11:27:59 +00:00
Maxim Filippov dfae61c25c Fix deactivated user deletion 2019-08-09 23:05:28 +03:00
Ivan Tashkinov 267262491e Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-08-09 20:09:56 +03:00
Ivan Tashkinov b7fad8d395 [#1149] Oban jobs implementation for :federator_incoming and :federator_outgoing queues. 2019-08-09 20:08:01 +03:00
rinpatch 409bcad54b Mastodon API: Set follower/following counters to 0 when hiding
followers/following is enabled

We are already doing that in AP representation, so I think we should do
it here as well for consistency.
2019-08-09 16:53:55 +03:00
lain 29807ef6a5 Merge branch 'feature/digest-email' into 'develop'
Feature/digest email

See merge request pleroma/pleroma!1078
2019-08-08 14:38:33 +00:00
lain a2b98f6d58 Merge remote-tracking branch 'origin/develop' into pleroma-conversations 2019-08-08 16:04:20 +02:00
Thibaut Girka 9c0da1009a Return profile URL in MastodonAPI's `url` field 2019-08-07 21:40:53 +00:00
Thibaut Girka 089d53a961 Simplify logic to mention.js `url` field
`User.profile_url` already fallbacks to ap_id
2019-08-07 20:55:37 +00:00
Thibaut Girka a10c840aba Return profile URL when available instead of actor URI for MastodonAPI mention URL
Fixes #1165
2019-08-07 20:29:30 +00:00
Haelwenn aa718ab8f6 Merge branch 'fix/object-reembeds' into 'develop'
Do not rembed the object after updating it

Closes #1142

See merge request pleroma/pleroma!1538
2019-08-06 22:14:00 +00:00
rinpatch 4f1b9c54b9 Do not rembed the object after updating it 2019-08-07 01:02:29 +03:00
rinpatch 03ad31328c OStatus Announce Representer: Do not depend on the object being embedded
in the Create activity
2019-08-07 00:23:58 +03:00
rinpatch 73d8d5c49f Stop depending on the embedded object in restrict_favorited_by 2019-08-07 00:12:42 +03:00
Maksim 139b196bc0 [#1150] fixed parser TwitterCard 2019-08-06 20:19:28 +00:00
lain e4a01d253e Conversation: Rename function to better express what it does. 2019-08-06 15:06:19 +02:00
lain a49c92f6ae Participation: Setting recipients will always add the owner. 2019-08-06 14:51:17 +02:00
Maksim bdc9a7222c tests for CommonApi/Utils 2019-08-05 15:37:05 +00:00
lain d6fe220e32 Linting. 2019-08-05 16:11:23 +02:00
lain b64b6fee2a CommonAPI: Replies to conversations also get the correct context id. 2019-08-05 15:33:22 +02:00
lain 3af6d14da7 Pleroma Conversations API: Add a way to set recipients. 2019-08-05 15:09:19 +02:00
Eugenij 96028cd585 Remove Reply-To from report emails 2019-08-04 22:24:50 +00:00
kaniini f7fc902c29 Merge branch 'feature/relay-list-task' into 'develop'
tasks: relay: add list task

Closes #1101

See merge request pleroma/pleroma!1528
2019-08-04 17:14:37 +00:00
Sergey Suprunenko e8ad116c2a Do not add the "next" key to likes.json if there is no more items 2019-08-04 17:13:06 +00:00
Ariadne Conill cef3af5536 tasks: relay: add list task 2019-08-03 23:17:17 +00:00
Haelwenn (lanodan) Monnier a035ab8c1d
templates/layout/app.html.eex: Style anchors
[ci skip]
2019-08-03 23:18:22 +02:00
kaniini 86fffe9c27 Merge branch 'patch-2' into 'develop'
Add preferredUsername to service actors so Mastodon can resolve them

See merge request pleroma/pleroma!1526
2019-08-03 18:55:09 +00:00
Thibaut Girka 1fce56c7df Refactor 2019-08-03 18:37:20 +00:00
Thibaut Girka 16cfb89240 Only add `preferredUsername` to service actor json when the underlying user actually has a username 2019-08-03 18:28:08 +00:00
Alexander Strizhakov de0f3b73dd Admin fixes 2019-08-03 18:16:09 +00:00
Sergey Suprunenko 040347b248 Remove spaces from the domain search 2019-08-03 18:13:20 +00:00
Sergey Suprunenko 8b2fa31fed Handle MRF rejections of incoming AP activities 2019-08-03 18:12:38 +00:00
Thibaut Girka a187dbb326 Add preferredUsername to service actors so Mastodon can resolve them 2019-08-03 17:24:57 +00:00
Haelwenn (lanodan) Monnier 8815f07058
tasks/pleroma/user.ex: Fix documentation of --max-use and --expire-at
Closes: https://git.pleroma.social/pleroma/pleroma/issues/1155

[ci skip]
2019-08-02 23:38:02 +02:00
lain eee98aaa73 Pleroma API: Add endpoint to get conversation statuses. 2019-08-02 19:53:08 +02:00
feld d93d777915 Fix/mediaproxy whitelist base url 2019-08-02 17:07:09 +00:00
Roman Chvanikov 9d4f34fbcb Merge branch 'develop' into feature/digest-email 2019-08-02 18:16:04 +03:00
lain 56b1c3af13 CommonAPI: Extend api with conversation replies. 2019-08-02 15:05:27 +02:00
lain 5ff8f07ca9 Merge branch 'feature/hide-follows-remote' into 'develop'
Refactor Follows/Followers counter syncronization and set hide_followers/hide_follows for remote users

See merge request pleroma/pleroma!1411
2019-08-02 11:23:07 +00:00
lain f88560accd Conversations: Add recipient list to conversation participation.
This enables to address the same group of people every time.
2019-08-02 11:55:41 +02:00
Ivan Tashkinov 23d279e03e [#1149] Replaced RetryQueue with oban-based retries. 2019-08-01 17:28:00 +03:00
Egor Kislitsyn 9ca4506355 Add configurable length limits for `User.bio` and `User.name` 2019-08-01 15:53:37 +07:00
kaniini 6c06529cd4 Merge branch 'fix/disallow-ostatus-follows-locked' into 'develop'
Disallow following locked accounts over OStatus

See merge request pleroma/pleroma!1512
2019-07-31 19:13:56 +00:00
rinpatch 813c686dd7 Disallow following locked accounts over OStatus 2019-07-31 22:05:12 +03:00
Maksim 6eb33e7303 test for Pleroma.Web.CommonAPI.Utils.get_by_id_or_ap_id 2019-07-31 18:35:15 +00:00
Ariadne Conill f72e0b7cad ostatus: explicitly disallow protocol downgrade from activitypub
This closes embargoed bug #1135.
2019-07-31 18:17:31 +00:00
rinpatch 301ea0dc04 Add tests for counters being updated on follow 2019-07-31 21:09:13 +03:00
Maksim 58443d0cd6 tests for TwitterApi/UtilController 2019-07-31 15:14:36 +00:00
lain 7483679a7b StatusView: Return direct conversation id. 2019-07-31 15:12:29 +02:00
rinpatch f42719506c Fix credo issues 2019-07-31 14:20:34 +03:00
rinpatch c88a5d3251 Merge branch 'develop' into feature/hide-follows-remote 2019-07-31 14:12:29 +03:00
Alexander Strizhakov 51b3b6d816 Admin changes 2019-07-30 16:36:05 +00:00
Ariadne Conill 3850812503 twitter api: utils: rework do_remote_follow() to use CommonAPI
Closes #1138
2019-07-29 20:00:57 +00:00
kaniini 5835069215 Revert "Merge branch 'bugfix/clean-up-markdown-rendering' into 'develop'"
This reverts merge request !1504
2019-07-29 19:42:26 +00:00
Ariadne Conill 5795a890e9 markdown: clean up html generated by earmark 2019-07-29 19:09:58 +00:00
lain 1dfde4151c Merge branch 'refactor/use-constants' into 'develop'
refactoring: begin to use constants

See merge request pleroma/pleroma!1500
2019-07-29 16:30:47 +00:00
Eugenij 0bee2131ce Add `mailerEnabled` to the NodeInfo metadata 2019-07-29 16:17:40 +00:00
Sergey Suprunenko c0e258cf21 Redirect not logged-in users to the MastoFE login page on private instances 2019-07-29 16:17:22 +00:00
Maksim 159bbec570 added tests for OstatusController 2019-07-29 05:02:20 +00:00
Ariadne Conill b93498eb52 constants: add as_public constant and use it everywhere 2019-07-29 02:43:19 +00:00
Ariadne Conill 492d854e7a transmogrifier: use User.delete() instead of handrolled user deletion code for remote users
Closes #1104
2019-07-28 21:32:04 +00:00
Sachin Joshi 242f5c585e add account confirmation email resend in mastodon api 2019-07-28 20:30:10 +00:00
Maksim 6a4b8b2681 fixed User.update_and_set_cache for stale user 2019-07-28 20:29:26 +00:00
kaniini 488c06b6f5 Merge branch 'develop' into 'develop'
Fix HTTP sig tweak on KeyId

See merge request pleroma/pleroma!1496
2019-07-28 20:25:35 +00:00
Sergey Suprunenko 02dc651828 Handle 303 redirects 2019-07-28 20:24:39 +00:00
Thomas Sileo 961e778531 Fix HTTP sig tweak on KeyId 2019-07-28 14:17:56 +02:00
Maksim 6b77a88365 [#1097] added redirect: /pleroma/admin -> /pleroma/admin/ 2019-07-26 20:27:38 +00:00
rinpatch 41e0304757 Merge branch 'develop' into feature/hide-follows-remote 2019-07-25 18:43:30 +03:00
kaniini 19835be067 Merge branch 'fix-remote-follow-from-ostatus-subscribe' into 'develop'
Fix remote follow from /ostatus_subscribe

Closes #1103

See merge request pleroma/pleroma!1472
2019-07-24 19:29:01 +00:00
Sergey Suprunenko b20020da16 Show the url advertised in the Activity in the Status JSON response 2019-07-24 19:28:21 +00:00
feld 84fca14c3c Do not prepend /media/ when using base_url
This ensures admin has full control over the path where media resides.
2019-07-24 15:35:25 +00:00
kPherox ac27b94ffa
Change to not require `magic-public-key` on WebFinger 2019-07-25 00:21:32 +09:00
Maksim 55341ac717 tests WebFinger 2019-07-24 15:13:10 +00:00
Eugenij 4504135894 Add `domain_blocking` to the relationship API (GET /api/v1/accounts/relationships) 2019-07-24 15:12:27 +00:00
Mike Verdone 2c83eb0b15 Revert "squash! Expose expires_at datetime in mastoAPI only for the activity actor"
This reverts commit 2981821db8.
2019-07-24 17:09:59 +02:00
Mike Verdone 2981821db8 squash! Expose expires_at datetime in mastoAPI only for the activity actor
NOTE: rewrite the commit msg
2019-07-24 16:51:09 +02:00
Roman Chvanikov d2da3d30f3 Merge branch 'develop' into feature/digest-email 2019-07-24 16:37:52 +03:00
Mike Verdone 3cb471ec06 Expose expires_at datetime in mastoAPI only for the activity actor
In the "pleroma" section of the MastoAPI for status activities you can
see an expires_at item that states when the activity will expire, or
nothing if the activity will not expire.

The expires_at date is only visible to the person who posted the
activity. This is the conservative approach in case some attacker
decides to write a logger for expiring posts. However, in the future of
OCAP, signed requests, and all that stuff, this attack might not be that
likely. Some other pleroma dev should remove the restriction in the code
at that time, if they're satisfied with the security implications of
doing so.
2019-07-24 14:47:22 +02:00
Mike Verdone 36012ef6c1 Require that ephemeral posts live for at least one hour
If we didn't put some kind of lifetime requirement on these, I guess you
could annoy people by sending large numbers of ephemeral posts that
provoke notifications but then disappear before anyone can read them.
2019-07-24 14:46:08 +02:00
Mike Verdone 704960b3c1 Add support for activity expiration to common and Masto API
The "expires_at" parameter accepts an ISO8601-formatted date which
defines when the activity will expire.

At this point the API will not give you any feedback about if your post
will expire or not.
2019-07-24 14:45:14 +02:00
Mike Verdone 378f5f0fbe Add activity expiration worker
This is a worker that runs every minute and deletes expired activities.
It's based heavily on the scheduled activities worker.
2019-07-24 13:14:52 +02:00
Mike Verdone 666514194a Add activity expirations table
Add a table to store activity expirations. An activity can have zero or
one expirations. The expiration has a scheduled_at field which stores
the time at which the activity should expire and be deleted.
2019-07-24 13:14:52 +02:00
sadposter f5d574f4ed check both item and parent domain blocks 2019-07-24 11:35:16 +01:00
Sadposter 48bd3be9cb move domain block check to with block 2019-07-24 11:11:33 +01:00
Sadposter 4af4f6166b honour domain blocks on streaming notifications 2019-07-24 11:09:06 +01:00
kaniini 9c6357324e Merge branch 'feature/admin-api-user-statuses' into 'develop'
Admin API: Endpoint for fetching latest user's statuses

See merge request pleroma/pleroma!1413
2019-07-23 23:59:21 +00:00
Ariadne Conill d3bdb8e704 rich media: parser: splice the given URL into the result 2019-07-23 23:51:29 +00:00
Maxim Filippov f46805bb40 Merge branch 'develop' into feature/admin-api-user-statuses 2019-07-24 02:42:28 +03:00
Maxim Filippov 03471151d6 AdminAPI: Add "godmode" while fetching user statuses (i.e. admin can see private statuses) 2019-07-24 01:51:36 +03:00
kaniini bd265acf91 Merge branch 'chore/adminapi-deprecated-endpoints' into 'develop'
Router: Remove deprecated AdminAPI endpoints

See merge request pleroma/pleroma!1466
2019-07-23 19:48:34 +00:00
Haelwenn (lanodan) Monnier 90be91b0e0
Router: Remove deprecated AdminAPI endpoints 2019-07-23 21:35:25 +02:00
Alexander Strizhakov 5e72554f3c Admin config fix 2019-07-23 19:17:00 +00:00
Maksim c49a09ed88 tests for Pleroma.Web.ActivityPub.Publisher 2019-07-23 19:15:48 +00:00
kaniini 8d3cf7e519 Merge branch 'bugfix/unauthed-liked-by' into 'develop'
Bugfix: don't error out on unauthorized request to liked/favourited_by

See merge request pleroma/pleroma!1474
2019-07-23 19:14:43 +00:00
kaniini 03d89e182e Merge branch 'fix/subscriber-notifications' into 'develop'
Do not notify subscribers for messages from users which are replies to others

See merge request pleroma/pleroma!1477
2019-07-23 19:13:55 +00:00
Mark Felder 6a79bb12c3 Fix function 2019-07-23 13:53:05 -05:00
Sadposter 54a161cb7a move unauth'd user blocks?/2 check 2019-07-23 19:44:47 +01:00
Mark Felder fd287387a0 Do not notify subscribers for messages from users which are replies to others 2019-07-23 13:14:26 -05:00
Ariadne Conill e7c64f106e signature: properly deduce the actor from misskey key IDs 2019-07-23 16:47:22 +00:00
Sadposter 452980652d Mix format 2019-07-23 15:13:05 +01:00
Sadposter eacf61d823 fix unauthenticated req to favourited/rebloggd_by 2019-07-23 15:08:33 +01:00
kPherox e818381042
Use User.get_or_fetch/1 instead of OStatus.find_or_make_user/1 2019-07-23 19:47:27 +09:00
Alexander Strizhakov b70e659304 Feature/1087 wildcard option for blocks 2019-07-22 14:33:58 +00:00
Haelwenn 674ad5e1df Merge branch 'hardening/stop-misusing-sharedinbox' into 'develop'
activitypub: publisher: align sharedinbox usage with AP specification rules

See merge request pleroma/pleroma!1464
2019-07-22 11:01:35 +00:00
Sadposter f712ee879a Bugfix: muted/blocked user notification streaming 2019-07-22 02:43:55 +00:00
Sergey Suprunenko 05b5af8075 Add tests for users tasks and PleromaAuthenticator 2019-07-22 02:43:15 +00:00
Sadposter a5d6287ba8 Hide blocked users from interactions 2019-07-22 02:42:29 +00:00
Ariadne Conill 56019d53a8 activitypub: publisher: align sharedinbox usage with AP specification rules
While debugging the follow breakage, I observed that our sharedInbox usage
did not match the rules in the specification.  Accordingly, I have better
aligned our usage of sharedInbox with the rules outlined in the ActivityPub
specification.
2019-07-22 02:38:31 +00:00
kaniini a00aab3402 Merge branch 'fix/rich-media-ttl-fallback' into 'develop'
Fix rich media parser failing when no TTL can be found by image TTL setters

See merge request pleroma/pleroma!1460
2019-07-21 16:05:58 +00:00
rinpatch 3368174785 Fix rich media parser failing when no TTL can be found by image TTL
setters
2019-07-21 18:22:22 +03:00
Ariadne Conill bc6c5c513a router: ensure the AP sharedinbox path is registered first 2019-07-21 03:52:06 +00:00
rinpatch 196cad46f3 Resolve merge conflicts 2019-07-20 22:04:47 +03:00
rinpatch c3ecaea64d Apply suggestion to lib/pleroma/object/fetcher.ex 2019-07-20 18:53:00 +00:00
rinpatch d4ee76ab63 Apply suggestion to lib/pleroma/user.ex 2019-07-20 18:52:41 +00:00
Roman Chvanikov 8292331b35 Merge branch 'develop' into feature/digest-email 2019-07-20 16:41:58 +03:00
Ivan Tashkinov d0198fe215 [#1112] Preserving `id` on user insert conflict on order not to violate conversation_partipations_user_id_fkey constraint. 2019-07-20 13:03:34 +03:00
Roman Chvanikov ae4fc58589 Remove flavour from userinfo 2019-07-20 01:24:01 +03:00
Roman Chvanikov 36049f08ef Merge develop 2019-07-20 01:03:25 +03:00
feld 93df0796f0 Merge branch 'feature/matstodon-statuses-by-name' into 'develop'
Feature/matstodon statuses by name

See merge request pleroma/pleroma!1211
2019-07-19 21:59:18 +00:00
Mark Felder 9169f331b6 Merge branch 'develop' into feature/matstodon-statuses-by-name 2019-07-19 16:55:10 -05:00
kaniini 33729bbb28 Merge branch 'feature/richmedia-ttl' into 'develop'
add the rich media ttl based on image exp time

See merge request pleroma/pleroma!1438
2019-07-19 21:36:36 +00:00
Ariadne Conill 9a8eb2c94d mix: add pleroma.user unsubscribe_all_from_instance 2019-07-19 19:25:29 +00:00
kaniini 716afc83ce Merge branch 'refactor/http-signature-plug' into 'develop'
http signature plug: separation of concerns

See merge request pleroma/pleroma!1449
2019-07-19 16:57:24 +00:00
Maksim c2e2aadc42 #1110 fixed /api/pleroma/healthcheck 2019-07-19 16:20:23 +00:00
Sachin Joshi de9906ad56 change the structure of image ttl parsar 2019-07-19 11:43:42 +05:45
Maxim Filippov 9570a5be40 Merge branch 'develop' into feature/admin-api-user-statuses 2019-07-18 23:38:38 +03:00
Ariadne Conill c947cfec5a mapped signature plug: use `user` assign like authentication plug 2019-07-18 20:31:25 +00:00
Maksim f435217e50 tests for Plugs.AuthenticationPlug 2019-07-18 20:29:51 +00:00
Ariadne Conill a8af0ac053 mapped signature plug: fix user lookup 2019-07-18 16:27:50 +00:00
Ariadne Conill 5ea0cd69f7 mapped signature plug: don't invalidate in cases where a signature is actually not present (testsuite) 2019-07-18 16:01:21 +00:00
Ariadne Conill 184fa61fb3 plugs: add MappedSignatureToIdentityPlug 2019-07-18 15:38:45 +00:00
Ariadne Conill 18d8d12d53 signature: make key_id_to_actor_id() public 2019-07-18 15:35:42 +00:00
Ariadne Conill 88d064d80e http signature plug: remove redundant checks handled by HTTPSignatures library
the redundant checks assumed a POST request, which will not work for signed GETs.
this check was originally needed because the HTTPSignatures adapter assumed that
the requests were also POST requests.  but now, the adapter has been corrected.
2019-07-18 15:11:21 +00:00
kaniini f9a0014681 Merge branch 'feature/signed-object-fetches' into 'develop'
signed object fetches

See merge request pleroma/pleroma!1446
2019-07-18 13:27:50 +00:00
Maksim b6b748d3e7 tests for Uploader with webhook 2019-07-18 12:30:18 +00:00
Ariadne Conill 399acd4c42 fetcher: sign object fetches if configured 2019-07-17 22:58:46 +00:00
kaniini 1e48af9acf Merge branch 'feature/instance-fetch-actor' into 'develop'
instance fetch service actor

See merge request pleroma/pleroma!1440
2019-07-17 19:45:40 +00:00
kaniini 60b54ee64a Merge branch 'feature/http-signatures-keyid' into 'develop'
http signatures: derive actor from key IDs

See merge request pleroma/pleroma!1442
2019-07-17 19:44:14 +00:00
Ariadne Conill f84fb340b7 http signatures: derive actor ID from key ID.
Almost all AP servers return their key ID as the actor URI with #main-key
added.  Hubzilla, which doesn't, uses a URL which refers to the actor
anyway, so worst case, Hubzilla users get refetched.
2019-07-17 19:18:19 +00:00
Eugenij 4bf2bb9cff Fix password reset for non-test env
Fixes `Plug.Conn.NotSentError` that causes a 5xx error in response
instead of 404 and 400.

Fixes pattern matching error caused by different response format
in test and non-test env: `Pleroma.Emails.Mailer.deliver_async` returns
:ok when PleromaJobQueue is enabled and `{:ok, _}` when it's disabled.
In tests, it's disabled.
2019-07-17 18:09:31 +00:00
Ariadne Conill cf9cb953d5 activitypub: represent internal fetch actor 2019-07-17 17:34:57 +00:00
Ariadne Conill d930e5d5c3 activitypub: introduce internal fetch service actor 2019-07-17 17:14:08 +00:00
Ariadne Conill 62e5ff624e user: add is_internal_user? helper function 2019-07-17 17:12:42 +00:00
Ariadne Conill 0a6f6e1b5b webfinger: allow resolution of usernames with dots in them (internal actors) 2019-07-17 16:59:29 +00:00
Ariadne Conill a9d6a12bb3 activitypub: controller: rework the way the relay actor is presented so the code can be reused 2019-07-17 16:33:08 +00:00
Ariadne Conill 4885473be2 user: refactor get_or_create_instance_user() into get_or_create_service_actor_by_id() 2019-07-17 16:03:05 +00:00
kaniini ce73d5f6a5 Merge branch 'feature/mention-mrf' into 'develop'
Add MRF MentionPolicy for dropping posts which mention specific actors

See merge request pleroma/pleroma!1439
2019-07-17 15:28:41 +00:00
RX14 96a2890a9e
Add MRF MentionPolicy for dropping posts which mention specific actors 2019-07-17 15:16:55 +01:00
Alexander Strizhakov 10f82c88b8 mastoapi password reset
added rate limit to password reset

configure rate limit in runtime
2019-07-16 21:44:50 +00:00
Maksim 21e3f9ac69 added tests for Pleroma.Upload.Filter 2019-07-16 21:35:43 +00:00
Sachin Joshi 18234cc44e add the rich media ttl based on image exp time 2019-07-17 00:20:34 +05:45
Ivan Tashkinov 889dc17abd [#1094] Rate-limited follow & unfollow actions. 2019-07-16 19:18:30 +03:00
Roman Chvanikov e7c175c943 Use PleromaJobQueue for scheduling 2019-07-16 16:49:50 +03:00
Roman Chvanikov 9bca70b10a Merge develop 2019-07-16 16:19:19 +03:00
Eugenij 520ee6c591 Add `pleroma.deactivated` to the Account entity (Mastodon API) 2019-07-16 11:14:46 +00:00
Eugenij c4ca142e14 Add the `blocked_by` attribute to the relationship API (`GET /api/v1/accounts/relationships`) 2019-07-16 11:04:11 +00:00
Egor Kislitsyn 70439494af Fix typo 2019-07-16 14:56:07 +07:00
rinpatch 996fd58ac4 Merge branch 'bugfix/poll-id-as-string' into 'develop'
Status View: Poll ids are strings.

See merge request pleroma/pleroma!1430
2019-07-16 06:06:22 +00:00
lain 1ed24bcc76 Status View: Poll ids are strings.
All ids in mastodon are strings, in general.
2019-07-16 12:47:40 +09:00
Mark Felder ffb4eb9779 Merge branch 'develop' into feature/matstodon-statuses-by-name 2019-07-15 17:10:27 -05:00
feld 9f987dd017 Merge branch 'match-file-name' into 'develop'
try to always match the filename for proxy url

See merge request pleroma/pleroma!1405
2019-07-15 22:04:58 +00:00
Sergey Suprunenko b74300bc7a Add more tests for MastodonAPIController and CommonAPI 2019-07-15 19:47:23 +00:00
Alex S 33fd4c0ed7 query fix 2019-07-15 20:53:52 +03:00
kaniini ee5250ae56 Merge branch 'sha512-crypt' into 'develop'
detect and use sha512-crypt for stored password hash.

See merge request pleroma/pleroma!1422
2019-07-15 16:13:17 +00:00
Sachin Joshi 1d906ffa82 Merge branch 'develop' into match-file-name
# Conflicts:
#	lib/pleroma/web/media_proxy/media_proxy_controller.ex
2019-07-15 21:30:56 +05:45
Moonman 105f437ce9 formatting 2019-07-15 08:36:51 -07:00
kaniini 03c4ea44ad Merge branch 'admin-configure-atom-keys' into 'develop'
admin configure - atom keys with leading :

See merge request pleroma/pleroma!1424
2019-07-15 13:01:58 +00:00
Maksim c32384c1ea tests for Pleroma.Signature 2019-07-15 13:01:22 +00:00
Alex S b8607c151c migrating task refactor 2019-07-15 15:45:27 +03:00
Alex S c66044b923 atom keys with leading : 2019-07-15 11:00:55 +03:00
Egor Kislitsyn de13c9bb8f List messages must be visible for mentioned users 2019-07-15 14:54:40 +07:00
Egor Kislitsyn d86a97abfb Add an explanation comment to Publisher.publish/2 2019-07-15 14:20:31 +07:00
Egor Kislitsyn 64a946643e Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-07-15 14:11:54 +07:00
Egor Kislitsyn a87c313309 Support `list` visibility in StatusView 2019-07-15 14:00:29 +07:00
Maksim fa17879c20 added tests for Web.MediaProxy 2019-07-14 21:01:32 +00:00
Roman Chvanikov b052a9d4d0 Update DigestEmailWorker to compile and send emails via queue 2019-07-14 22:32:11 +03:00
Sergey Suprunenko dce8ebc9ea Unfollow should also unsubscribe 2019-07-14 19:25:03 +00:00
Roman Chvanikov 168dc97c37 Make opts optional in Pleroma.Notification.for_user_query/2 2019-07-14 22:04:55 +03:00
Roman Chvanikov c729883936 Merge branch 'develop' into feature/digest-email 2019-07-14 21:43:30 +03:00
Ariadne Conill 739bbe0d3b security: detect object containment violations at the IR level
It is more efficient to check for object containment violations at the IR
level instead of in the protocol handlers.  OStatus containment is especially
a tricky situation, as the containment rules don't match those of IR and
ActivityPub.

Accordingly, we just always do a final containment check at the IR level
before the object is added to the IR object graph.
2019-07-14 17:47:08 +00:00
Moonman f98f7ad1b9 detect and use sha512-crypt for stored password hash. 2019-07-14 09:48:42 -07:00
kaniini cef4337f95 Merge branch 'bugfix/llal-object-containment' into 'develop'
Object.Fetcher: Handle error on Containment.contain_origin/2

See merge request pleroma/pleroma!1414
2019-07-14 16:39:17 +00:00
Haelwenn (lanodan) Monnier 2592934480
Object.Fetcher: Keep the with-do block as per kaniini proposition 2019-07-14 17:28:25 +02:00
Haelwenn (lanodan) Monnier e1c08a67d6
Object.Fetcher: Fallback to OStatus only if AP actually fails 2019-07-14 17:05:31 +02:00
Alexander Strizhakov e7c39b7ac8 Feature/1072 muting notifications 2019-07-14 13:29:31 +00:00
Haelwenn (lanodan) Monnier 40d0a198e2
Object.Fetcher: Handle error on Containment.contain_origin/2 2019-07-14 14:58:47 +02:00
Alex S f4447d82b8 parsers configurable 2019-07-14 09:21:56 +03:00
rinpatch 0c2dcb4c69 Add follow information refetching after following/unfollowing 2019-07-14 01:58:39 +03:00
rinpatch 183da33e00 Add tests for fetch_follow_information_for_user and check object type
when fetching the page
2019-07-14 00:56:02 +03:00
Maxim Filippov 418ae6638d Merge branch 'develop' into feature/admin-api-user-statuses 2019-07-14 00:39:06 +03:00
Maxim Filippov a9459ff98f Admin API: Endpoint for fetching latest user's statuses 2019-07-14 00:37:26 +03:00
rinpatch d06d1b751d Use atoms when updating user info 2019-07-14 00:21:35 +03:00
rinpatch e5b850a991 Refactor fetching follow information to a separate function 2019-07-13 23:56:10 +03:00
Ariadne Conill 80c46d6d8b nodeinfo: implement MRF transparency exclusions 2019-07-13 18:53:14 +00:00
rinpatch e8fa477793 Refactor Follows/Followers counter syncronization
- Actually sync counters in the database instead of info cache (which got
overriden after user update was finished anyway)
- Add following count field to user info
- Set hide_followers/hide_follows for remote users based on http status
codes for the first collection page
2019-07-13 19:27:49 +03:00
kaniini f4c001062e Merge branch '1041-status-actions-rate-limit' into 'develop'
Rate-limited status actions (per user and per user+status).

Closes #1041

See merge request pleroma/pleroma!1410
2019-07-13 14:17:17 +00:00
Ivan Tashkinov d72876c57d [#1041] Minor refactoring. 2019-07-13 15:21:50 +03:00
Haelwenn 9497d14f09 Merge branch 'fix/hackney-global-options' into 'develop'
Merge the default options with custom ones in ReverseProxy and Pleroma.HTTP and workaround for remote server certificate chain issues

See merge request pleroma/pleroma!1409
2019-07-13 11:55:09 +00:00
Ivan Tashkinov 369e9bb42f [#1041] Rate-limited status actions (per user and per user+status). 2019-07-13 14:49:39 +03:00
rinpatch b001b8891a Merge the default options with custom ones in ReverseProxy and
Pleroma.HTTP
2019-07-12 23:52:26 +03:00
rinpatch 095117a58c Merge branch 'develop' into fix/ap-hide-follows 2019-07-12 21:43:06 +03:00
rinpatch 97b79efbcd ActivityPub Controller: Actually pass for_user to following/followers
views and give 403 errors when trying to request hidden follower pages
when unauthenticated
2019-07-12 20:54:20 +03:00
Sachin Joshi f8e3ae6154 try to always match the filename for proxy url 2019-07-12 22:56:14 +05:45
Maksim 92055941bd Pleroma.Web.Metadata - tests 2019-07-12 16:42:54 +00:00
rinpatch 1f6ac7680d ActivityPub User view: Following/Followers refactoring
- Render the collection items if the user requesting == the user
rendered
- Do not render the first page if hide_{followers,follows} is set, just
give the URI to it
2019-07-12 19:41:55 +03:00
Mark Felder 360e4cdaa2 Move these to pleroma namespace in Mastodon API 2019-07-12 11:25:58 -05:00
Sachin Joshi 6a6c4d134b preserve the original path/filename (no encoding/decoding) for proxy 2019-07-12 21:05:01 +05:45
Roman Chvanikov eae991b06a merge develop 2019-07-12 18:08:27 +03:00
Eugenij 4198c3ac39 Extend Pleroma.Pagination to support offset-based pagination, use async/await to execute status and account search in parallel 2019-07-11 13:55:31 +00:00
Alexander Strizhakov 846ad9a463 admin api configure changes 2019-07-11 13:02:13 +00:00
kaniini e4e3fd7e55 Merge branch 'fix/1019-refactor' into 'develop'
Fix/1019 refactor

See merge request pleroma/pleroma!1397
2019-07-11 13:01:11 +00:00
Egor Kislitsyn 9e06873d58 Add `list` to Visibility 2019-07-11 19:29:24 +07:00
Egor Kislitsyn 958fb9aa80 Add "listMessage" 2019-07-11 16:36:08 +07:00
Egor Kislitsyn 182f7bbb11 Merge branch 'develop' into feature/addressable-lists 2019-07-11 13:26:59 +07:00
Alexander Strizhakov a237c6a2d4 support for idna domains 2019-07-10 15:23:25 +00:00
Haelwenn (lanodan) Monnier 252e129b1e
MastoAPI: Add categories to custom emojis
Note: This isn’t in a release yet, can be seen in mastofe on the
rebase/glitch-soc branch.
2019-07-10 17:02:37 +02:00
Alex S beba7bbc85 removing synchronization worker 2019-07-10 17:42:18 +03:00
Alex S f8786fa6f2 adding following_address field to user 2019-07-10 17:42:18 +03:00
Sergey Suprunenko ff55e3c16f Create mentions only for explicitly mentioned users 2019-07-10 13:29:50 +00:00
Egor Kislitsyn ed8ce21a22 Fix unused import warning 2019-07-10 18:10:09 +07:00
Egor Kislitsyn a42da8f311 Fix response 2019-07-10 18:10:09 +07:00
Egor Kislitsyn 5104f65b69 Wrap error messages into gettext helpers 2019-07-10 18:10:09 +07:00
Egor Kislitsyn 26a6871609 Add translation helpers 2019-07-10 18:10:09 +07:00
Egor Kislitsyn 0d54a571ca Add SetLocalePlug 2019-07-10 18:08:03 +07:00
Maksim 008c55e4e9 add test for search_controller/ 100% coverage 2019-07-10 08:28:03 +00:00
Maksim 12b1454245 [#1062] added option to disable send email 2019-07-10 05:34:21 +00:00
Sergey Suprunenko 2d2b50ccca Send and handle "Delete" activity for deleted users 2019-07-10 05:16:08 +00:00
kaniini 75be90a6d1 Merge branch 'release/listener' into 'develop'
add listener port and ip option for 'pleroma.instance gen' and enable its test

See merge request pleroma/pleroma!1393
2019-07-10 05:14:08 +00:00
feld 93a0eeab16 Add license/copyright to all project files 2019-07-10 05:13:23 +00:00
Maksim bb8065a1fd tests MRF filters 2019-07-10 05:12:21 +00:00
Sachin Joshi 6d0ae264fc add listener port and ip option for 'pleroma.instance gen' and enable its test 2019-07-10 01:46:49 +05:45
Ivan Tashkinov 829e997223 [#878] Merge remote-tracking branch 'remotes/upstream/develop' into 878-activity-object-decoupling-in-tests
# Conflicts:
#	lib/pleroma/object.ex
#	test/web/activity_pub/transmogrifier_test.exs
#	test/web/ostatus/ostatus_test.exs
2019-07-09 21:46:16 +03:00
Roman Chvanikov 371d39e160 Merge develop 2019-07-09 21:21:09 +03:00
kaniini 670a77ecbc Merge branch 'feature/allow-user-query-via-id' into 'develop'
Admin API: Allow querying user by ID

See merge request pleroma/pleroma!1380
2019-07-09 17:53:41 +00:00
kaniini 1417627d07 Merge branch 'remove-avatar-header' into 'develop'
Ability to reset avatar, profile banner and backgroud

See merge request pleroma/pleroma!1187
2019-07-09 17:51:41 +00:00
Mark Felder 9a9b60cfbc Merge branch 'develop' into feature/allow-user-query-via-id 2019-07-09 12:49:04 -05:00
Alexander Strizhakov d6b0fce6e9 Fix/1019 correct count remote users 2019-07-09 17:36:35 +00:00
kaniini 4948117fcf Merge branch 'remove-swift' into 'develop'
Remove Uploaders.Swift and `httpoison` dependency

Closes #1051

See merge request pleroma/pleroma!1374
2019-07-09 16:54:32 +00:00
Alexander Strizhakov 4e6e5d8042 reverse proxy tests 2019-07-09 16:54:13 +00:00
kaniini 1179a13533 Merge branch 'features/sec-websocket-protocol-header' into 'develop'
Features: MastoAPI streaming Sec-WebSocket-Protocol header

See merge request pleroma/pleroma!1381
2019-07-09 16:52:22 +00:00
Haelwenn 1ab4e35f27 Merge branch 'enable-ogp-by-default' into 'develop'
Do not crash if metadata fails to render and enable OGP and TwitterCard by default

Closes #1034

See merge request pleroma/pleroma!1388
2019-07-09 16:07:20 +00:00
feld 167f810ff1 Merge branch 'proxy-error' into 'develop'
make sure the url used by proxy is same as original url

See merge request pleroma/pleroma!1383
2019-07-09 16:00:44 +00:00
Haelwenn 95c085174d Merge branch 'test-speedup' into 'develop'
Testing: Don't federate in testing.

See merge request pleroma/pleroma!1391
2019-07-09 15:35:28 +00:00
Mark Felder 31a59d6f23 Merge branch 'develop' into proxy-error 2019-07-09 10:18:30 -05:00
rinpatch 376a55c97f Merge branch '161-incoming-replies-depth-limit' into 'develop'
[#161] Limited replies depth on incoming federation (memory leaks fix)

Closes #161

See merge request pleroma/pleroma!1361
2019-07-09 14:15:10 +00:00
Alexander Strizhakov 23d4781e73 change for local user search 2019-07-09 08:52:49 +00:00
lain abe2e8881f Testing: Don't federate in testing. 2019-07-09 15:30:51 +09:00
Ivan Tashkinov daff85a985 [#878] Refactored assumptions on embedded object presence in tests. Adjusted note factory to not embed object into activity. 2019-07-08 19:53:02 +03:00
rinpatch 44b2e1fdad Formatting 2019-07-08 14:05:57 +03:00
rinpatch 9e58d3c624 FallbackRedirector: Do not crash on Metadata rendering errors 2019-07-08 12:59:49 +03:00
rinpatch 7f609ee8f4 OGP/TwitterCard: Add fallbacks in case the attachment key is nonexistent 2019-07-08 12:16:32 +03:00
rinpatch 72b88c82bc Mastodon API: Fix embedded relationships not being rendered inside of statuses 2019-07-08 12:07:08 +03:00
Sachin Joshi f5ad430974 make sure the url used by proxy is same as origin url
encoding or decoding it breaks some of the signed url
2019-07-07 14:13:40 +05:45
Haelwenn (lanodan) Monnier e174614eb9
MastoAPI Streaming: Keep compatibility with access_token 2019-07-07 08:49:29 +02:00
KokaKiwi a7885748c7
MastoAPI streaming: Replace access_token with Sec-WebSocket-Protocol 2019-07-06 20:29:17 +02:00
Ivan Tashkinov ad8d86e7c6 Merge remote-tracking branch 'remotes/upstream/develop' into 161-incoming-replies-depth-limit 2019-07-06 10:17:06 +03:00
rinpatch 3589b30ddc Merge branch 'fix/1058-uploads-dir-consistency' into 'develop'
tasks/pleroma/instance.ex: Change :upload_dir to :uploads_dir

Closes #1058

See merge request pleroma/pleroma!1378
2019-07-05 18:55:27 +00:00
Maxim Filippov 6c50fbcd14 Admin API: Allow querying user by ID 2019-07-05 19:33:53 +03:00
Maksim 6dadf5d6f4 [#1043] fix search accounts. 2019-07-05 04:22:08 +00:00
Haelwenn (lanodan) Monnier 977c2d0448
tasks/pleroma/instance.ex: Change :upload_dir to :uploads_dir
Closes: https://git.pleroma.social/pleroma/pleroma/issues/1058
2019-07-05 06:19:27 +02:00
Eugenij 15eb1235ed Expose `skip_thread_containment` in nodeinfo 2019-07-03 18:35:57 +00:00
Eugenij 5184b0f41a Use fallback values for search queries
This is to make sure the entire request doesn't return a 500 error if
user or status search times out.
2019-07-03 10:19:51 +00:00
Egor Kislitsyn 4f42093220 Remove Uploaders.Swift 2019-07-03 14:11:04 +07:00
Eugenij ab50c6b3ca Add fallback value to the admin report view.
This is to avoid 500 error when the reported user no longer exists
in the database.
2019-07-02 01:27:00 +00:00
Roman Chvanikov d2cb18b2a3 Merge branch 'develop' into feature/digest-email 2019-06-30 21:23:35 +03:00
Ivan Tashkinov a799418573 [#161] Merge remote-tracking branch 'remotes/upstream/develop' into 161-incoming-replies-depth-limit
# Conflicts:
#	CHANGELOG.md
2019-06-30 16:05:00 +03:00
Ivan Tashkinov 2b9d914089 [#161] Refactoring, documentation. 2019-06-30 15:58:50 +03:00
Eugenij 1f76740e10 Add hashtag filter to user statuses (GET /api/v1/accounts/:id/statuses) 2019-06-30 09:08:46 +00:00
Maksim acd20f166b [#1026] Filter.AnonymizeFilename added ability to retain file extension with custom text 2019-06-30 07:28:35 +00:00
rinpatch 4c60a562a7 Fix not being able to pin unlisted posts
Closes #1038
2019-06-29 22:27:42 +03:00
Ivan Tashkinov 5b7b1040b3 [#161] Limited replies depth on incoming federation in order to prevent memory leaks on recursive replies fetching. 2019-06-29 20:04:50 +03:00
kaniini d1549a6375 Merge branch 'feature/merge-mastodon-admin-views-for-reports' into 'develop'
Merge admin and mastodon user views for reports

See merge request pleroma/pleroma!1346
2019-06-29 00:12:09 +00:00
William Pitcock 034986e1fd MRF: add mediaproxy warming policy 2019-06-28 23:19:20 +00:00
Roman Chvanikov 657277ffc0 Resolve conflicts 2019-06-29 00:52:50 +03:00
lain 2286f62a36 Merge branch 'release-docs' into 'develop'
Docs on OTP releases

See merge request pleroma/pleroma!1315
2019-06-28 15:26:09 +00:00
Maxim Filippov 452ca5250d Merge admin and mastodon user views for reports 2019-06-28 15:15:32 +03:00
kaniini 0369a5db16 Merge branch 'idempotency-plug' into 'develop'
Add IdempotencyPlug and use it in all of the api

Closes #1003

See merge request pleroma/pleroma!1339
2019-06-27 04:20:17 +00:00
Alexander Strizhakov c6705144a2 don't delete config settings on admin update 2019-06-27 04:19:44 +00:00
Egor Kislitsyn 889a9c3a3f Polish IdempotencyPlug 2019-06-27 01:53:58 +07:00
Egor Kislitsyn 159630b21c Fix credo warning 2019-06-26 19:19:07 +07:00
Egor Kislitsyn 0b8aeac0f3 Remove previous idempotency implementation from `post_status` 2019-06-26 18:49:14 +07:00
Egor Kislitsyn 74132e3715 Enable IdempotencyPlug for the all API 2019-06-26 18:42:49 +07:00
Egor Kislitsyn 825077a5b0 Add Idempotency plug 2019-06-26 18:36:58 +07:00
Sergey Suprunenko d53fb55bb7 Return correct response when reply to a direct message is not direct itself 2019-06-26 10:59:27 +00:00
kaniini 24bcc209f9 Merge branch 'refactoring/fix_render_view' into 'develop'
Fix Controller.render/4 deprecation

See merge request pleroma/pleroma!1337
2019-06-26 05:34:26 +00:00
kaniini 9f8e645dce Merge branch 'feature/configurable-pack-extensions' into 'develop'
Make default pack extensions configurable and default to png and gif

See merge request pleroma/pleroma!1338
2019-06-26 05:34:02 +00:00
rinpatch 41e4752950 Make default pack extensions configurable and default to png and gif 2019-06-26 06:48:59 +03:00
Maksim Pechnikov 5c0f646cef fix validate_page_url 2019-06-26 06:27:17 +03:00
Roman Chvanikov a7a54068f9 Fix Controller.render/4 deprecation 2019-06-26 03:28:02 +03:00
Maksim Pechnikov 4ad15ad2a9 add ignore hosts and TLDs for rich_media 2019-06-25 22:25:37 +03:00
Maksim Pechnikov 0276cf5a02 fix validate_url for private ip 2019-06-25 17:44:24 +03:00
Maksim a0c4ebb4d7 [#184] small refactoring reset password 2019-06-24 19:01:56 +00:00
Sergey Suprunenko 2c63c67512 Rework user deletion 2019-06-24 18:59:12 +00:00
Eugenij f2c03425b0 Broadcast conversation update when DM is deleted 2019-06-24 07:14:04 +00:00
kaniini 27b9605de0 Merge branch 'rich_media_titles_two' into 'develop'
Rich media titles two

See merge request pleroma/pleroma!1325
2019-06-23 05:43:11 +00:00
kaniini 8b7860f12f Merge branch 'admin-config' into 'develop'
Admin config

See merge request pleroma/pleroma!1328
2019-06-23 05:42:37 +00:00
Alex S 982cad0268 support for config groups 2019-06-23 08:16:16 +03:00
Sachin Joshi a0c65bbd6c Merge branch 'develop' into 'remove-avatar-header'
# Conflicts:
#   CHANGELOG.md
2019-06-23 03:25:50 +00:00
Alex S 410add1c30 support for tuples with more than 2 values 2019-06-22 17:30:53 +03:00
lain 0e415921cd Rich Media Parser: Do not return just a title if nothing else is there. 2019-06-22 16:22:59 +02:00
lain 58c4d5312b Revert "Revert "Merge branch 'fix/ogp-title' into 'develop'""
This reverts commit b6af80f769.
2019-06-22 15:12:57 +02:00
rinpatch 3ac5ecbac1 Support RUM indexes in the config generator 2019-06-22 12:54:16 +03:00
rinpatch 51760c84b9 Merge branch 'develop' into release-docs 2019-06-22 12:44:20 +03:00
rinpatch 53c73cd1a3 Merge branch 'fix/ecto-tasks-release' into 'develop'
Ecto tasks: Resolve relative path using the application directory instead of cwd and load the application before doing anything

See merge request pleroma/pleroma!1322
2019-06-22 09:19:10 +00:00
William Pitcock 6426301407 notifications: fix notification generation for non-create activities
in 300d94c62, an Object.normalize() call was introduced.  calling Object.normalize()
on an activity with a non-object URI (say, a user) causes Really Bad Things to happen.
so don't do that.
2019-06-22 06:44:47 +00:00
Alex S f0fccb7578 fix for int and modules 2019-06-22 09:01:30 +03:00
rinpatch 19f16e829d Load the application before executing the create task 2019-06-22 04:33:46 +03:00
rinpatch ebee9f59d8 Ecto tasks: Resolve relative path using the application directory
instead of cwd and load the application before doing anything

In OTP releases cwd != app directory and the configuration is read
only if the application is loaded
2019-06-22 04:17:04 +03:00
rinpatch ee4e7c6570 Remove the getting started steps from pleroma.instance gen task
They are not compatible with every platform, different for OTP releases
and may become outdated. We are better off just telling people to refer
to the installation guides for their particular platform
2019-06-22 02:07:05 +03:00
rinpatch 452d5d3231 Merge branch 'develop' into release-docs 2019-06-22 02:00:18 +03:00
kaniini 55742d978d Merge branch 'feature/mrf-anti-link-spam' into 'develop'
implement anti link spam MRF

See merge request pleroma/pleroma!1307
2019-06-21 22:56:54 +00:00
kaniini e3534f5b3c Merge branch 'oauth_secure_redirect' into 'develop'
OAuth security improvements (`redirect_uri` listing enforcement)

See merge request pleroma/pleroma!1302
2019-06-21 22:31:12 +00:00
kaniini 720412bf24 Merge branch 'revert-6f5a0cc1' into 'develop'
Revert "Merge branch 'fix/ogp-title' into 'develop'"

See merge request pleroma/pleroma!1317
2019-06-21 22:28:46 +00:00
William Pitcock 127a5a7d65 change the anti-link-spam MRF implementation to use old_user? instead of the previous name 2019-06-21 22:27:14 +00:00
rinpatch e76115989a Move config templates to priv so they can be found in releases 2019-06-21 19:54:04 +03:00
feld b6af80f769 Revert "Merge branch 'fix/ogp-title' into 'develop'"
This reverts merge request !1277
2019-06-21 11:36:32 +00:00
rinpatch 89fead9250 Default DB configuration to false and set the default database name to
`pleroma` instead of `pleroma_dev`
2019-06-21 06:42:04 +03:00
rinpatch 2437f51284 Merge branch 'fix/config-gen-releases' into 'develop'
Refactor mix tasks a bit and make config generator work with releases

See merge request pleroma/pleroma!1312
2019-06-20 21:25:34 +00:00
Alexander Strizhakov 32320c1ee9 Fixes for dynamic configuration 2019-06-20 17:43:57 +00:00
rinpatch 69070e641d Allow setting upload/static directories in the config generator 2019-06-20 03:59:16 +03:00
rinpatch 144e2e3e0b Remove deprecated dedupe_media from the config template 2019-06-20 03:40:00 +03:00
rinpatch fe3a830b80 Remove a useless binding from config template call 2019-06-20 02:34:19 +03:00
rinpatch f8c64dd4c0 Release Tasks: Ensure the application is loaded before getting the
modules

Needed for non-rpc tasks to work
2019-06-20 02:21:48 +03:00
rinpatch 8c7a382027 Rename Pleroma.Mix.Tasks.Common -> Mix.Pleroma and import it's functions
instead of aliasing

This seems to be the convention for functions that can be reused between
different mix tasks in all Elixir projects I've seen and it gets rid on
an error message when someone runs mix pleroma.common

Also in this commit by accident:
- Move benchmark task under a proper namespace
- Insert a space after the prompt
2019-06-20 02:08:02 +03:00
Ivan Tashkinov 363618207c Apply suggestion to lib/mix/tasks/pleroma/user.ex 2019-06-19 19:39:53 +00:00
Ivan Tashkinov 71fb75b7ef User sign out mix task. 2019-06-19 22:29:36 +03:00
William Pitcock 21dacd4b15 unbreak polls 2019-06-19 16:33:49 +00:00
William Pitcock 736d8ad6be implement anti link spam MRF 2019-06-19 15:58:32 +00:00
Alexander Strizhakov e4fa6b99ac aliases for mix tasks
ecto.migrate
ecto.rollback
2019-06-19 10:33:33 +00:00
rinpatch df2dab69a7 Merge branch 'begone-the-dot-hack' into 'develop'
Remove the dot hack when posting from Mastodon API and add proper errors when the post exceeds character limits

See merge request pleroma/pleroma!1298
2019-06-19 10:22:23 +00:00
lain 5c6c4ce634 Merge branch 'fix/rich-media-hashtags-again' into 'develop'
Rich Media: Skip Microformats hashtags

See merge request pleroma/pleroma!1304
2019-06-19 08:48:41 +00:00
rinpatch 035368d363 Rich Media: Skip Microformats hashtags
When fixing this problem I incorrectly assumed a.hashtag is
the proper way for detecting hashtags, but it is just something Pleroma and
Mastodon add. Per microformats it should be detected by the presense of rel=tag.

This MR adds a check for rel=tag, but I still left a.hashtag just in case
2019-06-19 00:46:30 +03:00
lain 966317e052 Merge branch 'deps/update-auto-linker' into 'develop'
Deps: Update auto_linker

See merge request pleroma/pleroma!1300
2019-06-18 20:47:36 +00:00
Ivan Tashkinov 64bc7ac619 Minor edit (comment). 2019-06-18 17:15:26 +03:00
Ivan Tashkinov 9f45f93949 Added more `redirect_uri` checks to prevent redirect to not explicitly listed URI. 2019-06-18 17:00:49 +03:00
rinpatch f30a3241d2 Deps: Update auto_linker 2019-06-18 16:08:18 +03:00
rinpatch c7acca2abb Mastodon API: Sanitize display names
Closes #1000
2019-06-18 14:12:11 +03:00
rinpatch c4e4f7d0e4 Add proper error handling for when the post exceeds character limits 2019-06-18 05:05:05 +03:00
rinpatch dce27de733 Mastodon API: Remove the dot hack 2019-06-18 05:04:41 +03:00
rinpatch 49a49d3763 Merge branch 'removing-test-errors' into 'develop'
Removing test errors

See merge request pleroma/pleroma!1296
2019-06-17 14:16:23 +00:00
Haelwenn c34327b22e Merge branch 'fix/sanitize-report-content' into 'develop'
Sanitize HTML in ReportView

Closes #990

See merge request pleroma/pleroma!1293
2019-06-16 18:05:00 +00:00
Alex S 0f59265a50 salmon fix
removed some ownership sandbox error
2019-06-16 20:10:12 +08:00
Maksim a04bf131e0 [#570] add user:notification stream 2019-06-16 10:33:25 +00:00
rinpatch bf6aa6f1a8 Fix report content stopping to be nullable 2019-06-16 13:06:12 +03:00
Alexander Strizhakov 7a4228be5a fix for new instances 2019-06-16 10:01:15 +00:00
rinpatch 44de34d170 Credo fixes 2019-06-16 01:35:45 +03:00
rinpatch 641bcaa44e Sanitize HTML in ReportView
Closes #990
2019-06-16 01:30:32 +03:00
lain 135c196769 Merge branch 'bugfix/980-polls-double-vote' into 'develop'
MastodonAPI Controller: Band-Aid double vote problem.

See merge request pleroma/pleroma!1275
2019-06-15 15:13:48 +00:00
lain 37ee6c6e2c Merge branch 'update/phoenix-and-plug' into 'develop'
Update Phoenix

See merge request pleroma/pleroma!1290
2019-06-15 15:09:14 +00:00
kaniini 52b1b0e45d Merge branch '963_oob_oauth_redirect_fix' into 'develop'
[#963] No redirect on OOB OAuth authorize request with existing authorization

See merge request pleroma/pleroma!1276
2019-06-15 13:45:50 +00:00
Mark Felder 9b908697dd OEmbed.OEmbedController does not exist in the Pleroma codebase. It was removed in commit 92c5640f
and this leftover artifact breaks compiling now.
2019-06-15 07:04:01 -05:00
lain a440cf856d Mastodon API: Return the token needed for the chat. 2019-06-15 10:59:35 +02:00
rinpatch 62ffc00a5d Merge branch 'feature/add-background-image-to-mastoapi' into 'develop'
AccountView: Add user background.

See merge request pleroma/pleroma!1280
2019-06-14 16:49:28 +00:00
Alexander Strizhakov c2ca1f22a2 it is changed in compile time
we can't change module attributes and endpoint settings in runtime
2019-06-14 15:45:05 +00:00
lain 7f48b90bfb Merge branch 'fix/hashtag-rich-media' into 'develop'
Fix hashtags being picked up by rich media parser

Closes #989

See merge request pleroma/pleroma!1288
2019-06-14 11:52:04 +00:00
Maksim ee4ed87fb4 [#948] /api/v1/account_search added optional parameters (limit, offset, following) 2019-06-14 11:39:57 +00:00
rinpatch d0ebc0edf3 Fix hashtags being picked up by rich media parser
Closes #989
2019-06-14 14:34:42 +03:00
Egor 58a094b605 Add copyright info to containment.ex 2019-06-14 09:26:36 +00:00
lain eac298083f MastodonAPI: Add a way to update the background image. 2019-06-14 11:19:22 +02:00
Egor Kislitsyn b22b10d3aa Improve rate limiter documentation
Documents how to disable rate limiting
2019-06-14 15:02:10 +07:00
lain 315f090f59 Prometheus: Remove flaky process collection NIF. 2019-06-13 20:30:04 +02:00
lain 5965efb216 AccountView: Add user background. 2019-06-13 19:08:05 +02:00
lain 6f5a0cc14e Merge branch 'fix/ogp-title' into 'develop'
Rich Media Parser: Attempt to use <title> from HTML as a fallback

Closes #979

See merge request pleroma/pleroma!1277
2019-06-13 13:26:39 +00:00
Egor Kislitsyn 30e54fd7e2 Handle HTTP 404 response 2019-06-13 17:13:35 +07:00
Egor Kislitsyn afae3ada22 Handle HTTP "410 Gone" response 2019-06-13 16:34:03 +07:00
Egor Kislitsyn a12f8e13c8 Improve <title> fallback; Add a test 2019-06-13 15:02:46 +07:00
Mark Felder 7363a0ea8a Revert "Only run Floki if title is missing from the map"
This reverts commit 97d2b1a45a.
2019-06-12 18:32:28 -05:00
Mark Felder 97d2b1a45a Only run Floki if title is missing from the map 2019-06-12 18:27:35 -05:00
Mark Felder 097fdf6a5d Attempt to use <title> from HTML as a fallback 2019-06-12 17:56:51 -05:00
Ivan Tashkinov 4b2c29016c [#963] No redirect on OOB OAuth authorize request with existing authorization. OAuth-related refactoring. 2019-06-12 21:30:06 +03:00
lain 966543379d MastodonAPI Controller: Band-Aid double vote problem. 2019-06-12 16:36:23 +02:00
lain f46c628e6b Merge branch 'update_auto_linker' into 'develop'
Update `auto_linker` dependency

See merge request pleroma/pleroma!1272
2019-06-12 09:52:29 +00:00
Egor Kislitsyn 817c66bc3e Remove search result order for non-RUM indexes 2019-06-12 16:22:56 +07:00
Egor Kislitsyn bf22ed5fbd Update `auto_linker` dependency 2019-06-12 15:53:33 +07:00
Egor Kislitsyn 6f29865d43 Add option to restrict all users to local content 2019-06-11 21:25:53 +07:00
lain 63ab3c30eb Merge branch 'feature/rate-limiter' into 'develop'
Feature/Rate Limiter

Closes #943

See merge request pleroma/pleroma!1266
2019-06-11 11:32:01 +00:00
Egor Kislitsyn ad04d12de6 Replace `MastodonAPIController.account_register/2` rate limiter 2019-06-11 16:06:03 +07:00
Egor Kislitsyn bc8f059367 Add rate limiting for search endpoints 2019-06-11 14:28:39 +07:00
Egor Kislitsyn 2e5affce61 Add RateLimiter 2019-06-11 14:27:41 +07:00
kaniini f2d72b1fe4 Merge branch 'preload-changes' into 'develop'
Conversations: Fetch users in one query.

See merge request pleroma/pleroma!1258
2019-06-11 02:37:08 +00:00
rinpatch 3ecfe2a6d4 Merge branch 'develop' into feature/releases 2019-06-09 13:55:32 +03:00
rinpatch 2a659b35f1 Add migrate/rollback to release tasks 2019-06-09 13:33:44 +03:00
rinpatch 7223c1b643 Use Mix.shell().yes? if available 2019-06-08 20:10:48 +03:00
rinpatch d7ec0898e5 Make mix tasks work in a release 2019-06-08 17:40:40 +03:00
lain 1e0fa899b6 Merge branch 'fix/transmogrifier-inReplyTo' into 'develop'
Transmogrifier: Do not crash if inReplyTo does not exist and can't be fetched

See merge request pleroma/pleroma!1259
2019-06-08 10:22:15 +00:00
rinpatch d020f68e87 Transmogrifier: Do not crash if inReplyTo does not exist and can't be fetched 2019-06-07 20:40:38 +03:00
lain 970f71e222 Conversations: Fetch users in one query. 2019-06-07 17:51:47 +02:00
lain cb3258c863 Emoji: Use full path to check if a file is a directory. 2019-06-07 17:31:21 +02:00
kaniini d5330ed125 Merge branch 'fix/replace-mix-env' into 'develop'
Replace Mix.env with Pleroma.Config.get(:env)

See merge request pleroma/pleroma!1254
2019-06-07 10:58:09 +00:00
rinpatch bc597d888c Mix Tasks: Switch to Application.ensure_all_started instead of
Mix.Task.run and ensure serve_endpoints is set to false

In release environments there is no Mix.Task.run and serve_endpoints
must be set to true for the endpoints to start, so we need to ensure it
is set to false before starting Pleroma for executing a mix task.
2019-06-07 12:37:20 +03:00
Roman Chvanikov 01fe5abad1 Resolve conflicts 2019-06-07 01:20:50 +03:00
rinpatch 92213fb87c Replace Mix.env with Pleroma.Config.get(:env)
Mix.env/0 is not availible in release environments such as distillery or
elixir's built-in releases.
2019-06-06 23:59:51 +03:00
kaniini 62cdf701f4 Merge branch 'fix/elixir-master-deprecation-warnings' into 'develop'
Switch to manual Supervisor child specifications instead of Supervisor.Spec

See merge request pleroma/pleroma!1252
2019-06-06 14:54:29 +00:00
lain cb2bcee842 User Search: Boost friends more strongly. 2019-06-06 16:18:27 +02:00
rinpatch 9ae8f012a5 Switch to manual Supervisor child specifications instead of Supervisor.Spec
Supervisor.Spec is deprecated and causes warnings on Elixir master, see
https://hexdocs.pm/elixir/Supervisor.Spec.html
2019-06-06 16:37:44 +03:00
Egor f82382de22 [#943] Make the unauthenticated users limitation optional 2019-06-06 12:17:49 +00:00
kaniini 3f6da9c45a Merge branch 'bugfix/377-stuck-follow-request' into 'develop'
Bugfix/377 stuck follow request

Closes #377

See merge request pleroma/pleroma!1250
2019-06-05 15:52:40 +00:00
kaniini a511d2f900 Merge branch 'improve-search' into 'develop'
[#943] Contain search for unauthenticated users

See merge request pleroma/pleroma!1220
2019-06-05 15:51:32 +00:00
lain e1370ba131 Utils: Use update_follow_state_for_all when appropriate. 2019-06-05 16:51:28 +02:00
lain ad19bfc7fe Utils: Split update_follow_state and update_follow_state_for_all. 2019-06-05 16:43:35 +02:00
lain 076c9ae40e User: Remove superfluous `maybe_follow`. 2019-06-05 14:24:31 +02:00
lain 3115b64cfe Transmogrifier: Add tests for incoming follows to locked accounts. 2019-06-05 14:10:46 +02:00
rinpatch 50afe5ab9e Merge branch 'fix-stuck-follows' into 'develop'
User: Don't error out when following a user that's already followed.

See merge request pleroma/pleroma!1249
2019-06-05 11:07:54 +00:00
Egor Kislitsyn ddd4a09b72 Fix merge conflict 2019-06-05 17:55:00 +07:00
Egor Kislitsyn cfa5572d28 Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-06-05 17:53:15 +07:00
lain 024dfdc39c Typo + Linting. 2019-06-05 12:45:28 +02:00
lain 8b9a0dd4a7 User: Don't error out when following a user that's already followed.
This leads to a few situations where it is impossible to follow a user.
2019-06-05 12:06:45 +02:00
Ivan Tashkinov 3eefb274f4 OAuth consumer: tests fix, comments, Keycloak config notes. 2019-06-05 13:02:13 +03:00
Egor Kislitsyn 1cb245c982 Fix formatting 2019-06-05 16:55:17 +07:00
Egor Kislitsyn 5b04f07a1e Limit search for unauthenticated users to local users only 2019-06-05 16:51:04 +07:00
Egor Kislitsyn 94b9e9d844 Update benchmark mix task 2019-06-05 16:37:43 +07:00
Egor Kislitsyn 93397fce3d Contain search for unauthenticated users 2019-06-05 16:37:43 +07:00
kaniini e4babb1c9f Merge branch 'explicit-addressing' into 'develop'
Explicit addressing

See merge request pleroma/pleroma!1239
2019-06-05 08:28:20 +00:00
Egor Kislitsyn 6ba9055b51 Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-06-05 12:54:30 +07:00
Roman Chvanikov b1b1a270e8 Fix conflict 2019-06-05 02:45:21 +03:00
Haelwenn ab4915edcb Merge branch 'bugfix/956-activity-id-nil-conversations' into 'develop'
Participations: Filter out participations without activities.

Closes #956 and #953

See merge request pleroma/pleroma!1246
2019-06-04 15:34:55 +00:00
lain 18c35d84fd NodeInfo: Add explicit addressing to nodeinfo. 2019-06-04 17:14:25 +02:00
Maksim Pechnikov 1e7bb69a95 update ActivityPub#fetch_activities_query 2019-06-04 15:21:18 +03:00
Maksim Pechnikov d3d1704e84 Merge branch 'develop' into issue/941 2019-06-04 15:06:58 +03:00
Maksim Pechnikov 0acfcf6c52 update ActivityPub#fetch_activities_query 2019-06-04 15:04:36 +03:00
lain a3a7178b60 Participations: Filter out participations without activities. 2019-06-04 13:58:36 +02:00
Haelwenn 0eb7464c10 Merge branch 'emoji-loader-fix' into 'develop'
Emoji: Don't die when files are present in the emoji folder.

Closes #957

See merge request pleroma/pleroma!1245
2019-06-04 11:26:42 +00:00
rinpatch 17383861ed Fix CommonAPI.vote returning tuples inside of the activity array instead of just activities 2019-06-04 13:38:32 +03:00
lain e74581a5c4 Emoji: Don't die when files are present in the emoji folder. 2019-06-04 12:14:43 +02:00
rinpatch 29b022bb59 Restrict `get_existing_votes` to only get Create activities 2019-06-04 12:42:10 +03:00
Egor Kislitsyn 9ce928d823 Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-06-04 16:28:23 +07:00
lain 4cab98b7bf Merge remote-tracking branch 'origin/develop' into explicit-addressing 2019-06-04 11:23:46 +02:00
William Pitcock 37a4ba0624 utils: access inReplyTo as an explicit string when fetching poll results` 2019-06-04 08:45:03 +00:00
Maksim Pechnikov 4f2e359687 Merge branch 'develop' into issue/941 2019-06-04 09:49:08 +03:00
William Pitcock 1c6cf0a348 nodeinfo: add pollLimits to metadata 2019-06-04 06:19:44 +00:00
kaniini 9f0d0d0805 Merge branch 'feature/mrf-subchain' into 'develop'
MRF: subchain policy

See merge request pleroma/pleroma!1233
2019-06-04 05:49:54 +00:00
kaniini 9d2563a3de Merge branch 'generic-fe-settings' into 'develop'
Generic settings store for frontend user settings

See merge request pleroma/pleroma!1221
2019-06-04 05:43:43 +00:00
Roman Chvanikov 3e17610587 Add task to test emails 2019-06-04 02:48:21 +03:00
Mark Felder 6ef145b4fc Merge branch 'develop' into feature/digest-email 2019-06-03 15:29:53 -05:00
Maksim Pechnikov f13d6c7f78 update api to set skip_thread_containment 2019-06-03 21:02:57 +03:00
eugenijm f2c4c99e03 Remove repeated scope lists 2019-06-03 19:18:21 +03:00
lain 80d4d83aac CommonAPI: Add explicit addressing. 2019-06-03 18:17:08 +02:00
lain 2b664b048e User: Add function to get AP ids from nicknames. 2019-06-03 18:16:11 +02:00
eugenijm 243d8ed94e Use workaround for the heavy checkmark symbol in iOS 2019-06-03 18:28:36 +03:00
Mark Felder f4e2595592 Merge branch 'develop' into update-oauth-template 2019-06-03 09:12:17 -05:00
Maksim Pechnikov 080e1aa70e add option skip_thread_containment 2019-06-03 16:13:37 +03:00
rinpatch dc91bcc0af Merge branch 'develop' into feature/polls-2-electric-boogalo 2019-06-03 13:16:17 +03:00
lambda 314758c25b Merge branch 'align-mastodon-conversations' into 'develop'
Mastodon Conversations API: Align to Mastodon behavior

See merge request pleroma/pleroma!1215
2019-06-03 09:48:37 +00:00
rinpatch 026b245dbc Merge branch 'develop' into feature/polls-2-electric-boogalo 2019-06-03 11:14:52 +03:00
rinpatch 5bd41fef8b Change query order in fetch_activities_for_context_query to make poll vote exclusion work 2019-06-03 10:58:37 +03:00
rinpatch 1fd8e19d76 Remove a TODO comment as the tests for poll view were written 2019-06-02 23:46:17 +03:00
rinpatch 2fe3a20638 Make error message about author's inability to vote more sensible 2019-06-02 23:33:15 +03:00
rinpatch e3c460353d Refresh the object in CommonAPI.vote instead of MastoAPI controller 2019-06-02 23:24:48 +03:00
William Pitcock 561a21986d formatting 2019-06-02 10:29:15 +00:00
William Pitcock 4087ccdab8 mrf: add subchain policy 2019-06-02 10:07:42 +00:00
William Pitcock edf772d41e mrf: allow a policy chain to be specified when filtering 2019-06-02 09:44:42 +00:00
William Pitcock 52e09807d4 reverse proxy: clean up some @hackney leftovers 2019-06-02 09:09:58 +00:00
kaniini 5402d04e3c Merge branch 'feature/notification-control-part-2' into 'develop'
notification controls, part 2

See merge request pleroma/pleroma!1204
2019-06-02 08:25:37 +00:00
rinpatch 6bc9e5c020 Mastodon API: Refresh the object before rendering it after voting 2019-06-01 21:41:49 +03:00
rinpatch 444406167b Mastodon API: actually check for poll votes 2019-06-01 21:41:23 +03:00
rinpatch 65db5e9f52 Resolve merge conflicts 2019-06-01 16:29:58 +03:00
rinpatch 300d94c628 Add poll votes
Also in this commit by accident:
- Fix query ordering causing exclude_poll_votes to not work
- Do not create notifications for Answer objects
2019-06-01 16:17:46 +03:00
Sachin Joshi ad5263c647 Merge remote-tracking branch 'upstream/develop' into admin-create-users 2019-06-01 11:42:37 +05:45
Sachin Joshi 5534d4c676 make bulk user creation from admin works as a transaction 2019-06-01 11:17:53 +05:45
kaniini e706b42f51 Merge branch 'bugfix/visibility-indicator-litepub-dm' into 'develop'
visibility: if litepub:directMessage is asserted, always report the object as "direct" visibility

See merge request pleroma/pleroma!1230
2019-06-01 03:39:13 +00:00
Sergey Suprunenko 2bbc2a801f Remove all follower collections but actor's from "cc" 2019-06-01 03:26:45 +00:00
William Pitcock f2efe24cf8 visibility: if litepub:directMessage is asserted, always report the object as "direct" visibility 2019-06-01 03:24:08 +00:00
Haelwenn (lanodan) Monnier 5d3ece2861
Remove now useless flavours switching 2019-06-01 01:44:10 +02:00
Haelwenn (lanodan) Monnier aa9f52edd2
mastodon_api_controller.ex: Remove vanilla from supported_flavours 2019-06-01 01:44:10 +02:00
feld 6872c5f88f Mastodon API search default value for "resolve" is false
https://docs.joinmastodon.org/api/rest/accounts/
https://docs.joinmastodon.org/api/rest/search/
2019-05-31 18:46:57 +00:00
lambda 2993361075 Merge branch 'hotfix/leaking-lists' into 'develop'
Mastodon API: Fix lists leaking private posts

See merge request pleroma/pleroma!1222
2019-05-31 13:26:48 +00:00
lain 7861974ab2 MastodonAPI: Add extension to set and get pleroma_settings_store. 2019-05-31 14:50:18 +02:00
lain aaad85c4d9 AccountView: settings -> settings_store 2019-05-31 14:49:46 +02:00
lain eb2963bc43 User: Add settings store to Info, AccountView
This is to provide a generic frontend settings storage mechanism for all kinds
of frontends.
2019-05-31 14:27:15 +02:00
rinpatch d9c0650ff9 Mastodon API: Fix lists leaking private posts
Our previous list visibility resolver grabbed posts if either follower
collection of the user in a list who is followed is in `to` or if
follower collection of the user in a list was in `cc`. This not only
missed unlisted posts but also lead to leaking private posts when
`fix_explicit_addressing` mistakingly started putting follower collections
to `cc` (also fixed in this MR).

Reported by @kurisu@iscute.moe via a DM
2019-05-31 15:25:17 +03:00
rinpatch a9eaa55885 Fix fix_explicit_addressing moving follower collection to cc and add tests for it 2019-05-31 14:17:05 +03:00
lain 97fb50d9fa Mastodon Conversation API: Don't return own account in 'accounts'. 2019-05-31 11:27:14 +02:00
Sergey Suprunenko 1690be991e Replace missing non-nullable Card attributes with empty strings 2019-05-30 21:03:31 +00:00
lambda 91ac8b075b Merge branch 'use-pleroma-config' into 'develop'
Use Pleroma.Config everywhere

See merge request pleroma/pleroma!1214
2019-05-30 13:16:08 +00:00
Egor Kislitsyn 99f70c7e20 Use Pleroma.Config everywhere 2019-05-30 15:33:58 +07:00
kaniini 6aec0d1b58 Revert "Merge branch 'feature/search-authenticated-only' into 'develop'"
This reverts merge request !1209
2019-05-29 22:10:16 +00:00
Roman Chvanikov 5cee2fe9fe Replace Application.get_env/2 with Pleroma.Config.get/1 2019-05-29 21:31:27 +03:00
Mark Felder e7edfd9fec Permit fetching statuses from API with nickname or id 2019-05-29 12:20:18 -05:00
Roman Chvanikov ce47017c89 Merge develop 2019-05-29 18:18:22 +03:00
Mark Felder 672fddb721 Default search limit should be 40
https://docs.joinmastodon.org/api/rest/search/
2019-05-29 08:06:26 -05:00
William Pitcock 0159a6dbe9 router: require oauth_read for searching
Search calls are generally expensive and allow unauthenticated users to
crawl the instance for user profiles or posts which contain specified
keywords.  An adversary can build a distributed search engine which not
only will consume significant instance resources, but also can be used
for undesirable purposes such as datamining.

Accordingly, require authenticated access to use the search API endpoints.
This acts as a nice balance as it allows guest users to make use of most
functionality available in Pleroma FE while ensuring that Pleroma
instances are reasonably protected from resource exhaustion.  It also
removes Pleroma as a potential vector in distributed search engines.
2019-05-29 10:58:45 +00:00
jeff 9f3bcf0efe Respect proxy settings federation 2019-05-28 06:49:53 +00:00
Sachin Joshi 1452a96ad6 ability to set and reset avatar, profile banner and backgroud in Mastodon API 2019-05-27 15:31:01 +05:45
lambda 5bb843ceec Merge branch 'refactor/die-httpoison-die' into 'develop'
remove @httpoison, @ostatus and @websub compile-time constants

See merge request pleroma/pleroma!1203
2019-05-26 13:33:11 +00:00
William Pitcock 79503ce90f mrf: simple policy: fix matching imported activitypub and ostatus statuses 2019-05-26 02:01:24 +00:00
William Pitcock 750ede5764 notification: remove local/remote match rules (too complicated) 2019-05-26 00:05:47 +00:00
William Pitcock e7e2e7a1a6 user info: allow formdata for notification settings like every other API 2019-05-25 05:54:02 +00:00
William Pitcock 59a703fcbe twitter api: user view: expose user notification settings under pleroma object 2019-05-25 05:31:13 +00:00
William Pitcock 4030837d91 notification: add non_follows/non_followers notification control settings 2019-05-25 05:19:47 +00:00
William Pitcock 56fd7dbdd7 remove @websub and @ostatus module-level constants 2019-05-25 04:43:11 +00:00
William Pitcock 9bec891eb4 kill @httpoison 2019-05-25 04:24:21 +00:00
Aaron Tinio 9415932af5 Keep nodeinfo available when not federating 2019-05-25 08:15:12 +08:00
Sergey Suprunenko bbea5691da Mention all people in the beginning of DM 2019-05-24 20:34:23 +00:00
feld f916e4cdd9 Move the Cache Control header test to its own file
We can consolidate our cache control header tests here
2019-05-24 20:33:55 +00:00
Egor Kislitsyn f333041a0a Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-05-24 21:05:57 +07:00
rinpatch 8b2d39c1ec Change the order of preloading when fetching activities for context 2019-05-23 14:03:16 +03:00
Sachin Joshi 0c53d91f3b fix merge conflict 2019-05-23 09:45:12 +02:00
rinpatch e6b175ed6c Fix credo issues 2019-05-22 21:57:46 +03:00
William Pitcock baf72d6c58 mrf: simple policy: add the ability to strip avatars and banners from user profiles 2019-05-22 18:53:12 +00:00
William Pitcock 60f882b09f activitypub: run user objects through MRF filters 2019-05-22 18:53:12 +00:00
William Pitcock 75b6c4b004 mrf: defang policy modules for filtering user profile objects 2019-05-22 18:53:12 +00:00
rinpatch ac7702f800 Exclude Answers from fetching by default 2019-05-22 21:52:12 +03:00
rinpatch 19c90d47c4 Normalize poll votes to Answer objects 2019-05-22 21:17:57 +03:00
rinpatch 54e10a3e55 Disable timeouts for object pruning query 2019-05-22 20:10:52 +03:00
Maksim 620908a2db [#699] add worker to clean expired oauth tokens 2019-05-22 15:44:50 +00:00
lambda 714d8d4ef9 Merge branch 'feature/object-pruning' into 'develop'
Object pruning

See merge request pleroma/pleroma!1181
2019-05-22 11:04:30 +00:00
lambda ff363f70b5 Merge branch 'refactor/keys' into 'develop'
move key generation functions into Pleroma.Keys module

See merge request pleroma/pleroma!1186
2019-05-22 06:28:16 +00:00
William Pitcock 1344c85e2f salmon: fix credo 2019-05-22 05:58:51 +00:00
rinpatch cdac5efd10 Merge branch 'bugfix/account_view_source.note' into 'develop'
MastoAPI AccountView: fill source.note with plaintext version of note

Closes #926

See merge request pleroma/pleroma!1189
2019-05-22 05:39:01 +00:00
Haelwenn (lanodan) Monnier 0e2c215a00
MastoAPI AccountView: fill source.note with plaintext version of note
Closes: https://git.pleroma.social/pleroma/pleroma/issues/926
2019-05-22 07:22:19 +02:00
Sachin Joshi 17bfd000d7 Ability to reset avatar, profile banner and backgroud 2019-05-22 06:47:18 +02:00
kaniini 79c2cef2fb Merge branch 'mongooseim-support' into 'develop'
MongooseIM: Add basic integration endpoints.

See merge request pleroma/pleroma!1172
2019-05-22 04:06:54 +00:00
kaniini ab6e15622b Merge branch 'fix/api-fallback' into 'develop'
Do not fallback to index.html for /api/* routes

Closes #920

See merge request pleroma/pleroma!1182
2019-05-22 04:05:41 +00:00
Sergey Suprunenko 9134848170 Do not truncate DM when it contains newlines and safe_dm_mentions is set to true 2019-05-22 04:04:20 +00:00
William Pitcock 045803346d move key generation functions into Pleroma.Keys module 2019-05-22 03:58:15 +00:00
William Pitcock a023ca004c prune objects task: use Repo.delete_all() 2019-05-22 03:12:48 +00:00
Aaron Tinio 3ab9255eda Respond with a 404 Not implemented JSON error message
when requested API is not implemented
2019-05-22 07:15:52 +08:00
William Pitcock 16b260fb19 add mix task to prune the object database using a configured retention period 2019-05-21 21:38:56 +00:00
William Pitcock 73df9d690d object: fetcher: add support for reinjecting pruned objects 2019-05-21 21:38:56 +00:00
William Pitcock c2b0b82e6a object: add Object.prune() 2019-05-21 21:38:56 +00:00
rinpatch 63b0b7190c MastoAPI: Add GET /api/v1/polls/:id 2019-05-21 20:40:35 +03:00
rinpatch ff61d34502 Accept question objects for conversations 2019-05-21 17:33:54 +03:00
rinpatch 5f67c26baf Accept strings in expires_in because sasuga javascript 2019-05-21 17:30:51 +03:00
rinpatch 0407ffe75f Change validation error status codes to be more appropriate 2019-05-21 17:12:38 +03:00
rinpatch ee68244141 Do not stream out poll replies 2019-05-21 16:58:15 +03:00
rinpatch d7c4d029c8 Restrict poll replies when fetching activiites for context 2019-05-21 14:35:20 +03:00
rinpatch f28747858b Actual vote count in poll view 2019-05-21 14:27:09 +03:00
rinpatch a53d062730 Fix posting non-polls from mastofe 2019-05-21 14:19:03 +03:00
rinpatch aafe30d94e Handle poll votes 2019-05-21 14:12:10 +03:00
rinpatch 3f96b3e4b8 Enforce poll limits and add error handling for MastodonAPI's post endpoint 2019-05-21 10:54:20 +03:00
rinpatch 76a7429bef Add poll limits to /api/v1/instance and initial state 2019-05-21 09:13:10 +03:00
kaniini be6b57193a Merge branch 'trivial/increase-hackney-timeouts' into 'develop'
http: bump connection timeout to 10 seconds

See merge request pleroma/pleroma!1183
2019-05-21 05:15:29 +00:00
William Pitcock c972d0bb14 http: bump connection timeout to 10 seconds 2019-05-21 04:59:15 +00:00
kaniini 94caca924d Merge branch 'fix/prometheus-ecto-error-when-not-configured' into 'develop'
Fix prometheus-ecto error when not configured

Closes #917

See merge request pleroma/pleroma!1180
2019-05-21 01:36:06 +00:00
kaniini d4847b17ca Merge branch 'refactor/add-virtual-thread-muted-field' into 'develop'
Add virtual :thread_muted? field

Closes #901

See merge request pleroma/pleroma!1178
2019-05-20 23:30:19 +00:00
Aaron Tinio f96e9b28bb Fix prometheus-ecto error when not configured 2019-05-21 07:30:18 +08:00
Aaron Tinio eb02edcad9 Add virtual :thread_muted? field
that may be set when fetching activities
2019-05-21 00:35:46 +08:00
Sadposter daeae8e2e7
Move default mascot configuration to `config/` 2019-05-20 16:12:55 +01:00
Sadposter 3d0d9e7a56
Use string map for default mascot 2019-05-20 13:10:04 +01:00
Sadposter e81f0fc6d4
Add mascot get/set tests 2019-05-20 12:58:06 +01:00
Sadposter 54e9cb5c2d
Add API endpoints for a custom user mascot 2019-05-20 12:39:23 +01:00
Aaron Tinio 2375e9a95b Add report filtering to MRF.SimplePolicy 2019-05-20 06:02:50 +08:00
rinpatch 6430cb1bf7 Restrict poll replies from fetch queries by default 2019-05-19 17:44:18 +03:00
rinpatch 1d90f9b969 Remove tags/mentions/rich text from poll options because Mastodon and
add custom emoji
2019-05-19 17:06:44 +03:00
rinpatch 5ece901af3 Resolve merge conflicts and remove IO.inspects 2019-05-18 13:37:38 +03:00
rinpatch fd920c8973 Mastodon API: Add support for posting polls 2019-05-18 13:29:28 +03:00
rinpatch 8e9a764dfc Merge branch 'feature/mrf-always-nsfw' into 'develop'
suppress link previews from posts marked sensitive

Closes #865

See merge request pleroma/pleroma!1173
2019-05-18 07:13:18 +00:00
William Pitcock c4a55e167a add Changelog entry 2019-05-17 23:00:14 +00:00
William Pitcock dc08159538 also suppress link previews from posts marked #nsfw 2019-05-17 22:13:24 +00:00
William Pitcock 290f5b2cfe config: make sending the user agent configurable, disable sending the user agent in tests 2019-05-17 20:28:58 +00:00
William Pitcock d3b8cd342f http: request builder: send user-agent when making requests 2019-05-17 19:04:17 +00:00
William Pitcock 0da1233e8e rich media: suppress link previews if post is marked as sensitive 2019-05-17 18:49:43 +00:00
William Pitcock 78588dbd80 mrf: simple policy: mark all posts instead of posts with media as sensitive if they match media_nsfw 2019-05-17 18:49:10 +00:00
Egor Kislitsyn 3b71612d3d Improve Pleroma.Web.ActivityPub.ActivityPub.maybe_update_cc/3 2019-05-18 01:17:14 +07:00
lain 075eecec90 Linting. 2019-05-17 18:32:30 +02:00
lain f959bf7aa6 MongooseIM: Add basic integration endpoints. 2019-05-17 18:21:11 +02:00
Egor Kislitsyn 557f0e33a7 Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-05-17 19:57:14 +07:00
Egor Kislitsyn f2936e0a07 Add `ap_id` to List 2019-05-17 19:56:37 +07:00
lain 412a3d8a0f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into rum-index 2019-05-17 12:26:59 +02:00
lambda e5b34f5e05 Merge branch 'ecto_sql_update' into 'develop'
Dependencies: Update Ecto SQL.

See merge request pleroma/pleroma!1160
2019-05-17 10:21:38 +00:00
lambda 1dcdcd8871 Merge branch 'bugfix/903-mastoapi-relationship-requested' into 'develop'
MastoAPI account_view.ex: requested is false when following is true

Closes #903

See merge request pleroma/pleroma!1169
2019-05-17 10:07:51 +00:00
lambda 46684db84d Update account_view.ex 2019-05-17 09:53:44 +00:00
lain 249b31ffe5 Fix specs. 2019-05-17 11:49:13 +02:00
rinpatch 642a67dd44 Render polls in statuses 2019-05-17 11:44:47 +03:00
Alexander Strizhakov 7ed682213f Fix/902 random compile failing 2019-05-17 07:25:20 +00:00
Sachin Joshi 5c028b8f92 user creation admin api will create multiple users 2019-05-17 12:21:58 +05:45
Haelwenn (lanodan) Monnier 68c75a08e8
MastoAPI account_view.ex: requested is false when following is true
Closes: https://git.pleroma.social/pleroma/pleroma/issues/903
2019-05-17 07:44:09 +02:00
Aaron Tinio 70235ce840 Fix typo: s/"tags"/"tag"/g 2019-05-17 09:02:34 +08:00
kaniini bf84d50c76 Merge branch 'feature/890-add-report-uri' into 'develop'
Feature/890 add report uri

Closes #890

See merge request pleroma/pleroma!1164
2019-05-16 20:11:12 +00:00
Sergey Suprunenko 2c303afc8b Remove duplicated entries in users' following lists 2019-05-16 20:04:08 +00:00
Sergey Suprunenko e2b3a27204 Add Reports to Admin API 2019-05-16 19:09:18 +00:00
feld e190b3022b Merge branch 'fix/domain-unblocked-reblogs' into 'develop'
Fix domain-unblocked reblogs

Closes #892

See merge request pleroma/pleroma!1157
2019-05-16 18:57:14 +00:00
Mark Felder efa61c1610 Move to pleroma.database mix task 2019-05-16 13:14:48 -05:00
Mark Felder ebb0482116 Merge branch 'develop' into conversations-import 2019-05-16 13:11:17 -05:00
lambda fde30aee43 Merge branch 'feature/sql-thread-sat' into 'develop'
SQL thread visibility solver

See merge request pleroma/pleroma!971
2019-05-16 13:44:22 +00:00
Alexander Strizhakov 73ae58fdfa Feature/896 toggling confirmation 2019-05-16 13:23:41 +00:00
Egor Kislitsyn fc7246d715 Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-05-16 17:54:24 +07:00
Alex S 9d14214eb9 Merge branch 'develop' into feature/890-add-report-uri 2019-05-16 12:54:06 +07:00
Alex S aa11fa4864 add report uri and report to 2019-05-16 12:49:40 +07:00
William Pitcock c31026423c publisher: use the correct queue name for outgoing federation 2019-05-16 04:41:27 +00:00
Aaron Tinio 793f1834d2 Use named binding to conditionally join object 2019-05-16 06:25:14 +08:00
Aaron Tinio 2b6119dfbf Restrict reblogs of activities from blocked domains 2019-05-16 05:53:51 +08:00
rinpatch 62e42b03ab Handle incoming Question objects 2019-05-15 20:10:16 +03:00
William Pitcock a591ab6112 activity pub: remove Ecto SQL query dumps 2019-05-15 16:56:46 +00:00
William Pitcock f09c3afdf5 chase test failures 2019-05-15 16:23:01 +00:00
William Pitcock 0aada88b55 bbs: chase timeline containment patch 2019-05-15 16:02:15 +00:00
William Pitcock 31db31c587 activitypub: visibility: use SQL thread_visibility() function instead of manually walking the thread 2019-05-15 15:54:10 +00:00
William Pitcock de114ffbb0 activitypub: remove contain_timeline() 2019-05-15 15:53:06 +00:00
William Pitcock 0387f52138 activitypub: add restrict_thread_visibility() 2019-05-15 15:53:06 +00:00
lain f168a1cbdc Merge remote-tracking branch 'origin/develop' into conversations-import 2019-05-15 17:47:29 +02:00
kaniini 62516be9c4 Merge branch 'fix/public-option-not-working' into 'develop'
Fix public option not working

Closes #873

See merge request pleroma/pleroma!1143
2019-05-15 15:42:21 +00:00
lambda 4440e23547 Merge branch 'chore/extricate-http-signatures' into 'develop'
switch to pleroma/http_signatures library

See merge request pleroma/pleroma!1155
2019-05-15 15:37:31 +00:00
lain 7a92e701b9 CommonAPI: Visibility refactor. 2019-05-15 16:35:33 +02:00
lain cbb3451023 CommonAPI: Refactor visibility, forbid public to private replies. 2019-05-15 16:30:08 +02:00
lain f1e67bdc31 Search: Add optional rum indexing / searching. 2019-05-15 15:28:01 +02:00
Sachin Joshi ee22fff5ac remove deprecated PleromaFE configuration 2019-05-15 15:29:59 +05:45
Egor Kislitsyn a7a8f3bc2c Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-05-15 14:31:24 +07:00
Aaron Tinio 70c81b95d0 Pipe requests to public endpoints through EnsurePublicOrAuthenticatedPlug 2019-05-15 05:09:32 +08:00
Aaron Tinio 7b8dc99ef1 Implement Pleroma.Plugs.EnsurePublicOrAuthenticated 2019-05-15 05:09:29 +08:00
William Pitcock 071f78733a switch to pleroma/http_signatures library 2019-05-14 20:03:13 +00:00
Mark Felder 1caa6331ea Group def perform() together to fix the build 2019-05-14 12:33:03 -05:00
lambda fa4bd898f1 Merge branch 'fix/gopher' into 'develop'
gopher: fix rendering of post content (closes #895)

Closes #895

See merge request pleroma/pleroma!1150
2019-05-14 15:41:37 +00:00
William Pitcock 51325fd60c gopher: fix rendering of post content (closes #895) 2019-05-14 15:35:06 +00:00
lambda 692919c7d2 Merge branch 'refactor/use-job-queue-everywhere' into 'develop'
use job queue everywhere

Closes #862

See merge request pleroma/pleroma!1142
2019-05-14 15:27:34 +00:00
William Pitcock ac3a3abf6b clean up follow/block imports a little 2019-05-14 15:07:38 +00:00
kaniini dfd031c26a Merge branch 'fix/pleroma-config-get-when-value-is-false' into 'develop'
Fix Pleroma.Config.get!/1 raising an error when value is false

See merge request pleroma/pleroma!1148
2019-05-14 14:58:45 +00:00
Maksim 52297920e7 Refactoring oauth response. 2019-05-14 14:49:45 +00:00
Egor Kislitsyn e82e73478e Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-05-14 19:00:07 +07:00
Egor Kislitsyn b92c004ea8 Reuse query from User.restrict_deactivated/1 2019-05-14 18:29:10 +07:00
Egor Kislitsyn 5e2b491276 Merge remote-tracking branch 'pleroma/develop' into feature/disable-account 2019-05-14 18:15:56 +07:00
Aaron Tinio a18b2c0b12 Fix Pleroma.Config.get!/1 raising an error when value is false 2019-05-14 06:40:59 +08:00
Mark Felder bbacdf2352 Bump Mastodon API level 2019-05-13 15:52:16 -05:00
Mark Felder 498bfdf403 Switch to Jason over Poison 2019-05-13 15:37:38 -05:00
William Pitcock 69a9e0563c user: migrate follow/blocks import to job queue 2019-05-13 19:36:00 +00:00
William Pitcock 57d11ac9db activitypub: move post rich media fetching to job queue 2019-05-13 19:36:00 +00:00
William Pitcock 32d4630c9c user: move initial post fetching to job queue 2019-05-13 19:36:00 +00:00
lambda b14a314ce7 Merge branch 'feature/federator-behaviours' into 'develop'
federator modularization (outgoing)

See merge request pleroma/pleroma!1140
2019-05-13 18:58:04 +00:00
Alexander Strizhakov a2be420f94 differences_in_mastoapi_responses.md: fullname & bio are optionnal
[ci skip]
2019-05-13 18:35:45 +00:00
Sachin Joshi 7701a4c841 Make irreversible field default to false in filters 2019-05-14 00:13:15 +05:45
Mark Felder 786f2c7a84 Update shortdoc description 2019-05-13 11:16:54 -05:00
Egor Kislitsyn 23276e8d68 Use pseudo ap id of a list in BCC 2019-05-13 16:15:14 +07:00
William Pitcock 44b182732e nodeinfo: gather supported protocol names from federation modules 2019-05-12 19:15:29 +00:00
William Pitcock 28f7f4c6de webfinger: build the response based on enabled federation modules 2019-05-12 19:05:03 +00:00
William Pitcock 80759f012e xml builder: properly escape quotes 2019-05-12 19:04:37 +00:00
William Pitcock 55fa4b812a federator: websub removal 2019-05-12 05:04:24 +00:00
William Pitcock c23276a59a activitypub: publisher: fixups 2019-05-12 05:04:24 +00:00
William Pitcock fedaca15a3 websub: adapt to work as a federator publishing module 2019-05-12 05:04:24 +00:00
William Pitcock 179293e51c salmon: refactor to work as a federator publishing module 2019-05-12 05:04:21 +00:00
William Pitcock 2aee62a456 federator: publisher: only attempt publishing if we know the activity is representable 2019-05-12 05:04:16 +00:00
William Pitcock 69158f1065 ostatus: only as:Public activities are representable 2019-05-12 05:04:16 +00:00
William Pitcock 85377c0b67 federator: move activitypub relaying to the AP publisher module 2019-05-12 05:04:16 +00:00
William Pitcock 676752bb83 federator: hook up Publisher.publish() 2019-05-12 05:04:16 +00:00
William Pitcock f7a6a37c4e federator: remove no longer used :publish_single_ap 2019-05-12 05:04:16 +00:00
William Pitcock 10695a28d2 federator: publisher: add publish() wrapper 2019-05-12 05:04:16 +00:00
William Pitcock 0afc8d7856 federator: publisher: integrate job queue, simplify publish_one logic 2019-05-12 05:04:16 +00:00
William Pitcock ef1f9e8d4e activitypub: split out outgoing federation into a federation module 2019-05-12 05:04:11 +00:00
William Pitcock e7d292f80e federator: add publisher module defining a contract for publishing behaviours 2019-05-12 03:08:50 +00:00
rinpatch b9f84a382a Normalize the object only after ensuring the activity type is Create 2019-05-12 03:01:42 +03:00
kaniini 131f883207 Merge branch 'fix/ostatus-activity-representer-depends-on-emebeded-objects' into 'develop'
Fix get_in_reply_to in OStatus' activity representer depending on embedded objects

See merge request pleroma/pleroma!1129
2019-05-11 16:52:26 +00:00
lain 01c45ddc9e Search: Use RUM index. 2019-05-11 11:26:46 +02:00
Sachin Joshi f01f995816 make url uniform in admin api 2019-05-11 14:46:00 +05:45
Roman Chvanikov f1f7a11222 Merge develop 2019-05-11 14:45:54 +07:00
feld c953ae8c3d Initial bundle of basic AdminFE
Due to CSP headers we only allow connecting to self. If you want to
host AdminFE on a separate domain without CSP headers you will be able
to connect to any public Pleroma host.
2019-05-11 01:34:17 +00:00
rinpatch 1d78e42fd4 Remove get_in_reply_to calls in some functions because the result is unused and it does not have any side-effects 2019-05-10 13:49:34 +03:00
Francis Dinh 2a54e8c1f5 Use "repeated" instead of "retweeted" for repeated statuses in Twitter API
This makes it consistent with the language used in Pleroma FE (at least
in English).

Resolves https://git.pleroma.social/pleroma/pleroma-fe/issues/533
2019-05-09 19:58:34 -04:00
rinpatch e4523c3010 Fix get_in_reply_to in OStatus' activity representer depending on embedded objects 2019-05-09 22:27:00 +03:00
lain a33bec7d58 Conversations: Import order, import as read. 2019-05-09 16:39:28 +02:00
lain e6d7f8d223 Credo fixes. 2019-05-08 18:19:20 +02:00
lain 6d19bb4eae Conversations: Add mix task to 'import' old DMs. 2019-05-08 18:09:07 +02:00
lain a4598b5e8b Visibility: Make it more resilient. 2019-05-08 18:08:50 +02:00
lain 920bd47055 ActivityPub: Remove leftover printf debugging. 2019-05-08 17:40:24 +02:00
lain fcf2f38d20 Conversations: Add a function to 'import' old DMs. 2019-05-08 17:37:00 +02:00
Alexander Strizhakov bfeb33e951 Merge develop
Merge conflict in lib/pleroma/activity.ex
2019-05-08 14:34:36 +00:00
Alex S a76e2622ca emoji dowload follow redirects 2019-05-08 19:05:25 +07:00
Maksim 799e1f48b5 Refactoring functions for dealing with oauth scopes. 2019-05-08 10:52:13 +00:00
Roman Chvanikov b6b5b16ba4 Merge develop 2019-05-08 17:08:06 +07:00
kaniini 14deed7f7d Merge branch 'refactor/preload-bookmarks-with-activities' into 'develop'
Optimize bookmarks by preloading them with activities

Closes #861

See merge request pleroma/pleroma!1121
2019-05-07 19:37:41 +00:00
William Pitcock d64c3b604e twitterapi: use order constraint to force descending order 2019-05-07 19:33:25 +00:00
William Pitcock 6020ff3fb6 activitypub: add optional order constraint to timeline query builder 2019-05-07 19:33:22 +00:00
rinpatch 4c5125dedc Remove `bookmarks` assoc and add a fake `bookmark` assoc instead 2019-05-07 19:33:22 +00:00
rinpatch be067ec2ab Use with_preloaded_bookmark in create_by_object_ap_id_with_object 2019-05-07 19:33:22 +00:00
rinpatch 3a7c14645e - Actually use preloaded bookmarks in views
- Preload bookmarks in bookmark timeline
- Rework bookmark preload tests
2019-05-07 19:33:22 +00:00
rinpatch f841eb7cdb Preload bookmarks wherever the object is preloaded 2019-05-07 19:33:22 +00:00
rinpatch 06947c9147 Remove bookmarks assoc 2019-05-07 19:33:22 +00:00
kaniini a1a0df19c4 Merge branch 'docs/MRF-modules' into 'develop'
Documentation: MRF Modules

See merge request pleroma/pleroma!1122
2019-05-07 16:15:27 +00:00
William Pitcock e71ddf23ba containment: remove pointless moduledoc line 2019-05-07 16:11:22 +00:00
lambda 238dd72fad Merge branch 'conversations_three' into 'develop'
Conversations once more.

See merge request pleroma/pleroma!1119
2019-05-07 14:43:21 +00:00
Egor Kislitsyn 1557b99beb Merge remote-tracking branch 'pleroma/develop' into feature/disable-account 2019-05-07 16:51:11 +07:00
Maksim 1040caf096 fix format
Modified-by: Maksim Pechnikov <parallel588@gmail.com>
2019-05-06 17:51:03 +00:00
lambda aacac9da0b Merge branch 'feature/bbs' into 'develop'
BBS / SSH

See merge request pleroma/pleroma!997
2019-05-06 17:17:03 +00:00
Alexander Strizhakov ce6ca0fefe Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into feature/845-improve-status-deletion 2019-05-06 16:45:22 +00:00
Haelwenn (lanodan) Monnier 69a5074893
Remove H1 in @moduledoc 2019-05-06 04:53:12 +02:00
Haelwenn (lanodan) Monnier e41a2f98d5
mrf/tag_policy.ex: Add some documentation
mrf_tag:disable-remote-subscription exact way of working is quite
unclear to me. Is it the requester that is denied if they have a tag,
or is it the requestee if they have one?
2019-05-06 04:53:11 +02:00
Haelwenn (lanodan) Monnier af62ace954
Add short documentation on every MRF Policy 2019-05-06 04:49:50 +02:00
lain eb0fb73ddb BBS: Credo fixes. 2019-05-04 15:47:50 +02:00
lain c9d1cb2dce BBS: Use cached user fetcher. 2019-05-04 15:08:07 +02:00
lain 4c76f49e60 BBS: small fixes. 2019-05-04 15:06:18 +02:00
lain 6ad8ddfd29 Merge remote-tracking branch 'origin/develop' into feature/bbs 2019-05-04 15:00:45 +02:00
rinpatch d089ff2460 Merge branch 'fix/embeded-relationship-in-follows' into 'develop'
Fix embeded relationships in Mastodon API

See merge request pleroma/pleroma!1118
2019-05-03 20:36:13 +00:00
rinpatch 9907e974ca Merge branch 'fix-search-speed' into 'develop'
Search: Add fts index on objects table.

See merge request pleroma/pleroma!1120
2019-05-03 18:35:02 +00:00
lain 0e37fddd5a Search: Add fts index on objects table. 2019-05-03 19:21:09 +02:00
Haelwenn (lanodan) Monnier b5ad1715b2
MastoAPI: profile update with emoji_map 2019-05-03 16:41:23 +02:00
Haelwenn (lanodan) Monnier 46bbf9e1cf
TwitterAPI: profile update with emoji_map 2019-05-03 16:30:24 +02:00
Haelwenn (lanodan) Monnier 85434669bb
Web.TwitterAPI.UserView: Also view local user emojis 2019-05-03 16:27:51 +02:00
Haelwenn (lanodan) Monnier 2f76a40d02
formatter.ex: Add get_emoji_map/1 2019-05-03 16:27:50 +02:00
Haelwenn (lanodan) Monnier d70af32127
Pleroma.User: remove emojify on parse_bio 2019-05-03 16:27:50 +02:00
Haelwenn (lanodan) Monnier 85b5c60694
Pleroma.Formatter: width/height to class=emoji 2019-05-03 16:25:58 +02:00
lain c42ded13a2 Credo fixes. 2019-05-03 13:53:17 +02:00
feld acb04306b6 Standardize construction of websocket URL
This follows up on the change made in d747bd98
2019-05-03 11:45:04 +00:00
lain a0c755cc4a MastodonApi: Bump api level. 2019-05-03 13:40:43 +02:00
lain 81d1aa424d Streamer: Stream out Conversations/Participations. 2019-05-03 13:39:14 +02:00
rinpatch 38b79461df Fix embeded relationships in Mastodon API
Currently some endpoints render accounts without for user resulting in
embedded relationship being empty. It causes bugs in followers/following
tab in pleroma-fe but I fixed it for other endpoints as well just in
case
2019-05-03 00:49:17 +03:00
lambda 497d34b825 Merge branch 'iss-849' into 'develop'
Parse access_token from body parameters and URL parameters

See merge request pleroma/pleroma!1103
2019-05-02 14:17:17 +00:00
AkiraFukushima 533d8cd581 Parse access_token from body parameters and URL parameters 2019-05-02 21:04:00 +09:00
Mark Felder 3c4cab9be1 Merge branch 'develop' into update-oauth-template 2019-05-01 12:32:17 -05:00
Mark Felder 9a98f48ec3 Remove incorrect statement about valid characters 2019-05-01 12:29:48 -05:00
Roman Chvanikov 8af55728e4 Fix tests 2019-05-01 19:03:55 +02:00
lain 45f790becc Merge remote-tracking branch 'origin/develop' into conversations_three 2019-05-01 18:40:41 +02:00
Maksim c854bff8f5 Refactored Pleroma.Web.Auth.Authenticator 2019-05-01 13:28:04 +00:00
rinpatch 51e26f14f7 Remove redundant ensure_scrubbed_html
It is never used as handling for fake and non-fake activities was merged
into one function above it
2019-05-01 13:52:44 +03:00
lambda 0bcdaf378e Merge branch 'bugfix/web-notification-special-char' into 'develop'
fix the web push notification with special char for status created

See merge request pleroma/pleroma!1092
2019-05-01 10:45:32 +00:00
Egor Kislitsyn a3dc02d282 Add addressable lists 2019-05-01 16:11:17 +07:00
Alex S f11e7037c2 test fixes 2019-05-01 16:09:53 +07:00
Alex S bdfa3a6fa8 Merging with develop
Conflicts:
lib/pleroma/web/activity_pub/transmogrifier.ex
lib/pleroma/user.ex
2019-05-01 12:29:33 +07:00
Sachin Joshi 85fa2fbce4 add scrubber for html special char 2019-05-01 01:37:17 +05:45
Sachin Joshi cd6da3606b Merge branch 'develop' into bugfix/web-notification-special-char 2019-05-01 00:21:30 +05:45
rinpatch ce4825c1dc Do not normalize objects in stream_out unless the activity type is
Create

Saves quite a bit of time with delete activities because they would
always query the db
2019-04-30 20:21:28 +03:00
Roman Chvanikov 0f0cc2703b Merge develop 2019-04-30 20:17:52 +07:00
lain b0951a8849 WebPush: Use Object.normalize, rewrite tests so they test reality. 2019-04-29 18:15:30 +02:00
rinpatch 0fd176b990 Merge branch 'fix/add-default-scope-mastoapi' into 'develop'
Add default_scope to /api/v1/update_credentials

See merge request pleroma/pleroma!1100
2019-04-29 06:45:18 +00:00
kaniini 292c69481b Merge branch 'regression/rights-only-for-admin' into 'develop'
Fix `rights` in TwitterAPI's user entity being present only for Admins/Moderators

See merge request pleroma/pleroma!1102
2019-04-28 23:05:14 +00:00
rinpatch 61ca2f7a4e Fix `rights` in TwitterAPI's user entity being present only for
Admins/Moderators

In !1093 I reused `maybe_with_role` for `rights` object, however I
missed that `maybe_with_role` is called only for admins/moderators.
2019-04-28 19:42:43 +03:00
rinpatch ce3789e39a Add default_scope to /api/v1/update_credentials 2019-04-27 23:55:54 +03:00
rinpatch c3e9fcf098 Fix bookmarks depending on embeded object and move checking if the
status is bookmarked to SQL
2019-04-27 23:06:46 +03:00
kaniini 002ea343f8 Merge branch 'feature/bbcode' into 'develop'
BBCode support (backend)

See merge request pleroma/pleroma!1097
2019-04-27 07:44:24 +00:00
William Pitcock 501af917b5 add support for bbcode 2019-04-26 22:35:02 +00:00
lambda 4de5fef1f8 Merge branch 'feature/807-bookmark-endpoint-extension' into 'develop'
Feature/807 bookmark endpoint extension

Closes #807

See merge request pleroma/pleroma!1059
2019-04-26 11:59:47 +00:00
kaniini 48f68fd133 Merge branch 'feature/mastoapi-new-config' into 'develop'
Fix leaking private configuration parameters in Mastodon and Twitter APIs, and add new configuration parameters to Mastodon API

This patch:
- Fixes `rights` in TwitterAPI ignoring `show_role` 
- Fixes exposing default scope of the user to anyone in Mastodon API
- Extends Mastodon API to be able to show and set `no_rich_text`, `default_scope`, `hide_follows`, `hide_followers`, `hide_favorites` (requested by the FE in #674)

Sorry in advance for 500 line one commit diff, I should have split it up to separate MRs

See merge request pleroma/pleroma!1093
2019-04-26 02:41:35 +00:00
Mark Felder 24c3e2db2c Add mediaproxy whitelist capability 2019-04-25 18:11:47 -05:00
rinpatch dfc8425659 Move settings to Source subentity 2019-04-25 10:31:14 +03:00
Alex S a825056d4d test fixes 2019-04-25 14:09:57 +07:00
Alex S 85953c0836 fixes for tests 2019-04-25 13:46:40 +07:00
Alex S 229ce6abbc migration without using old field name
removing old field from db, after bookmarks migration
2019-04-25 13:42:10 +07:00
Alex S 3c2ae80008 unused 2019-04-25 13:42:10 +07:00
Egor Kislitsyn c157e27a00 Merge branch 'develop' into feature/disable-account 2019-04-25 13:41:10 +07:00
Alex S 1258128f4f favourites add bookmark display 2019-04-25 13:38:24 +07:00
Alex S 324c9c8ab5 migrate user.bookmarks to separate table 2019-04-25 13:38:24 +07:00
Alex S 73d01857e3 bookmarks in separate table 2019-04-25 13:38:24 +07:00
William Pitcock 0fd0ffcd76 activitypub: transmogrifier: send reject follow if following does not succeed 2019-04-25 00:48:45 +00:00
rinpatch 4baea6e6d9 Fix leaking private configuration parameters in Mastodon and Twitter APIs, and add new configuration parameters to Mastodon API
This patch:
- Fixes `rights` in twitterapi ignoring `show_role`
- Fixes exposing default scope of the user to anyone in Mastodon API
- Extends Mastodon API to be able to show and set `no_rich_text`, `default_scope`, `hide_follows`, `hide_followers`, `hide_favorites` (requested by the FE in #674)

Sorry in advance for 500 line one commit diff, I should have split it up to separate MRs
2019-04-24 20:01:42 +03:00
Sachin Joshi 963d5774af fix the status notification with special char 2019-04-24 07:06:17 +05:45
kaniini 030a7876b4 Merge branch 'security/fix-html-class-scrubbing' into 'develop'
html: lock down allowed class attributes to only those related to microformats

See merge request pleroma/pleroma!1090
2019-04-23 23:07:56 +00:00
William Pitcock f5535e5743 html: lock down allowed class attributes to only those related to microformats 2019-04-23 23:03:45 +00:00
Sergey Suprunenko 9dd36e5bcb Extend Mastodon API with public endpoint for getting Favorites timeline of any user (#789) 2019-04-23 02:47:43 +00:00
kaniini 10c40e13d2 Merge branch 'mastoapi/add-in-reply-to-screen-name' into 'develop'
Add `in_reply_to_account_acct` to MastoAPI status entity

See merge request pleroma/pleroma!1086
2019-04-23 02:43:53 +00:00