Ryan Barrett
5073f0f422
ATProto fetch_blobs: check Content-Type against blob lexicon accept, if any
2024-09-29 11:05:30 -07:00
Ryan Barrett
4fb9e35b13
ATProto: skip videos over 50MiB blob maxSize limit
...
for #1348 , using snarfed/arroba@f8526e107d
not images yet though
2024-09-29 08:57:19 -07:00
Ryan Barrett
b09a705f34
ATProto: move lexicon schema validation to arroba
...
in snarfed/arroba#ec4d136972f0e26a9ebe10d0fa98e914018a64ca
2024-09-28 16:10:53 -07:00
Ryan Barrett
19b5dd56e2
ATProto: try turning on schema validation for outgoing records
...
see snarfed/lexrpc#3. I expect this will highlight at least a couple kinds of invalid records that we're currently emitting, eg #1327
2024-09-27 20:10:38 -07:00
Ryan Barrett
94f2f66ae6
noop: atproto: simplify some Bluesky identifiers
2024-09-19 13:47:24 -07:00
Ryan Barrett
4df76d0db7
when we get a delete, or a web user opts out, delete their copies in other protocols
...
for #1304
2024-09-16 18:27:04 -07:00
Ryan Barrett
3dc3330603
code doc and docstring tweaks
2024-09-12 13:05:41 -07:00
Ryan Barrett
7c4784e103
ATProto._convert: fetch video blobs as well as images
...
for #1317
2024-09-11 20:21:48 -07:00
Ryan Barrett
794a772619
switch ATProto chat polling from task to cron job
2024-09-10 16:46:37 -07:00
Ryan Barrett
36a9f94cb8
add fallback kwargs to User.user_link, Protocol.bridged_web_url_for
...
for #966
2024-09-10 16:44:18 -07:00
Ryan Barrett
01fbc604e9
atproto.poll_chat_task: fill in DM recipient (to) manually
...
it's not in chat.bsky.convo.defs#messageView, and the repo DID in the at:// URI should be the sender's, not the recipient's
for #966
2024-08-29 16:49:07 -07:00
Ryan Barrett
c974c6fe2a
ATProto.poll_chat_task: ignore chat messages from protocol bot users
...
for #966
2024-08-29 12:52:27 -07:00
Ryan Barrett
832b3e3914
ATProto chat log polling: update to handle getLog semantics
...
re https://github.com/bluesky-social/atproto/issues/2760 , for #966
2024-08-29 12:52:27 -07:00
Ryan Barrett
9c0ad8c00c
ATProto: poll for new chat messages to protocol bot users
...
for #966
2024-08-27 22:44:37 -07:00
Ryan Barrett
302e2cc790
noop: extract ATProto.create_report and send_chat out into functions
2024-08-27 22:44:37 -07:00
Ryan Barrett
8f32881fd5
noop: extract new atproto.chat_client() fn out of ATProto.send_chat
2024-08-27 22:44:37 -07:00
Ryan Barrett
2626bda8a4
ATProto.send_chat: narrow getConvoForMembers error handling to just "recipient disabled chat"
...
raise others, and all from sendMessage
2024-08-21 07:55:09 -07:00
Ryan Barrett
ea6e195835
ATProto.send_chat: add new lxm claim to JWT
...
lxm scopes the JWT to a single XRPC method, so we need a token per call now. https://github.com/bluesky-social/atproto/discussions/2687
2024-08-16 14:32:47 -07:00
Ryan Barrett
2adc661aa4
/r/ and Protocol.for_id: handle bad bsky.app URLs better
...
for https://console.cloud.google.com/errors/detail/CNSB0pOhgIfdbA;locations=global;time=P30D?project=bridgy-federated
2024-08-15 14:35:49 -07:00
Ryan Barrett
799ccc2a7c
noop: ATProto.send: switch as1.is_dm to as1.recipient_if_dm
2024-08-14 17:06:58 -07:00
Ryan Barrett
a91c8087fb
ATProto.send: gracefully handle updates/deletes that don't match original AT URI
...
for eg #1252
2024-08-11 07:42:10 -07:00
Ryan Barrett
925771562f
add Protocol.SUPPORTS_DMS
...
for #1024 , #966 , etc
2024-08-08 20:41:57 -07:00
Ryan Barrett
37c781a2df
ATProto.send: handle DMs, translate and send as chat messages
...
for #1024 , #966 , etc
2024-08-08 20:17:06 -07:00
Ryan Barrett
848313dfd4
ATProto.send_chat: handle 400 from getConvoForMembers, sendMessage
...
for #1024 , #966 , etc
2024-08-07 13:09:37 -07:00
Ryan Barrett
c8d6ba510f
add ATProto.send_chat
...
for #1024 , #966 , #758 , etc
2024-08-07 13:09:37 -07:00
Ryan Barrett
c4f75bfbd0
noop: ATProto.create_report: fix log message
2024-08-07 13:09:37 -07:00
Ryan Barrett
124718ecc7
ATProto.create_report bug fix: include JWT
2024-08-05 19:38:52 -07:00
Ryan Barrett
14548dcaf6
add flag to ATProto.SUPPORTED_AS1_TYPES
2024-08-05 13:34:55 -07:00
Ryan Barrett
70dd6d3ceb
minor logging optimizations
...
for https://github.com/snarfed/bridgy-fed/issues/1149
2024-08-02 08:03:44 -07:00
Ryan Barrett
5454e19a23
ATProto.handle_to_id: skip opted out/blocked users
...
for #1215
2024-07-27 08:55:53 -07:00
Ryan Barrett
d14e19ce16
ATProto._convert: when converting images to blobs, skip images that we can't fetch
...
fixes errors registering web sites when fetching their favicons etc fails
2024-07-24 16:08:55 -07:00
Ryan Barrett
00626f5f42
ATProto.create_for: handle existing DNS record
...
delete and add new one. for #1072
2024-07-24 13:41:21 -07:00
Ryan Barrett
4c21eb2f74
ATProto.create_for: extract out set_dns_did method
...
prep for #1072
2024-07-24 08:17:06 -07:00
Ryan Barrett
da251d9ec1
ATProto: link to user page in profile footer links for web users
2024-07-23 22:11:42 -07:00
Ryan Barrett
4c5b666703
ATProto._convert: always convert RSS/Atom posts to external embeds
...
with new bluesky.from_as1 as_embed kwarg
2024-07-22 13:55:35 -07:00
Ryan Barrett
7e792ea22f
drop spam filter req't that display name is different than username
...
for https://akkoma.dev/AkkomaGang/akkoma/issues/438#issuecomment-12745 , cc @snan
2024-07-16 10:46:17 -07:00
Ryan Barrett
ee62334a93
turn on web <=> Bluesky!
...
for #1034
2024-07-15 19:40:10 -07:00
Ryan Barrett
714c317dd4
Protocol.targets: only deliver reposts, replies etc if the original post was bridged
...
for #1166 , #1151 , maybe others. #1151 is the big motivation here: that we're currently generating and sending Bluesky a ton of reposts with blank subject cid/URL, which afaict is the main reason bridging is getting stuck for some accounts and the relay is constantly calling `getRepo`. I'm hoping this will reduce or eliminate that.
this isn't a big behavior change, but it is a kind of big change to routing logic. it's tested pretty well, but I still expect something to break. we'll see.
2024-07-09 17:29:02 -07:00
Ryan Barrett
df75e97880
atproto_firehose.handle bug fix: deletes don't have records
...
for #1162
2024-07-06 14:47:14 -07:00
Ryan Barrett
e5a6ebf228
drop Protocol.HAS_FOLLOW_ACCEPTS in favor of SUPPORTED_AS1_TYPES
2024-07-05 23:12:35 -07:00
Ryan Barrett
b606924d63
refactor SUPPORTED_AS1_TYPES usage into new Protocol.check_supported method
2024-07-04 21:11:38 -07:00
Ryan Barrett
850d681f83
add Protocol.SUPPORTED_AS1_TYPES
2024-07-04 16:58:06 -07:00
Ryan Barrett
22d6cef9b1
ATProto: translate undo (of eg likes, reposts) to delete
...
for #1127
2024-06-29 21:57:22 -07:00
Ryan Barrett
48dd8b1531
ATProto.send bug fix for updating profiles
2024-06-24 18:17:58 -07:00
Ryan Barrett
6e7667c266
ATProto.send and nearby: don't assume that ids are already translated
...
for refactoring opt_out.py to be more generic
2024-06-22 16:41:23 -07:00
Ryan Barrett
e5d800cf53
ATProto: handle getRecord errors
...
hopefully fixes https://console.cloud.google.com/errors/detail/CMCs_JjSnpWBtAE;time=P30D?project=bridgy-federated
2024-06-20 11:20:24 -07:00
Ryan Barrett
0ec722f4a0
ATProto.send: handle update and delete when record doesn't exist
...
hopefully fixes https://console.cloud.google.com/errors/detail/CODcisqz56SZugE;time=P7D?project=bridgy-federated , https://console.cloud.google.com/errors/detail/CN_mkuKjg-rf_wE;time=P7D?project=bridgy-federated
2024-06-19 21:12:41 -07:00
Ryan Barrett
3d3ac1e9f4
ATProto.send: implement stop-following
...
hopefullly fixes https://console.cloud.google.com/errors/detail/CPvA_dLO4r_hIA;time=P7D?project=bridgy-federated
2024-06-19 19:59:55 -07:00
Ryan Barrett
ea3264928a
ATProto.send: move conversion check later
...
for 94676ac694
, https://console.cloud.google.com/errors/detail/COjSuYPS0qLvmAE;time=P7D?project=bridgy-federated
2024-06-19 16:42:58 -07:00
Ryan Barrett
94676ac694
ATProto.send: short circuit if we couldn't convert the object
...
for #1064 , hopefully fixes https://console.cloud.google.com/errors/detail/COjSuYPS0qLvmAE;time=P7D?project=bridgy-federated
2024-06-19 16:23:51 -07:00