Wykres commitów

82 Commity (b5a0386cd007e37b59e9fa2dad131cbbea46dd1f)

Autor SHA1 Wiadomość Data
Ryan Barrett b5a0386cd0
store home page URL in update profile Objects, render better in activities UI
fixes #407
2023-02-07 12:44:41 -08:00
Ryan Barrett 52c6aa6160
fix update profile Object id
use synthetic URL with #update-[timestamp] fragment, not just home page URL
2023-02-07 12:23:08 -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 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 94a74b9800
noop: test_webmention: switch more asserts to assert_object() 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 bb2d3e03de
noop: convert a few %s'es to f-strings
thanks flynt! https://github.com/ikamensh/flynt
2023-01-24 12:17:24 -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 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 e6d4441292
handle redirects of signed requests manually, generate a new HTTP sig each time
fixes #326
2023-01-16 13:10:33 -08:00
Ryan Barrett aa0dcbb222
noop: drop content type constants in common, use granary's instead 2023-01-06 21:01:33 -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 22d1bcfe9d
incoming webmentions: error if source page fetch fails 2022-12-21 11:57:06 -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 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 8fd49dc882
drop non-public Create activities
fixes #289
2022-11-16 16:37:50 -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 46f039af63
AP: always generate an actor for every outbound activity
for #279
2022-11-15 21:43:24 -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 7966650178
AP: put Public in to instead of cc to make Mastodon posts public, not unlisted
fixes #277
2022-11-13 21:46:26 -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 2e0f6ee0be
update to handle singly valued AS2 icon and image fields
snarfed/granary@cfc5a1f743
2022-11-05 14:57:50 -07: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 f4c71897ec
update tests to handle snarfed/granary@93a64e91a5 2022-05-27 15:56:48 -07:00
Ryan Barrett 1d36d31064
set User-Agent header globally 2022-03-24 11:18:33 -07:00
Ryan Barrett fdd42ad1d4
override preferredUsername to always be the user's domain
...since Mastodon looks up [preferredUsername]@fed.brid.gy. see #77
2021-10-22 21:17:45 -07:00
Ryan Barrett d23792d8b3
webmention: skip sending AP Update if content hasn't changed
fixes #78
2021-10-10 13:47:33 -07:00
Ryan Barrett f4aefff6f4
minor noop test refactoring 2021-08-18 08:04:14 -07:00
Ryan Barrett cf12817212
Flask port: error handling bug fixes, other misc tweaks 2021-08-16 11:47:31 -07:00
Ryan Barrett 32d9e2bf6c
move common.error() to webutil.flask_util
corresponds to snarfed/webutil@10c088cebd
2021-08-06 11:01:58 -07:00
Ryan Barrett b23705e97e
don't store a Response for OStatus/Salmon unless we actually attempt delivery 2021-07-20 15:55:16 -07:00