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