Bluesky Dev
Community discussion of the AT Protocol and Bluesky. (This room is not officially affiliated with the Bluesky team.)
Previous group of messages
  1. @thezanarkandkid:matrix.org
  2. counterpoint
    Message deleted
  3. @athena123:matrix.org joined the room
  4. syui
  5. 0xHelena joined the room
  6. 0xHelena set a profile picture
  7. @ga62puq:tum.de joined the room
  8. shiranuia joined the room
  9. Aaron Goldman

    In reply to this message

    Just before and after a refactor no semantic difference.
  10. @athena123:matrix.org left the room
  11. inuinu_1111 joined the room
  12. piyochan joined the room
  13. megnconnors
    Aaron 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. 🙂
  14. k32ru joined the room
  15. @anselm.schumacher:matrix.org left the room
  16. @jlsgo:matrix.org left the room
  17. kevinstanza joined the room
  18. kevinstanza
    As 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.
  19. Aaron Goldman
    And invite codes that don't look like domain names to confused people.
  20. Ko Pon joined the room
  21. pfrazee
    that'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
  22. may still be useful but it ended up being a bit confusing to folks
  23. Aaron Goldman
    Live and learn. I like the new ones better
  24. Karl Abbott changed their display name to Karl Abbott (Away until 10-April-2023)
  25. @kappaseijin:matrix.org left the room
  26. @microtechton:matrix.org joined the room
  27. mnep2876 joined the room
  28. Yumeka joined the room
  29. oto joined the room
  30. oto6 changed their display name to oto
  31. focumieee joined the room
  32. @bluesk:matrix.org joined the room
  33. @bluesk:matrix.org
  34. oto
    Message deleted
  35. oto

    In reply to this message

    I made a mistake. Sorry.
  36. oto
    Message deleted
  37. Message deleted
  38. Message deleted
  39. onlytangerine
    Sure
  40. marin_karin joined the room
  41. aetos joined the room
  42. oto
    Could someone please send me an invitate code?
  43. Marcio Alves
    Join 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
  44. adomiso joined the room
  45. yaanislive
  46. simopion joined the room
  47. simopion
    hi! ld like to join bluesky sicial. Can I have a invite code. please.
  48. @npxx:matrix.org joined the room
  49. @npxx:matrix.org joined the room
  50. @npxx:matrix.org left the room
  51. adomiso
    Can I get an invite code?
  52. cloud20
    Hey 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
  53. echophase joined the room
  54. wakest joined the room
  55. @meowmeowmilktea:matrix.org joined the room
  56. @meowmeowmilktea:matrix.org joined the room
  57. stevie komputer joined the room
  58. @meowmeowmilktea:matrix.org joined the room
  59. @meowmeowmilktea:matrix.org joined the room
  60. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    In reply to this message

    please let's not do that here
  61. Haider Ali Punjabi joined the room
  62. @mbarrueto:matrix.org joined the room
  63. Mhdmkz Dreams joined the room
  64. @kenta.toida:matrix.org joined the room
  65. @kenta.toida:matrix.org left the room
  66. @ebikko:matrix.org joined the room
  67. yanagi joined the room
  68. @timenaut:matrix.org joined the room
  69. @tagh116:matrix.org joined the room
  70. @tagh116:matrix.org left the room
  71. stefanmendoza joined the room
  72. yanagi
    Could anyone send me a invite code for Bluesky?
  73. panji.bsky.social

    In reply to this message

    You can DM me on twitter, @panjiakbarp
  74. @ebikko:matrix.org left the room
  75. sgrs_at joined the room
  76. panji.bsky.social

    In reply to this message

    1 invite code left
  77. @bluesk:matrix.org
  78. panji.bsky.social

    In reply to this message

    Just DM me on twitter
  79. @bluesk:matrix.org
  80. @bluesk:matrix.org joined the room
  81. @bluesk:matrix.org left the room
  82. moxak joined the room
  83. @orion95:matrix.org joined the room
  84. @orion95:matrix.org
    Hello :)
  85. Mantas Kontrimas changed their display name to ORION
  86. @orion95:matrix.org left the room
  87. Nika Kotláriková joined the room
  88. Nikola Kotláriková changed their display name to Nika Kotláriková
  89. Nika Kotláriková set a profile picture
  90. Nika Kotláriková
    Hi guys! How are you? Where are you from? 🙂 Is there anybody from the Central Euorpe?
  91. jamesg joined the room
  92. AJ Martins joined the room
  93. AJ Martins
    Hi everyone. I was wondering if anybody has an invite available to stare. I’d really appreciate one.
  94. ajms changed their display name to AJ Martins
  95. Simon joined the room
  96. Eliacim joined the room
  97. Eliacim set a profile picture
  98. @microtechton:matrix.org
    Message deleted
  99. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    don't ask for invites in this channel please
  100. @microtechton:matrix.org
    Message deleted
  101. b0gg3r
    That's a fair point
  102. snarfed
    hey bluesky team, does search on the main
    bsky.app
    PDS currently resolve arbitrary external did:web domains/identifiers?
  103. and if so, does it then make an app.bsky.actor.getProfile or similar call to the PDS before it will show a result?
  104. I'm guessing no to both, since searches for eg
    huffduff-video.snarfed.org
    and did:web:
    huffduff-video.snarfed.org
    both 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 to
    fed.brid.gy
    , the serviceEndpoint in that DID doc
  105. totally ok if that's true, just checking
  106. whyrusleeping
    I can add dids to the search query when i update it next
  107. snarfed
    whyrusleeping: not urgent. and thanks!
  108. in 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?
  109. (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)
  110. @meowmeowmilktea:matrix.org
  111. snarfed
    probably 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
  112. @meowmeowmilktea:matrix.org
  113. Whizanth joined the room
  114. Amada joined the room
  115. Marcio Alves
    How to create a Your hosting provider for me to put on BlueSky?
  116. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    not possible yet
  117. ch33gyu joined the room
  118. @ch33gyu:matrix.org set their display name to ch33gyu
  119. Goh joined the room
  120. Eri Ikematsu joined the room
  121. origasa joined the room
  122. Aaron Goldman

    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.

  123. tomill joined the room
  124. sylphrenetic

    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.
  125. sylphrenetic
    I'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.
  126. blu3mo joined the room
  127. snarfed
    Aaron Goldman: thanks for the explanation! definitely helps me understand the current design and intent
  128. I 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
  129. fwiw, 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
  130. it's how they let you follow someone or interact with a post that the instance has never seen before
  131. (sorry, you probably already know all this)
  132. not a big deal though, this design works too!
  133. gamex93 joined the room
  134. Aaron Goldman

    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. 🙂
  135. For what it is worth Activity Pub is working on the popular posts DDOS the server to hydrate the links in a post
  136. snarfed
    true! 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
  137. (er sorry, "true" was to the previous message, I didn't quite follow the popular posts one)
  138. snarfed
    ohhh 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
  139. snarfed
    current 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
  140. (pretty sure they're v1, since the header doesn't match v2's magic bytes, https://ipld.io/specs/transport/car/carv2/#pragma )
  141. Lawal Sherif joined the room
  142. davidnoe joined the room
  143. t2756 joined the room
  144. Aaron Goldman
    You may also find https://github.com/ipld/go-car useful
  145. snarfed
    yes! I found that one too. ipldtool didn't work, --input wasn't implemented, but go-car is great. thanks!
  146. xmatx joined the room
  147. alice joined the room
  148. mungonmun joined the room
  149. mungonmun
    Hello, I don't have an invitation yet, is there any way I can use bluesky with my own node?
  150. Marcos joined the room
  151. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    In reply to this message

    not yet but possibly soon
  152. @ga62puq:tum.de left the room
  153. Dean
    Is 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)
  154. Ed Goode joined the room
  155. snek joined the room
  156. Tianyu (Eric) Zhu joined the room
  157. 田中堅太郎 joined the room
  158. 田中堅太郎
    Message deleted
  159. 田中堅太郎 set a profile picture
  160. 田中堅太郎
    Message deleted
  161. Yumeka
    If everyone here starting to ask for invite code, this channel will be "Bluesky Invite codes", not "Bluesky Dev".
  162. mayaaaa joined the room
  163. @4513echo:matrix.org joined the room
  164. Chris Hahn joined the room
  165. Chelsea Manning joined the room
  166. arthur42 joined the room
  167. wafflez180 joined the room
  168. brunocasares joined the room
  169. schaumburg joined the room
  170. Chris Hahn
    I don't know anything about coding, I just like watching the cooks in the kitchen. I am looking respectfully...
  171. Connor Fowler joined the room
  172. garlol joined the room
  173. しょうねん joined the room
  174. cornesacher joined the room
  175. @lsrg:matrix.org joined the room
  176. @lsrg:matrix.org left the room
  177. Karl Abbott (Away until 10-April-2023) changed their display name to Karl Abbott
  178. Nad // away changed their display name to Nad
  179. discovered some things (inline links) atproto supports but the app doesn't yet 😊
    (edited)
  180. aisato
    I would like an invite code....
  181. @planetoryd:matrix.org

    In reply to this message

    you dont
  182. aisato
    Message deleted
  183. @planetoryd:matrix.org
    ur welcome
  184. aisato

    In reply to this message

    thank you
  185. Marcio Alves
    The BlueSky app looks like it's already in the play store review!
  186. The Android version arrives this week!
  187. @thezanarkandkid:matrix.org
  188. panji.bsky.social
    Good news
  189. richstokes joined the room
  190. Marcio Alves
    Did your BlueSky connection also drop?
  191. alice
    it's down for maintenance, will be back soon
  192. Adam The Victini
    I hope it comes back up shortly
  193. Adam The Victini
    It’s back up!
  194. @thezanarkandkid:matrix.org
  195. Adam The Victini
  196. pepijndevos joined the room
  197. pepijndevos
    How does synchronisation work in the at protocol? Is it a full master-master replication or more like a dht?
  198. snarfed
    pepijndevos: somewhere in between, but per user, not per server. https://atproto.com/guides/data-repos
  199. pepijndevos
    So for example, if I'm on
    pds1.com
    and follow someone on
    pds2.com
    they would synchronise the SDR of the person I'm following so I can see their tweets, and conversely so they see my likes etc?
  200. What 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
  201. And for example, if I mention a user that doesn't follow me, how does this info propagate?
  202. snarfed
    pepijndevos: 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
  203. re synchronizing, yes
  204. re 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
  205. pepijndevos
    Ah so migration is via local backup, not via others PDS that have a copy of your data, or are both possible?
  206. snarfed
    sounds like the current design is local device backup. still very very early though
  207. pepijndevos

    In reply to this message

    This seems kind of a crucial to figure out.
  208. The synch lexicon seems pull based
  209. Though there is a notify of update, but that seems for crawling
  210. Jackson Roberts joined the room
  211. snarfed
    right. 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
  212. Jackson Roberts
    yikes
  213. i thought this was like almost done
  214. snarfed
    almost launched in open beta, yes, but software is never done
  215. "Art is never finished, only abandoned." - Pablo Picasso 😆
  216. Serhii joined the room
  217. Serhii Ivasenko changed their display name to Serhii
  218. snarfed
  219. I'm trying to find an rkey in DAG-CBOR data returned by getRepo, getRecord etc, but not having any luck. I've tried passing CIDs and low integer values as rkey to getRecord, but I always get back the full PDS CAR
  220. Marcio Alves
    Hey guys, it looks like the bluesky social app for Android is already released but I couldn't find anyone, do you have a link?
  221. Deavial Drake

    In reply to this message

    it is still in pending review from google
  222. Lleyton “Lea” Gray joined the room
  223. notneema joined the room
  224. rokude74 joined the room
  225. rokude74
    Could anyone send me a invite code for Bluesky?
  226. Masayuki Tanenobu joined the room
  227. 種延真之 changed their display name to Masayuki Tanenobu
  228. Masayuki Tanenobu set a profile picture
  229. k-suzuki joined the room
  230. @iecruz:matrix.org left the room
  231. syui

    If everyone here starting to ask for invite code, this channel will be "Bluesky Invite codes", not "Bluesky Dev".

  232. Hiroshi Shimoju joined the room
  233. ywrknk joined the room
  234. hinagishi joined the room
  235. Synchrons joined the room
  236. electricfirefly joined the room
  237. electricfirefly
    is there a blue sky web app? Or is it only for ios
  238. electricfirefly
    Chris Hahn: Thank you!
  239. Chris Hahn

    In reply to this message

    🥰
  240. Synchrons set a profile picture
  241. ミシリア changed their display name to Synchrons
  242. @9rom:matrix.org joined the room
  243. iwkt joined the room
  244. karubonara joined the room
  245. カルボナーラ changed their display name to karubona-ra
  246. karubona-ra changed their display name to karubonara
  247. nazo6 joined the room
  248. tstuser001 joined the room
  249. @inuiwan:matrix.org joined the room
  250. @inuiwan:matrix.org left the room
  251. Thib (back on April 11) changed their display name to Thib
  252. @joemendonca:matrix.org joined the room
  253. hisuikodai joined the room
  254. skiqh joined the room
  255. ryogrid joined the room
  256. ryogrid set a profile picture
  257. Wire joined the room
  258. ワイヤー changed their display name to Wire
  259. 佐藤 遥 joined the room
  260. 佐藤 遥
    Can I get the bluesky invitation code here? I want to try:)
  261. Wire
    I also want to try bluesky, so I would like an invitation code.
  262. kPherox changed their display name to kphrx
  263. ab10don joined the room
  264. 犬猫 joined the room
  265. ab10don
    hello there. I need your help! Im looking for Bluesky invitation cord. please kindly help me. thx
  266. Dharam Kapila joined the room
  267. @kitadon:matrix.org joined the room
  268. @kitadon:matrix.org
    Hello
  269. @kitadon:matrix.org
    Message deleted
  270. @microtechton:matrix.org left the room
  271. @neilalexander:matrix.org
    Don't ask for invites in this room please, this is a developer room
  272. @kitadon:matrix.org left the room
  273. Marcio Alves
    How long does it take for the play store to accept the app? It's in the review since yesterday!
  274. @cel:pussy.accountants
    does everybody currently use
    plc.directory
    as the did method?
  275. 朔 joined the room
  276. sylphrenetic

    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
  277. umi123456789 joined the room
  278. @cel:pussy.accountants
    yup, that's what i meant, i didn't know what the term would be, log?
  279. sefidel changed their profile picture
  280. sefidel changed their profile picture
  281. sefidel changed their profile picture
  282. electricfire joined the room
  283. grayliquid joined the room
  284. @meowmeowmilktea:matrix.org
  285. snarfed
    no one knows for sure, but given Musk's and Twitters behavior, personally I expect yes, it's misplaced. Twitter seems lost
  286. I vaguely remember Musk tweeting something(s) disparaging about Bluesky, like he did with Mastodon etc
  287. @meowmeowmilktea:matrix.org
  288. snarfed

    In reply to this message

    are you not on it yet? here's an invite code: bsky-social-mmzwnq7
  289. @meowmeowmilktea:matrix.org
  290. Chris Hahn

    In reply to this message

    go to Google News and look up "twitter x corp" and then ask yourself that question again.
  291. anyway, let's not chat here. back to nerd stuff. :-)
  292. @meowmeowmilktea:matrix.org
  293. @joemendonca:matrix.org
    Message deleted
  294. @meowmeowmilktea:matrix.org
  295. @joemendonca:matrix.org
    Message deleted
  296. @meowmeowmilktea:matrix.org
  297. Chris Hahn
    who's the admin of this? can someone go create a room for General BSKY chat and then make this one invite only?
  298. snarfed

    In reply to this message

    sorry, looks like Schuyler took it
  299. h1d4k4 joined the room
  300. snarfed
    has 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
  301. snarfed
    looks like the answer here is yes, that's what record key is
  302. snarfed
    hmm maybe! I just get a "Could not connect to the IPFS API" error, I assume I'll need to set something up
  303. Aaron Goldman
    oh i forgot that talks to the local IPFS node
  304. snarfed
    but what I really want is the MST structure, which is your own thing, not just the IPLD blocks/nodes
  305. Lawal Sherif
    Hi everyone
  306. Does 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
  307. snarfed
  308. grayliquid
    how does one go about building a bluesky app without having early access yet?
  309. snarfed
    realistically you'd probably need an account so you could test it
  310. Dean
    You can use dev-env in the atproto package to spin up a bsky test server
  311. Aaron Goldman

    In reply to this message

    you should be able to run the server locally
  312. AIMURASAN joined the room
  313. AIMURASAN set a profile picture
  314. cipherproxy joined the room
  315. snarfed
    Daniel Holmgren++ (and devin ivy++) for mst.ts and especially mst.test.ts, they look pretty straightforward to translate, and the test cases are 💯
  316. Jake joined the room
  317. Jake
    where do i enter my invite code
  318. Yumeka

    In reply to this message

    iOS app or desktop site https://staging.bsky.app/
  319. lx-is (@lx-is:catgirl.cloud) joined the room
  320. taofeeq joined the room
  321. sujiyan joined the room
  322. おこめ changed their display name to okome
  323. okome set a profile picture
  324. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    In reply to this message

    oh wow this is brilliant
  325. is this how you plan to integrate with bridgy?
  326. snarfed
    yeah both bridgy and bridgy fed use granary heavily
  327. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    I especially like the ActivitiyStreams part - budget federation with the fediverse
  328. snarfed
    thanks! AS2 is obviously only part of fediverse integration, you need AP too, but the AS2 conversion is useful
  329. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    Just 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
  330. right now it uses plaintext username and password, sorry
  331. source code is https://github.com/ShreyanJain9/bsky/blob/master/app.py if anyone is curious
    (edited)
  332. snarfed
    nice!
  333. and agreed, can't wait for https://github.com/bluesky-social/atproto/issues/649, using passwords like this is ugly
  334. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    thanks! can't wait for oauth if it happens
  335. @usk:matrix.org joined the room
  336. @usk:matrix.org left the room
  337. Aaron Goldman

    16384 dids in

    (edited)
  338. mariqnne joined the room
  339. xnf0k
    What's the `userInviteInterval` value set on
    bsky.app
    ? (if it's okay to disclose)
  340. borismann
    Here! 
  341. Soohan Park (Heartade)
    Can we set the value from the client side? It seems like it's used to set the interval at which invites are sent.
  342. xnf0k
    I think it's a server config that says how often users get invite codes to share.
  343. Soohan Park (Heartade)
    I heard that invites are sent at two weeks interval as of now, what does the value look like?
  344. borismann

    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. 
  345. As I mentioned, any Python devs can happily look at Moa source code 
  346. Soohan Park (Heartade)
    So 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.
  347. borismann
    Yep. That requires a fix / change on the bsky side I think. 
  348. xnf0k
    Oh okay good to know, thanks
  349. That's is in milliseconds so whatever 2 weeks is in ms would be the value
  350. borismann
    Oh lol I got a credit for fixing a typo.
  351. Soohan Park (Heartade)
    So 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.
  352. Tho 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.
  353. borismann
    And cheating on time stamps is problematic 
  354. Need like an “import” flag perhaps to trust certain kinds of backdating. 
  355. I don’t think importing Tweets at scale is actually a good idea BTW
  356. Soohan Park (Heartade)
    A lot of people want it though. Perhaps we could even have PDSs dedicated as backups of people's twitter accounts?
  357. borismann
    There is a niche crowd for this and there might be a server that specializes in this, but “Bluesky main” shouldn’t focus on this. 
  358. Yes. Dedicated PDS. 
  359. Soohan Park (Heartade)
    I definitely agree.
  360. borismann
    Also I don’t think it’s a lot. 
  361. There are 64 people in the mapping.js for Tweetback https://github.com/tweetback/tweetback-canonical/blob/main/mapping.js
  362. Soohan Park (Heartade)
    I 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
  363. Maybe it's just because not enough people know it's possible.
  364. borismann
    I think the desire for cross posting is much higher. 
  365. Soohan Park (Heartade)
    Yep, much higher and also much harder to implement due to Elon's restrictions on Twitter API...
  366. borismann
    Also: a “find my Twitter people on Bluesky” also would have much higher demand 
  367. Which maybe is a really good start. We could host a “mapping.json” that people PR their twitter <> bsky into
  368. Soohan Park (Heartade)
    I'm now thinking of a dedicated PDS that maps Twitter accounts, synced once in a while (due to API restrictions) with Twitter
  369. borismann
    Super manual and there are probably some mass ways of doing this too but it can’t get cut off. 
  370. ian5v joined the room
  371. xnf0k
  372. Soohan Park (Heartade)
    Also 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
  373. What 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
  374. borismann

    In reply to this message

    Yep. There are a handful of these that are mostly shutting down soon because of API limits 
  375. I put a butterfly next to my handle in my profile 
  376. @4513echo:matrix.org left the room
  377. borismann

    In reply to this message

    This is what happened since ~2018 in ActivityPub / Mastodon 
  378. Soohan Park (Heartade)
    Yeah, I know right because I'm moving to bsky after trying APub lol
  379. borismann
    I’m on … everything right now ;)
  380. Soohan Park (Heartade)

    So... could we implement

    • A dedicated server that
      • lets you backup your twitter archive (manually)
      • map twitter people 1:1
  381. @nobodyu:matrix.org
  382. borismann
    I don’t Know how far out the run your own PDS is 
  383. I think to start the GitHub repo with manually mapping could move very quickly. 
  384. There … is a verification problem 
  385. But wouldn’t need to be a very large app
  386. Soohan Park (Heartade)
    Oh I just realized it doesn't even have to be bluesky if it just needs to map people
    (edited)
  387. And... I'm just starting to realize hosting everyone's whole twitter archives is going to be terribly expensive
  388. borismann
    My archive is 1.5GB
  389. The media is the big part especially if people had a lot of video.  
  390. Soohan Park (Heartade)
    Mine amounts to more than 10GB total :P
  391. So 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)
  392. borismann
    Yep. It’s why I went with butterfly 🦋. A little more subtle ;)
  393. Soohan Park (Heartade)
    Also that is how mastodon verifies website ownership actually
  394. borismann
    Well it uses rel=me 
  395. Soohan Park (Heartade)
    That's basically a link anyway so... shouldn't really matter if the link is somewhere else lol
  396. I have to admit I didn't tinker much with atproto, do we have... some kind of... a simple API for retrieving profiles?
  397. borismann
    People are building full clients so all that is there 
  398. And can be cached nicely since everything has content IDs
  399. Ok 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.  
  400. I’ll think about it a bit more tomorrow. 
  401. Soohan Park (Heartade)
    Alright goodnight and thanks for the insights!!
  402. kazuyahara joined the room
  403. //ADB joined the room
  404. hrektts joined the room
  405. hrektts set a profile picture
  406. Alice joined the room
  407. Alice앨리스 changed their display name to Alice
  408. Soohan Park (Heartade)
    Alice
    @aliceislazy1:matrix.org
    : hey nice to see you here!
  409. Alice
    I 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)
  410. Soohan Park (Heartade)
    Does that feature still work on clubhouse? Never used that app so I'm not sure but they're probably paying for access
  411. Federico Drei joined the room
  412. Soohan Park (Heartade)
    I'm thinking of making a Chrome extension that lets users crawl their Followers/Following page
  413. I mean in Twitter, so that we can get users' follow list and map them to Bluesky handles or dids
  414. @planetoryd:matrix.org

    In reply to this message

    userscript nuff
  415. Soohan Park (Heartade)
    We 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)
  416. I'm thinking of an extension because it's more user-friendly
  417. @planetoryd:matrix.org

    In reply to this message

    no, just make a user script
  418. Soohan Park (Heartade)
    Hmm. What would be the best way to let the less tech-savvy users easily use a userscript?
  419. @planetoryd:matrix.org
    click n install
  420. violentmonkey
  421. Soohan Park (Heartade)
    Sounds about right. I'll try!
  422. alice

    In reply to this message

    you too... do we know each other?
  423. Soohan Park (Heartade)
    alice: I'm sure so?
  424. alice

    In reply to this message

    i don't recall but nice to meet you nevertheless
  425. sebb_ joined the room
  426. Alice
    Message deleted
  427. ian5v
  428. @sol123:matrix.org joined the room
  429. ソルライ changed their display name to sol
  430. snarfed
    re importing tweets and preventing them all from showing up as new posts: https://github.com/bluesky-social/atproto/issues/787
  431. sefidel changed their profile picture
  432. sefidel changed their profile picture
  433. bruno.vaz joined the room
  434. xnf0k
    Have 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?
  435. (can't read = thinks the record doesn't exist, for whatever reason)
  436. Deavial Drake
    i 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
  437. xnf0k

    In reply to this message

    Good to know, thanks
  438. Deceptio joined the room
  439. xnf0k
    If 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
  440. paulghostsuk
    Has the android bluesky app past it's review test yet.
  441. whyrusleeping
    No :(
  442. @jexhyde:matrix.org joined the room
  443. I tested it and got api limited so I'm not sure if it works, but if it does work you could use it when Twitter API access finally kills unflwrs ian5v
  444. tzx joined the room
  445. richardlitt joined the room
  446. Jamie Shepherd joined the room
  447. Semih keskin joined the room
  448. Adam Soffer joined the room
  449. @jexhyde:matrix.org joined the room
  450. @jexhyde:matrix.org joined the room
  451. @jexhyde:matrix.org left the room
  452. jae joined the room
  453. tobiastyler joined the room
  454. Dusty Pomerleau joined the room
  455. duspom changed their display name to Dusty Pomerleau
  456. Sominemo joined the room
  457. straw-hat joined the room
  458. xnf0k
    Hey, looks like
    staging.bsky.app
    doesn't use the custom server for getPopular calls:
  459. ian5v

    In reply to this message

    nice!
  460. @shorty_gunny:matrix.org changed their profile picture
  461. Soohan Park (Heartade)
    As it turns out the Twitter APi used by the Twitter web client somehow hits the limit at ~1000 follows or followings.
  462. Which means I'm not able to scroll to the bottom of my followers page without hitting the limit lol
  463. Any idea on how we could get around this limit? Should we just make the user leave the page open for an hour?
  464. @easis:matrix.org joined the room
  465. vernon (building @ yup) joined the room
  466. @easis:matrix.org left the room
  467. breakgimme joined the room
  468. @chrishobcroft:matrix.org joined the room
  469. @max:nymtech.chat joined the room
  470. @max:nymtech.chat left the room
  471. @andrew:trivial.business left the room
  472. KingYoSun

    In reply to this message

    Hi, I am the admin of
    boobee.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 on
    boobee.blue
    because 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)
  473. KingYoSun set a profile picture
  474. Aaron Goldman

    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

  475. @jonaharagon.com
    Are 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?
  476. gjsj joined the room
  477. KingYoSun

    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.
  478. Lawal Sherif

    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
  479. KingYoSun

    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.
  480. @jonaharagon.com
    I 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?
  481. KingYoSun
    Probably no, or it may be low priority.
  482. adieuCord joined the room
  483. snarfed
    the 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)
  484. KingYoSun

    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.
  485. unlobito joined the room
  486. Iliass joined the room
  487. treflatface joined the room
  488. @dream:envs.net
    Hi there. Is there any chance to get an invitation by manual. It’s been 6 months and still I haven’t got one.
  489. @jonaharagon.com
    It 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.
  490. Tetrus joined the room
  491. Tetrus changed their profile picture
  492. Monokuromu joined the room
  493. t5poc changed their display name to T5
  494. damon/
    There’s about 20k
  495. bnewbold
    blog post on moderation in atproto+bluesky: https://blueskyweb.xyz/blog/4-13-2023-moderation
  496. we 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
  497. 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
  498. 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
  499. In reply to this message

    ... and still no! could be late next week apparently 😞
  500. 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)
    • client (app) is not yet configurable to multiple label-creating authorities (but will be)
    • 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
  501. extratone joined the room
  502. bnewbold
    • reporting is an important part of moderation feedback loop, and is the current mechanism for manually applying labels; this will become more flexible
  503. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    In reply to this message

    where do the reports go to?
  504. bnewbold
    • 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
  505. 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)
  506. the 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
  507. but other reports (like spam) can also just get blasted out to many services who might care (PDS + central automated systems + bespoke services)
  508. the "routing" will need some care and configurability
  509. labels 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)
  510. @softinio:matrix.org
    Some of my friends got invites. Assume if I didn’t means not my turn on waiting list? Or should join list again ?  
  511. @mezyoucef32:matrix.org joined the room
  512. 2GMon joined the room
  513. tasuku.season joined the room
  514. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    apparently AT Proto lets you follow yourself
  515. zyolluax

    In reply to this message

    Gotta make sure someone is viewing my posts 🤝
  516. praveenzid joined the room
  517. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    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)

  518. ttyyaaggii joined the room
  519. @caffeineee:matrix.org joined the room
  520. Nezteb joined the room
  521. mr175185 joined the room
  522. Erasmus joined the room
  523. sirodoht joined the room
  524. Jurij Jukic
    What 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
  525. @tony6:matrix.org joined the room
  526. a6oly joined the room
  527. a6oly
    Hello, I want an invite please
  528. @planetoryd:matrix.org

    In reply to this message

    you can bruteforce the code
  529. davidar joined the room
  530. Ferix joined the room
  531. Ferix
  532. can i take invite from here?
  533. Ferix left the room
  534. Ferix joined the room
  535. @yabasta:matrix.org joined the room
  536. @sol123:matrix.org left the room
  537. damon/
    This is not the place for invites
  538. @planetoryd:matrix.org

    In reply to this message

    no
  539. damon/
    But, there is a subreddit where BlueSky members kindly share invite codes when they become available. I would suggest that you look there.
  540. Akshit Kr Nagpal joined the room
  541. sefidel changed their profile picture
  542. @meawoppl:matrix.org joined the room
  543. @meawoppl:matrix.org
    Hey all, I have an invite from a friend, but it's unclear to me where the login/register page is. Any help there?
  544. @meawoppl:matrix.org
    Awesome thanks!
  545. What needs help (fairly experienced developer willing to shovel, but I lack direction)
  546. damon/
    Can you provide a screenshot of the log-in screen?
  547. vernon (building @ yup)
    Hi, 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).
  548. Vernon Johnson changed their display name to vernon (building @ yup.io)
  549. @meawoppl:matrix.org
  550. Lawal Sherif
    Click on create account
  551. Rhino Unknown
    I 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.
  552. whyrusleeping
    Yep, you can use your own domain as your handle
  553. Dm me for an invite code
  554. @meowmeowmilktea:matrix.org

    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
  555. Do W3C standards necessarily have revenue models?
  556. Er, sorry if I’m conflating Bluesky with ATProtocol
  557. One-time in-app purchases could also be a way of monetizing features, of course, it doesn’t have to be a recurring subscription
  558. T K joined the room
  559. snarfed
    they 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)
  560. @joemendonca:matrix.org left the room
  561. plaidfinch joined the room
  562. nuo00231 joined the room
  563. escapetofreedom changed their display name to Ivan
  564. pk910 joined the room
  565. vernon (building @ yup)
    Is there a network status page somewhere that shows general network status? e.g., total user count, posts, etc
  566. Aaron Goldman
    It would not be hard to make one that follows
    plc.directory
  567. Lucent joined the room
  568. Lucent
    not knowing much about the underlying protocol, is it a reasonable ask that
    bsky.social
    usernames stay squatted as we play with custom domains so we can return to them without fear of being juped?
  569. Aaron Goldman

    In reply to this message

    Oddly it has very little to do with the protocol. The *.
    bsky.social
    names 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
  570. Lucent
    it sounds like i don't understand what the did= numbers map to, if anything. i should read more
  571. Lucent
    expected to see _
    atproto.lucent.bsky.social
    txt lookup to return the same record i set on my domains
  572. mark joined the room
  573. @steve_coldham:matrix.org joined the room
  574. 富山未来(ABABBA) joined the room
  575. jesopo joined the room
  576. mikuhl
    Jack 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?
  577. snarfed
    he's on the board, but not really on the team in the same sense
  578. foobar2023 joined the room
  579. snarfed
    hit a good milestone, Python MST implementation is up and running! https://github.com/snarfed/bridgy-fed/blob/mst/atproto_mst.py
  580. huge thanks again to Daniel Holmgren and devin 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
  581. ahmad joined the room
  582. @kawauchi:matrix.org joined the room
  583. @anonymous.nothing:matrix.org left the room
  584. 8pgbcwrn5z joined the room
  585. haoyayoi joined the room
  586. 8pgbcwrn5z
    Can 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.
  587. I have curiously never seen a http URL for a post on bsky dot social. Can anyone share a valid URL ?
    (edited)
  588. alethkit joined the room
  589. @altoneko:matrix.org joined the room
  590. u5tur4 joined the room
  591. @altoneko:matrix.org removed their display name (キルミーねこさん)
  592. @altoneko:matrix.org left the room
  593. @kawauchi:matrix.org left the room
  594. 8pgbcwrn5z

    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.
  595. jesopo

    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 when
    bsky.social
    federates surely
  596. flancian 🍄 joined the room
  597. flancian 🍄
    hi all! happy to be here! I just joined the network and I love it already :)
  598. robhaisfield joined the room
  599. snarfed

    In reply to this message

    welcome!
  600. Alican D joined the room
  601. candeniz
    I had registered but The system didn’t send me code. Can anyone send me a code?
  602. Alican D
    i need it too
  603. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    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.

    and also the client.
    staging.bsky.app
    is just a web client, and
    bsky.social
    is 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

  604. @levisio:matrix.org joined the room
  605. moved to @shreyan:beeper.com@shreyanjain:matrix.org
  606. these urls use the structure of handle and then the post's "rkey"
  607. Takafumi Mizuguchi joined the room
  608. skiqh set a profile picture
  609. skiqh removed their profile picture
  610. skiqh set a profile picture
  611. skiqh removed their profile picture
  612. @sudousrcode:matrix.org joined the room
  613. nairb_db joined the room
  614. nairb_db set a profile picture
  615. Evren joined the room
  616. omeryilmaz joined the room
  617. bobo11_ joined the room
  618. jesopo
    am i blind or do these examples not work https://atproto.com/guides/applications#repo-crud
  619. specifically

    1234await api.com.atproto.repo.listRecords({
      repo: 'alice.com',
      type: 'app.bsky.post'
    })
    
  620. @buffalochickenbluecheese:matrix.org joined the room
  621. jesopo

    and if you do forego collection and instead call this xrpc with a type, you get

    1234ApiError {
        error: "InvalidRequest",
        message: "Error: Params must have the property \"collection\"",
    },
    
  622. @buffalochickenbluecheese:matrix.org left the room
  623. @mezyoucef32:matrix.org left the room
  624. h5h5gyfc5q joined the room
  625. snarfed
    jesopo: yeah some of the docs on
    atproto.com
    are probably out of date, behind a recent big lexicon refactor. they'll get to them eventually, just hasn't been a top priority yet
  626. jesopo
    does that mean app.bsky.feed.post is not considered to be a generic record that you can query through com.atproto.repo.listRecords?
  627. because if i query com.atproto.repo.listRecords for a collection of app.bsky.feed.post, i get an empty array
  628. but if i query app.bsky.feed.post then i do get posts
  629. @frank10:matrix.org joined the room
  630. jess ✨ changed their display name to jesopo
  631. hoagehoge joined the room
  632. a.eghbal joined the room
  633. The SpaceX joined the room
  634. Lleyton “Lea” Gray changed their profile picture
  635. snarfed
    they handle very different data formats and ids. in general you want to be working with app.bsky.*, that's the one that usee the app.bsky lexicons and human-readable data
  636. com.atproto is lower level all CIDs and DAG-CBOR encoded data, not so human readable
  637. Akio Kondo joined the room
  638. mikuhl
    Lots 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
  639. Kinda cute :)
  640. Tom would be a fan lol.
  641. mikuhl
  642. Something like this?
  643. could fit on the bottom right of the profile pic too
  644. @frank10:matrix.org
    Message deleted by Aaron Goldman
  645. skiqh set a profile picture
  646. Ono Chin joined the room
  647. mdenesfe joined the room
  648. mdenesfe set a profile picture
  649. James Tamim joined the room
  650. James Tamim
    Is asking for invite codes allowed in here or not?
  651. flancian 🍄

    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).
  652. thank you! :D
  653. @thezanarkandkid:matrix.org removed their display name (thezanarkandkid)
  654. @thezanarkandkid:matrix.org left the room
  655. Lawal Sherif
    Do you know here the bug is from ? You can just creat an issue on the repo
  656. https://github.com/bluesky-social/atproto this is the primary protocol they use
  657. I 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
  658. panji.bsky.social

    In reply to this message

    How to get this? Is it paid like Elon does?
  659. Kristian L. Thomassen joined the room
  660. Kristian L. Thomassen
    How can I download Bluesky for Android?
  661. Kristian L. Thomassen
    Just looked up in the history here. I see it's pending on Google Play Store, is that right? Looking forward to try it out 😊
  662. Marcio Alves
    There's no way for now
  663. Kristian L. Thomassen

    In reply to this message

    Ok, thanks for your reply. Patience, welcome 😊
  664. Kira Orlov joined the room
  665. Kira Orlov set a profile picture
  666. @alex:memoryandthought.me left the room
  667. BENİM MSİ joined the room
  668. Stephen Petrey joined the room
  669. jesopo

    In reply to this message

    makes sense, though it's a shame there's no "give me all the records of <type>" endpoint
    (edited)
  670. thanks
  671. @jdmark:matrix.org left the room
  672. mikuhl

    In reply to this message

    This is just a mockup I did lol
  673. In reply to this message

    You can use the staging web app on your browser.
  674. Kristian L. Thomassen

    In reply to this message

    Where do I find that?
  675. justforx joined the room
  676. justforx
    Hello, if it's allowed, can i take an invite from here?
  677. arayaryoma joined the room
  678. snek left the room
  679. 8pgbcwrn5z

    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.
  680. damon/
    While 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.
  681. Cynical_Ghost joined the room
  682. jesopo

    In reply to this message

    sorry, what's
    plc.directory
    ?
  683. rabiaderinn1 joined the room
  684. Torin Rozzelle joined the room
  685. mikuhl
    Will 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)
  686. damon/
    Users are able to have multiple accounts. You are also able to change your handle
  687. cassiep joined the room
  688. mikuhl
    It 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.
  689. Torin Rozzelle

    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.

    12345678910111213141516171819202122await 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",
                            },
                        });
    
  690. jesopo

    In reply to this message

    "hard time" - are you getting errors anywhere?
  691. @frank10:matrix.org left the room
  692. Torin Rozzelle
    Sorry for being inexact, yes, Invalid
    app.bsky.feed.post
    record: 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.
  693. m12z changed their display name to Marcos
  694. jesopo
    right, it's hard to know what's right here. documentation could be much better
  695. have you looked at what await agent.uploadBlob(...) is actually returning, that's getting inserted in to your post body?
  696. jesopo
    Message deleted
  697. @meowmeowmilktea:matrix.org
    if I wanted to contribute to AT Protocol or any related technology, what would be the things I need to learn?
  698. I know there's https://proto.school, how helpful would that be?
  699. snarfed
    @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
  700. key part is to build something you want. that motivation will pull you through whatever you need to learn
  701. jesopo

    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 on
    atproto.com
    is both out of date and insufficient, so you have to learn by actually doing things
  702. and once you know how the damn thing actually works, you can figure out where to go
  703. @meowmeowmilktea:matrix.org
    yep, 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!
  704. @sakuya_lily:matrix.org joined the room
  705. @sakuya_lily:matrix.org left the room
  706. Torin Rozzelle
    The 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.
  707. whyrusleeping
    What problems are you running into?
  708. Docs definitely not being prioritized right now but i can probably offer some advice
  709. こーちゃん。 joined the room
  710. highly-original-name joined the room
  711. highly-original-name
    is 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
  712. Yuichi Ota joined the room
  713. bitwolf (@bitwolf:cybre.space) joined the room
  714. bitwolf (@bitwolf:fedora.im) joined the room
  715. bnewbold

    In reply to this message

    there is no email reset flow yet. there does need to be one. for now email
    support@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)
  716. etzl changed their display name to Emily
  717. bnewbold

    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
  718. the 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
  719. 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)
  720. 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
  721. bnewbold

    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
  722. ksyk joined the room
  723. jesopo

    In reply to this message

    In reply to
    bnewbold
    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
    yeah i did figure this out eventually. not sure what i was doing wrong before!
    (edited)
  724. yumisen joined the room
  725. Torin Rozzelle

    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.
  726. Marcio Alves
    I want to invite you to join the first BlueSky community in Brazil https://dailyfriend.com.br/communities/1681746959652448
  727. @timenaut:matrix.org left the room
  728. Torin Rozzelle
    Nice, I got it working. svg->png, uploadBlob before
    agent.post
    ({}) and provide the
    result.data
    .blob object as the image. Killer.
  729. vernon (building @ yup)

    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)
  730. vernon (building @ yup.io) changed their display name to vernon (building @ yup)
  731. snarfed
    a 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)
  732. vernon (building @ yup)
    thanks!
  733. jesopo
    Message deleted
  734. Message deleted
  735. mikuhl
  736. One 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.
  737. ksyk set a profile picture
  738. nyanjiro joined the room
  739. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    What kind of timestamps does AT Proto expect in the "createdAt" field?
  740. snarfed

    In reply to this message

    string, ISO8601 datetime, example in https://atproto.com/guides/lexicon#record-types
  741. N.E.C. joined the room
  742. Aaron Goldman

    In reply to this message

    It is iso8601 but I would stick to the intersection of rfc3339 and iso8601

    https://ijmacd.github.io/rfc3339-iso8601/

  743. snarfed

    In reply to this message

    always!
  744. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    ah so like 2023-04-17T18:14:23.532+00:00
  745. or am I doing something wrong?
  746. snarfed
    looks fine, assuming they handle timezone offsets
  747. jesopo
    how does one update profile via xrpc? i assume it is com.atproto.repo.putRecord with a collection of app.bsky.actor.profile - but what's rkey?
  748. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    I'd assume rkey is the recovery key but don't take my word for it
  749. jesopo
    i assume rkey is a way of indexing individual records in a collection
  750. whyrusleeping
    Rkey is the MST path for the record
  751. jesopo
    but i don't know what the rkey would be for a record of which there is only 1
  752. mikuhl
    I can 100% say developing a bot is way easier on Bluesky than on Nostr.
  753. bnewbold
    rkey is "record key". is the final bit of the MST path, not the entire path (which is usually <nsid>/<rkey>
  754. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    In reply to this message

    with nostr I guess you have to juggle multiple relays etc
  755. bnewbold
    rkey is usually a "TID" (time identifier? I don't know what it actually stands for), but that is a loose convention
  756. for profiles, you set the rkey to self
  757. mikuhl

    In reply to this message

    Yes exactly, my posts were not showing up and the relays gave me absolutely no information why.
  758. jesopo

    In reply to this message

    .... ohhh and the at:// URIs are formatted MSTs
  759. also, sad, you can createRecord for app.bsky.feed.post objects that contain arbitrary keys with arbitrary values but you can't do the same for profiles
  760. 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
    } 
    
  761. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    In reply to this message

    honestly the fact that you can do that for posts is sick
  762. but yea wish it was there for profiles too
  763. jesopo
    it'd be cool to do it for profiles too
  764. i was trying to set {"bot" true}
  765. also, how come https://bsky.social/xrpc/com.atproto.repo.getRecord?repo=jesopo-test.bsky.social&collection=app.bsky.feed.post&rkey=3jtlrb3nfu226 includes indexedAt but xrpc/com.atproto.repo.listRecords doesn't include indexedAt?
  766. Marcio Alves
    I need help my BlueSky account was unfairly removed by me. Good night to other users who were interacting on the social network!
  767. My account was accused of Spam for saying good night to 25 people!
  768. whyrusleeping
    You were spamming and nobody liked it
  769. You got tons of reports and made a bunch of work for us to deal with
  770. And it wasnt 25 people, it was 136
  771. jesopo

    In reply to this message

    from a quick look, my guess is that listRecords records are being validated (i.e. trimmed of extraneous data) but getRecord records are not?
  772. bnewbold
    ^ please take the account lock discussion to email (should be in your inbox!)
  773. 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
  774. jesopo

    In reply to this message

    ... the reason i care is if you sort records by record["createdAt"] you can fall prey to falsified timestamps
  775. In reply to this message

    sorry, this is unrelated to arbitrary keys and values
  776. i'll make an issue though!
  777. bnewbold
    there is a whole lifecycle for schema evolution planned, but the general principle is that the party controlling the NSID namespace (eg,
    atproto.com
    or
    bsky.app
    for 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)
  778. jesopo: that is a good point w/r/t the indexedAt timestamp, please open an issue about that as well (or just that if you don't care about the schema thing)
  779. Marcio Alves
    Look, 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
  780. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    In reply to this message

    not the place for this discussion
  781. jesopo

    In reply to this message

    submitted both
  782. Marcio Alves
    Ok 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
  783. some social network
  784. jesopo
    also 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
Next group of messages