Wykres commitów

138 Commity (e1856c21a12f170c19a45aacf797fe165c9f7271)

Autor SHA1 Wiadomość Data
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