Commit graph

3185 commits

Author SHA1 Message Date
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
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
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 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 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
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
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
Mark Felder 6a79bb12c3 Fix function 2019-07-23 13:53:05 -05: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
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
Roman Chvanikov 8292331b35 Merge branch 'develop' into feature/digest-email 2019-07-20 16:41:58 +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
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 184fa61fb3 plugs: add MappedSignatureToIdentityPlug 2019-07-18 15:38:45 +00:00
Maksim b6b748d3e7 tests for Uploader with webhook 2019-07-18 12:30:18 +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
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 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
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 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
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
Maksim c32384c1ea tests for Pleroma.Signature 2019-07-15 13:01:22 +00: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
Sergey Suprunenko dce8ebc9ea Unfollow should also unsubscribe 2019-07-14 19:25:03 +00: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
Alexander Strizhakov e7c39b7ac8 Feature/1072 muting notifications 2019-07-14 13:29:31 +00: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
Ivan Tashkinov d72876c57d [#1041] Minor refactoring. 2019-07-13 15:21:50 +03:00
Ivan Tashkinov 369e9bb42f [#1041] Rate-limited status actions (per user and per user+status). 2019-07-13 14:49:39 +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
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 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
Sergey Suprunenko 2d2b50ccca Send and handle "Delete" activity for deleted users 2019-07-10 05:16: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
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
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