Fri, Jul 28, 2023
- @red6leader9:matrix.org17:31Message deleted by Daniel Holmgren
- 17:31Message deleted by Daniel Holmgren
- shreyan
- Aaron Goldman17:31the records are in a hash tree, the root of the tree is signed whether that signing key lives on the client or the server changes the power dynamic
- @red6leader9:matrix.org17:31Message deleted by Daniel Holmgren
- 17:32Message deleted by Daniel Holmgren
- 17:32Trinity changed their display name to Jo
- Aaron Goldman
- 17:32Joanna changed their profile picture
- @wvrld:matrix.org17:33Message deleted by Daniel Holmgren
- 17:33Message deleted by Daniel Holmgren
- @red6leader9:matrix.org17:34Message deleted by Daniel Holmgren
- @wvrld:matrix.org17:34Message deleted by Daniel Holmgren
- 17:35Message deleted by Daniel Holmgren
- @red6leader9:matrix.org17:35Message deleted by Daniel Holmgren
- Aaron Goldman17:35When you used Twitter who is the authority? It is Twitter. Twitter can say that you tweated something and you can only tweet because you asked them to post somthing for you. If you have the keys to your own repo then the PDS can't speak as you and you can continue to speak even if you get kicked off your PDS.
- @red6leader9:matrix.org17:36Message deleted by Daniel Holmgren
- 17:36Message deleted by Daniel Holmgren
- @wvrld:matrix.org17:36Message deleted by Daniel Holmgren
- @red6leader9:matrix.org17:36Message deleted by Daniel Holmgren
- 17:37Message deleted by Daniel Holmgren
- @wvrld:matrix.org17:37Message deleted by Daniel Holmgren
- 17:37Message deleted by Daniel Holmgren
- @red6leader9:matrix.org17:37Message deleted by Daniel Holmgren
- 17:37Message deleted by Daniel Holmgren
- @wvrld:matrix.org17:38Message deleted by Daniel Holmgren
- @red6leader9:matrix.org17:38Message deleted by Daniel Holmgren
- Aaron Goldman17:38"according to the people bluesky wants to moderate their platform" is not well defined. Moderation can be done at difrent layer and by difrent people. A client is filtering what is shown to a user. A PDS is filtering what they want to host.
- @red6leader9:matrix.org17:39Message deleted by Daniel Holmgren
- @wvrld:matrix.org17:39Message deleted by Daniel Holmgren
- @red6leader9:matrix.org17:39Message deleted by Daniel Holmgren
- Aaron Goldman17:39I would be very surprised if we don't get a few PDSs that I think are disgusting and wish they would not use my protocals
- @wvrld:matrix.org17:40Message deleted by Daniel Holmgren
- @red6leader9:matrix.org17:40Message deleted by Daniel Holmgren
- @wvrld:matrix.org17:40Message deleted by Daniel Holmgren
- @red6leader9:matrix.org17:41Message deleted by Daniel Holmgren
- shreyan17:41would it be BGS level or PDS level defederation
- @red6leader9:matrix.org17:41Message deleted by Daniel Holmgren
- 17:41Message deleted by Daniel Holmgren
- Aaron Goldman17:42yup de-federation is a fair response to not wanting that garbage on your servers.
- @red6leader9:matrix.org17:42Message deleted by Daniel Holmgren
- @wvrld:matrix.org17:43Message deleted by Daniel Holmgren
- Aaron Goldman17:44some things don't need to be in my index. e.g. Google crawled and indexed the Tor hidden services urls that they found on the web. Then decided that condent did't need to be in their search results
- @red6leader9:matrix.org17:44Message deleted by Daniel Holmgren
- shreyan17:45when data is on the public web, crawling it is trivial
- @red6leader9:matrix.org17:45Message deleted by Daniel Holmgren
- Aaron Goldman17:46https://en.wikipedia.org/wiki/.onion find a .onion link get the webpage same as .com
- 17:47
In reply to this message
I need a search engine. They keep adding content to the internet faster than I can read it. - @red6leader9:matrix.org17:47Message deleted by Daniel Holmgren
- Aaron Goldman17:48some of it yes, some of it no
- @red6leader9:matrix.org17:48Message deleted by Daniel Holmgren
- Aaron Goldman17:49only a small part of the mountain is the diamonds
- @wvrld:matrix.org17:49Message deleted by Daniel Holmgren
- Aaron Goldman17:50Hard to say if the internet is getting better but the best of the internet if much better than the best was in 2007
- @wvrld:matrix.org17:50Message deleted by Daniel Holmgren
- @red6leader9:matrix.org17:50Message deleted by Daniel Holmgren
- 17:50Message deleted by Daniel Holmgren
- 17:51Message deleted by Daniel Holmgren
- 17:51Message deleted by Daniel Holmgren
- @wvrld:matrix.org17:51Message deleted by Daniel Holmgren
- @red6leader9:matrix.org17:52Message deleted by Daniel Holmgren
- Aaron Goldman
- @red6leader9:matrix.org17:53Message deleted by Daniel Holmgren
- shreyan17:53...what is happening
- Aaron Goldman17:53we got off topic
- @red6leader9:matrix.org17:53Message deleted by Daniel Holmgren
- Aaron Goldman17:54we should go back to protocals and the nash equilibrium that the protocal encourages
- @wvrld:matrix.org17:55Message deleted by Daniel Holmgren
- @red6leader9:matrix.org17:55Message deleted by Daniel Holmgren
- @wvrld:matrix.org17:56Message deleted by Daniel Holmgren
- 17:57Message deleted by Daniel Holmgren
- shreyan17:57i have an idea what if we follow the room rules in here
- Aaron Goldman
- 17:58you are welcome to make a room for that conversation but this is not that room
- @wvrld:matrix.org17:59Message deleted by Daniel Holmgren
- @red6leader9:matrix.org17:59Message deleted by Daniel Holmgren
- @wvrld:matrix.org18:01Message deleted by Daniel Holmgren
- @red6leader9:matrix.org18:01Message deleted by Daniel Holmgren
- @wvrld:matrix.org18:01Message deleted by Daniel Holmgren
- Aaron Goldman18:01
In reply to this message
Oh, you should look at Nash Equilibrium.
It is a cool way to think about making seditions in the presence of other people's decisions. - @red6leader9:matrix.org18:02Message deleted by Daniel Holmgren
- @wvrld:matrix.org18:04Message deleted by Daniel Holmgren
- Aaron Goldman18:04I probably spent more time then was health thinking about why social media tends towards monopolies and how the protocal can change that
- Aaron Goldman18:09
e.g. I thought holding your own keys is important to empower the users. Also, adoption needs a fast way to get started so we need a PDS to be able to generate the keys and manage them for you.
This is what lead to the design for
did:plc:
fast easy entry but the ability to take responsibility for your repo. - 18:13Daniel Holmgren banned @red6leader9:matrix.org: use of slurs
- 18:16Daniel Holmgren banned @wvrld:matrix.org
- Sabir Ibrahim18:28Well this chat certainly went off the rails for a little bit... Thanks Aaron Goldman for restoring order.
- 18:39Jo changed their display name to Trinity
- Joanna
- 18:54We are giving birth to the new tech order
- 18:57I put my real picture, want to make it clear
I’m not a bot, I’m 100% human
My real name is Joanna - Sabir Ibrahim19:00
In reply to this message
Well great to meet you Joanna, but you might be in the wrong place if you're looking for a chat where you can "give birth to the new tech order" - Joanna19:03Lovely to meet you too Sabir
Why is wrong chat? - 19:22@bbthorson:matrix.org left the room
- 22:23Girguis Lab joined the room
- Girguis Lab22:33Hi folks, I'm a professor of marine science and I decided to stop by to pitch an idea to BlueSky developers. In short, I want to propose that you all enable a mass-migration of scientists -especially early career scientists- from other social media platforms to BlueSky. Hear me out on this one. First, I am not talking about celebrities whose social media feeds bring with it a LOT of clutter. Rather, I am talking about approximately 100 scientists who are active on a given social media site, reaching out to their science followers to produce a curated and validated list of e-mail addresses of folks at universities (heck, you might even require folks to use their university address to be considered for an invite). Then, I imagine you could extend an invitation to those on this curated list. Why do this? Because it will jump-start the use of BlueSky as a hub for scientific discussion, which is generally even-keeled and not hyperbolic. Then, those members could continue to invite others at whatever pace you set. I bring this to BlueSky because many early career scientists (including those of us who joined social media platforms as early career scientists) depend HEAVILY on social media to connect with one another, with senior colleagues, to talk about their research publications, etc. There is a real fear in the scientific community that the mass exodus of many scientists from some social media sites will leave them stranded. I think you're in a position, BlueSky, to solve this issue. Also, I think it could be a strategically savvy move on your part as you get a devoted community of used who are not prone to abusing the platform. You get the "credit" of further building a science community. You do not need to worry about the kind of server demands you would see from celebrities. You also lay the work at the feet of folks like me, who will happily build an invite list that is compliant with your requirements. Yes I will work for free because I think these earlier career folks need every tool they can get, and yours is GREAT. I hope this is an idea you can consider. Thanks for your time.
- Matthew22:39Girguis: a bunch of my friends were part of science twitter (especially around epidemiology) and they report that there is already critical mass in their community to replace the birdsite
- 22:40which they achieved by, well, inviting each other, and it spreading virally, not unlike their field of research
- 22:41so: i don’t think you need consent or support from the bluesky developers; just get inviting :)
- Girguis Lab22:53Thanks Matthew but my impression is that the # of invites I can send is quite limited. Is that indeed the case?
- Matthew23:08yes, but it can still spread virally
- 23:08r>1 and all that
- 23:09it certainly spread easily thru epi twitter without additional invites being injected in
- Matthew23:17just make sure you invite good people who will be sure to invite other good people
Sat, Jul 29, 2023
- meowycat983
- 05:45tmaehara joined the room
- 05:51Trinity changed their display name to Joanna
- 05:57Takanori Maehara changed their display name to tmaehara
- tmaehara06:01Hello folks, a QQ about atproto/bsky: Is there an API that enumerates posts quoting a given post, say, getQuotingPosts(postUri)? I want to read reactions from people about the target post.
- retr0id06:49There is not, currently
- 06:49if the target post is less than 24h old, you can parse through the previous 24h of posting activity via subscribeRepos
- 06:50and pull out the relevant quotes
- @daley_:matrix.org06:52Message deleted by Aaron Goldman
- tmaehara
- 07:47magicneb joined the room
- magicneb07:48
In reply to this message
This sounds interesting, I’m not sure there are a lot of devs in here but ping me DM. - 08:10bluesky-fanboy joined the room
- bluesky-fanboy08:10Hello devs!
- 08:14🥳🥳🥳
- retr0id08:30interesting username
- bluesky-fanboy08:41Thanks you too!
- 10:41@lunaticmha:matrix.org joined the room
- 17:47Linad changed their display name to handsoap
- 18:06handsoap changed their display name to linad
Sun, Jul 30, 2023
- 05:40@xjanno:matrix.org joined the room
- @xjanno:matrix.org05:40Hi
- 05:44I don't have invite code
- @xjanno:matrix.org05:49How long will it take for me to receive the waitlist email?
- retr0id07:51an unknown, long duration
- Aaron Goldman10:01
In reply to this message
The hope is that rather than too many invites to the
bluesky.socialother PDSs will be set up to federate with the network.Having more than a third of the users on a single company's servers is a big risk to the project.
- 12:07@numero6:codelutin.com left the room
- 12:26Daniel Holmgren banned @daley_:matrix.org
- m1kola13:49How do people test their feed generators? Connecting to the production network? Or do you spin up a PDS and connect to the sandbox?
- 18:56@manihot.esculenta:matrix.org joined the room
- 18:56@manihot.esculenta:matrix.org left the room
- Nobody Nearby20:09Hi, both the app and the website are having the “not enough resources” error
Mon, Jul 31, 2023
- 03:48@tayloralgo1:matrix.org joined the room
- 10:42@rimuru:gentoo.chat changed their profile picture
- 12:38pfrazee changed the power level of Emily from Default to Admin.
- 14:40Flip van Haaren joined the room
- 16:56Kareem Elansary joined the room
- 18:16alperenalb joined the room
- 22:27@shorty_gunny:matrix.org left the room
Tue, Aug 1, 2023
- 03:11@chris.berg:matrix.org joined the room
- 03:32@chris.berg:matrix.org removed their display name (chris.berg)
- 03:32@chris.berg:matrix.org left the room
- 06:11@maxlange:matrix.org joined the room
- @maxlange:matrix.org06:18
In reply to this message
Are there any other servers currently? I’d like to try out Bluesky, but haven’t received an invite either, even though I signed up for it a long time ago. - retr0id06:40You can see a list of instances here https://atscan.net/pds
- @maxlange:matrix.org07:03Thx man(edited)
- @xjanno:matrix.org
- retr0id07:22Personally, I read the protocol docs and wrote my own from scratch https://atproto.com/docs
- 07:22but there's info about how to spin up an instance using the official implementation here https://github.com/bluesky-social/pds/
- AlexxiS10:08Message deleted
- @xjanno:matrix.org10:13You don't need to resend the link 💀
- AlexxiS10:14Oups i don't see it, i delete my post, sorry
- magicneb
- @planetoryd:matrix.org
- 15:01knowtheory changed their display name to Ted Han
- 15:02Ted Han (than@mozilla.social) set a profile picture
- 15:02Ted Han changed their display name to Ted Han (than@mozilla.social)
- 15:46@escapetofreedom:matrix.org left the room
- 16:33stageance changed their display name to Sterence
- 20:05giteauser changed their profile picture
Wed, Aug 2, 2023
- 09:20@freedom.:matrix.org joined the room
- ThatLinuxUser10:31
In reply to this message
Federation is available in a sandbox, so while you can federate with other PDS's you can't federate withbsky.socialyet. - magicneb10:59
That’s my point.
They don’t want more people on
bsky.socialbecause they want us to federate but we can’t federate until they let us. So what’s the point. - Sabir Ibrahim11:09
In reply to this message
Federation is a feature that requires extensive testing and QA. Even Meta with all its money and resources still hasn't enabled federation with Threads. Just gotta give them time to get it right. - 11:10@jbrooks:matrix.org left the room
- Sabir Ibrahim11:27As for Bluesky, my understanding is that they've intentionally chosen to pursue a strategy of gradual and deliberate growth. There have been no announcements about when or even if Bluesky will open registrations up to the general public. They're not after the 'hockey stick' trajectory that a lot of startups pursue (at least not for now). Just look at their latest funding round. They raised $8 million in a seed round (by way of comparison, seed rounds of hot startups these days sometimes run into the 8 or even 9 figures). They could have raised much more money if they wanted to. And contrary to widespread belief, Bluesky is not bankrolled by Twitter/X. Twitter provided the initial funding, but Bluesky has had no meaningful affiliation with Twitter/X since the Elon takeover.
- ncheck12:05"Why doesn't Bluesky let in more people?" Because they have 13 people on staff and are already biting off more than they can chew
- @planetoryd:matrix.org12:12whats so interesting about bluesky ? I don't get it why some ppl are so hurried
- m1kola13:49
When watching events from
com.atproto.sync.subscribeRepos
- is there a way to get a subject of a deleted like or follow?I understand that
app.bsky.feed.like
records get deleted, but the subjects themselves still exist.I basically need an answer to the question "Is this repoOp deletes a like for from the post X"?
- Aaron Goldman14:51Dose GitHub let you set a well-known for GitHub pages?
https://*.github.io/.well-known/atproto-did
- shreyan14:58yep
- Aaron Goldman
- 15:07Should we allow multiple akas so that users can have their
.bsky.social
,.github.io
, and their personal domain that all work as a handle and point back to the samedid
- shreyan15:17that would be nice as long as it still required to be verified as an aka in the DID
- Aaron Goldman15:18Of course you need the two way binding from well-known to DID Document
- retr0id16:27all the people looking for invites should probably check this out https://forms.gle/gHe4cyBrGCGRzqZt7
- m1kola16:47
In reply to this message
Yesterday I was thinking about this after bumping into.bsky.social
account with description like "You are probably looking forcustomdomainhandle.net" or something like that - Aaron Goldman16:48
In reply to this message
yes, I think that search should be able to find the account from many handle but still use the first valid handle from the AKA list when you need to display one. - Kjartan17:27With multiple plc's I kinda see also the "opposite" to become a thing - one aka being used for multiple dids (used with multiple pds, each in its own federation)
- shreyan17:27not possible though
- Kjartan17:28Not now :D
- 17:28But one could make it possible
- 17:28Right now its also just 1 aka per did
- Aaron Goldman17:28why would one handle want to have more than one repo
- Kjartan17:29One per federation network
- jmcasey17:29could resolve a different repo depending on the jurisdiction of the requester
- Kjartan17:30Like 1 I might want to have on the "official" network, for example inbsky.social. and the same aka I might want to use in a private federation network on my own pds
- 17:31As the verification always points to the "one internet" I would have no way to use both times the same handle - even though they would never interfere with each other
- Aaron Goldman17:31
In reply to this message
This kind of brakes the whole idea of the repo being a sequential authenticated data. - 17:32at://handel@commit/path/to/object should be enough to validate that I resolved the exact bytes
- 17:33at://handel/path/to/object may resolve to more than one commit if that object has changed over time but one will be the authoritative latest
- 17:35That is why you never need to retrieve the repo from an authoritative host. Anyone with the repo blocks is as authoritative as the users PDS itself. That is why the economics is so different from say ActivityPub.
- Kjartan17:38Talking of federation: how does a pds' admin set up with which pds instances it wants to federate and which instances it wants not to?
- Aaron Goldman17:39It is the value of immutable data at a specific commit but mutable by advancing through sequential commits
- Kjartan
- jmcasey17:42
does it have to? i would envision one handle dynamically resolving to multiple DIDs
though the conflict would still arise if i was expecting to always get the same DID
in the nth, how it different to changing the handle pointer to a new DID every 10 seconds?
- Aaron Goldman17:42
In reply to this message
A PDS will look at the Repos of it's users. For each PDS that is not on the Blocklist (or is on the Allowlist) it will send a request with all thedid
's that it is following for the heads. If the head dose not match the one it has it will send a request to pull the diff(old_head, new_head) and the PDS will respond with a CAR file having the new HEAD and all the blocks that are reachable from the new head that were not from the old head. - Kjartan17:43
In reply to this message
Does it really tho? Imo it should be two completely different repos (and would be the reason why I would like to have the same aka for two different dids) - Aaron Goldman17:44If you don't sync for a while you may mis a number of heads in the middle but who cares you just need the blocks to turn what you have to the current state.
- Aaron Goldman17:51
In reply to this message
If it is two completely different repos why do you want them to have the sameat://
URL it seems like you want Uniform Resource Locator for each of the artifacts you might want to locate. - Kjartan17:53
E.g. one might be my public social media account. The other one is my account in a specific, isolated*, community.
- not a single instance. But maybe a federation of 4 pds instances. Compare it for example with the current sandbox situation.
- 17:54They will have completely different content, follows, followers, etc - but people should be able to easily identify the account as the same person who also has the other account on the public network
- 17:56I also had with Twitter, GitHub, Facebook, etc everywhere the same username for the same reason - I dont think the idea to have the same handle on multiple, isolated, networks is too uncommon
- 17:57So far it was usually not possible to have a domain based username (although there are exceptions: like the email address is already often used for multiple purposes in different networks simultaneously)
- jmcasey17:58Would consider this approach for access control a la veracrypt
- Kjartan17:58But now that it's possible, I think this is really a use case which not only I would like to do
- shreyan17:58at://<domain> behaves more like a URI then a username, you likely would not want the same uri to be able to point at two different things on the same protocol
- jmcasey17:59true
- Kjartan18:02To be able to have one's domain as handle, was kinda a big thing for me. It's a pity f it's not possible, but I'll have to accept it 🤷♂️
- 18:05Just for clarification: right now it works to use the same aka for multiple dids. But this will break as soon as Bsky starts to federate?
- 18:05Or is it a bug right now, which shouldn't even work right now?
- shreyan18:08does it work? you would need to be able to set two conflicting txt records
- Kjartan18:08Yes and no. In general yes (but not simultaneously)
- 18:09The pds checks it only when you change the handle (at least the older versions!?)
- shreyan18:09hmm sounds like a bug
- Kjartan18:10also, I haven't tried it, but what about one via dns and the other one via well-known? Or are always both checked?(edited)
- shreyan18:11ahhh that's an interesting case. I forget whether it prioritizes DNS or well-known but I think one of them would just take precedence and the PDS will ignore the other
- Kjartan18:12And another option: if the handle is part if the pds domain (like .bsky.social) there isn't a check at all
- shreyan18:13i think there is, the .well-known check
- Aaron Goldman18:13It might make sense to have a domain that resolves to a
did
and that DID Document that has an AKA to the secondary repo. The same name resolving accounts on other services? - Kjartan18:14Oh, okay. I never looked into well-known (I hated well-known already with ActivePub; I'm 100% in favour if DNS)
- 18:16
In reply to this message
I don't get what you mean by "the same name resolving accounts on other services?". Which services are we talking about? Like in my example to have the same username for example on twitter, Facebook,.... ? - m1kola18:40
In reply to this message
Ok, I think found an option. Probably not optimal, but at least something.
I should be able to get a previous commit from
com.atproto.sync.getRecord
. E.g. something like this:123456
const result = await agent.api.com.atproto.sync.getRecord({ did: evt.repo, collection: ids.AppBskyFeedLike, rkey: rkey, commit: evt.prev?.toString(), // Delete event has previous commit })
- 18:43I first tried
com.atproto.repo.getRecord
and was under the impression that it should work too as it takescid
, but it returns me 400. - 23:53Louis Cinematic Novel joined the room
Thu, Aug 3, 2023
- Nobody Nearby01:04Is it possible to use subdomain fromfreedns.afraid.orgas a handle? Since they won't let me add txt record with "_" char but still can CNAME it to Github Pages or something?
- 01:51Abhay Gupta joined the room
- Deavial Drake03:52
In reply to this message
cnames can’t resolve to txt records. they can only resolve A and AAA records. some dns servers will allow cnames to point to cnames but not all. a cname also can’t be assigned to @ (root) which is why alias exists.
not sure why they won’t allow _ as it is a standard for txt records and auto discovery. it would be invalid for an A, MX, or CNAME to start with an underscore though, so maybe they were just being lazy and blocking it all together lol
- Deavial Drake04:00both entrust https://www.entrust.com/knowledgebase/ssl/how-to-create-a-txt-record-on-afraid-org-freedns-for-entrust-email-validation-method and freedns faq show it working on txt and srv records https://freedns.afraid.org/faq/type.php
- retr0id06:59
In reply to this message
you could use the HTTP verification method and not need to worry about TXT at all(edited) - 07:00so you could indeed cname it to github pages, and then add a
.well-known/atproto-did
document - Nobody Nearby07:08
In reply to this message
Idk if I'm doing it wrong or it didn't work at all but I've tried it several times and Bsky said unable to resolve handle - retr0id07:09what's your handle
- retr0id07:11hm, weird, looks good from where I am, but https://bsky.social/xrpc/com.atproto.identity.resolveHandle?handle=sgt.us.to is indeed failing
- 07:13
https://sgt.us.to/.well-known/atproto-did
is, as far as I can tell, set up correctly - 07:14I wonder if their http client library doesn't support cname properly or something
- Nobody Nearby
- Nobody Nearby07:18Message deleted
- Nobody Nearby07:18
not sure why they won’t allow _ as it is a standard for txt records and auto discovery. it would be invalid for an A, MX, or CNAME to start with an underscore though, so maybe they were just being lazy and blocking it all together lol
I've been contacting freedns admin about "_" char in txt record, hope we'll get an answer
- 10:07ken-w joined the room
- Deavial Drake10:54
In reply to this message
does bsky support the.well-known
method? i was under the impression it was dns only - retr0id10:54it definitely supports it, my handle is resolved via it
- Aaron Goldman12:19https://sgt.us.to/.well-known/atproto-did
returnsContent-Type: application/octet-stream
It should beContent-Type: text/plain
- Aaron Goldman12:28may be a bug that the server should treat the
atproto-did
at ascii no matter theContent-Type:
- shreyan12:50yup i think gh pages does not allow setting a content-type
- retr0id14:03
In reply to this message
should it? mine also returns application/octet-stream and it works fine(edited) - 14:04(I mean, it probably should, but I'm not sure that's the breaker here)
- Aaron Goldman
- shreyan
- 14:06certainly seems like a content-type thing..
- Aaron Goldman14:06The browser has to download a
application/octet-stream
it does not know how to render raw bytes - shreyan
- retr0id14:07oh huh maybe I'm misremembering
- 14:07lemme change it to octet-stream and see if it breaks
- 14:09just switched and it seems to be working still
- Aaron Goldman14:10for
https://retr0.id/.well-known/atproto-did
I getContent-Type: application/json
- shreyan14:10i get octet-stream but browser still renders it
- Aaron Goldman14:11also https://retr0-id.translate.goog/.well-known/atproto-did lol
Content-Type: application/binary
- shreyan14:12oh we all overlooked a very simple explanation
- 14:12the did= at the beginning shouldn't be there
- Aaron Goldman
- 14:14I forgot the TXT record and
/.well-known/atproto-did
don't match and for no reason - 14:15I should make a browser extension to show binary like
hexdump -C
dose not just download things - retr0id17:05
In reply to this message
https://atproto.com/blog/call-for-developers (same link, more words, heh)(edited) - 23:13Alex Immortell changed their display name to Doctor Bluefall
Fri, Aug 4, 2023
- 02:10@ignitedpotato:computational.beauty left the room
- 05:02@emmanuel_davidsone:matrix.org left the room
- 12:08Rek joined the room
- Fi13:52hey guys long time no see
- 13:57woops this is the dev chat sorry lol
- 16:33Thib changed their display name to Thib (back Sept 1st)
- 20:09nautical7m changed their display name to nautical7m 🏁
- 22:14erichts joined the room
Sat, Aug 5, 2023
- ubanis00:30hi I built and operated pds in bluesky sandbox. A few days ago caddy caused an error and it was fixed by describing the tls related settings, but I can no longer post. There is [Token has expired Error] in the pds log on docker. Can it be repaired?
- 05:05wolixoriginal joined the room
- Nobody Nearby
- Nobody Nearby05:26
In reply to this message
I found this and I think it's not possible to set header as application/json on github pages
- Aaron Goldman10:00That's my mistake it doesn't look like the current implementation cares about the content types and we should probably spec it that way.
- 12:19Sora Morimoto changed their profile picture
- 12:20@literallyme:matrix.org joined the room
Sun, Aug 6, 2023
- 02:37かたぎりあまね changed their profile picture
- 03:19@wahidislamlinad:matrix.org changed their profile picture
- 04:01@destiny786:matrix.org joined the room
- 12:33@henseler:matrix.org joined the room
- 12:42arcatech changed their display name to Dwayne
- 13:47Siddhartha joined the room
- 14:34@treethought:spherics.dev left the room
- 14:38@guesswho09:matrix.org joined the room
- 14:38@guesswho09:matrix.org left the room
Mon, Aug 7, 2023
- 05:14Siddhartha set a profile picture
- 05:39zenartist changed their display name to Siddhartha Golu
- 05:40Siddhartha Golu changed their display name to ZenArtist
- 07:55@destiny786:matrix.org set a profile picture
- 16:51golden_lib changed their profile picture
- 18:50@iphilipp:matrix.org joined the room
Tue, Aug 8, 2023
- 02:11Francesco Ambrosini joined the room
- 03:56kennethmak joined the room
- 16:19Cody joined the room
- 17:02@rover:aguiarvieira.pt joined the room
- 21:10@jsch:matrix.org joined the room
Wed, Aug 9, 2023
- 00:26pere changed their display name to pere (AFK until Sunday)
- J L04:35Heya folks, comin to you via beeper, quite sure signed up for bluesky ages ago, is there way to find out if moved along in queue, or, to get an invite?
- Soohan Park (Heartade)
- 04:47Someone somehow found out my email and asked me for a twitter to bsky crossposter
- @xjanno:matrix.org04:48I still haven't received any emails from bluesky waitlist
- Soohan Park (Heartade)04:49Has anyone made a twitter→bsky or bsky→twitter crossposter? Meanwhile twitter to bsky crossposting might actually still be possible if we were to self-host for one account each, crawl new posts using puppeteer or something (though elon will definitely hate this)
- kennethmak04:52
In reply to this message
the public waitlist or the developer waitlist? i got the developer invite in a day after submission - @xjanno:matrix.org04:55Default
- kennethmak
- 04:57no, the developer invite is for the public server
- @xjanno:matrix.org04:59What provider did you choose?
- 04:59Staging?
- kennethmak04:59none, just the default option
- @xjanno:matrix.org05:00Why is it taking me so long?
- 05:00I don't have an invite code
- kennethmak05:02This is a dev chat, so if you are building something, pretty sure the invites on the dev form are quicker. Here's the link to the blog post, https://atproto.com/blog/call-for-developers
- 05:03Just send your github or gitlab profile with your past projects
- 05:10@xjanno:matrix.org left the room
- shreyan
- 14:13ZenArtist changed their display name to Siddhartha
- 14:50rreisman joined the room
- 15:30woke oak joined the room
Thu, Aug 10, 2023
- foxlet00:21
In reply to this message
I got an email a week ago, and had been on the waitlist back in 2022.(edited) - wolixoriginal18:42Better get some one who already have access to bluesky this waitlist be longer and longer
- 18:42Also mobile app pretty laggy on my phone
- 18:43After open have problems to use it on mobile
- m1kola19:22Oh, It was fun building the custom feed! I used starter kit, but took some time to understand what it is doing (e.g. how event stream works, etc). I also had a look at the atproto repo itself (mostly to see how feeds are built there). I think I found a bug in starter kit: sub_state table is not being updated because there is no record in it initially. Will send a PR at some point. After this exercise I understand the protocol a bit better. Highly recommend to anyone who wants to more familiar with it. Now I wish the protocol to succeed even more.
- 19:23Feed in question: https://bsky.app/profile/did:plc:3vekukmab2djjeengw2o3wln/feed/great-shuffle TLDR: every day it randomly selects 10 people who like the feed and watches for their posts. I just launched it so there is only me :)
- @maxlange:matrix.org
Fri, Aug 11, 2023
- 10:36@rimuru:gentoo.chat changed their profile picture
Sat, Aug 12, 2023
- 01:11Michael Zeagler joined the room
- xb5krnf29709:28I would love to setup and experiment with a BGS but I don’t want to pay the hosting costs 😅
- 09:30I wonder if Bluesky is allocating any grants for developers
- Aaron Goldman10:37
In reply to this message
I wonder if you could get a few people together that wanted to run PDSs and split the cost of the BGS. Then start advertising to the many people on the wait list that you have a community of federating PFSs and they should join Bluesky rather than waiting forbluesky.socialinvites for extended amounts of time - 10:38The more PDSs join the more you share the costs of indexes
- 10:39bluesky.socialwill "eventually" start federating but that doesn't stop other PDSs from doing so.
- xb5krnf297
- 12:19@circlebuilder:matrix.org left the room
- wolixoriginal19:31Guys I am created accidentally Frase for bluesky say skyed be like and repost be reskyed and quto post be quto Skyed
- 19:32Posts calling skyed for now
- retr0id19:38should I call an ambulance
- 23:24@ausbird:ausbird.dev joined the room
Sun, Aug 13, 2023
- 00:19ivnt set a profile picture
- 01:45CHARLES ILIYA KREMPEAUX (@reiver) changed their display name to @reiver (CHARLES ILIYA KREMPEAUX)
- 07:59Soulfire joined the room
- 08:35pere (AFK until Sunday) changed their display name to pere
- 20:43Apurva Mishra joined the room
- @ausbird:ausbird.dev21:10
I have a strange situation where my handle I used to sign up with on my own instance didn't setup correctly and kept saying "Profile not found" and "Actor not found"
So I looked around and found I configured DNS without a wildcard. So I did that wiped the database and tried to register againThis time it kept giving
400
saying it couldn't create a did:plc
I used a different handle and it worked. I changed my handle and now it is busted.- I can post, but it posts under the previous handle
- The interface shows my profile fine using the handle I signed up with
- The interface in settings shows my handle is the one I changed to
- Loading the profile using the one I changed to fails to find the profile
Any ideas?
(edited) - Aaron Goldman21:55What is the DID. So we can look at the directory
- @ausbird:ausbird.dev22:27
did:plc:xumeq6itlhlgbjd4hvrhtf26
Mon, Aug 14, 2023
- 01:450xLuo joined the room
- 01:470xluo changed their display name to 0xLuo
- 01:470xLuo set a profile picture
- 02:25@rbtgeorgi:matrix.org left the room
- 08:13Dimitar Kalinkov joined the room
- J L
- 11:40N.B. I'm asking from an end-user POV; apologies in advance if there's another Bluesky group I've missed. 😬
- Sabir Ibrahim11:58This looks interesting and pertinent. Looks like the conference will be streamed, for those who aren't local to the Bay. https://rdi.berkeley.edu/events/decentralizationaisummit
- 18:49@joseph54:matrix.org joined the room
Tue, Aug 15, 2023
- 01:39juu17 joined the room
- 06:45Matthew (away) changed their display name to Matthew
- 09:01dcbyers13 joined the room
- 09:02dcbyers13 set a profile picture
- 12:39@notlikedion:internal-fida.ems.host left the room
- 13:09TaoKing joined the room
- 13:09金涛 changed their display name to TaoKing
- 13:09TaoKing set a profile picture
- TaoKing13:12I submitted a waitlist application, how long does it take to get approved?
- dcbyers1317:53Message deleted
Wed, Aug 16, 2023
- 02:47Jin Tom joined the room
- 02:53Tao Tao joined the room
- 02:59xin peng joined the room
- 03:01ge jin joined the room
- 03:02hao699 joined the room
- hao69903:04Is the waiting list still being reviewed?
- 03:04hao699 jinhao699 changed their display name to hao699
- 04:41@0x7c26:hashi.sbs joined the room
- 05:13@dream:envs.net left the room
- 08:08阳建文 joined the room
- 08:17Tong leme joined the room
- 12:26limber_1425 joined the room
- 16:02@christian:c2bo.net left the room
Thu, Aug 17, 2023
- 12:13@lexx:nitro.chat changed their profile picture
- 12:14@lexx:nitro.chat changed their profile picture
- 13:25tamimi set a profile picture
- 16:18teilenberger joined the room
- Aaron Goldman20:54
In reply to this message
The problem is not review as much as that other PDSs are not getting to scale. If we let too many people on thebluesky.socialPDS it will just be a web2 service and not a network Fri, Aug 18, 2023
- 05:23@rickslambiase20:matrix.org joined the room
- 07:19@lunaticmha:matrix.org left the room
- 10:26Sidoine B. joined the room
- 12:02Jordan Reger joined the room
- Skyler Hawthorne12:30Is there any word yet on the status of federation on the mainbsky.socialinstance? Not pressuring for a timeline, just curious if anyone involved has a sense of the progress
- @planetoryd:matrix.org
- 12:33if you are so enthusiastic, you can do it on your own
- Skyler Hawthorne
- 12:35can't tell if being trolled
- shreyan12:36
In reply to this message
My impression is that it might still be a while before they open that up - @planetoryd:matrix.org12:37Yes, it takes some time. Freenet, ZeroNet are the examples.
- shreyan12:38Currently the focus seems to be on "internal" federation, wherebsky.socialitself is multiple, hidden instances federating with each other for better scalability - no idea what the progress is on that though
- 13:21@ausbird:ausbird.dev left the room
- Aaron Goldman16:29
In reply to this message
Not exactly being trolled
The sync API is there today.
You can use getHead to regularly pull the heads of the repos your users follow and getRepo to get the set of IPFS blocks that are in the current repo but not the head you are on.getHead and getRepo are all you need to start pulling from a PDS.
The part that is missing is having them pull the repos hosted by your PDS.
- Skyler Hawthorne17:58
In reply to this message
The trolling I meant was coming into a chat room specifically for one protocol and interjecting to suggest using a different protocol in answer to a question about federating with the former protocol.(edited) - 17:59
In reply to this message
So I can see the rest of the network (with manual API calls) but can't interact with it (because no one will see my posts). Am I understanding that right? Don't mean to sound cheeky, but that sounds non-functional to me. - 18:40@iphilipp:matrix.org left the room
- Aaron Goldman20:06Not cheeky at all. The nature of the network is that you can't pick who follows you. You can pick who you follow. PDSs should pull from PDS their users follow.
- Skyler Hawthorne20:07What good is a network that's only one way?
- Aaron Goldman20:12Same good as Twitter
- 20:12And nothing prevents mutual follow
Sat, Aug 19, 2023
- @parfait:filly.chat06:28are there any plans to open source big graph services in the future? tried looking for it on the website but couldn't find much
- 08:45Ivor Stodolsky joined the room
- xb5krnf29709:07Wondering if the Bluesky folks have a synthetic client for testing
- retr0id
- @parfait:filly.chat10:15oh! thank you so much
- 10:23@pita_789.:matrix.org left the room
- xb5krnf29710:28I have a project to have the whole ecosystem running in a lab
- Aaron Goldman
- 14:25@cel:pussy.accountants left the room
- xb5krnf297
- 23:37@davidprieto:matrix.org changed their profile picture
Sun, Aug 20, 2023
- 03:08Nobody Nearby changed their profile picture
- 03:38Nobody Nearby changed their profile picture
- 05:18@netman:kotous.cz left the room
- magicofazi15:46Does Bluesky use any form of a CRDT
- Aaron Goldman15:55If you count last writer wins
- retr0id17:55is MST not technically a CRDT?
- 18:07@rkt:matrix.org left the room
- xb5krnf297
- xb5krnf29720:49Ok looking at this code and protocol logic you can’t have your own plc server. You would have to do did web
- 20:50Because the did plc resolvers get initialized with a url
- 20:52And the plc did is just a part of a hash
- xb5krnf29721:38Now I know what is meant by centralized in the doc :)
- Aaron Goldman22:09
In reply to this message
Depends on how you think about it. The MST is an imitable data structure that is pointed to by a commit. All immutable data is a CRDT as no divergence can happen if nothing changes.
But that's silly clearly we mean what is pointed to by a mutable
at:
URL. So we consider the commits. Each commit is signed and points to a previous. So if one is an ancestor of the other the merge is a fast forward. What if we have a fork? We could do a first or last writer wins and then we are back to a CRDT but what we do is that a commit is only a candidate head. The PDS it can do a compare and swap. The PDS will only do a fast forward merge where the new commit has the current Head as an ancestor. Now that commit is the new current Head. Otherwise it just rejects you and tells your client to rebase its changes.
So in that sense it's not a CRDT since if you only have the commits you can't tell which is the Head you must talk to the PDS.In an earlier design the pds responded not with a https authenticated json to tell you the Head but with a signed Json. Back when that was true you could store the signed head assertion, called a tick, and by taking the tick with the highest timestamp know what the head was which then made it a CRDT.
So the thing that makes it no longer a CRDS but instead web service state is that the ticks are no longer signed to force you to use the PDS to get the Head every time.
- 22:56@henseler:matrix.org left the room
Mon, Aug 21, 2023
- 06:55ctardif joined the room
- xb5krnf29707:18Aaron Goldman: are you on the Bluesky team?
- Aaron Goldman
- 13:33RFLEpicGamer joined the room
- 15:41ereio joined the room
- xb5krnf29718:39Message deleted
- 18:39Message deleted
- xb5krnf297
- 18:42I don’t see a way to use PLC even in a lab because it would still be one centralized plc. What i wanted to simulate is multiple providers
- 18:45My end goal is a BGS scoped to a new specialized lexicon targeted towards gaming and some other things if it goes well and if I get that far
- retr0id18:53you can just configure your internal services to point at your own PLC
- 18:53same way the sandbox has its own PLC
- xb5krnf29720:10My issue is all the nodes in the sandbox would have to use the same plc
- Aaron Goldman
- xb5krnf29721:51
In reply to this message
Did is decentralized identify. Just now realizing that plc isn’t decentralized - 21:52This is just me discovering how everything works
- Aaron Goldman22:12
In reply to this message
Ah, so it's not that you can't run a directory just that you didn't previously know that each PDS needs to pick a directory to sync down the DID Document Deltas from. - 22:13Hopefully there will be only a few directories and they will all pull from each other so a PDS never needs to ask around.
- xb5krnf29722:43Looking at did:web for example the resolver goes to the directory designated by the id. Is there some inherent weakness that is being avoided by not doing something similar with plc? Your id can’t be truly self sovereign if the PDS chooses the directory for you.
- 22:47At least to me it seems counterintuitive to the whole concept so maybe there is something I am missing
- xb5krnf29722:56In this model if I am understanding it correctly users of different directories can never interact unless the directories federate somehow
- Aaron Goldman23:36Firstly did:web exists for anyone who can maintain a domain name and wants to trust the DNS/CA infrastructure that is a reasonable thing to do. did:plc is not trying to be better than did:web it is trying to have different tradeoffs. That said with a domain name bound identifier it can be resigned to someone else without your cooperation. E.g.twitter.com/xandtwitter.com/musicwere recently reassigned because the company wanted them back. If you control your own domain it is harder to take your name but still doable. https://www.icann.org/resources/pages/help/dndr/udrp-en Okay, so how is PLC any better? The hash in the did:plc is a hash of the initial state of your DID Document. No other document can pretend to have this hash. As long as Sha256 remains unbroken. If you never updated your keys then you could just provide the DID Document with your actions and it would work like a did:pkh or did:key but the goal of did:plc is incremental responsibility. An owner of a did:plc should be able to let the PDS generate it for them and then gradually take more responsibility when they are ready. * escrow your own plc recovery key * sign your own repo updates * remove any keys known to the PDS In order to rotate keys away from your PDS and to only you knowing them we must have key rotation. This means we need DID Document Deltas. Each delta is signed by a key in the current DID Document. Each DID Document is its own little ledger of deltas. But now we have a race condition. What if you and the PDS both decided to rotate who wins and who has an invalid delta? We need an arbiter of delta ordering. The arbiter can't make up a delta since it doesn't know the keys. All the arbiter can do is put the deltas in order so we can have finality on the DID Document state. This arbiter is the PLC directory.
- Aaron Goldman23:47Adoption is hard. If I ask you to have a domain name to sign up for bluesky most users won't. This would push PDSs into providing subdomains of the PDS domain for did:web DIDs. Then the user is locked into their PDS. By providing did:plc we can simply send the directoryplc.directorya delta to migrate off of our PDS without the permission of the PDS we are leaving.
- Aaron Goldman23:56Most PDSs will be mirroring the PLC directory https://plc.directory/export?after=2023-08-22T04:54:22Z&count=1000 https://github.com/bluesky-social/did-method-plc/blob/main/packages/server/src/routes.ts#L27 Most PDSs are only going to be pulling the latest 5 minutes worth of deltas every 5 minutes that makes it hard for the directory to change the past most PDSs aren't even looking at the past once they get synced to now.
Tue, Aug 22, 2023
- 08:58Oleksandr Balyshyn joined the room
- 09:05@ppxqq:matrix.org joined the room
- 10:05@garyasama:matrix.org removed their profile picture
- 10:05andrewquen joined the room
- 10:06@garyasama:matrix.org removed their display name (garyasama)
- 10:07@garyasama:matrix.org left the room
- andrewquen10:08does requiring a domain name lock in users to bluesky or can the data be accessed from the blockchain anyway, if the latter what's to stop an open source client from removing domain requirement?
- wolixoriginal10:11Guys I am have question have problem to get notifications why this problem
- 10:14This just happening only on android
- 10:19Be have some mobile client for bluesky
- @farribeiro:matrix.org10:40How can I offer codes here?
- 10:41Or in a specific room
- 11:15blaze7593 joined the room
- xb5krnf29713:04
In reply to this message
Thank you for such a detailed response. Maybe we should have a zoom call or something😅. I am not saying that plc doesn’t have benefits. All I am saying is did:plc is an oxymoron. In terms of Twitter taking over handles that can still happen here by pointing a handle to a new did. The only difference is you would know that the creator of the content has changed. - 15:14RFLEpicGamer changed their profile picture
- @rickslambiase20:matrix.org15:28Message deleted by Administrator
- @maxlange:matrix.org15:33Bro… that’s not what this group is here for. Please leave and go somewhere else.
- Aaron Goldman16:10I think we need a few more on the mod list 🤔
- @maxlange:matrix.org16:13Yes we do. 👀
- @parfait:filly.chat16:16setting up mjolnir would be a good idea too 😅
- Matthew17:33running a mjolnir that subscribes to thematrix.orgreputation lists would make sense (sorry that we haven't launched a mjolnir-as-a-service yet :( )
- RFLEpicGamer19:40and i still don't have a bluesky invite code yet :((edited)
Wed, Aug 23, 2023
- 19:10zacwm joined the room
- 20:01@ztb:matrix.org left the room
Thu, Aug 24, 2023
- 13:34@rimuru:gentoo.chat changed their profile picture
- 13:52@holmosapien:holmosapien.com left the room
- 14:02holmosapien joined the room
- 15:05@lambchop:midov.pl joined the room
- @lambchop:midov.pl15:05Message deleted by Aaron Goldman
- 15:13@lambchop:midov.pl removed their display name (lambchop)
- 15:14@lambchop:midov.pl left the room
- Aaron Goldman15:35
In reply to this message
moving to be less git and more Subversion
Purge requests are hard.If a repo has two candidate heads, I can follow both prev headers back to a common ancestor so I can then tell the difference between A added and B removed when A has a record and B does not. This means you don't need to carry around tombstones.
This is useful in a distributed change control system like you would have if you kept the repo signing keys on your user agents and didn't trust your PDS with the right or ability to update your repos.If instead you trust the PDS then you can do all updates in a central place avoiding forks and has a straight-line fast forward. You can buy more performance by giving up some decentralization.
Removing 'prev' is much more interesting change than adding the timestamp.
Adding a timestamp is just shortcut for which block you have. - Aaron Goldman15:45I should look deeper at how they plan to do Perge Requests, I guess they we set a flag that tells the client that once they sync down the new state they should run a GC to remove any blocks that are not pointed to by one of the repos they have synced
- 19:27Dalite Fur 🦊 joined the room
- Dalite Fur 🦊20:15
In reply to this message
Actually here for what seems like a similar reason, registering on the pds seems to go well
"pds:db","handle":"XXX","email":"XXX","did":"did:plc:cd5la5x34urgndl5pv3vl3wq","msg":"registered user"
Followed by a atproto.server.createAccount request
"pds","req":{"id":5,"method":"POST","url":"/xrpc/com.atproto.server.createAccount","query":{},"params":{},"headers":{"host":"XXX","user-agent":"XXX":"*/*","accept-encoding":"gzip, deflate, br","accept-language":"en-US,en;q=0.5","content-type":"application/json","dnt":"1","origin":"https://bsky.app","referer":"https://bsky.app/","sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"cross-site","te":"trailers","x-forwarded-for":"XXX","x-forwarded-host":"XXX","x-forwarded-proto":"https"}},"res":{"statusCode":200,"headers":{"x-powered-by":"Express","access-control-allow-origin":"*","content-type":"application/json; charset=utf-8","content-length":"615","etag":"W/\"267-PrTSvVegUJfRfdAbRSKN6grv4r0\""}},"responseTime":763,"msg":"request completed"}
But after that it keeps failing to fetch the created profile
"xrpc-server","err":{"type":"XRPCError","message":"Profile not found","stack":"Error: Profile not found\n at ServiceClient.call (/app/node_modules/@atproto/xrpc/src/client.ts:126:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at handler (/app/node_modules/@atproto/pds/src/api/app/bsky/proxied.ts:9:19)\n at <anonymous> (/app/node_modules/@atproto/xrpc-server/src/server.ts:207:35)","status":400,"error":"InvalidRequest","success":false},"msg":"unhandled exception in xrpc method app.bsky.actor.getProfile"}
Not sure if I missed something during setup? Only started poking with this recently. I'm running on k8s but the setup is very similar the the docker compose file, just a caddy container forwarding requests to the pds container. On_demand_tls also works. Using the default plc, view, view_did and crawlers url's
- Skyler Hawthorne20:20
In reply to this message
Interesting. From a place of complete ignorance, it did seem an interesting choice to have a git-style chain of commits, given how frequent deletes are in a social network - Aaron Goldman20:58It was an unusual design because we were thinking about how to get the repos to live longer than either the publisher or the service. I don't need to care who the publisher of newton's principia mathematica or Shakespeare's plays. On the other extreme my GeoCity page went down when they did. Granted I am reasonably sure I was the only one of us that was as concerned with our history 400 years from now as 4 hours after the publication.
Fri, Aug 25, 2023
- 08:15Gary McCafferty joined the room
- 12:48Markus Schaper joined the room
- 14:54mikwee joined the room
- mikwee14:55Hey all, just experimenting with the Bluesky API (which is a great way to interact with Bluesky without really getting into the mud)
- 14:56This is a very basic question, but... how do I extract stuff out of the
XRPCResponse
object? I don't get it - shreyan15:00Are you using the TypeScript API?
- mikwee15:00Oh yeah, I should probably try that
- 15:01I am using the official API... it's just that I'm accessing from JS
- 15:01Now, lemme see how I can quickly make it TS...
- 15:04Okay, I installed TypeScript and changed my file to a TypeScript file, now what do I do?
- mikwee15:52I've also kinda been struggling with the imports, I usually don't do such simple projects without some
yarn create
- mikwee15:59Going to sleep. I'll see y'all tomorrow
- 16:59@rimuru:gentoo.chat left the room
- 19:38interested-observer joined the room
Sat, Aug 26, 2023
- mikwee02:41Morning
- 05:35@louis77:matrix.org left the room
- mikwee10:37So… what’s going on?
- Sabir Ibrahim
- 11:12What does this mean?
- 11:13Whoops, wrong chat
- 11:13(though if anyone knows the answer, please let me know... otherwise, I'll delete)
- Rek
- Aaron Goldman12:20
In reply to this message
That your phone is connected to a tower that is not vetted by your cellular carrier. Most towers are either your carrier or roaming on a carrier that has a contract with your carrier. But some places don't have good coverage and so run towers or network extenders that back hall using the Internet back to your carrier. You get free coverage (free for the carrier the carrier will probably still charge you) but less privacy as you are leaking some information from what the network extender can tell about you by monitoring the encrypted stream between you and the carrier.
E.g. using the size and frequency of encrypted voice packets to run voice to text on the entropy fluctuation over time.
- 12:21I believe the icon is supposed to be a house with Wi-Fi coming out the top to imply the use of your local internet connection rather than talking to a tower
- Sabir Ibrahim13:08Wow, thank you for that helpful explanation
- 13:09I'm glad I messaged this group by mistake 😀
- 13:12gustymaster changed their display name to 🦋
- 13:13🦋 changed their profile picture
- 22:18@lexx:nitro.chat changed their profile picture
Sun, Aug 27, 2023
- Siddhartha23:43I tried searching for non-dev Bluesky channels but couldn't find anything, so posting this here instead. Apologies if it's off-topic. Dan Abramov announced that he's joining Bluesky as a software developer! https://bsky.app/profile/danabramov.bsky.social/post/3k5vw7g6cvg2h
- 00:58dubliv joined the room
- 23:49Siddhartha changed their profile picture
- mikwee02:51Morning
- @maxlange:matrix.org02:54Morning
- Özkan Demir02:54Morning can u give me a invite code
- mikwee03:08I don't think this is the place for it
- Özkan Demir
- mikwee03:10What?
- 03:11I sent you a DM
- 03:15So, uh, coming back to my question, how do you extract the data out of the `XRPCResponse` object? I keep getting `undefined`
- 08:29@nautical7m:matrix.org left the room
- Aaron Goldman10:52
In reply to this message
Do you mean one of the endpoint that returns JSON or one that returns a CAR file full of CBOR objects? - mikwee
- Aaron Goldman10:59What do you see if you hit it with curl or look at the request in dev tools?
- mikwee11:07What URL am I supposed to call? It should also be mentioned that I'm using Node.js without any browser as of now
- @planetoryd:matrix.org11:11perhaps you should re-evaluate your tech stack, though bias is almost inherent to human decision(edited)
- mikwee11:21So you're suggesting I should build a simple web app to use the API?
- @planetoryd:matrix.org11:23deno w/ typescript, or whatever(edited)
- mikwee11:24I'm currently using Node.js with TypeScript
- Rek11:41
In reply to this message
Depends what you're calling and where. Usually it would be at/xrpc/<nsid>
- mikwee12:02Oh
- Aaron Goldman12:11mikwee: have you read https://github.com/bluesky-social/atproto/blob/main/packages/api/README.md(edited)
- mikwee12:21Yes
- 12:21But I don't see there anything about reading the responses
- 12:21I can print the response, but not get the `data` out of it
- Aaron Goldman12:25
So, for something like
12345
import { BskyAgent } from '@atproto/api' const agent = new BskyAgent({service: 'https://example.com'}) const res2 = await agent.com.atproto.repo.listRecords({repo: alice.did, collection: 'app.bsky.feed.post'})
What do you see when you print the
res2
?(edited) - mikwee12:30TS tells me it can't find the name "Alice"
- Aaron Goldman12:47Try passing in your DID String for your account on your PDS.
- mikwee12:53A PDS is like an instance of a web app that uses the protocol, right?
- 12:54That's what I understand from the docs, at least
- @planetoryd:matrix.org
- mikwee12:55I know ActivityPub has instances where users' data is hosted
- 12:55So I'm asking if a PDS is like that
- @planetoryd:matrix.org12:56
an instance of a web app that uses the protocol,
sounds like a weird way of putting it - mikwee12:56Well, the docs seem to completely skip over defining the term clearly
- Rek13:21
In reply to this message
It's there, just under "applications": https://atproto.com/guides/applications - 13:24Are you trying to use whats on bluesky? If so the PDS would be
https://bsky.social
, your repo in the example would be whatever the DID is for the account(edited) - 13:40Ezzobir Bezziou joined the room
- mikwee14:25Okay, I think I get it
- 14:25Where do I get my account's DID?
- mikwee14:33Thanks! I think I'm starting to get it. `com.atproto.identity.resolveHandle` is a lexicon, right?
- shreyan14:34Yup, it's of type 'query'
- mikwee14:34Cool!
- Kjartan
- mikwee
- Rek
- mikwee16:33Okay, thanks!
- 16:36
I thought I was already done with this fetch thing... but it seems not:
1234567891011121314151617
D:\Bluesky API\node_modules\@atproto\api\dist\index.js:15709 throw new XRPCError(1 /* Unknown */, String(e)); ^ XRPCError: TypeError: fetch failed at _AtpAgent.defaultFetchHandler [as fetch] (D:\Bluesky API\node_modules\@atproto\api\dist\index.js:15709:11) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async BskyAgent._fetch (D:\Bluesky API\node_modules\@atproto\api\dist\index.js:25727:15) at async ServiceClient.call (D:\Bluesky API\node_modules\@atproto\api\dist\index.js:15660:17) at async file:///D:/Bluesky%20API/main.js:9:14 { status: 1, error: 'TypeError: fetch failed', success: false, headers: undefined } Node.js v18.17.1
(edited) - Rek16:46Can you send the code you ran?
- mikwee16:48Nvm, forgot to change the agent's service link tobsky.social
- 16:48
Now I'm getting (what I assume is) a correct output:
1234567891011121314151617181920212223242526272829303132
XRPCResponse { data: { records: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object] ], cursor: '3k5hxh2mdg22r' }, headers: { 'access-control-allow-origin': '*', connection: 'keep-alive', 'content-encoding': 'gzip', 'content-type': 'application/json; charset=utf-8', date: 'Sun, 27 Aug 2023 21:47:36 GMT', etag: 'W/"791e-rdHevfUVEsKfycq1rYjsItrlfn0"', 'transfer-encoding': 'chunked', vary: 'Accept-Encoding', 'x-powered-by': 'Express' }, success: true }
- Rek16:51Seems like it! 🫡 if there's more issues later on, most function names are (or if not, similar) to the xrpc call defined in the docs. It's usually a little easier to just quickly use cURL to see what's messing up (though that might just be personal preference)
- 16:51Try running what was failing originally when you first asked and it should work
- mikwee16:51It gave me something very similar to this
- 16:52My question was how to extract the data from this object, to look at, for example, individual notifications
- Rek16:56If you want to get notifications you'd need to authenticate the agent first: https://github.com/bluesky-social/atproto/blob/main/packages/api/README.md#usage then call agent.listNotifications which is bsky-specific
- 16:57(usually recommended to use an app password instead of your actual password)
- mikwee16:57App password?
- 16:59you can use your regular password to auth the agent to test and such if you want though
- mikwee17:01Okay, so I used
login()
to authenticate - 17:01At least, I think that's what you meant by authentication
- Rek17:02yup, then using the same agent and calling
agent.listNotifications()
should give a list of notifs back - 17:02(i haven't tested this fully, but the TS client works relatively the same as others)
- mikwee17:03
I tried all of this before thus far. Now, this is what I get from this function:
1234567891011121314151617181920212223242526272829303132
XRPCResponse { data: { notifications: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object] ], cursor: '1692888369062::bafyreielghmqwadhnpr3cwnrruynun6d4ovrpvr2nbofwzjcwljabsht6y' }, headers: { 'access-control-allow-origin': '*', connection: 'keep-alive', 'content-encoding': 'gzip', 'content-type': 'application/json; charset=utf-8', date: 'Sun, 27 Aug 2023 22:01:32 GMT', etag: 'W/"f2d0-K08VbFclpc16V0tXtE5dEwdTHZs"', 'transfer-encoding': 'chunked', vary: 'Accept-Encoding', 'x-powered-by': 'Express' }, success: true }
- Rek17:03That looks right,
- 17:04whatever variable has agent.listNotifications(), getting its
.data.notifications
should give the array only - mikwee17:05Okay... I honestly did not realize you needed a variable for that.
- Rek17:05lol, yeah all good
- 17:07Usually fine if a function immediately returns a result, but most function calls on the api are promises
- 17:07Hence why most examples ask you to use
await
- 17:09So doing
agent.listNotifications().data
(or on any func), you're unintentionally grabbing.data
from a promise - mikwee17:11Okay, I understand! Thanks
- 17:11Okay, now I'm getting a little deeper into the ATP rabbit hole. Is
app.bsky.feed.post
the lexicon you use to query a specific post? - 17:12Or if we're talking about Bluesky, skeet?
- Rek17:18should be, yes
- 17:18app.bsky is slightly out of what I know though, so I'm sure someone else can correct 😅 I'm not developing on app.bsky's authority at the moment and haven't really had the chance to look into it
Mon, Aug 28, 2023
- mikwee01:34Woah... that's unexpected!
- mikwee02:43I'm currently trying to use
agent.getPost()
.agent.getPost({uril: [uri]})
does not work - 03:02noisedotbar joined the room
- mikwee03:33Okay, another related question: Why does
/xrpc/com.atproto.repo.getRecord?repo=mikwee.bsky.social?collection=app.bsky.feed.post
not work? It tells me therepo
is not a valid DID or handle, despite it literally being my handle. - 06:48Dalite Fur changed their display name to Dalite Fur ➡️ EF
- Rek08:52
In reply to this message
I'm (50%) sure that should just beagent.getPost(...)
, and uril as uri - 08:53
In reply to this message
Unless the handle is a user's self hosted domain, the repo must be a DID instead of the handle(edited) - Rek09:03Sorry, was wrong about a few things:
-repo
is right, its only other handle resolvers that care about that. Your issue is the?
next to it, chained query params should use&
instead
- ForgetRecord
(i missed you using it before) you need an item's rkey. If you want to list any instead, uselistRecords
. - jmcasey
- mikwee
- 11:37So should both parameters use
&
or only one of them? - Aaron Goldman11:38
?
separates the path from the query parameters&
separates the query parameters themselves - mikwee11:38Okay, thanks!
- 11:39^ a not terrible Components of a URL description
- 12:13Jens Gwen changed their profile picture
- 15:27Tiago dos Santos Carlos joined the room
- wolixoriginal16:06Guys I am have question about api how get for at protocol and make bluesky client
- shreyan20:42could you be a bit more specific about what it is you want to do?
- wolixoriginal
Tue, Aug 29, 2023
- xb5krnf29700:47There are different types of clients. Are you talking about a mobile front end?
- 06:19siiii joined the room
- 06:42@musicloverchris:matrix.org joined the room
- 08:16geckour joined the room
Wed, Aug 30, 2023
- Ezzobir Bezziou10:09How can i use bluesky
- 10:09Please help me
- 10:17Bruno joined the room
- 10:21@musicloverchris:matrix.org left the room
- Aaron Goldman10:48
In reply to this message
To do what?
You could search the content doing something like
https://blue.amazingca.dev/You could run your own node.
You could try to get an invite to someone else's node - Ezzobir Bezziou
- Emily13:08
Hi everyone! This is Emily, from the Bluesky team. Now that both the network and the atproto dev community have grown significantly, we’ve been having more multi-threaded discussions over on GitHub and haven’t been able to maintain this Matrix room as much, but really appreciate all the discussions happening here.
As a result, we’re streamlining discussions in the atproto GitHub repo. This room will continue to exist here, thanks to the Matrix team, who very generously offered to take over admin roles here. The room description will be updated accordingly to indicate that it’s no longer an official Bluesky space.
Find us on GitHub discussions here: https://github.com/bluesky-social/atproto/discussions
If you’re a developer still waiting for an invite, fill out the dev waitlist and you should receive a code within a week: https://atproto.com/blog/call-for-developers
- 13:09Emily changed the topic to "Community discussion of technologies related to the AT Protocol and Bluesky. (This room is not officially affiliated with the Bluesky team.) ".
- 13:10Emily changed the topic to "Community discussion of the AT Protocol and Bluesky. (This room is not officially affiliated with the Bluesky team.)".
- 13:10Emily changed the power level of Matthew from Default to Admin.
- Aaron Goldman14:37I wander if I should start using this " https://web.archive.org/web/20230722083328/https://blueskyweb.xyz/blog/2-31-2022-initial-bluesky-team , https://blueskyweb.xyz/blog/2-31-2022-initial-bluesky-team " as my example of the mutability of https and why I think version history of authenticated data is a meaningful difference. Securing connections and content are not the same.
- 14:40I also wonder if Bluesky PBC is walking away from this room because I was doing the developer relations here. Sorry if I am talking too much in this now officially unaffiliated with the Bluesky PBC room.
- Emily14:52
In reply to this message
no, we appreciate it when people chime in to ask & answer questions! :)
we’ve just found that github discussions has made it much easier for us to: have multiple conversations at once, keep our answers discoverable even as time passes, and have public conversations that we can later link to.
- Sabir Ibrahim14:55
In reply to this message
In reply toEEmilyHi everyone! This is Emily, from the Bluesky team. Now that both the network and the atproto dev community have grown significantly, we’ve been having more multi-threaded discussions over on GitHub and haven’t been able to maintain this Matrix room as much, but really appreciate all the discussions happening here.
As a result, we’re streamlining discussions in the atproto GitHub repo. This room will continue to exist here, thanks to the Matrix team, who very generously offered to take over admin roles here. The room description will be updated accordingly to indicate that it’s no longer an official Bluesky space.
Find us on GitHub discussions here: https://github.com/bluesky-social/atproto/discussions
If you’re a developer still waiting for an invite, fill out the dev waitlist and you should receive a code within a week: https://atproto.com/blog/call-for-developers
In reply to
@etzl:matrix.org
Hi everyone! This is Emily, from the Bluesky team. Now that both the network and the atproto dev community have grown significantly, we’ve been having more multi-threaded discussions over on GitHub and haven’t been able to maintain this Matrix room as much, but really appreciate all the discussions happening here.As a result, we’re streamlining discussions in the atproto GitHub repo. This room will continue to exist here, thanks to the Matrix team, who very generously offered to take over admin roles here. The room description will be updated accordingly to indicate that it’s no longer an official Bluesky space.
Find us on GitHub discussions here: https://github.com/bluesky-social/atproto/discussions
If you’re a developer still waiting for an invite, fill out the dev waitlist and you should receive a code within a week: https://atproto.com/blog/call-for-developersI wasn't aware that this was ever an official Bluesky-affiliated space to begin with. 🤔
(edited) - Aaron Goldman15:17When Bluesky PBLLC was founded most of the discussion was hapening in rooms bridged to Discord. #general-bsky:matrix.org This "Bluesky Community" was an older and more established community coming out of the social protocol evaluation. The ultimate conclusion was that there was not a protocal that could handle the diverse needs of twitter to replace their existing API with a distributed protocal. Jay created this Matrix so there would be a space separated from the "Bluesky Community" where Bluesky PBLLC could talk to people interested in the development of the new protocal without all of the "Bluesky Community" people that where following and comparing many protocols. This room would be about the new ADX(since renamed AtProto) protocal and explicitly not Matrix, ActivityPub, Nostr, peergos, ... In parallel with making this Bluesky Dev room she asked "Bluesky Community" to rename so that Bluesky could be used as the brand for the new App built on the new AtProto protocal. "Bluesky Community" politely renamed to https://dsocialcommons.org/ so Jay and Bluesky PBLLC could use the name as its brand. At that point I moved from spending my time growing dSocialCommons to trying to build up a community of developers interested in the new protocal here. https://discord.gg/UrBMcCYv dSocialCommons still exists but never recovered from the transition from "Bluesky Community" to dSocialCommons. Many of the contributors felt that they had spent years building the Bluesky brand and that the Bluesky project had been stolen from them.
- Aaron Goldman15:23Now the need for a lot of distributed systems protocols enthusiasts has died down and the need for a lot of API calling developers is needed it makes sense to move to github atproto discussions that can center around a code artifact. AtProto is not exactly done but it is for the most part what it will be. The lexicon and APIs for the PDS as well as the UX are going to need constant evolution. Think about the Filesystem we basically have the API done. Open, Seek, Read, Write, Close. On the other hand we will never be done coming up with new file formats.
- 15:24there may be new features needed like the way
fsync()
was added much later but the core is there - Aaron Goldman15:31I do still recommend the Ecosystem Overview a lot of good distributed systems experts contributed to it. https://gitlab.com/bluesky-community1/decentralized-ecosystem/-/blob/master/README.md
- 15:33It's ongitlab.combecuse a lot of the pre founding Bluesky Community contributers were not fans of centralized proprietary tools. 🤷
- Aaron Goldman15:49I miss
Authenticated Data eXchange
I still thinkadx://
looked cooler thanat://
but meh. - 17:02@erichf:matrix.org left the room
- 17:27Matthew invited Administrator
- 17:27Administrator joined the room
- 17:27Matthew changed the power level of Administrator from Default to Admin.
- 17:28Administrator set the server ACLs for this room.
- 17:32Administrator banned @flooore:matrix.org: spam
- 17:32Administrator banned @floragordonstar:matrix.org: spam
- 17:32Administrator banned @gordonforas:matrix.org: spam
- 17:33Administrator banned @joseph54:matrix.org: spam
- 17:33Administrator banned @kaddare:matrix.org: spam
- 17:33Administrator banned @kookoy:matrix.org: spam
- 17:33Administrator banned @ooooret:matrix.org: spam
- 17:33Administrator banned @ooovi:matrix.org: spam
- 17:33Administrator banned @palmlive:matrix.org: spam
- 17:33Administrator banned @planetoryd:matrix.org: repeated code of conduct violations
- 17:33Administrator banned @rickslambiase20:matrix.org: spam
- 17:33Administrator banned @roooy:matrix.org: spam
- 17:33Administrator banned @tayloralgo1:matrix.org: spam
- 17:33Administrator banned @treecop:matrix.org: spam
- 17:33Administrator banned @wertd:matrix.org: spam
- 17:33Administrator banned @ytoooo:matrix.org: spam
- 18:06Ltrademark changed their profile picture
Thu, Aug 31, 2023
- 04:39nakasyou(Shotaro N.) changed their display name to nakasyou(Shotaro Nakamura)
- 04:39nakasyou(Shotaro Nakamura) changed their display name to nakasyou (Shotaro Nakamura)
- 05:23@georgishere:matrix.org left the room
- 17:18@liink:matrix.org left the room
Fri, Sep 1, 2023
- 01:34Thib (back Sept 1st) changed their display name to Thib
- 13:15Karl Abbott changed their display name to Karl Abbott (Away until 5-September-2023)
- Aer0xander13:57Is there any way to create categories and sub-categories with the current bluesky namespace? I want to create more of a forum/reddit like experience
- Aaron Goldman15:39Depends what you mean by bluesky name space. The `at://` urls are usually `at://app/collection/record` but could be different. Assuming your app wants to publish in to it's own top level folder you can organize the namespace how you like. Just make your own lexicons for your record types
- 15:41If you by bluesky namespaces you mean `at://bsky.app/*`then you need to follow their layout for the collections.
Sat, Sep 2, 2023
- Aer0xander05:41
In reply to this message
I meantbsky.app, but without federation being enabled in production we can't make custom lexicons for a live app however correct? I'm looking how I could deploy my app in production soon and mostly work through a custom app/client, so maybe I could also use hashtags, or even labeling (although that seems to be more for moderating instead of categorizing)? - 15:24comsalmon joined the room
- 15:29@albattran:matrix.org left the room
- 15:56comsalmon left the room
Sun, Sep 3, 2023
- 03:02@viktormaruna:matrix.org left the room
Mon, Sep 4, 2023
- 08:05ekayim joined the room
- 12:36pepijndevos set a profile picture
- 12:58saltedlolly changed their display name to olly.dgb
- 15:32@samme:schizo.cafe left the room
- 17:53thieflord joined the room
- 18:42@parfait:filly.chat changed their profile picture
Tue, Sep 5, 2023
- 01:03@tommy_plug:matrix.org joined the room
- 01:03Administrator banned @tommy_plug:matrix.org: spam
- 06:09Karl Abbott (Away until 5-September-2023) changed their display name to Karl Abbott
- 08:33@rover:aguiarvieira.pt left the room
- 15:23Maxi changed their display name to parfait
- 15:42avelusamy joined the room
- 19:43@parfait:filly.chat changed their profile picture
Wed, Sep 6, 2023
- 02:06xrisk changed their display name to Rishav
- 02:06Rishav set a profile picture
- 03:46@hiire:matrix.org left the room
- 06:46@jaklt:tchncs.de left the room
- 09:42Karl Abbott changed their display name to Karl Abbott (afk)
- 12:19Karl Abbott (afk) changed their display name to Karl Abbott
Thu, Sep 7, 2023
- 16:07Nad changed their display name to Nad // away
- 20:21@grumbulon:schizo.cafe left the room
Fri, Sep 8, 2023
- 08:57@cmoog:matrix.org set a profile picture
- 08:58@cmoog:matrix.org left the room
- 13:57@freedom.:matrix.org left the room
Sat, Sep 9, 2023
- 04:08agn0stik3301 set a profile picture
- 10:15@ppxqq:matrix.org left the room
Sun, Sep 10, 2023
- 09:12damon/ changed their profile picture
- wolixoriginal
- 19:17I am have problems to connect to server
- 19:18I am try my internet working
- Aaron Goldman19:21Which server
- shreyan19:23known time out with getTimeline I hear
- wolixoriginal19:23Bluesky original server
- shreyan19:23it's a known issue, they're fixing it
- Aaron Goldman19:23Oh, I see an outage also
- Kandy (They/She, DMs Open)
- wolixoriginal
- Kandy (They/She, DMs Open)
- wolixoriginal
- Kandy (They/She, DMs Open)
- shreyan19:27lollll
- wolixoriginal
- Kandy (They/She, DMs Open)
- 19:29says that you blocked me from receiving it lol
- wolixoriginal
- 19:30I am going to send you dm again
- jmcasey19:31we’re all rooting for y’all
- shreyan19:32oh hey jik
- 19:32haven't see you here for a while
- Kandy (They/She, DMs Open)
- jmcasey19:33yeah, been busy with job stuff, but always lurking ;)
- wolixoriginal
Mon, Sep 11, 2023
- 00:36eay changed their profile picture
- 02:48Nad // away changed their display name to Nad
- 08:59nakasyou (Shotaro Nakamura) changed their display name to バカ ん?ニックネーム?
- 08:59バカ ん?ニックネーム? changed their display name to a
- 12:10@sky0n3:matrix.org left the room
- 15:28gingervitiz joined the room
- 18:40a changed their display name to nakasyou (Shotaro Nakamura)
Tue, Sep 12, 2023
- 07:44@destiny786:matrix.org left the room
- 08:56Dalite Fur ➡️ EF changed their display name to Dalite Fur 🦊