Wykres commitów

1222 Commity (4c12c087ac6e2b96ef7d2f765c934832ac93c7e4)

Autor SHA1 Wiadomość Data
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 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
Ryan Barrett 960d564614
ATProto DatastoreClient: add support for records in local repos
hopefully fixes https://console.cloud.google.com/errors/detail/CMCs_JjSnpWBtAE;time=P7D?project=bridgy-federated
2024-06-19 16:08:07 -07:00
Ryan Barrett 32c69876fb
AP: bug fix for converting Link attachments to HTML links in content
for 980a786, #958
2024-06-19 13:54:06 -07:00
Ryan Barrett 980a786c6b
AP: convert Link attachments to HTML links in content
...since some fediverse platforms (notably Mastodon) will render them as blank "Preview not available" embeds, and support on other platforms is unreliable. Most reliably generate preview embeds for HTML links in content though.

fixes #958
2024-06-19 13:29:20 -07:00
Ryan Barrett 349f4ba544
user page UI: ellipsize user-visible handles
fixes #994
2024-06-19 11:05:10 -07:00
Ryan Barrett 4a197549cd
migrate old ATProto integration tests from polling to firehose
for #689
2024-06-18 20:41:00 -07:00
Ryan Barrett 1e20044035
text fix for e6b4a23 (bug fix for bot user profiles) 2024-06-18 14:58:57 -07:00
Ryan Barrett a87f3583ca
add separate banner image to bot user profiles 2024-06-18 10:53:58 -07:00
Ryan Barrett 679e89c175
Protocol.translate_ids: add AS1 attachments[].id
needed for quote posts, #461
2024-06-17 16:36:44 -07:00
Ryan Barrett da5d434595
bug fix for deleting bridged fediverse actors: translate object as actor id
...not as object id. for #783, 81319a7628
2024-06-14 12:54:55 -07:00
Ryan Barrett 49445c9f97
AP outbox and following endpoints: 404 if user hasn't enabled AP 2024-06-14 12:00:20 -07:00
Ryan Barrett 81319a7628
when a Bluesky user blocks the ap.brid.gy bot, delete their bridged fediverse profile
for #783
2024-06-13 21:47:19 -07:00
Ryan Barrett 4e489a4ee0
activitypub.inbox: store seen activity ids in memcache, short circuit on seen ids earlier 2024-06-13 13:54:37 -07:00
Ryan Barrett cb2a3bef0b
Object: drop legacy converting (un-escaping) between ^^ and # in ids/URLs
for #469, well over a year old, I think we're safe to forget about this now
2024-06-13 13:24:32 -07:00
Ryan Barrett fdca3b6d55
Protocol.receive: don't attempt to deliver to followers on non-enabled protocols
mostly just handles this more gracefully. these deliveries were failing anyway, just not cleanly. fixes eg https://console.cloud.google.com/errors/detail/CMHloZaRmPXQZQ;time=P30D?project=bridgy-federated , probably others too
2024-06-13 12:02:54 -07:00
Ryan Barrett 616073f788
merge hub and atproto_firehose services into a single service, atproto_hub
atproto_firehose is averaging 20-40% CPU right now, hub 5-10%, and both are 500-600M memory steady state, so they can easily fit together.
2024-06-13 12:02:54 -07:00
Ryan Barrett 387d3169a6
ATProto: rename original* custom fields to bridgyOriginal*
for #1092
2024-06-12 15:22:45 -07:00
Ryan Barrett 417a88a2a6
ATProto: support new off-lexicon originalDescription and originalUrl fields
for snarfed/bridgy-fed#1092
2024-06-12 15:22:45 -07:00
Ryan Barrett 04112c88bf
ATProto.add_source_links: switch to granary's Bluesky.truncate()
for #986
2024-06-10 16:15:59 -07:00
Ryan Barrett 551637f6a1
ATProto.send: ignore update/delete of object that we didn't bridge
fixes https://console.cloud.google.com/errors/detail/COX1ss-HvOq5Xg;time=P30D?project=bridgy-federated
2024-06-08 16:52:34 -07:00
Ryan Barrett 5b7f8de8d6
ATProto.send: handle delete when we have Object but not contents
fixes https://console.cloud.google.com/errors/detail/COjSuYPS0qLvmAE;time=P30D?project=bridgy-federated
2024-06-08 16:40:19 -07:00
Ryan Barrett 4a2abbac5b
ATProto.send, create_report: short circuit if repo is tombstoned
fixes https://console.cloud.google.com/errors/detail/CLTU-qezn5vJnQE;time=P30D?project=bridgy-federated
2024-06-08 15:16:39 -07:00
Ryan Barrett 796edf2033
Protocol.receive: drop direct targets if user isn't bridged into their protocol
fixes https://console.cloud.google.com/errors/detail/CMHloZaRmPXQZQ;time=P30D?project=bridgy-federated
2024-06-08 15:08:12 -07:00
Ryan Barrett 9ff28ea690
ATProto.send: short circuit out for deletes of objects we don't have
fixes https://console.cloud.google.com/errors/detail/COjSuYPS0qLvmAE;time=P30D?project=bridgy-federated , https://console.cloud.google.com/errors/detail/COX1ss-HvOq5Xg;time=P30D?project=bridgy-federated
2024-06-08 14:28:16 -07:00
Ryan Barrett 026d99edc0
pass ignore_links=True to html_to_text everywhere
for #976
2024-06-06 18:14:35 -07:00
Ryan Barrett 183c829229
ATProto.add_source_links: truncate before adding source links
for #976
2024-06-06 14:16:05 -07:00
Ryan Barrett 27fc843825
Protocol.add_source_links bug fixes, handle actors inside create/update activities
for #976
2024-06-06 11:40:25 -07:00
Ryan Barrett be30afd55a
ATProto: use plain text URLs domains in "bridged by Bridgy Fed" profile text
for #976
2024-06-06 08:58:09 -07:00
Ryan Barrett 9e18b7f110
tweak "bridged by Bridgy Fed" links in profile: use handle, add source protocol
for #976
2024-06-06 08:58:09 -07:00
Ryan Barrett ad81b1883e
refactor Protocol.convert, extract out new add_source_links method
for #976
2024-06-06 08:58:08 -07:00
Ryan Barrett 0046f6436e
ATProto: when creating repo, store chat declaration to disable DMs
for https://github.com/snarfed/bridgy-fed/issues/1101
2024-06-04 20:22:31 -07:00
Ryan Barrett 3ccce1bc89
start using memorystore memcached for ndb global cache 2024-06-04 15:40:32 -07:00
Ryan Barrett 3fe402e54c
drop Object cache in Protocol.load 2024-06-04 14:27:04 -07:00
Ryan Barrett 07517f1685
ndb global cache: limit to users and profile objects, not other objects/activities 2024-06-04 14:27:04 -07:00
Ryan Barrett 441849a22a
Revert "Revert "start using an ndb in memory global cache in the frontends and router""
This reverts commit 0cbcf81ecc.

trying again!
2024-06-04 14:27:02 -07:00
Ryan Barrett 3cb9a9366d
Web, ATProto: skip add activities, eg Bluesky list items
hopefully fixes https://console.cloud.google.com/errors/detail/CP7I5eaZj-_TxgE;time=P7D;refresh=true?project=bridgy-federated
2024-06-04 14:10:21 -07:00
Ryan Barrett 423b5511dd
ATProto: Web.send: skip polls (objectType question)
for https://console.cloud.google.com/errors/detail/CPvA_dLO4r_hIA;time=P30D;refresh=true?project=bridgy-federated
2024-06-04 12:31:38 -07:00
Ryan Barrett 5e2dacc21f
Protocol.send_task: if send returns False, return 204, not 304
send returns False when the object or target URL are undeliverable. retries shouldn't fix this, so we don't want to retry.
2024-06-04 12:30:50 -07:00
Ryan Barrett 918b2f04ee
Web.send: skip polls (objectType question)
for https://console.cloud.google.com/errors/detail/CPvA_dLO4r_hIA;time=P30D;refresh=true?project=bridgy-federated
2024-06-04 12:03:34 -07:00
Ryan Barrett bad49575fb
Web: always use fetched URL as id, not u-url
fixes #829, cc #566
2024-06-03 16:20:46 -07:00
Ryan Barrett cc564a2b19
turn on authorization checks! HTTP sig matches actor, actor is allowed to modify object
for #566
2024-06-03 14:12:08 -07:00
Ryan Barrett 24559c8f17
Protocol.receive: normalize ids before resolving
for #959, and possibly others
2024-06-02 08:41:52 -07:00
Ryan Barrett 5266974731
Protocol.for_id: make Web own bot actor AP ids, not bot protocol 2024-06-02 08:21:18 -07:00
Ryan Barrett 68ef81ccec
webfinger: 404 requests for web users with unknown username
ie username doesn't match domain or mf2 custom username

fixes #1025
2024-06-01 17:53:04 -07:00
Ryan Barrett 0cbcf81ecc
Revert "start using an ndb in memory global cache in the frontends and router"
This reverts commit 7e77d7a463.

This slows down receive task processing, tasks all start taking longer and longer, can't figure out why. some kind of lock starvation in the global cache?

will experiment with this more in the ndb-global-cache branch.
2024-06-01 07:04:38 -07:00
Ryan Barrett 64324db3da
Web.poll_feed_task: limit to 10 items per poll 2024-05-31 13:46:01 -07:00
Ryan Barrett 7e77d7a463
start using an ndb in memory global cache in the frontends and router
lol yolo 982f8a70df/google/cloud/ndb/global_cache.py (L200-L202)

> Not intended for production use. Uses a single process wide dictionary to
> keep an in memory cache. For use in testing and to have an easily grokkable
> reference implementation. Thread safety is potentially a little sketchy.
2024-05-31 13:08:25 -07:00
Ryan Barrett 93f302d5de
noop: tests: drop unused flask.g imports 2024-05-30 13:50:52 -07:00
Ryan Barrett 7e594e3227
authz: move NO_AUTH_DOMAINS (a.gup.pe) from Protocol.receive to activitypub.inbox
for #566
2024-05-30 13:34:14 -07:00
Ryan Barrett fda7a79437
authz: on delete of actor signed by actor, pass authed_as to Object.get_or_create
for #566
2024-05-30 11:39:07 -07:00
Ryan Barrett 9f33767f33
authz: move LD Sig check from Protocol.receive to activitypub.inbox
for #566
2024-05-29 21:17:38 -07:00
Ryan Barrett 3301da3031
noop: add Fake.web_url 2024-05-29 16:46:16 -07:00
Ryan Barrett d6728a2e1b
Object.get_or_create authz check: allow a user to modify their profile object
for #566
2024-05-29 16:39:09 -07:00
Ryan Barrett 8f5d8221a9
add ids.profile_id, use everywhere
for #566
2024-05-29 16:18:15 -07:00
Ryan Barrett bfbae4b280
authz: normalize user ids before comparing, in both receive and Object.get_or_create
for #566
2024-05-29 12:29:38 -07:00
Ryan Barrett dd464ec6d3
add ids.normalize_user_id
for #566
2024-05-29 12:08:18 -07:00
Ryan Barrett ea0f61f446
authz: when comparing domains, handle common subdomains like www
for #566
2024-05-28 20:36:18 -07:00
Ryan Barrett f2a64c8b5c
Object.get_or_create: rename actor => authed_as, add to all calls
for #566
2024-05-28 16:07:32 -07:00
Ryan Barrett 820f7fa4f4
authz: add protocol.NO_AUTH_DOMAINS for domains we can't authorize yet
...eg a.gup.pe. https://github.com/snarfed/bridgy-fed/issues/566#issuecomment-2130714037
2024-05-28 15:23:22 -07:00
Ryan Barrett 1de49de720
update-profile: pass user id to receive task authed_as, not handle
for #566
2024-05-28 14:54:31 -07:00
Ryan Barrett 22760f5017
ActivityPub.verify_signature: follow controller/owner if different from keyId
for https://github.com/snarfed/bridgy-fed/issues/566#issuecomment-2130728082

https://swicg.github.io/activitypub-http-signature/#how-to-obtain-a-signature-s-public-key
2024-05-28 13:48:03 -07:00
Ryan Barrett 3ec5e57136
activitypub.signed_request: limit redirects
for #1085, #1087
2024-05-27 21:02:59 -07:00
Ryan Barrett 2dc693d654
test_pages: test_update_profile_receive_task 2024-05-27 20:38:51 -07:00
Ryan Barrett 03672679b9
activitypub, protocol: misc noop logging and code style tweaks 2024-05-27 20:38:49 -07:00
Ryan Barrett 83211cddc2
testutil: noop refactoring, remove path arg in assert_task 2024-05-24 22:16:20 -07:00
Ryan Barrett 6f84a98a5d
Protocol.receive: more authz log message tweaks
for #566
2024-05-24 20:00:23 -07:00
Ryan Barrett 4ca02824c9
Protocol.receive: tweak authz logging messages
for #566
2024-05-24 19:30:31 -07:00
Ryan Barrett f2be280016
atproto_firehose: load ATProto users by updated, not by created
fixes #1082
2024-05-24 18:40:22 -07:00
Ryan Barrett 6ffc4a3c3b
infra: add new router flex service, switch tasks to run on it
receive, send, webmention, and poll-feed
2024-05-23 20:40:54 -07:00
Ryan Barrett ae8b6ca7b6
fix test_activitypub_follow_bsky_bot_bad_username_error for d789fd10b6 2024-05-23 15:39:45 -07:00
Ryan Barrett d789fd10b6
ActivityPub.inbox: run receive in task instead of inline
for #1040
2024-05-23 15:02:49 -07:00
Ryan Barrett aa5ec4cccd
Protocol.maybe_delete_copy: minor tweaks
for #783
2024-05-23 11:43:02 -07:00
Ryan Barrett 9de5eb400c
Protocol.targets: don't add ATProto for reposts of/replies to non-bridged posts 2024-05-22 23:28:53 -07:00
Ryan Barrett 15af8b2585
limited domains bug fix: don't count protocol bot user follows 2024-05-22 22:33:57 -07:00
Ryan Barrett 4cf0959080
atproto_firehose: oops, still need to skip commits from our bridged users
add a test, should have had one originally!
2024-05-22 22:08:25 -07:00
Ryan Barrett f39392e225
Protocol: when disabling a protocol, also delete that protocol's copy user
for #783
2024-05-22 16:33:13 -07:00
Ryan Barrett eb53ac01ce
ATProto: support deleting bridged users
for #783
2024-05-22 15:13:36 -07:00
Ryan Barrett 45ba0fb69f
Protocol.send_task: handle missing url or protocol param 2024-05-22 14:28:17 -07:00
Ryan Barrett 7f72a62081
ATProto: delete polling code and config
for #978. end of a (brief) era!
2024-05-22 14:28:17 -07:00
Ryan Barrett b4124bd23f
AP: wrap content in <p> tag to preserve whitespace
for #990

this assumes an implementation detail of fediverse servers: that they apply a white-space: pre-wrap style to <p>s inside content. awkward overreach, but useful since white-space: pre-wrap preserves more whitespace (eg leading spaces on a line, multiple spaces, etc) than just converting newlines to <br>s.
2024-05-20 12:18:41 -07:00
Ryan Barrett 9e2447dd57
ATProto.convert: test guessing mention facet indices when displayName has full @-@ with server
for #957
2024-05-20 11:25:35 -07:00
Ryan Barrett edf3b5894e
activitypub.postprocess_as2: linkify indexed tags in content
makes Mastodon etc link them correctly to the local instance's UI in its rendering
2024-05-19 20:38:34 -07:00
Ryan Barrett 9243e18a4f
activitypub.postprocess_as2: hashtags: use activity id's domain for href
for https://github.com/snarfed/bridgy-fed/issues/1013
2024-05-19 17:56:26 -07:00
Ryan Barrett ec350e7fa6
activitypub.postprocess_as2: fix de-duping image attachments
for https://github.com/snarfed/bridgy-fed/issues/1000#issuecomment-2119106644
2024-05-19 15:38:13 -07:00
Ryan Barrett 7cf8a77a73
ActivityPub.postprocess_as2: always populate images into attachments as objects
hopefully for https://github.com/snarfed/bridgy-fed/issues/1000#issuecomment-2119106644, ATProto images without alt text not showing up in AP
2024-05-19 14:44:54 -07:00
Ryan Barrett 976653d5bb
atproto_firehose: fix tests for f6575cca4f 2024-05-19 13:57:42 -07:00
Ryan Barrett f6575cca4f
atproto_firehose.subscribe: skip bad commits
fixes #1061
2024-05-19 13:47:13 -07:00
Ryan Barrett 91ffffc8e0
bug fix for quality filter (REQUIRES_*) status checks
they go before explicit opt in overrid
2024-05-16 23:33:30 -07:00
Ryan Barrett 06e2e61b1e
ATProto: switch to granary's logic to populate strongRefs, via DatastoreClient
for #1007
2024-05-16 13:11:29 -07:00
Ryan Barrett d52b2ce3e9
ATProto: add new DatastoreClient class that uses both datastore and appview
for #1007
2024-05-16 12:48:28 -07:00
Ryan Barrett 8ee4c3b2ea
atproto_firehose.handle: switch dag_json from compact=True to dialect='atproto'
for AT Protocol's DAG-JSON variant with $link and $bytes: https://atproto.com/specs/data-model ; for https://github.com/snarfed/bridgy-fed/issues/1000
2024-05-15 21:00:42 -07:00
Ryan Barrett e4f9966686
Protocol.receive: second part of making explicit opt in override implicit opt out
for #1052, #974
2024-05-15 11:41:20 -07:00
Ryan Barrett 71b2306476
User.status/is_enabled: make explicit opt in override implicit profile opt-outs
...like Bluesky's hide from logged in views. fixes #1052
2024-05-15 10:35:03 -07:00
Ryan Barrett 03c5638bc1
Protocol.receive bug fix: resolve ids before checking for bot user follow, not after
for #1017
2024-05-14 17:01:20 -07:00
Ryan Barrett f6798f2725
abstract "bridged from Bridgy Fed" profile label across protocols
for #976
2024-05-14 16:03:42 -07:00
Ryan Barrett e089de97ee
ATProto: noop refactor, move actor self label to convert()
for #976
2024-05-14 16:03:42 -07:00
Ryan Barrett 8eeb588d11
atproto_firehose: make its own GAE service, lots of other refactoring
optimize loading DIDs, move around threads and exception handling, etc.

for #978
2024-05-13 22:02:09 -07:00
Ryan Barrett 2b449c6d31
User.status blocked bug fix for account age
for #1048
2024-05-13 07:35:12 -07:00
Ryan Barrett 79e5d2be07
bug fix for User.status handling: check for false-ness, not is None
we have some users in the datastore with status None, some with False. 😕 fixes #1048
2024-05-12 19:02:07 -07:00
Ryan Barrett dcd5f48b04
fix test_models.test_requires_name override
https://app.circleci.com/pipelines/github/snarfed/bridgy-fed/2174/workflows/20436f03-5f56-435a-9419-c52c3a97e184/jobs/2482
2024-05-11 22:43:32 -07:00
Ryan Barrett 348987f0b4
add Protocol.REQUIRES_OLD_ACCOUNT, enable for ActivityPub 2024-05-11 19:20:33 -07:00
Ryan Barrett 59b9e9c904
add protocol.LIMITED_DOMAINS 2024-05-11 17:39:04 -07:00
Ryan Barrett 3bba875c13
test_models: fix shadowed test name 2024-05-11 17:12:39 -07:00
Ryan Barrett 078bef041e
turn on REQUIRES_AVATAR/NAME for ActivityPub, Bluesky 2024-05-11 16:50:57 -07:00
Ryan Barrett 890c7083d3
Protocol.REQUIRES_NAME: check against handle, id 2024-05-11 16:47:12 -07:00
Ryan Barrett de0af66979
basic anti-spam: add new Protocol.REQUIRES_AVATAR/NAME constants
...and start returning `blocked` from User.status for them
2024-05-11 16:03:07 -07:00
Ryan Barrett 6bc9269ad0
ATProto firehose: load bridged dids from AtpRepo instead of users
hopefully cuts down on datastore load a bit

for #978
2024-05-10 11:31:47 -07:00
Ryan Barrett 741146eb8d
ATProto firehose: encode Object.bsky as compact DAG-JSON
fixes https://console.cloud.google.com/errors/detail/CIGJnbnCq7fm1gE;time=P30D?project=bridgy-federated and similar
2024-05-10 06:51:58 -07:00
Ryan Barrett 989cd29860
ATProto firehose: bug fix for loading DIDs
fixes https://console.cloud.google.com/errors/detail/CKKTu6mM0sunXQ;time=P30D?project=bridgy-federated
2024-05-09 21:25:13 -07:00
Ryan Barrett d56f405c96
ATProto firehose: fix race conditions in loading DIDs
for #978
2024-05-09 15:39:18 -07:00
Ryan Barrett 66b8846760
ATProto firehose: refactor and extract out loading our DIDs 2024-05-09 14:05:05 -07:00
Ryan Barrett eea8779872
ATProto firehose: subscribe at stored cursor + 1
for #978
2024-05-09 08:44:30 -07:00
Ryan Barrett a690bc0115
add bsky.social, x.com to domain blocklist
for https://github.com/snarfed/bridgy-fed/discussions/1035 . thanks for the nudge @lucajet!
2024-05-09 07:08:34 -07:00
Ryan Barrett 1ecdaf6b34
ATProto firehose: store cursor 2024-05-08 23:11:27 -07:00
Ryan Barrett b788105a71
ATProto firehose: start implementing cursor
for #978
2024-05-08 21:35:03 -07:00
Ryan Barrett 1e5fcfda0b
ATProto firehose: error handling, reconnect in subscribe 2024-05-08 20:43:10 -07:00
Ryan Barrett b8e0fecc3b
atproto_firehose.handle: implement delete
for #978
2024-05-08 20:19:18 -07:00
Ryan Barrett b4841f3e60
ATProto firehose: noop refactoring, add Op namedtuple
for #978
2024-05-08 15:48:39 -07:00
Ryan Barrett 0d24fafefc
ATProto firehose: tests for updates
for #978
2024-05-08 13:31:08 -07:00
Ryan Barrett 7867326ebe
ATProto firehose: implement deletes
for #978
2024-05-08 13:26:36 -07:00
Ryan Barrett 5c77f02dba
ATProto firehose: bug fix for quote posts with media embeds
for #978
2024-05-08 12:13:26 -07:00
Ryan Barrett 20afb59809
ATProto firehose: implement quote posts
for #978
2024-05-08 11:39:45 -07:00
Ryan Barrett 72ae63f4a0
ATProto firehose: test replies, mentions
#978
2024-05-08 11:31:31 -07:00
Ryan Barrett 8ff5426c49
test_atproto_firehose: noop refactor 2024-05-08 11:25:59 -07:00
Ryan Barrett 44763ca8ab
ATProto firehose: more tests
for #978
2024-05-08 11:18:50 -07:00
Ryan Barrett e214bc0a43
ATProto firehose: more tests
for #978
2024-05-08 10:39:03 -07:00
Ryan Barrett 389e2d9205
Protocol.targets: don't add trailing slash to PDS URL https://atproto.brid.gy
fixes #1032
2024-05-08 09:37:47 -07:00
Ryan Barrett 7ecf3dc381
ATProto firehose: start tests
for #978
2024-05-07 17:36:34 -07:00
Ryan Barrett f533479e0b
noop: drop unused flask.g imports 2024-05-07 17:14:59 -07:00
Ryan Barrett 4da00192b0
when someone follows a bot user to opt in, have the bot user follow them back
fixes #999. this makes sure we start receiving posts from AP users immediately, instead of waiting until a Bluesky opted in user follows them.
2024-05-07 10:54:18 -07:00
Ryan Barrett ca8e70de6a
ATProto: switch polling getAuthorFeed to posts_with_replies
for #1011, #1018
2024-05-07 08:16:41 -07:00
Ryan Barrett 2fa1ae73eb
when someone follows a bot user, refresh their profile first
...so that we're up to date on whether they're opted out or not

fixes #1017
2024-05-06 11:30:33 -07:00
Ryan Barrett c943e6fd87
/update-profile: bug fix for when user profile fetch fails
fixes https://console.cloud.google.com/errors/detail/CLzStOz_oPfYxwE;time=P30D?project=bridgy-federated
2024-05-05 19:22:11 -07:00
Ryan Barrett 515be28cdd
Protocol.receive: automatically send to ATProto PDS if user has ATProto enabled
for #999
2024-05-05 17:21:24 -07:00
Ryan Barrett c608ecaa36
noop: misc constants cleanup 2024-05-05 16:35:23 -07:00
Ryan Barrett c345d95b5e
webfinger: add a self link with type application/activity+json
for interop with some fediverse servers like Pleroma (and Akkoma etc) that are unnecessarily picky about which self content type they use from XRD vs JRD.

for #995. thanks @qazmlp!
2024-05-05 08:39:38 -07:00
Ryan Barrett 034236f4cf
AP: don't duplicate security context in @context in bot users
fixes #1003. thanks @grishka!
2024-05-05 08:29:47 -07:00
Ryan Barrett c98d8fce00
switch ATProto polling from cursor to indexedAt
for #954
2024-05-05 07:31:12 -07:00
Ryan Barrett 6f0f53bdb8
ATProto post polling: stop using cursor
this was unintentionally walking backward and backfilling

for #954
2024-05-05 07:31:09 -07:00
Ryan Barrett 0781a4c695
AP inbox delivery: return 422 when a user with a bad handle follows the bot user
for #982
2024-05-04 13:39:39 -07:00
Ryan Barrett a576e54796
ATProto polling: include limit even with cursor 2024-05-03 15:40:57 -07:00
Ryan Barrett 2bf526ab7c
refactor validating handles in ATProto and elsewhere
for https://github.com/snarfed/bridgy-fed/issues/982
2024-05-03 15:18:16 -07:00
Ryan Barrett b8e67829e3
ids.translate_handle: validate ATProto handles
https://atproto.com/specs/handle#handle-identifier-syntax

for https://github.com/snarfed/bridgy-fed/issues/982
2024-05-03 14:51:26 -07:00
Ryan Barrett 2f1ec8779f
ATProto: start using cursors in feed and notif polls
for #954
2024-05-03 12:54:59 -07:00
Ryan Barrett f4a0c3deaa
fix tests for 7b3fa6e82b 2024-05-02 20:22:35 -07:00
Ryan Barrett 7b3fa6e82b
ATProto: switch polling posts from getTimeline to getAuthorFeed
for #992
2024-05-02 20:11:21 -07:00
Ryan Barrett 1bcd675ecd
Bluesky _/~ => - characters in handles: docs, another test
for #982
2024-05-02 15:54:41 -07:00
Ryan Barrett 4b95d49ccc
ids.translate_handle: convert _ and ~ chars to - for Bluesky
hopefully fixes #982
2024-05-02 15:41:41 -07:00