Ryan Barrett
7e7962fe45
add orig_obj kwarg to Protocol.send
2023-10-07 12:49:39 -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
e00a4b52ba
ATProto: don't create DNS records if DEBUG is on
2023-10-05 15:55:31 -07:00
Ryan Barrett
7d8b1ba2e8
add fetch_blobs kwarg to Object.as_bsky
2023-10-05 15:47:04 -07:00
Ryan Barrett
000b08f9b2
when creating a new ATProto user, add a DNS _atproto TXT record for their handle
2023-10-04 13:54:20 -07:00
Ryan Barrett
e96ab4654f
move creating ATProto users from User.get_or_create to new ATProto.create_for
2023-10-04 12:44:14 -07:00
Ryan Barrett
b4d5ab15ef
ATProto: assert that we only store record type objects in the repo
2023-10-03 16:56:06 -07:00
Ryan Barrett
318ba554d5
misc hub setup, testing live
2023-09-29 11:32:29 -07:00
Ryan Barrett
bfabfabea7
move creating a new ATProto user from ATProto.send to User.get_or_create
...
in progress, still need to load user profile object and write it to ATProto repo
2023-09-29 11:32:28 -07:00
Ryan Barrett
ef44dae317
ATProto: when storing user, always try to fetch DID doc if we don't have it
2023-09-26 14:47:26 -07:00
Ryan Barrett
068dcdeb86
ATProto.send: ignore accepts and undos
2023-09-26 14:47:26 -07:00
Ryan Barrett
a9fcc167f6
replace User.readable_id computed property with handle
2023-09-25 15:08:14 -07:00
Ryan Barrett
9b8b02e99f
consolidate ap_address in ATProto, Fake, Web (partially) into User
2023-09-25 12:45:47 -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
6cdb04b53f
replace User.atproto_handle with handle_as('atproto')
2023-09-25 10:58:05 -07:00
Ryan Barrett
40ba007e9e
add User.handle()
2023-09-25 10:58:05 -07:00
Ryan Barrett
6ae57bfd94
atproto: bug fix for getRecord call
2023-09-23 13:52:49 -07:00
Ryan Barrett
452e49134d
add User.profile_id, implement in ATProto
2023-09-22 15:40:22 -07:00
Ryan Barrett
e257d43f21
webfinger: if user part isn't an id, try resolving it as a handle
2023-09-22 15:14:15 -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
5107d003fe
Object.as1: genericize converting actor/author id from copy to original
2023-09-19 19:59:28 -07:00
Ryan Barrett
bb18b5ee0d
add new User.copies property
2023-09-19 16:07:11 -07:00
Ryan Barrett
abde77e7eb
noop: more comments in ATProto.poll_notifications
2023-09-19 12:21:34 -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
7c35fe4b1b
atproto.poll_notifications: generate and send AppView JWT
2023-09-18 15:04:00 -07:00
Ryan Barrett
b45635b125
noop: move canonicalizing AT URIs TODO from ATProto to Object
2023-09-14 16:52:22 -07:00
Ryan Barrett
077b5a97bc
ATProto.send: populate Object.copies with local record's AT URI
2023-09-14 10:20:04 -07:00
Ryan Barrett
d3b3ff47f5
atproto: start on polling notifications
...
lots more to do here, 8 new TODOs in this commit 😆
2023-09-14 09:42:11 -07:00
Ryan Barrett
2bb5db826c
atproto: support bsky.app URLs as targets
2023-09-12 21:52:21 -07:00
Ryan Barrett
bd09af9c24
atproto: use proper DID docs instead of PLC operations
...
corresponds to snarfed/arroba@d52cb4d . also fix verifying signature in PLC genesis operation.
2023-09-12 11:57:08 -07:00
Ryan Barrett
0723eca115
migrate webmention task to common.create_task
...
also bring back lexrpc logging, other minor docstring/comment updates
2023-09-11 16:21:03 -07:00
Ryan Barrett
d2bb9108c7
atproto: switch to new simpler atproto-commit task without seq
2023-09-10 16:44:05 -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
ee3b72fb1e
atproto: enqueue atproto-commit task for first commit on new repo
2023-09-09 07:50:53 -07:00
Ryan Barrett
165a403353
drop User.k256_pem, use arroba's AtpRepo.signing_key/rotation_key instead
2023-09-08 21:52:46 -07:00
Ryan Barrett
ac06e0fef3
atproto: update for arroba rotation key, always create did:plc and repo together
2023-09-08 21:08:12 -07:00
Ryan Barrett
f116dbfa26
implement atproto_handle() in Web, ActivityPub, ATProto
2023-09-06 19:52:09 -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
f91486db75
add new atproto-commit task queue, enqueue tasks for new commits
...
hub will consume these and emit them to subscribeRepos subscribers
2023-09-05 20:10:11 -07:00
Ryan Barrett
73f8bf29b3
switch from arroba's bundled com.atproto lexicons to lexrpc's
2023-09-04 19:26:20 -07:00
Ryan Barrett
f03b97e44a
delete XRPC method handlers, they're unused
2023-09-04 08:12:17 -07:00
Ryan Barrett
70edf4173e
ATProto: when creating new repo, add user profile record if available
2023-09-01 14:18:50 -07:00
Ryan Barrett
7949dd0da7
ATProto: update target_for to handle non-ATProto users
2023-09-01 13:59:28 -07:00
Ryan Barrett
abf583952c
first pass at ATProto.send
2023-09-01 12:07:21 -07:00
Ryan Barrett
3cb1fea53f
ATProto: use handle in web_url()
2023-08-31 11:50:36 -07:00
Ryan Barrett
fd4b40fe7c
implement default User.ap_actor()
2023-08-31 11:49:10 -07:00
Ryan Barrett
5c1032a7e7
implement ATProto.ap_address
2023-08-31 11:19:57 -07:00
Ryan Barrett
36be6b9dd2
implement ATProto.readable_id
2023-08-31 10:58:24 -07:00
Ryan Barrett
e18dabf510
implement ATProto.target_for, .fetch for at:// URIs
2023-08-31 10:48:28 -07:00
Ryan Barrett
96b63487fa
implement ATProto.fetch for DIDs
2023-08-30 20:59:53 -07:00
Ryan Barrett
6ac1193171
implement ATProto.serve
2023-08-29 12:35:20 -07:00
Ryan Barrett
2742904468
ATProto: implement first pass at web_url
2023-08-23 21:04:17 -07:00
Ryan Barrett
16bbd66d91
ATProto: validate that key id is did:plc or did:web
2023-08-23 20:44:42 -07:00
Ryan Barrett
0c4f23dc18
start on ATProto!
...
for #381
2023-08-23 20:34:32 -07:00
Ryan Barrett
259e982986
bluesky: remove sync XRPC method implementations
...
they're moving to arroba
2023-05-22 12:56:21 -07:00
Ryan Barrett
0ab3698db7
Bluesky: move most ATProto code to separate arroba library
...
https://github.com/snarfed/arroba
2023-05-06 14:41:06 -07:00
Ryan Barrett
ad8d710cd8
atproto: move signature handling into atproto_util
2023-04-29 15:46:08 -07:00
Ryan Barrett
ff7f52fb5a
bluesky: move a few utils to new atproto_util module
2023-04-28 15:29:40 -07:00
Ryan Barrett
412f3416a4
big steps toward getting getRepo working
...
* generate commits
* sign commits
* serialize and include MST after each commit, not just at the end
phew!
2023-04-27 16:48:25 -07:00
Ryan Barrett
e9555b4c4b
atproto: fix TID generation
...
bluesky team's base32 isn't base32, it's their own thing that preserves lexicographic sort order.
* atproto/packages/common-web/src/util.ts
* atproto/packages/common-web/src/tid.ts
2023-04-26 21:40:43 -07:00
Ryan Barrett
3985b2bea6
bluesky: implement com.atproto.sync.listRepos
2023-04-21 15:44:22 -07:00
Ryan Barrett
51b587cff4
bluesky: implement com.atproto.sync.getHead
...
also now getRepo test is failing with "Not a valid node: two subtrees next to each other," not sure why, I think this was latent and the new random seeds are triggering it.
2023-04-21 14:31:39 -07:00
Ryan Barrett
5b59baa88f
bluesky: implement com.atproto.sync.getBlocks
2023-04-20 21:34:16 -07:00
Ryan Barrett
df7b919161
bluesky: implement getRepo earliest and latest
2023-04-20 19:28:39 -07:00
Ryan Barrett
3493aafca8
Bluesky: implement com.atproto.sync.getRepo
...
first com.atproto.sync XRPC! 🎉
2023-04-20 19:28:39 -07:00