Thu, Apr 6, 2023
- @thezanarkandkid:matrix.org
- counterpoint00:15Message deleted
- 04:40@athena123:matrix.org joined the room
- syui04:09The link is broken, can you please merge PR? https://github.com/bluesky-social/atproto-ecosystem/pull/3/files
- 04:450xHelena joined the room
- 04:550xHelena set a profile picture
- 05:57@ga62puq:tum.de joined the room
- 07:37shiranuia joined the room
- Aaron Goldman
- 07:54@athena123:matrix.org left the room
- 08:39inuinu_1111 joined the room
- 09:09piyochan joined the room
- megnconnors09:21Aaron Goldman: Thank you for clarifying. Are devs still handing out invite codes here and there and, if so, would it be possible to receive one? Otherwise happy to wait in line. 🙂
- 10:07k32ru joined the room
- 11:35@anselm.schumacher:matrix.org left the room
- 11:57@jlsgo:matrix.org left the room
- 13:01kevinstanza joined the room
- kevinstanza13:23As a UX designer, I know the secret to making life user-friendly, but I'm stuck at the login page without a Bluesky invite code! 🙈 If one of you delightful folks could hook me up, I promise to bring a splash of color, heaps of creativity, and an endless supply of design puns to the community.
- Aaron Goldman13:40And invite codes that don't look like domain names to confused people.
- 14:05Ko Pon joined the room
- pfrazee14:21that's on me. The idea was that people running custom servers could just give the invite code, and the UI would figure out the server's domain name from the code
- 14:21may still be useful but it ended up being a bit confusing to folks
- Aaron Goldman14:45Live and learn. I like the new ones better
- 14:53Karl Abbott changed their display name to Karl Abbott (Away until 10-April-2023)
- 17:45@kappaseijin:matrix.org left the room
- 19:21@microtechton:matrix.org joined the room
- 20:09mnep2876 joined the room
- 21:56Yumeka joined the room
Fri, Apr 7, 2023
- 05:06oto joined the room
- 05:07oto6 changed their display name to oto
- 05:50focumieee joined the room
- 06:14@bluesk:matrix.org joined the room
- @bluesk:matrix.org
- oto06:56Message deleted
- oto
- oto07:05Message deleted
- 07:06Message deleted
- 07:07Message deleted
- onlytangerine09:19Sure
- 10:11marin_karin joined the room
- 10:24aetos joined the room
- oto10:35Could someone please send me an invitate code?
- Marcio Alves11:21Join my community, people, this social network is also a competitor of Twitter and has a community like Orkut had https://dailyfriend.com.br/communities/1680884488179432
- 11:27adomiso joined the room
- yaanislive11:41hey
- 12:07simopion joined the room
- simopion12:16hi! ld like to join bluesky sicial. Can I have a invite code. please.
- 12:16@npxx:matrix.org joined the room
- 12:16@npxx:matrix.org joined the room
- 12:16@npxx:matrix.org left the room
- adomiso12:35Can I get an invite code?
- cloud2012:36Hey guys I’ve been waiting for the right time and not interrupt the conversation, this is the right time to ask for a code as well, I really appreciate your time and work put into the app
- 14:18echophase joined the room
- 15:34wakest joined the room
- 15:47@meowmeowmilktea:matrix.org joined the room
- 15:52@meowmeowmilktea:matrix.org joined the room
- 16:08stevie komputer joined the room
- 16:39@meowmeowmilktea:matrix.org joined the room
- 16:40@meowmeowmilktea:matrix.org joined the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- 18:11Haider Ali Punjabi joined the room
- 18:17@mbarrueto:matrix.org joined the room
- 20:44Mhdmkz Dreams joined the room
- 21:56@kenta.toida:matrix.org joined the room
- 21:57@kenta.toida:matrix.org left the room
- 22:05@ebikko:matrix.org joined the room
- 22:51yanagi joined the room
- 23:48@timenaut:matrix.org joined the room
Sat, Apr 8, 2023
- 01:28@tagh116:matrix.org joined the room
- 01:35@tagh116:matrix.org left the room
- 02:49stefanmendoza joined the room
- yanagi04:13Could anyone send me a invite code for Bluesky?
- panji.bsky.social
- 04:54@ebikko:matrix.org left the room
- 06:28sgrs_at joined the room
- panji.bsky.social
- @bluesk:matrix.org
- panji.bsky.social
- @bluesk:matrix.org
- 07:21@bluesk:matrix.org joined the room
- 07:21@bluesk:matrix.org left the room
- 07:26moxak joined the room
- 07:48@orion95:matrix.org joined the room
- @orion95:matrix.org07:49Hello :)
- 07:49Mantas Kontrimas changed their display name to ORION
- 07:52@orion95:matrix.org left the room
- 08:39Nika Kotláriková joined the room
- 08:41Nikola Kotláriková changed their display name to Nika Kotláriková
- 08:41Nika Kotláriková set a profile picture
- Nika Kotláriková08:42Hi guys! How are you? Where are you from? 🙂 Is there anybody from the Central Euorpe?
- 10:17jamesg joined the room
- 10:26AJ Martins joined the room
- AJ Martins10:31Hi everyone. I was wondering if anybody has an invite available to stare. I’d really appreciate one.
- 10:31ajms changed their display name to AJ Martins
- 14:12Simon joined the room
- 14:44Eliacim joined the room
- 14:44Eliacim set a profile picture
- @microtechton:matrix.org17:33Message deleted
- moved to @shreyan:beeper.com@shreyanjain:matrix.org17:33don't ask for invites in this channel please
- @microtechton:matrix.org17:34Message deleted
- b0gg3r18:00That's a fair point
- snarfed
- 18:58and if so, does it then make an
app.bsky.actor.getProfile
or similar call to the PDS before it will show a result? - 19:00I'm guessing no to both, since searches for eghuffduff-video.snarfed.organd did:web:huffduff-video.snarfed.orgboth return no results, even though I think (hope) https://huffduff-video.snarfed.org/did.json is valid, and I haven't seen any incoming requests tofed.brid.gy, the serviceEndpoint in that DID doc
- 19:00totally ok if that's true, just checking
- whyrusleeping19:05I can add dids to the search query when i update it next
- snarfed19:08whyrusleeping: not urgent. and thanks!
- 19:12in the meantime, for poking at federation, sounds like I'll have more luck trying out the other direction, ie fetching from your PDS, with eg
com.atproto.sync.getRepo
,subscribeRepos
, etc? - 19:13(I definitely know I'm jumping the gun, it'll be rough, etc, feel free to tell me to hold off if you'd prefer)
- @meowmeowmilktea:matrix.org
- snarfed19:19probably yes! I wouldn't try now though, it's still very early, not many implementations yet, and afaik they're all rough and in flux
- @meowmeowmilktea:matrix.org
- 20:05Whizanth joined the room
- 20:23Amada joined the room
- Marcio Alves21:34How to create a Your hosting provider for me to put on BlueSky?
- moved to @shreyan:beeper.com@shreyanjain:matrix.org21:35not possible yet
- 21:48ch33gyu joined the room
- 21:49@ch33gyu:matrix.org set their display name to ch33gyu
Sun, Apr 9, 2023
- 02:56Goh joined the room
- 06:36Eri Ikematsu joined the room
- 06:36origasa joined the room
- Aaron Goldman06:39
In reply to this message
So you should take this with a grain of salt since it has opinion, forward speculation, and is more implementation guidance then protocol but...
You probably don't want to do cross PDS traffic in response to a search.
It has performance and security concerns.
Of course you could hit the endpoints intended for clients, that is the web2 we all know and love but sync is the interesting part of the protocol. The content controllers are all over but your client gets data from your PDS.When a client does a search for a DID that is not in a PDSs database it may just put that DID in a crawl list. Some background processes that are rate limited can crawl the wavefront without bothering the servers with lots of crawling traffic.
Think about how Google responds when you Google a URL it has never crawled or indexed. It doesn't do a live crawl and index before responding to the search it just added the url to the known or suspended URLs list.
If someone is doing searches for say
did:web:victim.example:user:<nonce>
they could make up endless random did:webs and submit them to many many PDSs to send a flood of PDS traffic to DDOS the site.Better to just add a new DID to a rate limited crawl and if the crawl finds a valid DID and it to the index then. If the DID leads to a new PDS then you will want to check the reputation of that PDS before you start syncing with it. There is just a lot to do that's worth doing async and not holding up a search result that could just honestly respond "did:web:whatever was not in the index" is probably not worth the effort.
- 06:58tomill joined the room
- sylphrenetic07:54
In reply to this message
is the intention to eventually have indexers that exist at a level higher than the PDS that can do some of the heavy lifting of indexing the large amounts of data from other sources and leave just data storage to the PDS? it seems like if not we are packing a lot of functionality into the PDS that's going to create a huge barrier to entry for new ones to be created. - sylphrenetic08:03I'm not sure if indexers would be architected in way such that they each hold semi-unique information with little redundancy between them or whether they would be more like nodes within a network that have redundancy based on usage around them, like Kademlia, but I do think that having some higher level indexing than the PDS might be necessary.
- 08:40blu3mo joined the room
- snarfed10:14Aaron Goldman: thanks for the explanation! definitely helps me understand the current design and intent
- 10:14I don't know that search triggering external requests is necessarily a bad design. re the attack vector, if it required fan-out, then I'd agree, but if it only triggers one-to-one external requests, it's not an amplification attack, so it's not clearly an attack vector
- 10:15fwiw, this is how ActivityPub works. it has background sync, even if it's individual activity level instead of repo level, but also when you search for a handle or activity URL, it fetches that from the external instance synchronously
- 10:16it's how they let you follow someone or interact with a post that the instance has never seen before
- 10:16(sorry, you probably already know all this)
- 10:16not a big deal though, this design works too!
- 10:20sylphrenetic: for whole-network indexing, yes: https://atproto.com/guides/overview#achieving-scale
- 11:02gamex93 joined the room
- Aaron Goldman11:06
In reply to this message
The point of this channel is discussion of the protocol and implementation trade offs. That's going to require retreading the differences a lot. 🙂 - 11:08For what it is worth Activity Pub is working on the popular posts DDOS the server to hydrate the links in a post
- snarfed11:08true! also I think when AP services like Mastodon fetch externally based on search, they only do it when the search query looks like an @-@ handle or a URL, not on every search. if every search triggered external requests, you're right, that wouldn't be a good idea
- 11:08(er sorry, "true" was to the previous message, I didn't quite follow the popular posts one)
- snarfed11:29ohhh if you mean Mastodon's link preview DOS then yes, that I'm definitely familiar with. somewhat different though. https://github.com/mastodon/mastodon/issues/4486#issuecomment-395076695
- snarfed11:39current status: building https://github.com/ipld/go-ipldtool so that I can inspect the CAR files emitted by eg https://bsky.social/xrpc/com.atproto.sync.getRepo to see if they're CARv1 or CARv2
- 11:39(pretty sure they're v1, since the header doesn't match v2's magic bytes, https://ipld.io/specs/transport/car/carv2/#pragma )
- 11:53Lawal Sherif joined the room
- 11:55davidnoe joined the room
- 12:25t2756 joined the room
- Aaron Goldman12:42You may also find https://github.com/ipld/go-car useful
- 12:46https://github.com/ipld/go-car/tree/master/cmd/car car get-dag in particular
- snarfed13:18yes! I found that one too. ipldtool didn't work, --input wasn't implemented, but go-car is great. thanks!
- 14:36xmatx joined the room
- 15:05alice joined the room
- 16:47mungonmun joined the room
- mungonmun16:54Hello, I don't have an invitation yet, is there any way I can use bluesky with my own node?
- 17:10Marcos joined the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- 17:44@ga62puq:tum.de left the room
- Dean20:00Is it possible for those who made PRs and github issues in the past for the bluesky source code and docs to get an invite? 🙏(edited)
- 20:56Ed Goode joined the room
- 22:47snek joined the room
- 22:54Tianyu (Eric) Zhu joined the room
- 23:27田中堅太郎 joined the room
- 田中堅太郎23:43Message deleted
- 23:47田中堅太郎 set a profile picture
- 田中堅太郎23:50Message deleted
- Yumeka23:56If everyone here starting to ask for invite code, this channel will be "Bluesky Invite codes", not "Bluesky Dev".
- 23:57mayaaaa joined the room
Mon, Apr 10, 2023
- 00:16@4513echo:matrix.org joined the room
- 00:17Chris Hahn joined the room
- 00:18Chelsea Manning joined the room
- 00:18arthur42 joined the room
- 00:19wafflez180 joined the room
- 00:21brunocasares joined the room
- 00:24schaumburg joined the room
- Chris Hahn00:26I don't know anything about coding, I just like watching the cooks in the kitchen. I am looking respectfully...
- 00:28Connor Fowler joined the room
- 00:37garlol joined the room
- 01:39しょうねん joined the room
- 04:06cornesacher joined the room
- 05:36@lsrg:matrix.org joined the room
- 05:40@lsrg:matrix.org left the room
- 07:12Karl Abbott (Away until 10-April-2023) changed their display name to Karl Abbott
- 07:33Nad // away changed their display name to Nad
- alice07:50been playing with the API, pretty neat https://github.com/aliceisjustplaying/bluesky-experiments/blob/main/index.ts
- 07:51discovered some things (inline links) atproto supports but the app doesn't yet 😊(edited)
- aisato07:55I would like an invite code....
- @planetoryd:matrix.org
- aisato07:57Message deleted
- @planetoryd:matrix.org07:57ur welcome
- aisato
- Marcio Alves10:20The BlueSky app looks like it's already in the play store review!
- 10:23The Android version arrives this week!
- @thezanarkandkid:matrix.org
- panji.bsky.social10:25Good news
- 10:46richstokes joined the room
- Marcio Alves10:48Did your BlueSky connection also drop?
- alice10:48it's down for maintenance, will be back soon
- Adam The Victini11:23I hope it comes back up shortly
- Adam The Victini11:31It’s back up!
- @thezanarkandkid:matrix.org
- Adam The Victini11:32;)
- 13:44pepijndevos joined the room
- pepijndevos13:46How does synchronisation work in the at protocol? Is it a full master-master replication or more like a dht?
- snarfed13:51pepijndevos: somewhere in between, but per user, not per server. https://atproto.com/guides/data-repos
- pepijndevos
- 13:59What I'm trying to understand is, if my PDS goes offline, which servers have my SDR so I can migrate it? Weighed against, how prohibitive will the storage requirements be for running a PDS if it ends up synching all of the network
- 14:02And for example, if I mention a user that doesn't follow me, how does this info propagate?
- snarfed14:14pepijndevos: if your PDS goes offline, your device(s) have your data, and you can migrate with your recovery key. https://atproto.com/guides/overview#account-portability
- 14:14re synchronizing, yes
- 14:15re mentioning a user that doesn't follow you, they haven't fully documented their federation yet, but it seems to be the same per-user PDS incremental synchronization idea. https://atproto.com/guides/overview#federation
- pepijndevos14:22Ah so migration is via local backup, not via others PDS that have a copy of your data, or are both possible?
- snarfed14:24sounds like the current design is local device backup. still very very early though
- pepijndevos
- 14:27The synch lexicon seems pull based
- 14:29Though there is a notify of update, but that seems for crawling
- 14:39Jackson Roberts joined the room
- snarfed14:42right. they're actively exploring designing and building all of this right now, including federation/sync. the docs on https://atproto.com/ don't fully reflect all of their progress
- Jackson Roberts15:05yikes
- 15:05i thought this was like almost done
- snarfed15:13almost launched in open beta, yes, but software is never done
- 15:14"Art is never finished, only abandoned." - Pablo Picasso 😆
- 15:41Serhii joined the room
- 16:08Serhii Ivasenko changed their display name to Serhii
- snarfed18:24In the PDS lexicons,
rkey
is...record key? ie, the part after NSID in an at:// URI? https://atproto.com/guides/data-repos#data-layout , https://github.com/snarfed/atproto/blob/main/packages/uri/src/validation.ts#L12 - 18:26I'm trying to find an
rkey
in DAG-CBOR data returned bygetRepo
,getRecord
etc, but not having any luck. I've tried passing CIDs and low integer values asrkey
togetRecord
, but I always get back the full PDS CAR - Marcio Alves18:43Hey guys, it looks like the bluesky social app for Android is already released but I couldn't find anyone, do you have a link?
- Deavial Drake
- 18:58Lleyton “Lea” Gray joined the room
- 20:19notneema joined the room
- 21:26rokude74 joined the room
- rokude7421:28Could anyone send me a invite code for Bluesky?
- 21:45Masayuki Tanenobu joined the room
- 21:46種延真之 changed their display name to Masayuki Tanenobu
- 21:46Masayuki Tanenobu set a profile picture
- 21:49k-suzuki joined the room
- 22:47@iecruz:matrix.org left the room
- syui21:58
If everyone here starting to ask for invite code, this channel will be "Bluesky Invite codes", not "Bluesky Dev".
- 23:29Hiroshi Shimoju joined the room
- 23:34ywrknk joined the room
- 23:52hinagishi joined the room
Tue, Apr 11, 2023
- 00:02Synchrons joined the room
- 00:04electricfirefly joined the room
- electricfirefly00:05is there a blue sky web app? Or is it only for ios
- Chris Hahn
- electricfirefly00:07CChris Hahn: Thank you!
- Chris Hahn
- 00:10Synchrons set a profile picture
- 00:11ミシリア changed their display name to Synchrons
- 00:34@9rom:matrix.org joined the room
- 01:01iwkt joined the room
- 01:09karubonara joined the room
- 01:12カルボナーラ changed their display name to karubona-ra
- 01:13karubona-ra changed their display name to karubonara
- 01:29nazo6 joined the room
- 01:51tstuser001 joined the room
- 01:53@inuiwan:matrix.org joined the room
- 01:58@inuiwan:matrix.org left the room
- 02:10Thib (back on April 11) changed their display name to Thib
- 03:49@joemendonca:matrix.org joined the room
- 04:28hisuikodai joined the room
- 04:52skiqh joined the room
- 05:21ryogrid joined the room
- 05:25ryogrid set a profile picture
- 06:47Wire joined the room
- 06:49ワイヤー changed their display name to Wire
- 06:49佐藤 遥 joined the room
- 佐藤 遥06:51Can I get the bluesky invitation code here? I want to try:)
- Wire06:55I also want to try bluesky, so I would like an invitation code.
- 06:56kPherox changed their display name to kphrx
- 07:02ab10don joined the room
- 07:35犬猫 joined the room
- ab10don07:44hello there. I need your help! Im looking for Bluesky invitation cord. please kindly help me. thx
- 07:48Dharam Kapila joined the room
- 08:13@kitadon:matrix.org joined the room
- @kitadon:matrix.org08:15Hello
- @kitadon:matrix.org08:30Message deleted
- 08:57@microtechton:matrix.org left the room
- @neilalexander:matrix.org09:11Don't ask for invites in this room please, this is a developer room
- 09:27@kitadon:matrix.org left the room
- Marcio Alves09:44How long does it take for the play store to accept the app? It's in the review since yesterday!
- @cel:pussy.accountants09:45does everybody currently useplc.directoryas the did method?
- 09:50朔 joined the room
- sylphrenetic09:53
In reply to this message
everyone uses it currently, but it's not a did method. if I understand correctly it's what stores changes to did documents - 09:55umi123456789 joined the room
- @cel:pussy.accountants09:58yup, that's what i meant, i didn't know what the term would be, log?
- 10:02sefidel changed their profile picture
- 10:09sefidel changed their profile picture
- 10:29sefidel changed their profile picture
- 10:31electricfire joined the room
- 10:51grayliquid joined the room
- @meowmeowmilktea:matrix.org
- snarfed11:20no one knows for sure, but given Musk's and Twitters behavior, personally I expect yes, it's misplaced. Twitter seems lost
- 11:22I vaguely remember Musk tweeting something(s) disparaging about Bluesky, like he did with Mastodon etc
- @meowmeowmilktea:matrix.org
- snarfed
- @meowmeowmilktea:matrix.org
- Chris Hahn11:35
In reply to this message
go to Google News and look up "twitter x corp" and then ask yourself that question again. - 11:36anyway, let's not chat here. back to nerd stuff. :-)
- @meowmeowmilktea:matrix.org
- @joemendonca:matrix.org11:36Message deleted
- @meowmeowmilktea:matrix.org
- @joemendonca:matrix.org11:37Message deleted
- @meowmeowmilktea:matrix.org
- Chris Hahn11:42who's the admin of this? can someone go create a room for General BSKY chat and then make this one invite only?
- snarfed
- 12:24h1d4k4 joined the room
- snarfed13:34has anyone seen a merkle search tree visualizer anywhere in any of the bluesky repos? I would find one of those veeeeery useful right about now
- snarfed14:01looks like the answer here is yes, that's what record key is
- Aaron Goldman14:07
In reply to this message
- snarfed14:08hmm maybe! I just get a "Could not connect to the IPFS API" error, I assume I'll need to set something up
- Aaron Goldman14:09oh i forgot that talks to the local IPFS node
- snarfed14:10but what I really want is the MST structure, which is your own thing, not just the IPLD blocks/nodes
- Lawal Sherif14:40Hi everyone
- 14:41Does anyone here knows how Bskys search indexing works? Will appreciate if anyone cool point me to the parts of the code I need to be looking
- snarfed14:58the long term high level idea is https://atproto.com/guides/overview#achieving-scale
- grayliquid15:14how does one go about building a bluesky app without having early access yet?
- snarfed15:20realistically you'd probably need an account so you could test it
- Dean17:00You can use dev-env in the atproto package to spin up a bsky test server
- Aaron Goldman
- 17:49AIMURASAN joined the room
- 17:53AIMURASAN set a profile picture
- 19:02cipherproxy joined the room
- snarfed19:30Daniel Holmgren++ (and ddevin ivy++) for
mst.ts
and especiallymst.test.ts
, they look pretty straightforward to translate, and the test cases are 💯 - 20:10Jake joined the room
- Jake20:11where do i enter my invite code
- Yumeka
- 21:10lx-is (@lx-is:catgirl.cloud) joined the room
- 21:21taofeeq joined the room
- 21:48sujiyan joined the room
- 22:06おこめ changed their display name to okome
- 22:07okome set a profile picture
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- 22:50is this how you plan to integrate with bridgy?
- snarfed22:51yeah both bridgy and bridgy fed use granary heavily
- moved to @shreyan:beeper.com@shreyanjain:matrix.org22:51I especially like the ActivitiyStreams part - budget federation with the fediverse
- snarfed22:52thanks! AS2 is obviously only part of fediverse integration, you need AP too, but the AS2 conversion is useful
- moved to @shreyan:beeper.com@shreyanjain:matrix.org22:59Just something interesting I did I felt like sharing: While trying to make a Flask-based frontend to @klatz.co's atprototools Python library, I discovered I'd accidentally made a simple http:// POST endpoint to BlueSky. Try it out with curl -X POST -F "username=your_username" -F "password=your_password" -F "post-content=your_post_content" https://bsky.vercel.app/post
- 23:00right now it uses plaintext username and password, sorry
- 23:01source code is https://github.com/ShreyanJain9/bsky/blob/master/app.py if anyone is curious(edited)
- snarfed23:01nice!
- 23:02and agreed, can't wait for https://github.com/bluesky-social/atproto/issues/649, using passwords like this is ugly
- moved to @shreyan:beeper.com@shreyanjain:matrix.org23:02thanks! can't wait for oauth if it happens
- 23:42@usk:matrix.org joined the room
Wed, Apr 12, 2023
- 00:03@usk:matrix.org left the room
- Aaron Goldman00:54
16384 dids in
plc.directory(edited) - 01:04mariqnne joined the room
- borismann01:49Here!
- Soohan Park (Heartade)01:50Can we set the value from the client side? It seems like it's used to set the interval at which invites are sent.
- 01:50Hi!
- xnf0k01:50I think it's a server config that says how often users get invite codes to share.
- Soohan Park (Heartade)01:51I heard that invites are sent at two weeks interval as of now, what does the value look like?
- borismann01:51
In reply to this message
I hope 🤞 that we might support a passwordless solution too that’s more Decentralized than OAuth but they might support both. We’ll see. - 01:52As I mentioned, any Python devs can happily look at Moa source code
- Soohan Park (Heartade)01:52So there's this https://github.com/ianklatzco/twitter-to-bsky thing that imports tweets into bsky, and it seems like the code works except the tweets show up as bsky posts all at the same time.
- borismann01:53Yep. That requires a fix / change on the bsky side I think.
- xnf0k01:53Oh okay good to know, thanks
- 01:54That's is in milliseconds so whatever 2 weeks is in ms would be the value
- borismann01:54Oh lol I got a credit for fixing a typo.
- Soohan Park (Heartade)01:55So what we would need is, either a UI tweak that renders timeline by createdAt or an api that allows us to send posts silently? Seems like former is the more sensible solution tho.
- 01:56Tho I believe there's a reason the UI is implemented in such way - in a decentralized protocol users could easily miss posts because it hasn't been indexed yet by the big-world indexer.
- borismann01:57And cheating on time stamps is problematic
- 01:57Need like an “import” flag perhaps to trust certain kinds of backdating.
- 01:58I don’t think importing Tweets at scale is actually a good idea BTW
- Soohan Park (Heartade)01:59A lot of people want it though. Perhaps we could even have PDSs dedicated as backups of people's twitter accounts?
- borismann01:59There is a niche crowd for this and there might be a server that specializes in this, but “Bluesky main” shouldn’t focus on this.
- 01:59Yes. Dedicated PDS.
- Soohan Park (Heartade)01:59I definitely agree.
- borismann01:59Also I don’t think it’s a lot.
- 02:00There are 64 people in the mapping.js for Tweetback https://github.com/tweetback/tweetback-canonical/blob/main/mapping.js
- Soohan Park (Heartade)02:00I didn't think it was a lot until my friend Inle's tweet that bsky will possibly implement tweet importing took off in Korean twitter
- 02:01Maybe it's just because not enough people know it's possible.
- borismann02:01I think the desire for cross posting is much higher.
- Soohan Park (Heartade)02:01Yep, much higher and also much harder to implement due to Elon's restrictions on Twitter API...
- borismann02:02Also: a “find my Twitter people on Bluesky” also would have much higher demand
- 02:02Which maybe is a really good start. We could host a “mapping.json” that people PR their twitter <> bsky into
- Soohan Park (Heartade)02:03I'm now thinking of a dedicated PDS that maps Twitter accounts, synced once in a while (due to API restrictions) with Twitter
- borismann02:03Super manual and there are probably some mass ways of doing this too but it can’t get cut off.
- 02:04ian5v joined the room
- xnf0k
- Soohan Park (Heartade)02:05Also to think about it, being able to crosspost directly is actually a bad thing in user growth perspective, as it degrades people's motivation to move over
- 02:06What brings people over to bsky would be a tool that allows you to import your twitter presence to bsky and never go back to twitter imo
- borismann02:06
In reply to this message
Yep. There are a handful of these that are mostly shutting down soon because of API limits - 02:07I put a butterfly next to my handle in my profile
- 02:07@4513echo:matrix.org left the room
- borismann
- Soohan Park (Heartade)02:08Yeah, I know right because I'm moving to bsky after trying APub lol
- borismann02:10I’m on … everything right now ;)
- Soohan Park (Heartade)02:10
So... could we implement
- A dedicated server that
- lets you backup your twitter archive (manually)
- map twitter people 1:1
- A dedicated server that
- @nobodyu:matrix.org
- borismann02:11I don’t Know how far out the run your own PDS is
- 02:11I think to start the GitHub repo with manually mapping could move very quickly.
- 02:11There … is a verification problem
- 02:11But wouldn’t need to be a very large app
- Soohan Park (Heartade)02:11Oh I just realized it doesn't even have to be bluesky if it just needs to map people(edited)
- 02:13And... I'm just starting to realize hosting everyone's whole twitter archives is going to be terribly expensive
- borismann02:14My archive is 1.5GB
- 02:15The media is the big part especially if people had a lot of video.
- Soohan Park (Heartade)02:15Mine amounts to more than 10GB total :P
- 02:16So we could just start with, trying to provide an easy way of mapping social graph I believe verification would be as simple as requiring something like "twitter:H_H_H_H_H_H_H_7" on bsky profile and "bsky:heartade.bsky.social" on twitter profile (if elon doesn't end up banning the word bsky altogether)
- borismann02:17Yep. It’s why I went with butterfly 🦋. A little more subtle ;)
- Soohan Park (Heartade)02:17Also that is how mastodon verifies website ownership actually
- borismann02:18Well it uses rel=me
- Soohan Park (Heartade)02:19That's basically a link anyway so... shouldn't really matter if the link is somewhere else lol
- 02:24I have to admit I didn't tinker much with atproto, do we have... some kind of... a simple API for retrieving profiles?
- borismann02:25People are building full clients so all that is there
- 02:25And can be cached nicely since everything has content IDs
- 02:26Ok I have to log off on PST time here. I think Twitter API access is going to get a lot harder but that mapping accounts could have big impact.
- 02:26I’ll think about it a bit more tomorrow.
- Soohan Park (Heartade)02:27Alright goodnight and thanks for the insights!!
- 03:53kazuyahara joined the room
- 03:58//ADB joined the room
- 05:21hrektts joined the room
- 05:24hrektts set a profile picture
- 05:53Alice joined the room
- 05:54Alice앨리스 changed their display name to Alice
- Soohan Park (Heartade)05:56Alice@aliceislazy1:matrix.org: hey nice to see you here!
- Alice06:02I would love to have "find my Twitter people on Bluesky", I wonder how club house is maintaining this feature after Elon Musk has decided to put bills on APIs..(edited)
- Soohan Park (Heartade)07:53Does that feature still work on clubhouse? Never used that app so I'm not sure but they're probably paying for access
- 08:00Federico Drei joined the room
- Soohan Park (Heartade)08:03I'm thinking of making a Chrome extension that lets users crawl their Followers/Following page
- 08:03I mean in Twitter, so that we can get users' follow list and map them to Bluesky handles or dids
- @planetoryd:matrix.org
- Soohan Park (Heartade)08:05We could alternatively just intercept the XHR requests sent by Twitter web but I'm not sure if we could (both in terms of feasibility and ToS compliance)
- 08:05I'm thinking of an extension because it's more user-friendly
- @planetoryd:matrix.org
- Soohan Park (Heartade)08:07Hmm. What would be the best way to let the less tech-savvy users easily use a userscript?
- @planetoryd:matrix.org08:07click n install
- 08:07violentmonkey
- Soohan Park (Heartade)08:14Sounds about right. I'll try!
- alice
- alice
- 09:36sebb_ joined the room
- Alice09:44Message deleted
- ian5v
- 10:15@sol123:matrix.org joined the room
- 10:16ソルライ changed their display name to sol
- snarfed10:16re importing tweets and preventing them all from showing up as new posts: https://github.com/bluesky-social/atproto/issues/787
- 10:26sefidel changed their profile picture
- 10:31sefidel changed their profile picture
- 11:48bruno.vaz joined the room
- xnf0k12:04Have a Q about custom domains: Currently, PDS is the one that resolves external handles. If another PDS (say Bob) updates the handle to use a domain name, but Alice's PDS can't read the TXT, what happens from Alice's pov?
- 12:04(can't read = thinks the record doesn't exist, for whatever reason)
- Deavial Drake12:08i can tell you that when this occurs the bluesky app throws a full red screen error when attempting to show the profile. i saw this occur last night when a friend had just switched domains
- xnf0k
- 13:20Deceptio joined the room
- xnf0k13:32If we're using a custom PLC server, does it need to be public or just accessible by PDS enough? Since there's no federation, the latter is okay I'm guessing
- paulghostsuk13:57Has the android bluesky app past it's review test yet.
- whyrusleeping13:58No :(
- 14:09@jexhyde:matrix.org joined the room
- Soohan Park (Heartade)
- 15:03tzx joined the room
- 15:30richardlitt joined the room
- 15:41Jamie Shepherd joined the room
- 15:53Semih keskin joined the room
- 18:32Adam Soffer joined the room
- 19:29@jexhyde:matrix.org joined the room
- 19:29@jexhyde:matrix.org joined the room
- 19:29@jexhyde:matrix.org left the room
- 21:26jae joined the room
- 22:49tobiastyler joined the room
Thu, Apr 13, 2023
- 00:15Dusty Pomerleau joined the room
- 00:17duspom changed their display name to Dusty Pomerleau
- 05:03Sominemo joined the room
- 05:15straw-hat joined the room
- xnf0k07:24Hey, looks likestaging.bsky.appdoesn't use the custom server for getPopular calls:
- ian5v
- 07:41@shorty_gunny:matrix.org changed their profile picture
- Soohan Park (Heartade)08:31As it turns out the Twitter APi used by the Twitter web client somehow hits the limit at ~1000 follows or followings.
- 08:32Which means I'm not able to scroll to the bottom of my followers page without hitting the limit lol
- 08:33Any idea on how we could get around this limit? Should we just make the user leave the page open for an hour?
- 08:57@easis:matrix.org joined the room
- 09:07vernon (building @ yup) joined the room
- 09:19@easis:matrix.org left the room
- 09:36breakgimme joined the room
- 09:38@chrishobcroft:matrix.org joined the room
- 10:02@max:nymtech.chat joined the room
- 10:03@max:nymtech.chat left the room
- 10:26@andrew:trivial.business left the room
- KingYoSun10:31
In reply to this message
Hi, I am the admin ofboobee.blue. I'm really sorry I missed your post long time.
At the time I built this PDS, I didn't care about the data repository structure and resolving DID because I wanted to just run the PDS anyway.
I know it was really stupid, but I lost the keypair after I created the DID(https://plc.directory/did:plc:bsylrfe45wyydwk5gnqo7mrhg32symsk2bgtzunbdgfmg4pxatia)
If I rebuild the PDS correctly, what DID Document do I need to create?
It is not possible with the PDS that is currently running onboobee.bluebecause I lost the keypair, but I have told enough users that it is a personal test server, so I may be able to destroy the current PDS and rebuild it. Federation is important.
All the steps I took to build the PDS are described in the repository below, so I will at least fix that.
https://github.com/KingYoSun/atproto-aws(edited) - 10:31KingYoSun set a profile picture
- Aaron Goldman11:12
In reply to this message
"signingKey":"did:key:zDnaei7mXSmviqCmsy2VrczRo1Ehtfx9dst9uA88Hb84uTVLa", "recoveryKey":"did:key:zDnaei7mXSmviqCmsy2VrczRo1Ehtfx9dst9uA88Hb84uTVLa"
Probably a good idea next time to have a different recovery key then the repo key 🙂Also looks like your DIDs are a little long typical we only use the first 24 b32 (120 bits) char of the hash not the full 256 bit hash but that's not a huge deal.
In the future you probably want to have multiple recovery keys. One for your PDS so you can perform recovery for your users and one that the user stores and can use to migrate away from your PDS at any time of their chosing.
Not a great practice to have users that don't have a recovery key because then they are trapped on your PDS - @jonaharagon.com11:15Are you guys working on a PDS that isn't so AWS-reliant, out of curiosity? Or do we just have to hope a community-built one gets made at some point?
- 11:20gjsj joined the room
- KingYoSun11:21
In reply to this message
Thanks for reply and keys!
It was not a good idea to divert the dev-env code as it is.
I very much agree that the user should have a recovery key. - Lawal Sherif11:22
In reply to this message
I think this choice is left to individuals building PDS, there are arrays of options that can be explored apart from AWS - KingYoSun11:27
In reply to this message
Look at/packages/pds/service/index.js
in atproto repo, PDS depends on AWS S3 and AWS KMS, AWS Cloudfront (@atproto/aws), so you can self-host by rewriting that part. - @jonaharagon.com11:28I know it has a lot of AWS dependencies, my question was just whether Bluesky would be writing a PDS backend which doesn't have AWS dependencies at some point. Sounds like... no?
- KingYoSun11:34Probably no, or it may be low priority.
- 11:36adieuCord joined the room
- snarfed12:02the Bluesky team has at least three PDSes, not just that JS/TS one but also https://github.com/bluesky-social/indigo and https://gitlab.com/bnewbold/adenosine (unofficial?)(edited)
- KingYoSun12:44
In reply to this message
I'm sorry to ask an additional question: to resolve a serverDID(https://plc.directory/did:plc:bsylrfe45wyydwk5gnqo7mrhg32symsk2bgtzunbdgfmg4pxatia), do I neet to register as a user with serverDid so that I can get it with com.atproto.sync.getRepo? serverDid is not specifically used in the atproto repository and I don't know what it's for. - 12:49unlobito joined the room
- 14:03Iliass joined the room
- 14:17treflatface joined the room
- @dream:envs.net15:07Hi there. Is there any chance to get an invitation by manual. It’s been 6 months and still I haven’t got one.
- @jonaharagon.com15:20It doesn’t seem like it lol, I was on the waitlist the day it opened and haven’t heard. Didn’t like 30K people sign up in the first 2 days? I think I saw earlier here that there’s only around 5000 people on Bluesky at all so clearly you just have to wait.
- 15:45Tetrus joined the room
- 15:48Tetrus changed their profile picture
- 15:56Monokuromu joined the room
- 16:02t5poc changed their display name to T5
- damon/16:35There’s about 20k
- bnewbold19:23blog post on moderation in atproto+bluesky: https://blueskyweb.xyz/blog/4-13-2023-moderation
- 19:23we haven't updated docs on this part of protocol, but lexicon schemas (and PDS-side code) are in our typescript repository: https://github.com/bluesky-social/atproto/tree/main/lexicons/com/atproto
- 19:26
In reply to this message
the indigo PDS ("laputa") is really not a PDS implementation in any real sense, FWIW. it might look like a good simple self-hosting option, but it is not - 19:28
In reply to this message
you can run the basics without that AWS stuff (I run the typescript code on my laptop for testing all the time), and the typescript PDS will be polished up for basic/experimental self-hosting in the not-too-distant future - 19:33
un-asked-so-far questions about labels:
- there will be some form of self-labeling on records (or at least posts), not implemented yet
- labels are not (yet) signed or stored in repos (but probably can/will be)
- 19:34
- client (app) is not yet configurable to multiple label-creating authorities (but will be)
- 19:34
- label values are pretty open-ended and unspecified. after a couple months of real-world use we'll feel more confident settling in some norms on this
- 19:35extratone joined the room
- bnewbold19:35
- reporting is an important part of moderation feedback loop, and is the current mechanism for manually applying labels; this will become more flexible
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- bnewbold19:36
- labels will federate the same as repo commits/content, and will probably be aggregated in a centralized fashion then passed back to PDS and clients
- 19:36
In reply to this message
currently they go from client (app) to PDS. they will optionally be routed to other parties eventually, not sure if client -> service directly or proxy via PDS (for some privacy/simplicity to client) - 19:37the idea being that a bespoke labeling service can serve a community of accounts. those accounts would send relevant reports to that service, and subscribe to the labels generated by that service
- 19:38but other reports (like spam) can also just get blasted out to many services who might care (PDS + central automated systems + bespoke services)
- 19:38the "routing" will need some care and configurability
- 19:41labels are currently pseudo-public but unsigned. they will probably be signed by authority. haven't committed either way on whether labels are always public (for transparency and acountability) or sometimes private (for flexibility, privacy, preserving value, possibly less drama)
- @softinio:matrix.org20:12Some of my friends got invites. Assume if I didn’t means not my turn on waiting list? Or should join list again ?
- 20:15@mezyoucef32:matrix.org joined the room
- 20:482GMon joined the room
- 21:22tasuku.season joined the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org23:10apparently AT Proto lets you follow yourself
Fri, Apr 14, 2023
- zyolluax
- 00:23praveenzid joined the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org01:26
In reply to this message
To try this, sign in to https://bsky.vercel.app and then go to https://bsky.vercel.app/followself to follow yourself, go back to BlueSky and look in your notifications and check your follows and followers list, you'll find your own profile in both lists
Or in python with atprototools installed you can just:
from atprototools import Session
bsky = Session(username, password)
bsky.follow(username) - 01:28ttyyaaggii joined the room
- 01:29@caffeineee:matrix.org joined the room
- 01:40Nezteb joined the room
- 01:58mr175185 joined the room
- 02:22Erasmus joined the room
- 03:59sirodoht joined the room
- Jurij Jukic05:34What is going to be Bluesky's revenue model? I feel like attention farming with ads is not it. And I assume there is no value capture on ATP level
- 05:48@tony6:matrix.org joined the room
- 06:04a6oly joined the room
- a6oly06:10Hello, I want an invite please
- @planetoryd:matrix.org
- 06:36davidar joined the room
- 06:50Ferix joined the room
- Ferix06:51hi
- 06:51can i take invite from here?
- 06:51Ferix left the room
- 06:51Ferix joined the room
- 06:52@yabasta:matrix.org joined the room
- 07:03@sol123:matrix.org left the room
- damon/07:15This is not the place for invites
- @planetoryd:matrix.org
- damon/07:16But, there is a subreddit where BlueSky members kindly share invite codes when they become available. I would suggest that you look there.
- 08:18Akshit Kr Nagpal joined the room
- 08:37sefidel changed their profile picture
- 09:23@meawoppl:matrix.org joined the room
- @meawoppl:matrix.org09:25Hey all, I have an invite from a friend, but it's unclear to me where the login/register page is. Any help there?
- treflatface
- @meawoppl:matrix.org11:06Awesome thanks!
- 11:07What needs help (fairly experienced developer willing to shovel, but I lack direction)
- damon/11:12Can you provide a screenshot of the log-in screen?
- vernon (building @ yup)12:09Hi, my team is working on a social aggregator at https://yup.io. We're interested in exploring an integration with ATP for our mobile app. Is there a way to interact and test with bsky PDS without having a registered account (which is gated by invite code).
- 12:10Vernon Johnson changed their display name to vernon (building @ yup.io)
- @meawoppl:matrix.org
- Lawal Sherif12:43Click on create account
- Rhino Unknown12:59I have a question as I wait in line, when I receive a code can I register with my domain? Or is the beta not available for that? As a business this domain aspect is very promising to me.
- whyrusleeping13:03Yep, you can use your own domain as your handle
- 13:04Dm me for an invite code
- @meowmeowmilktea:matrix.org13:17
In reply to this message
Maybe individual services/features could be ad-supported or subscription-supported, but it seems to me that making it a protocol (like http or email) means the motivation is not necessarily profit - 13:19Do W3C standards necessarily have revenue models?
- 13:19Er, sorry if I’m conflating Bluesky with ATProtocol
- 13:21One-time in-app purchases could also be a way of monetizing features, of course, it doesn’t have to be a recurring subscription
- 13:27T K joined the room
- snarfed13:33they haven't talked much about business model or funding details, but they're a PBLLC, and they raised $13M philanthropically (more or less?) a year or more ago. it's not a big team, and if that continues, and/or if they continue to raise primarily philanthropic funding, they may not need a traditional revenue model for the foreseeable future(edited)
- 13:57@joemendonca:matrix.org left the room
- 14:04plaidfinch joined the room
- 14:22nuo00231 joined the room
- 15:11escapetofreedom changed their display name to Ivan
- 16:37pk910 joined the room
- vernon (building @ yup)16:50Is there a network status page somewhere that shows general network status? e.g., total user count, posts, etc
- Aaron Goldman17:02It would not be hard to make one that followsplc.directory
- 17:11Lucent joined the room
- Lucent17:12not knowing much about the underlying protocol, is it a reasonable ask thatbsky.socialusernames stay squatted as we play with custom domains so we can return to them without fear of being juped?
- Aaron Goldman17:18
In reply to this message
Oddly it has very little to do with the protocol. The *.bsky.socialnames are controlled by the controller of the bsky.sovial DNS name. Whether you can reserve a name is just the domains policy not a protocol level design choice - Lucent17:19it sounds like i don't understand what the did= numbers map to, if anything. i should read more
- Lucent17:25expected to see _atproto.lucent.bsky.socialtxt lookup to return the same record i set on my domains
- 20:05mark joined the room
- 20:15@steve_coldham:matrix.org joined the room
- 20:16富山未来(ABABBA) joined the room
- 21:41jesopo joined the room
- mikuhl22:27Jack is a part of the team right? How does the rest of the team feel seeing Jack seem to be interested in Nostr more than Bluesky?
- snarfed22:31he's on the board, but not really on the team in the same sense
- 23:22foobar2023 joined the room
- snarfed23:33hit a good milestone, Python MST implementation is up and running! https://github.com/snarfed/bridgy-fed/blob/mst/atproto_mst.py
- 23:34huge thanks again to Daniel Holmgren and ddevin ivy for their reference implementation, this is heavily based on that. I read the MST paper, and enjoyed it, but still, way easier and faster to start with existing working logic and test cases than write them from scratch
Sat, Apr 15, 2023
- 01:34ahmad joined the room
- 03:38@kawauchi:matrix.org joined the room
- 03:50@anonymous.nothing:matrix.org left the room
- 04:098pgbcwrn5z joined the room
- 04:20haoyayoi joined the room
- 8pgbcwrn5z05:47Can I run a server of AT protocol? Will the reference implementation be open source? I understand that the protocol is open but I didn’t see the implementation. Thank you.
- 05:49I have curiously never seen a http URL for a post on bsky dot social. Can anyone share a valid URL ?(edited)
- 05:58alethkit joined the room
- 07:05@altoneko:matrix.org joined the room
- 07:18u5tur4 joined the room
- 07:30@altoneko:matrix.org removed their display name (キルミーねこさん)
- 07:30@altoneko:matrix.org left the room
- 07:51@kawauchi:matrix.org left the room
- snarfed
- 8pgbcwrn5z09:16
In reply to this message
Ah. This asks me to login. I don’t have an account yet. But thank you. If someone switches their providers, the Hostname will change but presumably the Path will not. - jesopo09:23
In reply to this message
i expected the same; i assume they can forego the dns records when the domain is one the server already thinks it is authoritative for... though that won't hold true whenbsky.socialfederates surely - 10:05flancian 🍄 joined the room
- flancian 🍄10:06hi all! happy to be here! I just joined the network and I love it already :)
- 10:33robhaisfield joined the room
- snarfed
- 10:40Alican D joined the room
- candeniz10:42I had registered but The system didn’t send me code. Can anyone send me a code?
- Alican D10:46i need it too
- moved to @shreyan:beeper.com@shreyanjain:matrix.org10:47
In reply to this message
From what I understand the hostname wouldn't change either
BlueSky separates the AT Proto server (PDS) from your identity which is just a domain name e.g.
shreyanjain.netand also the client.staging.bsky.appis just a web client, andbsky.socialis currently the host for the "flagship" BlueSky PDS. So even if people migrate providers, the url to their posts etc can remain the same thanks to DIDs etc. someone else can probably explain this better - 10:48@levisio:matrix.org joined the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org10:49
In reply to this message
Same post, alternative client: https://blue.amazingca.dev/?username=snarfed.org&postid=3jtf727d3km2s - 10:49these urls use the structure of handle and then the post's "rkey"
- 11:10Takafumi Mizuguchi joined the room
- 12:05skiqh set a profile picture
- 12:05skiqh removed their profile picture
- 12:05skiqh set a profile picture
- 12:06skiqh removed their profile picture
- 13:07@sudousrcode:matrix.org joined the room
- 13:14nairb_db joined the room
- 13:16nairb_db set a profile picture
- 13:55Evren joined the room
- 15:03omeryilmaz joined the room
- 17:01bobo11_ joined the room
- jesopo17:30am i blind or do these examples not work https://atproto.com/guides/applications#repo-crud
- 17:31
specifically
1234
await api.com.atproto.repo.listRecords({ repo: 'alice.com', type: 'app.bsky.post' })
- 17:31
https://github.com/bluesky-social/atproto/blob/7f008c05a09c6dcf42dcac2819210138af42835c/packages/api/src/client/index.ts#L465
https://github.com/bluesky-social/atproto/blob/25c23b6b61eb8f1057fcedcbe7e93c183d3050a3/packages/api/src/client/types/com/atproto/repo/listRecords.ts#L10QueryParams
does not have atype
(edited) - 17:33@buffalochickenbluecheese:matrix.org joined the room
- jesopo17:50
and if you do forego
collection
and instead call this xrpc with atype
, you get1234
ApiError { error: "InvalidRequest", message: "Error: Params must have the property \"collection\"", },
- 17:51@buffalochickenbluecheese:matrix.org left the room
- 18:20@mezyoucef32:matrix.org left the room
- 18:36h5h5gyfc5q joined the room
- snarfed18:51jesopo: yeah some of the docs onatproto.comare probably out of date, behind a recent big lexicon refactor. they'll get to them eventually, just hasn't been a top priority yet
- jesopo18:56does that mean
app.bsky.feed.post
is not considered to be a generic record that you can query throughcom.atproto.repo.listRecords
? - 18:56because if i query
com.atproto.repo.listRecords
for acollection
ofapp.bsky.feed.post
, i get an empty array - 18:58but if i query
app.bsky.feed.post
then i do get posts - 19:02@frank10:matrix.org joined the room
- 19:20jess ✨ changed their display name to jesopo
- 19:46hoagehoge joined the room
- 20:22a.eghbal joined the room
- 20:49The SpaceX joined the room
- 21:16Lleyton “Lea” Gray changed their profile picture
- snarfed21:57they handle very different data formats and ids. in general you want to be working with
app.bsky.*
, that's the one that usee theapp.bsky
lexicons and human-readable data - 21:57
com.atproto
is lower level all CIDs and DAG-CBOR encoded data, not so human readable - 22:27Akio Kondo joined the room
- mikuhl23:48Lots of people use an emoji at the end of their name, it would be interesting to add some features to that, I think github has something like emoji status
- 23:49Kinda cute :)
- 23:52Tom would be a fan lol.
Sun, Apr 16, 2023
- mikuhl
- 00:07Something like this?
- 00:08could fit on the bottom right of the profile pic too
- @frank10:matrix.org00:12Message deleted by Aaron Goldman
- 01:23skiqh set a profile picture
- 03:28Ono Chin joined the room
- 03:41mdenesfe joined the room
- 03:44mdenesfe set a profile picture
- 05:41James Tamim joined the room
- James Tamim06:18Is asking for invite codes allowed in here or not?
- flancian 🍄06:29
In reply to this message
the 'share' link doesn't seem to work for me -- it doesn't seem to do anything nor copies to the clipboard. this is using chromium on debian. 1. is anyone else seeing this and 2. where should we report bugs? is there a repository for bug tracking? I checked https://github.com/orgs/bluesky-social/repositories but it wasn't clear which one I should use (happy to document this if it helps). - 06:30thank you! :D
- 06:31@thezanarkandkid:matrix.org removed their display name (thezanarkandkid)
- 06:31@thezanarkandkid:matrix.org left the room
- Lawal Sherif06:43Do you know here the bug is from ? You can just creat an issue on the repo
- 06:45https://github.com/bluesky-social/atproto this is the primary protocol they use
- 06:47I don't think there web client is open source so you can just log the issue here and state that you're experience the issue on the web client
- panji.bsky.social
- 07:07Kristian L. Thomassen joined the room
- Kristian L. Thomassen07:08How can I download Bluesky for Android?
- Kristian L. Thomassen07:15Just looked up in the history here. I see it's pending on Google Play Store, is that right? Looking forward to try it out 😊
- Marcio Alves07:45There's no way for now
- Kristian L. Thomassen
- 07:51Kira Orlov joined the room
- 07:52Kira Orlov set a profile picture
- 07:53@alex:memoryandthought.me left the room
- 07:57BENİM MSİ joined the room
- 09:13Stephen Petrey joined the room
- jesopo09:30
In reply to this message
makes sense, though it's a shame there's no "give me all the records of <type>" endpoint(edited) - 09:30thanks
- 09:32@jdmark:matrix.org left the room
- mikuhl
- Kristian L. Thomassen
- 10:25justforx joined the room
- justforx10:29Hello, if it's allowed, can i take an invite from here?
- 11:11arayaryoma joined the room
- 11:16snek left the room
- 8pgbcwrn5z11:25
In reply to this message
I am waiting too. I guess we just have to be patient. I am sure within a few weeks it would be available to a greater number of people. - damon/11:31While people are generous and do give out codes from time to time this isn’t the space for it. This is a dev chat. You are more than welcome to utilise the threads. There’s also a BlueSky subreddit that users kindly give out invite codes when they have them.
- 11:32Cynical_Ghost joined the room
- jesopo
- 11:39rabiaderinn1 joined the room
- 12:46Torin Rozzelle joined the room
- mikuhl13:21Will users be able to have multiple handle aliases? Because its interesting that the domain system can somewhat mimic the organization accounts that twitter just added (which is kind of a cool idea, to see what organizations someone is under), for example @bob.google.com, but what happens if bob, still has his own domain handle, followers should be able to use both.(edited)
- damon/13:28Users are able to have multiple accounts. You are also able to change your handle
- 13:40cassiep joined the room
- mikuhl13:48It would be really interesting as well to keep invite codes as the only way to join, but of course giving them out generously. You can use them to see who is mass inviting spam bots if that ever becomes a problem.
- Torin Rozzelle13:54
I'm having a hard time getting images to post and I'm not sure what I'm doing wrong but also I might have the details confused. I don't know if Bluesky has restrictions on image formats. I'm finding it hard to find specifics.
12345678910111213141516171819202122
await agent.post({ text: 'Post Text', reply: { parent: { uri: notif.uri, cid: notif.cid, }, root: { uri: notif.uri, cid: notif.cid, }, }, embed: { images: [ { image: await agent.uploadBlob(qrCodeBlob, {encoding: "image/svg+xml"}), alt: "", }, ], $type: "app.bsky.embed.images", }, });
- jesopo
- 15:21@frank10:matrix.org left the room
- Torin Rozzelle15:21Sorry for being inexact, yes, Invalidapp.bsky.feed.postrecord: Record/embed/images/0/image should be a blob ref. Which sounds like it should be self-evident but I'm missing some mental piece of the puzzle. Is that reference returned by uploadBlob on success? I've tried qrCodeBlob as a uint8 array and as a blob from the image response data. When I call uploadBlob elsewhere, I get a 200 success and an XRPC response that has a BlobRef object. I've also tried using that but to be honest I don't know if I'm understanding it right in the first place.
- 15:59m12z changed their display name to Marcos
- jesopo16:08right, it's hard to know what's right here. documentation could be much better
- 16:09have you looked at what
await agent.uploadBlob(...)
is actually returning, that's getting inserted in to your post body? - jesopo17:56Message deleted
- @meowmeowmilktea:matrix.org19:18if I wanted to contribute to AT Protocol or any related technology, what would be the things I need to learn?
- 19:18I know there's https://proto.school, how helpful would that be?
- snarfed19:34m@meowmeowmilktea:matrix.org: just start building! find a bot or client or tool you want to exist, then build it, and learn what you need as you go
- 19:35key part is to build something you want. that motivation will pull you through whatever you need to learn
- jesopo20:04
In reply to this message
my best advice right now is to try to write a library that can interact with bsky to any degree. the documentation onatproto.comis both out of date and insufficient, so you have to learn by actually doing things - 20:05and once you know how the damn thing actually works, you can figure out where to go
- @meowmeowmilktea:matrix.org20:26yep, I've always figured the best way to have motivation to learn something is to have a problem you want to solve, and then learn to solve it. Thanks all!
- 20:42@sakuya_lily:matrix.org joined the room
- 20:48@sakuya_lily:matrix.org left the room
- Torin Rozzelle20:48The documentation has been driving me nuts because I feel out of my depth but you guys are building the rocket ship in flight. Gotta move fast, write the manual later. I've been digging through the js api trying to get things working (built a bot, almost done with a framer motion feed component) and debug and it's definitely been cutting my teeth.
- whyrusleeping20:50What problems are you running into?
- 20:50Docs definitely not being prioritized right now but i can probably offer some advice
- 21:10こーちゃん。 joined the room
- 21:15highly-original-name joined the room
- highly-original-name21:17is it possible to reset an account email? i accidentally submitted with the wrong email domain, i need to reset the password, and i'm still logged in to the account. i just wanted to write a bot lol
- 22:54Yuichi Ota joined the room
- 23:57bitwolf (@bitwolf:cybre.space) joined the room
- 23:57bitwolf (@bitwolf:fedora.im) joined the room
Mon, Apr 17, 2023
- bnewbold00:01
In reply to this message
there is no email reset flow yet. there does need to be one. for now emailsupport@bsky.app, though it may take a while to resolve. might be easiest to create a new account (if you can get access to an invite code) - 00:49etzl changed their display name to Emily
- bnewbold00:51
In reply to this message
our docs on this definitely need work! the blobs stuff changed in a recent refactor.
one specific issue with the example you posted is that, IIRC, we currently only support JPEG and PNG images, and there is an overall size restriction - 00:52the lexicon is here: https://github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/embed/images.json#L23 it says the mimetype can be "image/*", but I think in practice our PDS implementation (and client/app, and likely most/all other apps) only support JPEG and PNG
- 00:55
In reply to this message
we have thought about this, and left some flexibility in the DID PLC schemas for it, but DID PLC does not currently actually allow it; the atproto and UX side of things hasn't been thought through, and it isn't something we are actively working on. reasonable chance it will get supported eventually, but don't hold your breath (or wait on, eg, changing handles) - 00:56
In reply to this message
I think you should be able to get "all records of <type>" behavior from the list records endpoint, if you use the NSID ("<type>") as the starting path? you then paginate through the results using the cursor field - bnewbold01:07
In reply to this message
you can report bugs via the app itself by mentioning @support.bsky.team, or create issues against https://github.com/bluesky-social/atproto and we will see them (mention that they are problems in the app).
I think share links not working in the web app is a known thing. also link cards aren't usually generated correctly in web app - 01:41ksyk joined the room
- jesopo03:26
In reply to this message
yeah i did figure this out eventually. not sure what i was doing wrong before!In reply tobnewbold
I think you should be able to get "all records of <type>" behavior from the list records endpoint, if you use the NSID ("<type>") as the starting path? you then paginate through the results using the cursor field(edited) - 04:32yumisen joined the room
- Torin Rozzelle06:51
In reply to this message
Thank you! I figured that was the case because of how everything gets converted on bsky upload but I couldn't find anything to falsify it and was confused by image/*. Super helpful, it'll give this a shot. - Marcio Alves10:58I want to invite you to join the first BlueSky community in Brazil https://dailyfriend.com.br/communities/1681746959652448
- 11:38@timenaut:matrix.org left the room
- Torin Rozzelle12:09Nice, I got it working. svg->png, uploadBlob beforeagent.post({}) and provide theresult.data.blob object as the image. Killer.
- vernon (building @ yup)12:24
In reply to this message
Appears to be api that's maybe indexing bsky repos. But have questions as well, not sure what all of the endpoints are(edited) - 12:26vernon (building @ yup.io) changed their display name to vernon (building @ yup)
- snarfed12:26a bit more than indexing, afaik it's the central authority/clearinghouse for did:plc DIDs, which are currently the core identifiers for all ATP/Bluesky accounts. the team can explain better than me though(edited)
- xnf0k12:32And as for the api endpoints available: https://github.com/bluesky-social/did-method-plc/blob/main/packages/server/src/routes.ts
- vernon (building @ yup)12:39thanks!
- jesopo13:36Message deleted
- 13:38Message deleted
- mikuhl14:04Adding AI Wizard to my resume now: https://staging.bsky.app/profile/spells.bsky.social
- 14:06One problem I had with atproto api was that it was using the experimental fetch api in nodejs v18. DigitalOcean app platform for some reason only supports v16, so I had to use a polyfill.
- 16:21ksyk set a profile picture
- 16:29nyanjiro joined the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org16:30What kind of timestamps does AT Proto expect in the "createdAt" field?
- snarfed16:36
In reply to this message
string, ISO8601 datetime, example in https://atproto.com/guides/lexicon#record-types - 18:20N.E.C. joined the room
- Aaron Goldman18:51
In reply to this message
It is iso8601 but I would stick to the intersection of rfc3339 and iso8601
- snarfed
- moved to @shreyan:beeper.com@shreyanjain:matrix.org18:52ah so like 2023-04-17T18:14:23.532+00:00
- 18:53or am I doing something wrong?
- snarfed18:57looks fine, assuming they handle timezone offsets
- jesopo19:45how does one update profile via xrpc? i assume it is
com.atproto.repo.putRecord
with a collection ofapp.bsky.actor.profile
- but what'srkey
? - moved to @shreyan:beeper.com@shreyanjain:matrix.org19:45I'd assume rkey is the recovery key but don't take my word for it
- jesopo19:46i assume
rkey
is a way of indexing individual records in a collection - whyrusleeping19:46Rkey is the MST path for the record
- jesopo19:46but i don't know what the
rkey
would be for a record of which there is only 1 - mikuhl19:51I can 100% say developing a bot is way easier on Bluesky than on Nostr.
- bnewbold19:52
rkey
is "record key". is the final bit of the MST path, not the entire path (which is usually<nsid>/<rkey>
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- bnewbold19:52
rkey
is usually a "TID" (time identifier? I don't know what it actually stands for), but that is a loose convention - 19:52for profiles, you set the rkey to
self
- mikuhl19:52
In reply to this message
Yes exactly, my posts were not showing up and the relays gave me absolutely no information why. - jesopo
- 19:58also, sad, you can
createRecord
forapp.bsky.feed.post
objects that contain arbitrary keys with arbitrary values but you can't do the same for profiles - 20:02
12345678910111213
✨ ~/src/jess/bisky/examples/get_profile main % curl -s "https://bsky.social/xrpc/com.atproto.repo.getRecord?repo=jesopo-test.bsky.social&collection=app.bsky.feed.post&rkey=3jtlrb3nfu226" | jq { "uri": "at://did:plc:sdeyff35uikqhp7tiu7p4dbd/app.bsky.feed.post/3jtlrb3nfu226", "cid": "bafyreidvuc6sx5f5ntboglzhgmkexk3kcentsyfnlmrtml2fqbwhjnu7cm", "value": { "asd": "what happens to arbitrary data?", "text": "test post please ignore", "$type": "app.bsky.feed.post", "createdAt": "2023-04-17T20:12:06.676400836Z" }, "indexedAt": "2023-04-17T20:12:07.048Z", "takedownId": null }
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- 20:03but yea wish it was there for profiles too
- jesopo20:03it'd be cool to do it for profiles too
- 20:03i was trying to set
{"bot" true}
- 20:04also, how come
https://bsky.social/xrpc/com.atproto.repo.getRecord?repo=jesopo-test.bsky.social&collection=app.bsky.feed.post&rkey=3jtlrb3nfu226
includesindexedAt
butxrpc/com.atproto.repo.listRecords
doesn't includeindexedAt
? - Marcio Alves20:05I need help my BlueSky account was unfairly removed by me. Good night to other users who were interacting on the social network!
- 20:07My account was accused of Spam for saying good night to 25 people!
- whyrusleeping20:07You were spamming and nobody liked it
- 20:07You got tons of reports and made a bunch of work for us to deal with
- 20:10And it wasnt 25 people, it was 136
- jesopo20:13
In reply to this message
from a quick look, my guess is thatlistRecords
records are being validated (i.e. trimmed of extraneous data) butgetRecord
records are not? - bnewbold20:13^ please take the account lock discussion to email (should be in your inbox!)
- 20:14
In reply to this message
the difference in behavior seems like a bit of a corner case, would need to dig in to it. could you open an issue?
generally, please don't stuff random fields in records though - jesopo20:14
In reply to this message
... the reason i care is if you sort records byrecord["createdAt"]
you can fall prey to falsified timestamps - 20:15i'll make an issue though!
- bnewbold20:16there is a whole lifecycle for schema evolution planned, but the general principle is that the party controlling the NSID namespace (eg,atproto.comorbsky.appfor those NSID namespaces) should have control and autonomy over their lexicons (schemas). folks are welcome to create their own lexicons for extensions etc under separate namespaces (just to write out this thinking)
- Marcio Alves20:20Look, people were sending me good night back ok here in Brazil bluesky was born dead let's report it to the Brazilian press! Because Brazilians are not being treated well on the platform
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- jesopo
- Marcio Alves20:39Ok thanks for your attention good night I'll see if I can then recover the account because I believe it was a mistake it can't be that a good night with the Brazilian flag can I ban someone from
- 20:40some social network
- jesopo20:41also i can't currently see a way to change your email address in xrpc. is this not yet implemented? i can see why this would be difficult, given you typically don't action an email change until the new email address is verified