Wykres commitów

135 Commity (f3039fc87a068b0c3ec9c6a517a1b7f9a7448324)

Autor SHA1 Wiadomość Data
Ryan Barrett f3039fc87a
Protocol.send: bring back log_data kwarg 2023-10-13 18:29:28 -07:00
Ryan Barrett d0da119b07
add opt out via #nobridge or #nobot text in user profile bio
fixes #666

(unfortunate issue number 😆)
2023-10-13 12:36:31 -07:00
Ryan Barrett 1b78e86e6c
add Protocol.LOGO_HTML constant, change user page to link to external user
for #442
2023-10-11 12:25:38 -07:00
Ryan Barrett f002b536d9
add thread name to log message prefix to trace across Protocol.deliver threads 2023-10-10 10:13:57 -07:00
Ryan Barrett 5bf081afdb
make Protocol/Web.key_for() follow use_instead
fixes #662. probably more to do here eventually though, eg #665.
2023-10-10 09:58:07 -07:00
Ryan Barrett d5499acaf3
AP: parallelize inbox delivery with a thread pool
fixes #652. this should make inbox deliveries roughly 10x faster.
2023-10-07 15:08:02 -07:00
Ryan Barrett 5efd97d867
add Object.lock and new add, remove, and put methods 2023-10-07 13:51:59 -07:00
Ryan Barrett 59abcb00bc
Protocol.send: drop log_data kwarg
protocols are responsible for logging objects themselves
2023-10-07 12:54:32 -07:00
Ryan Barrett 7e7962fe45
add orig_obj kwarg to Protocol.send 2023-10-07 12:49:39 -07:00
Ryan Barrett 4909c0814e
deliver self-replies to all followers
fixes #639
2023-10-06 14:59:47 -07:00
Ryan Barrett 62302b9105
more docstring formatting tweaks 2023-10-06 08:22:50 -07:00
Ryan Barrett db29ad7757
docs: fix docstring formatting, other tweaks 2023-10-05 23:32:31 -07:00
Ryan Barrett e89730e68f
drop /_ah/ path prefix on task handlers
...since it's not supported in dispatch.yaml: https://cloud.google.com/appengine/docs/flexible/reference/dispatch-yaml?tab=python#url
2023-09-29 13:49:17 -07:00
Ryan Barrett 03a9295224
noop, tweak logging in protocol.py 2023-09-29 11:32:28 -07:00
Ryan Barrett 01d3b67bed
add Protocol.for_handle 2023-09-29 11:32:28 -07:00
Ryan Barrett a823dd1d65
use protocol subdomains in AP inbox
...and other misc protocol subdomain fixes
2023-09-27 13:55:16 -07:00
Ryan Barrett 771de9770e
AP inbox bug fix: handle Like with null object
fixes https://console.cloud.google.com/errors/detail/CIiI9b-nz7-bIA;time=P30D?project=bridgy-federated
2023-09-27 09:43:16 -07:00
Ryan Barrett e9e8827ef9
standardize more on 'handle' and 'id' terms
* User.readable_id => handle
* User.readable_or_key_id => handle_or_id
2023-09-25 12:33:24 -07:00
Ryan Barrett 169f8d7a2c
add Protocol.handle_to_id, implement in all protocols 2023-09-22 13:11:15 -07:00
Ryan Barrett 0d33b6422d
add Protocol.owns_handle (and in subclasses) 2023-09-22 12:17:42 -07:00
Ryan Barrett 6a6a1657a7
rename Protocol.for_domain => for_bridgy_subdomain 2023-09-22 11:55:46 -07:00
Ryan Barrett 5214c77f6a
Protocol.targets: find and add originals for targets that are copies
both Object and User originals
2023-09-19 21:52:28 -07:00
Ryan Barrett 5107d003fe
Object.as1: genericize converting actor/author id from copy to original 2023-09-19 19:59:28 -07:00
Ryan Barrett 8e15a7559d
noop: TODO in Protocol.receive_task to use it for web/AP too 2023-09-19 11:47:43 -07:00
Ryan Barrett f7792f81c8
tasks: add user param to receive, make create_task run inline in local server 2023-09-19 11:15:49 -07:00
Ryan Barrett cae19172c9
Protocol: add receive task handler 2023-09-18 19:19:59 -07:00
Ryan Barrett fd6e371635
make Protocol._targets use per-protocol blocklist check 2023-09-09 15:11:52 -07:00
Ryan Barrett 0d2e4fb66a
noop: protocol: label classmethod cls identifiers with from/to 2023-09-09 14:19:27 -07:00
Ryan Barrett 8b242e65ba
move common.is_blacklisted to Protocol so that subclasses can override it 2023-09-06 17:35:15 -07:00
Ryan Barrett e18dabf510
implement ATProto.target_for, .fetch for at:// URIs 2023-08-31 10:48:28 -07:00
Ryan Barrett 3d23618b1b
Protocol.receive: handle unknown protocol for followeee
fixes https://console.cloud.google.com/errors/detail/CKjCqOC34bL3SQ;time=P30D?project=bridgy-federated
2023-07-25 09:53:23 -07:00
Ryan Barrett 414fa5f197
Protocol.receive: resume existing create if it's not complete 2023-07-24 14:07:44 -07:00
Ryan Barrett 17fe6db6eb
change Protocol.key_for to return None instead of raise on invalid user ids
hopefully fixes https://console.cloud.google.com/errors/detail/CKWmwa7SybLcQw;time=P30D?project=bridgy-federated
2023-07-22 20:32:55 -10:00
Ryan Barrett c3f9c56c31
Protocol.receive: drop fed.brid.gy domain check
this happens after protocols pre-process objects and eg fill in BF AP actor ids. moved this check to *.send and user entity pre post hooks instead. for #597
2023-07-22 20:11:12 -10:00
Ryan Barrett ad893b1a97
update test_activitypub, test_web for new Object.notify/feed props
added in 95d0a695aa30c06880c218a96a98f591850a0a3c
2023-07-17 05:34:56 -10:00
Ryan Barrett 57350ab81a
switch from Object.users + labels to users + notify + feed lists
needed to distinguish an activity's owners from who it should notify from who should see it in their feeds.

also, unrelated, start sending stop-following activities.

in progress, test_web and test_activitypub still need updating.
2023-07-17 05:34:56 -10:00
Ryan Barrett 764494be16
Protocol.receive follow: send accept for every followee, not just the last one 2023-07-17 05:34:56 -10:00
Ryan Barrett e0a75b07bc
extract out the non-BF-specific parts of Protocol._targets into as1.targets
in snarfed/granary@91fde3201e
2023-07-15 14:23:09 -07:00
Ryan Barrett e194ccb3ad
Protocol.load/fetch returns True/False (or None) to mean "not this protocol"
ie, nothing failed, but the given id eitehr doesn't below to the given protocol, or fetched successfully but its data belongs to a different protocol.

vs raising exceptions for fetches that fail or error, eg network connection problems, Web got HTML with microformats2 but no h-entry, ActivityPub got non-AS2, etc.

used in Protocol.for_id: when a given Protocol's fetch doesn't work, we move on and try the next protocol _if_ it returned False (ie wasn't fetchable with that protocol, but we fail fast if it raises an exception (ie fetch failed).
2023-07-14 12:58:47 -07:00
Ryan Barrett 0e47918a38
merging receive: skip same-protocol deliveries and Followers
for #529
2023-07-13 14:21:13 -07:00
Ryan Barrett 815ae95560
merging receive: bug fix for same domain check: normalize target URLs earlier
for #529, a3f99a81ce
2023-07-11 13:25:32 -07:00
Ryan Barrett 174c55ae6e
merging receive: implement mentions, deliver to mentioned users
for #529
2023-07-11 13:25:31 -07:00
Ryan Barrett 605742a82c
merging receive: skip same-domain targets
for #529
2023-07-11 13:25:31 -07:00
Ryan Barrett 0d7df6d4e6
merging receive: handle follow with multiple objects (followees)
for #529
2023-07-11 13:25:31 -07:00
Ryan Barrett ceb72e516c
Web.send: ignore accept activities
webmention/mf2 have no corrolary yet
2023-07-11 13:25:31 -07:00
Ryan Barrett 911dc56367
merging receive: check for already seen activity ids more carefully
for #529
2023-07-11 13:25:30 -07:00
Ryan Barrett 2c861dbbf4
merging receive: if incoming object has no id (eg web/mf2), default to URL
for #529
2023-07-11 13:25:30 -07:00
Ryan Barrett 56ebdba049
merging receive: propagate new/changed from receive into new Object
for #529
2023-07-11 13:25:30 -07:00
Ryan Barrett 79dd28eeb3
merging receive: Object.users bug fix, fix most test_activitypub tests
for #529
2023-07-11 13:25:30 -07:00
Ryan Barrett 9c62786f06
merging receive: delivery bug fix, stop suppressing webmention send errors
for #529
2023-07-11 13:25:30 -07:00