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
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
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
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
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
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
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
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
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