Ryan Barrett
e1856c21a1
add more logging for when we write Objects
2023-02-07 08:24:36 -08:00
Ryan Barrett
4b37674624
always sign requests with current user's key, stop defaulting to snarfed.org
...
for #403
2023-02-06 19:23:25 -08:00
Ryan Barrett
08265123f6
Activity => Object: use 'in progress' status
...
#286
2023-02-04 20:46:28 -08:00
Ryan Barrett
532ccb8ac1
Activity => Object: use StructuredProperty for Object.delivered etc, add protocol
...
#286
ndb implements StructuredProperty by hoisting each nested property into a
corresponding property on the parent entity, prefixed by the StructuredProperty's
name, eg delivered.uri, delivered.protocol, etc.
For repeated StructuredPropertys, the hoisted properties are all repeated on the
parent entity, and reconstructed into StructuredPropertys based on their order.
https://googleapis.dev/python/python-ndb/latest/model.html#google.cloud.ndb.model.StructuredProperty
2023-02-04 20:46:27 -08:00
Ryan Barrett
f9891b6ef7
Activity => Object: add activity label, unify Objects for AP => wm
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
4d2fcdd76f
Activity => Object: fully populate labels, source_protocol webmention
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
a76fe45891
Activity => Object: finish ap_delivered, ap_undelivered, ap_failed
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
97ffc10f72
Activity => Object: populate Object.object_ids property
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
eafba6d7cd
Activity => Object: populate Object.type
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
d72be97d78
Activity => Object: populate ap_* fields for inbox delivery results
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
9d4e73344b
Activity => Object: populate ap_delivered, ap_undelivered, ap_failed
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
58e836b380
Activity => Object: update webmention.py
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
eca2f6f1ca
outbound AP: only log pretty-printed AS2 object on first request, not all
2023-01-24 16:49:48 -08:00
Ryan Barrett
46736df21b
common.postprocess_as2 bug fix, handle multiply valued image field
2023-01-23 21:13:05 -08:00
Ryan Barrett
0d0a4ed642
update profile bug fix: always populate object.updated field
...
for #376
2023-01-23 20:53:34 -08:00
Ryan Barrett
783abcaf25
add update profile button on user page UI
...
for #376
2023-01-23 18:57:49 -08:00
Ryan Barrett
1627ff667a
translate webmention from home page into profile (actor) Update
...
for #376 , #331
2023-01-23 16:09:25 -08:00
Ryan Barrett
37e389447a
always store Follower.last_follow as AP/AS2 Follow activity
...
specifically, this switches storing outbound follows from inbound webmentions from AS1 to AS2.
2023-01-18 21:09:43 -08:00
Ryan Barrett
5182bb92f3
Mastodon interop: fill in the updated field for Updates if it's missing
...
Mastodon requires it:
https://docs.joinmastodon.org/spec/activitypub/#supported-activities-for-statuses
https://socialhub.activitypub.rocks/t/what-could-be-the-reason-that-my-update-activity-does-not-work/2893/4
https://github.com/mastodon/documentation/pull/1150
2023-01-17 11:16:14 -08:00
Ryan Barrett
1a9655e441
incoming webmentions, support AS1 activities with multiple objects
...
eg multiple repost-of. fixes https://console.cloud.google.com/errors/detail/CNm24c6QnvjQygE;time=P30D;refresh=true?project=bridgy-federated
2023-01-08 22:55:55 -08:00
Ryan Barrett
7ac1006021
background task bug fix: override task runner host
...
we were using request.host_url blindly, which was fed.brid.gy for user-facing requests, but bridgy-federated.uc.r.appspot.com for tasks. #335
2023-01-05 15:05:35 -08:00
Ryan Barrett
512737cc99
add task queue for delivering AP Creates and Updates to followers
...
fixes #335
2023-01-04 20:48:39 -08:00
Ryan Barrett
fe5c3947a8
drop OStatus! it's been unused for years
...
fixes #282
2023-01-04 19:22:11 -08:00
Ryan Barrett
647ae66763
webmention: minor tweaks to mf2 handling, logging
2022-12-23 15:38:38 -08:00
Ryan Barrett
22d1bcfe9d
incoming webmentions: error if source page fetch fails
2022-12-21 11:57:06 -08:00
Ryan Barrett
0363db65fa
handle new multi-valued url field in AS2 objects
...
snarfed/granary@79c512402b
2022-11-30 21:04:41 -08:00
Ryan Barrett
7359c0558d
user page bug fix: include active filter in follower/following count
2022-11-29 22:08:01 -08:00
Ryan Barrett
b94a59d6f3
add logging to be used in monitoring dashboard
...
for #273
2022-11-28 17:48:33 -08:00
Ryan Barrett
8fddf7fb2f
if an outgoing AP activity has no actor, default to the domain user
...
fixes #306
2022-11-26 20:20:40 -08:00
Ryan Barrett
b791af3ebb
outbound follows: normalize Follower.dest to AS2 actor id
...
for #307
2022-11-24 10:22:26 -08:00
Ryan Barrett
7f5f4e4542
/webmention: allow any backlink, not just request.host_url
...
first step toward making local flask server fully capable of acting like fed.brid.gy
2022-11-24 09:41:14 -08:00
Ryan Barrett
2fdc6f29a9
sign HTTP GET requests for AS2 objects
...
to support Mastodon's AUTHORIZED_FETCH aka secure mode: https://docs.joinmastodon.org/admin/config/#authorized_fetch
fixes #291
2022-11-24 09:41:14 -08:00
Ryan Barrett
97ecc6df46
webmention: handle missing source URL fragment
...
fixes https://console.cloud.google.com/errors/detail/CKKEobWk4d2VHQ;time=P30D?project=bridgy-federated
2022-11-18 15:28:34 -08:00
Jamie Tanna
39cb90e533
Allow providing a URL fragment for posts
...
A number of folks use a single page for multiple posts, using a URL
Fragment parameter to denote which of the posts on the given page should
be used, and are used to this experience with Bridgy.
To allow use of this on Bridgy Fed, too, we can add support for
discovering the ID of the `h-entry` to be Webmention'd in the same way
that we do with [Bridgy].
This largely copies the structure of the existing tests, copying
`test_activitypub_follow`, and adding in multiple posts on the page.
For debugging purposes, we can make sure to log out the `fragment`.
[Bridgy]: f760c0d10e
2022-11-18 06:49:58 -08:00
Ryan Barrett
2bb76a90e7
store Activity entities for AP activities delivered to followers
...
for #265
2022-11-16 15:54:02 -08:00
Ryan Barrett
50956c02b0
noop, rename Domain => User
2022-11-15 22:00:28 -08:00
Ryan Barrett
e3f1431018
noop identifier renames, key => domain or entity
2022-11-15 19:12:20 -08:00
Ryan Barrett
fd5c88c713
add domain blocklist, right now primarily for Twitter
2022-11-14 22:31:45 -08:00
Ryan Barrett
881307fa0b
wm => AP, don't use Update for a Like/Announce even if we've seen it before
2022-11-14 22:31:45 -08:00
Ryan Barrett
4cc43f4c56
noop, rename resp => activity
2022-11-13 09:35:47 -08:00
Ryan Barrett
4f3dc03a3e
rename MagicKey => Domain, Response => Activity
...
the Python classes, but not (yet) the kinds in the datastore. maybe eventually.
2022-11-12 15:27:59 -08:00
Ryan Barrett
938a4ac85c
webmention: when checking for fed.brid.gy backlink, don't require / path
...
fixes #278
2022-11-12 07:07:09 -08:00
Ryan Barrett
8aa11f0662
webmention => AP: store outbound followees
...
for #264
2022-11-11 22:50:05 -08:00
Ryan Barrett
b24a22e817
add /responses/[DOMAIN] user pages and Response.domain property
2022-11-08 06:56:19 -08:00
Ryan Barrett
154d02d908
AP delivery bug fix: don't short circuit if a post is already sent and unchanged
2022-10-29 19:52:35 -07:00
Ryan Barrett
b63a39b631
update granary utility fn usage to new as1 module
...
introduced in snarfed/granary@de1c795391
2022-07-15 23:09:31 -05:00
Ryan Barrett
96dba41c9b
logging: use separate loggers for each module with their names
2022-02-11 22:38:56 -08:00
Ryan Barrett
2f28be09be
convert %-formatted strings with args in logging.* calls to f-strings
2021-12-27 22:45:57 -08:00
Ryan Barrett
fcb7c366ba
webmention: ostatus: don't try to serialize entire feedparser output
...
...since it includes an exception (eg `SAXParserException`) in the `bozo_exception` field if the bozo bit is set. https://feedparser.readthedocs.io/en/latest/bozo.html
fixes https://console.cloud.google.com/errors/CKThy6imn5_A2wE
2021-12-26 09:58:07 -08:00
Ryan Barrett
5ddf90fd93
fix log message f-string
2021-11-01 16:14:36 -07:00