Thu, Feb 2, 2023
- Joanna
- Joanna18:03Message deleted
- mikuhl18:17So crazy Elon is making people pay for API.
- 18:17Blue Sky gets stronger with every passing day.(edited)
- Joanna18:23I don’t care what Elon is doing
- 18:23Could someone answer my question please?
- mikuhl18:24He makes it easier for Blue Sky every action he takes lol.
- Joanna18:25Cool, love Blue Sky
I want us to succeed - mikuhl18:25What's next, he makes tweet quotas that you can increase with Twitter Blue?
- NikhilM4218:25most likely 😆
- mikuhl18:25"I solved spam!"
- whyrusleeping18:25Yeahhhh, that api being so expensive will make the bluesky locked open api super enticing
- NikhilM4218:26he is just throwing stuff at a wall to build out the money making engine, whatever sticks he keeps
- mikuhl18:26Blue Sky is going to do the bankruptcy speedrun FOR Twitter. 🤣
- NikhilM4218:27anyways I think we should keep this chat dev focused as to not clutter the feed 😉 as fun as it is to talk shit
- mikuhl18:27Can we have another 4 pixels of the interface leaked please?
- Joanna18:28Just need to work with Elon to create Platform X
- jmcasey18:45federation leaks also desired
- whyrusleeping20:25You can check things out on github
- 20:25Federation writeup soon (tm)
- 20:26But we’re moving forward with implementing aggregation and feed generation and labeling
- 20:26And will by tying them together into a coherent experience for the network
- FledgeShiu20:35As a Chinese, they are bots😂
Fri, Feb 3, 2023
- Steven Franssen
- whyrusleeping12:04Y’all, this aint the nostr channel
- mikestaub
- 15:41hilarybaumann changed their display name to Hilary Baumann
- 23:37i99988 changed their profile picture
- 23:45Soohan Park (Heartade) joined the room
- Soohan Park (Heartade)23:55Hi everyone! Just joined this channel here to catch up with the state of development etc, as I've been excited about this and I'm starting to believe that ActivityPub is unable to overcome its limitations.
- 23:56I've been looking at the ATP code from time to time, but I'm still far from getting a grasp of it. One thing I'm wondering is, how does Bluesky curate timelines? e.g. how does it fetch private statuses of a user I'm following?
Sat, Feb 4, 2023
- 00:01Soohan Park (Heartade) set a profile picture
- b0gg3r00:18Current understanding is that private content is not a part of the initial design
- 00:35i99988 changed their profile picture
- Soohan Park (Heartade)00:58
In reply to this message
Regarding initial design, I've seen roadmaps mentioned in some issues/PRs, are there publicly accessible roadmaps or are those internal only? - b0gg3r00:59Only public info is theatproto.comsite and the github repos
- Soohan Park (Heartade)01:01Oh i see... so that should mean the release timeline, initial features, etc, are mostly still TBA.(edited)
- b0gg3r01:20Soon ™️
- Aaron Goldman01:58
In reply to this message
Even without privacy in the protocol it could be done in user space https://guide.fission.codes/developers/webnative/file-system-wnfs
But there may or may not be an "official" way to do private data.
- b0gg3r02:09Since atp supports blobs, it seems relatively clear how to retrofit it
- 02:09Though wnfs is very interesting!
- Aaron Goldman06:27Just an example not a plan 😜
- micwaul07:02What are your expectations for Bluesky and the AT Protocol?
- 09:57jamniczek joined the room
Sun, Feb 5, 2023
- Soohan Park (Heartade)01:50
In reply to this message
I believe that ATP is by far the most promising compared to other competing standards. For a decentralized social network to 'work', i.e. provide acceptable user experience, the user has to be able to: 1) have their feed adequately moderated and curated, 2) easily migrate their identity in case their service provider goes down, 3) easily reach their target audience, 4) easily discover contents of their interest.
ActivityPub for example 1) relies too much on individual instance admins on moderation; 2) does not provide a straightforward way to migrate their data; 3) does not provide a way to easily expand the 'known network'; and 4) does not provide a way to easily discover remote activities.
ATP on the other hand 1) provides a standardized way for algorithmic moderation; 2) provides a way to migrate a user's entire data using DIDs; 3, 4) has a 'big-world' network outlined in the protocol for discoverability and reachability (while I'm not sure as to how much of this 'big-world' has been implemented).
- micwaul05:27Thanks for explaining the advantages of ATP over ActivityPub, what are your thoughts on Matrix and Nostr?
- Steven Franssen15:59mmicwaul: bluesky seemed to do nothing but extensive studies for years into the different protocols, by deciding to do something very similar to activitypub they have come to very different conclusions to fiatjaf and nostr, it appears with the rather wild growth of nostr that they were likely wrong, interestingly a complete rewrite of nostr could be a good thing
- mikestaub16:19
In reply to this message
I am very happy to see nostr gain so much adoption, but it still seems like its almost all Bitcoiners ( which is still millions of people ). There is no world in which my parents will ever be able to manage public/private keys. That is not to say a better UX can't be built on top of a protocol like nostr, but to assume that any protocol-level decisions are "right" or "wrong" at this stage is extremely premature. The more communities trying different ideas the better as we are all ultimately on the same team. We all want the end users to have full autonomy and control of their data and experience. - b0gg3r16:22I'm still optimistic that we figure some trick of UI and psychology that some day we figure out how to make key management easy for people Whatever the winning combination of protocols are, it strikes me that at this stage, cross protocol compatibility will be built out. AP/ATP/Nostr, or something else.
- Aaron Goldman16:22Not to speak to your parents but most modern people do in fact manage keys. Primary in the form of cut metal. People are not great at memorizing but are at keeping track of small objects
- mikestaub16:26
In reply to this message
I agree, but there exists locksmiths that can make clones and forcibly open the lock if all else fails. - b0gg3r16:27Yeah, like tap the yubikey to the phone, and that's that - seems reasonable. But we've trained folks that authentication and identity is free. I don't think the average folk care to buy into hardware tokens
- 16:27Plus yubikey recommends buying two keys to allow self recovery.
- Aaron Goldman16:28Could be a FiDo token, could be a device
- 16:31I would not feel comfortable having my repo locked to my Yubikey. I would feel comfortable locking it to my phone, tablet, laptop, watch, Yubikey, or recovery phrase.
- b0gg3r16:33Sorry, yeah was a bit simplistic with my language s/yubikey/fido2 Though you would still need to manage the recovery seed, no?
- Aaron Goldman16:33If a DID can be bound, and unbound, from non-extractible keys I can add and remove devices and passphrases from the DID
- 20:41KingYoSun joined the room
Tue, Feb 7, 2023
- 07:49tonykent (@tonykent:lisbon.ems.host) joined the room
- Joanna11:35BlueSky is the Next Internet
- 11:39Can someone add “Next Internet” in the title of this room ?
- @neilalexander:matrix.org11:41"Next Internet" is a meaningless phrase
- FledgeShiu
- Joanna11:42
In reply to this message
We are building the next iteration of internet infrastructure: decentralized/ federated/P2P, privacy-friendly, with new protocols, mesh networks, non-profits...(edited) - 11:43I’m not a bot
- sylphrenetic11:50sounds like something a bot would say 😂
- George Antoniadis11:51
Joanna I think you'll find that there is a segment of people for whom labels like "web3", "next internet" mean nothing, and do very little to actually explain what a project does, and in some cases even harm a project that might actually try to differentiate itself from every other using the same label.
For me for example the term "web3" is now burnt. Skiff for example is an amazing project, but their heavy rebranding towards web3 has put me off the whole project as it now feels like a cash grab, or just trying to ride the hype wave, and make money from people betting big into whatever web3 is.
- sylphrenetic11:52
In reply to this message
will Bluesky replace Internet Protocol? will it replace routing technologies that currently prioritize traffic in intelligent ways based on previous trip times? if not, it's still going to live on top of IP. - @numero6:codelutin.com11:54
In reply to this message
as #next-internet:codelutin.com admin, suggestions for a better name will be welcomed 😉(edited) - @neilalexander:matrix.org11:56
In reply to this message
I don't really have a better suggestion, just that it's accidentally a massive umbrella term that swings over multiple layers and doesn't really "say anything". Are you building an application or reinventing ethernet? ;-) - sylphrenetic11:56
In reply to this message
I think a skepticism of anyone trying to find the next wave to ride is healthy. we shouldn't be trying to find the "Next Big Thing" to be a part of, we should be building whatever we think the future needs. - 11:57
In reply to this message
yea. it's like trying to build "tomorrow". tomorrow will never be here, it's always today - @numero6:codelutin.com11:58
In reply to this message
True. I 100% acklodge that its sounds bullshit (but I like to do it in regards that I no longer can stand all the bullshit about "web3" and the branding to make a new proprietary pointless tech sounds cool) - 11:59
In reply to this message
that's the trick. By calling it the "next thing" we define the future(edited) - 12:00and we choose to not put the Zucky's metaverse in it(edited)
- 12:00checkmate!
- 12:01(and I love having tech like XMPP that are 20+ year old: still better than legless second-life)
- Aaron Goldman13:03The current Internet is broadly defined. We could say anything using the IP protocol but I would limit to things using IP and ICANN issued addresses. This is more framed as an authenticated contact lawyer above IP. While you could put a repo on a flashdrive and distribute the signed content in some non-internet way it's primarily meant to be on the current Internet l.
- Soohan Park (Heartade)13:16
In reply to this message
I don't have a lot to say about Nostr, never used it.
Rewriting Matrix towards a social network would be difficult, but social network is not Matrix' job and Matrix does its job really well. Account migration seems tough, but it seems like there's been some progress.
- George Antoniadis13:19
In reply to this message
I think that matthew (their ceo) has a pretty interesting vision for matrix that I’m not sure is too far off atproto’s. So I wouldn’t put it pass them to evolve into something more than chat soon enough. Take a look at their thirdroom playground for a glimpse of matrix being more than a chat app. - Soohan Park (Heartade)13:21
In reply to this message
xrpc is implemented on top of IP afaik. But even if people somehow decide to migrate away from IP (which I don't think will happen in near future), apps can and will be rewritten to fit the new infra. - 13:22
In reply to this message
I wasn't aware of that, thanks for letting me know! I feel like I should take a look at it right now. - Joanna13:38
In reply to this message
Me yes, I know very well how Nostr works and doesn’t work.
Was testing since the beginning.(edited) - 13:39I got the solution
Is Matthew here? - Joanna13:39Message deleted
- 13:41Message deleted
- 13:43Message deleted
- Joanna
- 13:45
In reply to this message
I know how we can integrate it
George, could you make me an intro w/ Matthew ?
- Soohan Park (Heartade)13:45XRPC server implementation is open-source. Nostr source is open as well. If you have a way of implementing a... some... kind of integration, you can start without contacting the representatives of either side.
- George Antoniadis13:47
In reply to this message
Don't know him personally to be able to do that, but I'm pretty sure if you send him a polite and non creepy message he'll probably get back to you. He's really active in anything to do with Matrix's community. - Joanna13:49Already Dm him
Ty - Soohan Park (Heartade)13:52btw is there a matrix dev (not necessarily contributors) room like this one for bsky?
- 13:53Like... just ordinary devs trying to figure out how to configure their Synapse server, wondering where everything's going etc
- George Antoniadis
- Soohan Park (Heartade)13:56Thanks!
- Soohan Park (Heartade)14:10
In reply to this message
Regarding this: I just found out that there's already https://imbev.codeberg.page/matrix-social/ going on - Aaron Goldman
- Soohan Park (Heartade)14:34Count me in... 😂
- micwaul17:31How many services do you think will adopt ATP except Bluesky?
- mikestaub18:31
In reply to this message
Will likely grow exponentially. Will take a while for the 2nd and 3rd apps to be published, but after that many more will adopt. Successful protocols create powerful network effects. At first, the open source community will likely create 2-way bridges, but eventually almost all consumer social experiences will natively support the protocol. If I had to guess, reddit will be next after twitter, then discord but we'll see. - moved to @shreyan:beeper.com@shreyanjain:matrix.org
- Aaron Goldman19:17
In reply to this message
https://en.gravatar.com/ is probably a reasonable analogy for what success might look like - Aaron Goldman19:25
In reply to this message
Anyone could make a lexicon for embedded ActivityPub object. But no plan for thebsky.appto support this. - lk25119:27Message deleted
- Aaron Goldman19:28ActivityPub uses urls to reference users and posts there is nothing stopping a server from using 'at://$did/path/to/post' but that would be a shift for the servers to support resolving these urls
- lk251
- mikestaub19:44
In reply to this message
At first, not much besides ideological alignment with the mission of Bluesky. After a certain amount of users are in the network, it won't make sense for new apps to try and bootstrap their own social graphs from zero as that is the greatest challenge when trying to build new products. - lk25119:49
In reply to this message
So after the flourishing of several new apps, twitter would be incentivized to conform to the protocol in order to grow? Forgive me but I don’t see the incentive for twitter here. I expect no ideological alignment from Elon. - 19:49I believe in the project, I just want to understand this thinking
- mikestaub20:30
In reply to this message
Yes, Elon is now likely a threat as he will try to attack the fledgling network to protect his investment. Web2 incumbents will fight hard to protect their data moats as that is how they capture ad revenue. BTC lightning can disrupt their business models however so we at least stand a fighting chance. - lk25121:07
In reply to this message
I’m not familiar with ATP but i hope its design and success is not dependent on blockchain. I’ve seen exactly 0 blockchain projects with intrinsic value.
Does ATP decentralize the cost of running a social network? If you think I should read about the protocol before asking these questions, please feel free to tell me so. Thank you for answering my questions.
- Aaron Goldman
- lk25122:11
In reply to this message
Thanks I understand that. I was referring to your comment on BTC lighting - 22:11My apologies - to Mike’s comment on it.
- Aaron Goldman22:25My personal expectation is that most users of paid PDSs will use credit cards to pay. 🤷♂️
- 22:28The free PDSs will probably want to put ads in the client which will be annoying since they will have to use some kind of DRM client that doesn't let you turn them off.
- 22:33I personally like the freemium model where something like 5GB storage 5GB/month bandwidth is free or 1TB for 1$/month or something like that. I think Google Drive is like 50$/year for 1TB but I think it can be done cheaper.
Wed, Feb 8, 2023
- Soohan Park (Heartade)01:09
In reply to this message
PDSs operate independently from client apps, so I don't think ad-supported clients will dominate. Instead, PDS operators could push ads to the users' feeds (like Twitter's promoted tweets, but in a client-agnostic way). - 01:56lepras (@lepras89:matrix.org) changed their profile picture
- @numero6:codelutin.com
- George Antoniadis03:30
In reply to this message
I would have assumed free PDSes would inject promoted posts instead of ads so they can't be identified/blocked by clients. - 03:35@massimo:kanik0.wtf left the room
- 05:28@sergia:sergia.ch joined the room
- 07:54@sergia:sergia.ch left the room
- mikestaub09:49
In reply to this message
There will be plenty of traditional freemium business models I'm sure. What lightning enables is true microtransactions that enable creators and influencers to get paid per engagement. You can't do it with credit cards because the processing fees dwarf the actual payment amount. - magicofazi10:24What would you guys say is the core difference between AtProtocol and Matrix? It seems both at their core are syncing protocols for DAG based interactions. The main caveat is maybe Matrix allows for multiplayer interaction whereas AtProtocol is optimizing for single player pub/sub
- Joanna
- magicofazi11:30
In reply to this message
Would argue adding a incentivized consensus layer that stores identity onchain but everything else offchain using some protocol like matrix or atprotocol is the best approach - Joanna
- Soohan Park (Heartade)17:32
In reply to this message
We could put the "everything else" part on-chain with IPFS etc, but could doesn't equate should and I'm not sure if we should - Aaron Goldman
- FledgeShiu
- 21:10@jonathan.stoltman:matrix.org joined the room
- 21:14@jonathan.stoltman:matrix.org left the room
- 21:50amazingca joined the room
- 21:57amazingca set a profile picture
Thu, Feb 9, 2023
- 14:31valueclick joined the room
- 16:12c.lace joined the room
Fri, Feb 10, 2023
- tonykent@tonykent:lisbon.ems.host10:17
Hello friends!
Got one simple question regarding the identity. Does Bluesky allow to use IP addresses instead of domain names?https://atproto.com/guides/identity#identifiers
The DNS handle is a user-facing identifier — it should be shown in UIs and promoted as a way to find users.
What if i use at://123.5.6.12 instead of at://
alice.host.com?
Will it work?(edited) - 10:18
SMTP allows to use IP addresses, but it is highly discouraged
RFC 2821 (from 2001) considers using numerical addresses "discouraged":
2.3.4Host
For the purposes of this specification, a host is a computer system
attached to the Internet (or, in some cases, to a private TCP/IP
network) and supporting the SMTP protocol. Hosts are known by names
(see "domain"); identifying them by numerical address is discouraged. - 10:18Matrix also supports IP addresses: https://spec.matrix.org/v1.5/appendices/#server-name
- 10:19
- it's allowed, but getting a valid cert is likely harder than getting a domain
- It's also probably a bad idea unless you properly own your IP because you will be unable to move it ever
- whyrusleeping10:20It probably works? Though user handles might get weird
- 10:20Oh but at:// uris dont have a domain name in them
- TravisR10:20fwiw, while Matrix does support IP addresses, it still requires a useful certificate be published on the domain. It's historically very difficult to get a certificate for an IP address, and you'd be stuck with that IP forever (can't change it). We've actually considered dropping IP address support for these reasons: it provides little to no value.
- whyrusleeping10:20Its at://DID/rkey
- 10:22You could still probably host a pds at an ip address, but https certs would get tricky as travis mentions
- tonykent@tonykent:lisbon.ems.host10:22
We've actually considered dropping IP address support for these reasons: it provides little to no value.
does it mean currently Bluesky does not allow that?
(edited) - whyrusleeping10:23Travis is talking about matrix. A different protocol
- tonykent@tonykent:lisbon.ems.host10:23Ah, i see. Thank you
- TravisR10:24sorry, I'm on the core team for Matrix and sometimes forget to use the right words to describe us (Matrix) in other venues 😅
- tonykent@tonykent:lisbon.ems.host10:24(about Bluesky) why not restrict the system and work only with DNS addresses in the @alice.host.comtype names (without DIDs)
- 10:25i guess "federation" won't work with IP addresses :-)
- whyrusleeping10:25It might
- 10:25Im hacking on the relevant code today actually
- 10:26And my local test scripts all are ip address based
- 10:26Https certs are the hard part though
- tonykent@tonykent:lisbon.ems.host10:26(new internet meme born) Y U CANT AFFORD BUYING A DNS NAME? :-))(edited)
- whyrusleeping10:26Everyalice.host.comstyle name is just sugar on top of a DID
- 10:27And a pds is able to declare its handle suffix independently of its location on the web
- tonykent@tonykent:lisbon.ems.host10:29
In reply to this message
You mean it uses a did:web:host.com:alice -> https://host.com/alice/did.json conversion ? - whyrusleeping10:30Unclear if that would work in practice tho
- 10:30Ish
- tonykent@tonykent:lisbon.ems.host10:30
And a pds is able to declare its handle suffix independently of its location on the web
didn't get the idea.
or you mean - by using DNS ? :-)(edited) - 10:32This is my did document for my BlueSky account
- 10:33
In reply to this message
Authority over a handle is managed by the pds the handle is on. So technically you can say your handle is whatever, as long as you can resolve it to a pds that says its good - tonykent@tonykent:lisbon.ems.host10:37
In reply to this message
so it works like this?
- DNS lookup: alice.host.com-> IP
- Call 'com.atproto.handle' on IP -> DID
- Download DID -> DID Document from the centralized Bluesky DID server (in case of did:plc!!!)
- Call 'com.atproto.sync.getRepo' on DID.repo
(edited) - DNS lookup:
- 10:38so Bluesky has 2 levels of indirection here instead of ONE in SMTP and Matrix(edited)
- whyrusleeping10:39That is a thing you can do, yes
- 10:40And yes, did:plc is more centralized than some other did implementations, but one key feature that it notably has is that it works
- 10:43
In reply to this message
One thing to keep in mind here is that at a protocol level, everything is a DID. Handle references are all stored as DIDs, so most of the time youll start at step 3 - tonykent@tonykent:lisbon.ems.host10:46also, where did you get the "https://plc.directory/did:plc:vpkhqolt662uhesyj6nxm7ys" ? is it on step 2 ?
- whyrusleeping10:47Thats just how you resolve a plc DID
- 10:49For each type of did you have to know how to resolve it. Thats a fairly base part of the protocol
- 10:49We’re probably going to add did:web soon (tm)
- 10:49And then figure out what other did types should be supported as we go
- 10:50“All of them!!” Is a trap..
- tonykent@tonykent:lisbon.ems.host10:50is "plc.directory" hard-coded? for any did:plc?
- whyrusleeping10:50For now yes, in the future it will be a consortium and any consortium member will be able to have their own endpoint
- tonykent@tonykent:lisbon.ems.host10:50thank you
- @planetoryd:matrix.org10:51names and ids. does it use blockchain
- whyrusleeping10:51Its all authenticated and hash linked, so you arent depending on the plc server to really do anything other than be a well known host
- 10:51No blockchains here ser
- @planetoryd:matrix.org10:51why not
- whyrusleeping10:51No need
- 10:52We probably will support blockchain based did types in the future, but they’re kinda annoying to use right now. Registering a new did:ion takes an hour
- tonykent@tonykent:lisbon.ems.host10:53Good article about that is here - https://educatedguesswork.org/posts/blockchain-identity/
- @planetoryd:matrix.org
- whyrusleeping10:55You dont need consensus on someones self-signed identity
- 10:55You just need a well known location for it to live
- @planetoryd:matrix.org10:55on unique names
- whyrusleeping10:56Thats the beauty of a hash based name
- 10:56There are infinite of them
- 10:56Public key cryptography provides unique names
- tonykent@tonykent:lisbon.ems.host10:56
Same guy (Firefox CTO :-)) asked here https://educatedguesswork.org/posts/atproto-firstlook/:
A new DID form called DID placeholder (did:plc)), which consists of a hash of a public key which can then be used directly or sign new public keys to allow rollover (see my long post for more on this topic). As an aside, it's not clear to me how you actually obtain the DID document associated with a did:plc DID, as the public key isn't sufficient to retrieve it. There's apparently a PLC server, but is there only one? If not, how do you find the right one? This all seems unclear.
- @planetoryd:matrix.org10:57Message deleted
- whyrusleeping10:57The firefox CTO is annoyingly shallow in his reading of the docs
- @planetoryd:matrix.org10:57typo, zooko's triangle
- whyrusleeping10:58He reads enough to find snarky questions to ask, but not enough to answer them for himself
- 10:58Which is on us to write better docs of course
- @planetoryd:matrix.org10:58It's wishful thinking to believe that consensus isn't worth decentralizing. censorship, security etc.
- whyrusleeping10:59Sure, go use a did method that suits your threat model
- tonykent@tonykent:lisbon.ems.host11:00
In reply to this message
i agree here with him -> that's one of the points of centralization and it was not described in your documents (or maybe i wasn't able to find it)
how do i know that it is theplc.directoryserver or you are going to convert it into the consortium soon? that's why i am asking it here :-)(edited) - whyrusleeping11:01For now,plc.directoryis the place. Records you get back are verifiable
- 11:01In the same way that dns root servers are “hard coded”
- tonykent@tonykent:lisbon.ems.host11:02yes, got that. thank you
- whyrusleeping11:02We will likely get an ASN for plc and get it its own static IP
- 11:03Its intended to be neutral underlying infra, but its really only incidentally related to bluesky, we needed a DID solution to use that suited our immediate needs
- 11:03So we made a mostly acceptable one
- tonykent@tonykent:lisbon.ems.host11:04
In reply to this message
and what do you mean by the "consortium"?
is it something like a "public permissioned blockchain"? like PoA?
or something like a https://certificate.transparency.dev ?(edited) - Aaron Goldman11:04
In reply to this message
What does being an AS give you? You don't really need to do your own BGP announcements just have a server - 11:05I guess if you want to play games with anycast rather than just run a dns server to resolve to a close ip
- 11:07
In reply to this message
If you have multiple devices racing to update the did document at the same time you will probably want consensus over eventual consistency. - 11:08plc directory should put the updates in a total order
- 11:08total order for the did document not the whole directory :)
- whyrusleeping11:08Right, but thats easy enough to do without having to resort to a blockchain
- Aaron Goldman11:09I do like to use paxos/raft/... when I don't need a blockchain
- whyrusleeping11:10
In reply to this message
Notably it puts you as the final say of whether or not the service remains up. Relying on other people’s infra means takedown requests can be processed without including you - 11:10Totally, throw raft at it and call it a day
- tonykent@tonykent:lisbon.ems.host11:11
In reply to this message
but PAXOS and RAFT are permissioned
only blockchain can give you true permissionless setup
right? - whyrusleeping11:24Plc is permissioned by design
- 11:25No sense trying to use a bft algo when it doesnt match the threat model
- 11:26For the record, i did design and build a fairly large blockchain and am quite familiar with the tradeoffs.
I feel good saying we dont need one here - Aaron Goldman11:31I think the distinction between Byzantine Fault Tolerance and Crash Fault Tolerance is less his point then the fact that the consensus group is invitational. When we move from just Bluesky PBLLC running plc directory to a consortium, we will probably pick a BFT consensus algorithm but it will still be a small number of consortium members that accept and order the did document patches.
- 11:32The protection for the did controllers is that they can prove the bad behavior of the plc directory.
- whyrusleeping11:35Fair distinction
- Aaron Goldman11:35
- patched must be signed by a key the is already in the DID Document. The directory can't make up a diff only veto or reorder them.
- once a patch is accepted into the ordered list of accepted patch if the directory forgets one the nodes that retrieved previously have proof the directory changed history.
- If the directory ever gave divergent histories and the two PDS talk to each other they can prove that the directory is duplicitous
- 11:38If the plc directory ever misbehaves then the community of PDS operators can change the plc directory they use and abandon the one run by Bluesky PBLLC. In order to keep the network from fracturing along directory linesplc.directoryis incentivized not to behave badly.
- 11:40When the PDS operators demand that Bluesky PBLLC hand over control to a consortium we will know what the shape of that consortium needs to be by the requests coming from PDS operators
- 11:42Until then it probably makes sense to keepplc.directorysimple e.g. A pair of PostgreSQL servers doing two phase commit and a webserver.
- 11:44So no not "true permissionless setup" but an accountable single source of truth
- 11:45^my opinions here are my own
- tonykent@tonykent:lisbon.ems.host11:48Thank you Aaron Goldman and whyrusleeping
What about the consortium setup? How do you see it? Is it a POA blockchain?
What are the other options? - 11:49You can launch a public permissioned blockchain - use POA (a PBFT really))
- 11:49or you are pro-RAFT?
- whyrusleeping11:56Lol, plc is POA
- Aaron Goldman11:56https://plc.directory/did:plc:vpkhqolt662uhesyj6nxm7ys can get you the did document https://plc.directory/log/did:plc:vpkhqolt662uhesyj6nxm7ys can get you the log of patches you can verify yourself
- whyrusleeping11:58But a POA blockchain isnt much different from raft over a set of self authenticating data
- tonykent@tonykent:lisbon.ems.host12:09
In reply to this message
yes, agree
the difference is in other dimension - "compatibility" and "ease of use"
POA pros over some RAFT cluster:
- you can easily migrate POA into something like POS or even use some external well-established network like Polygon/Optimism -> more compatible with pure "crypto" tech
- there is a notion of "tokens" and "gas" right out of the box -> so anti-Sybil mechanism out of the box
- clients can launch light-nodes that will replicate the state, but not do a consensus -> better anti-censorship
you will have to build all of that manually in case of RAFT
am i right? - Aaron Goldman12:14
123456
execute(""" SELECT operation FROM operations WHERE did = ? ORDER BY createdAt ASC """, did)
That's basicly all we ask the directory to do.
- 12:15Sybil is not really a problem if the consortium is invitational.
- whyrusleeping12:24And you can already do “light client” stuff with the current design of plc
- 12:25Migrating to a blockchain if we decided to in the future is also not hard
- Aaron Goldman12:26Do we have the api Letting PDSs replicate the state for all patches since time?
- whyrusleeping12:28We were discussing a “list all” endpoint for the plc, youd have to ask danny about that
- tonykent@tonykent:lisbon.ems.host13:22also, i would like to thank Aaron Goldman for wonderful Youtube channel
watched almost all videos, now watching https://www.youtube.com/watch?v=ZaqsTZ9mwD4 - Aaron Goldman
- tonykent@tonykent:lisbon.ems.host13:28
In reply to this message
that would be great! i would attend a call if that's possible
I'm mostly into the ActivityPub, Subconscious Noosphere, SSB, etc
also, very interested in the identity + blockchain (DIDs etc) topic - moved to @shreyan:beeper.com@shreyanjain:matrix.org17:27Anybody checked out https://solidproject.org? Goals seem similar to BlueSky/ATP, but with a broader focus than just social networks
- Joanna17:32Me
- 17:32I already connected Tim Berners-Lee(edited)
- moved to @shreyan:beeper.com@shreyanjain:matrix.org18:21wait fr
- jmcasey19:41I like the idea of it, but it seems like the target audience is folks who are comfortable standing up a web server. When you try to "get started" on that website you are straight into picking one of seven providers, reading instructions and following tutorials. That may be appropriate for some, but it will turn off the vast majority of people who just want to open the app and scroll. I think the approach of "build for what users are used to" is a smarter approach.
- 19:44That said... "hey gpt7, get me set up on solid" I think some presumptions I make need to be revisited this year.
- moved to @shreyan:beeper.com@shreyanjain:matrix.org19:52Yeah, while the core protocol looks cool, the user experience is still extremely barebones.
- moved to @shreyan:beeper.com@shreyanjain:matrix.org20:11I can sort of imagine using a Solid Pod as a PDS for bluesky
- Rhino Unknown21:47I watch all of these messages scroll by....as a business owner I am excited by blue sky. I don't mind paying for storage if it means I can have better control over my content. What is the timeline looking like? 1month, 6months, 1 year, more...just curious what he consensus is.
- whyrusleeping21:58Hoping to have things in a good place in the next couple months I believe
- Rhino Unknown22:03That sounds pretty good. Im sure it will be growing for awhile.
Sat, Feb 11, 2023
- 05:48Thib changed their display name to Thib (back on Feb 20)
- 08:15@ozanozdil:matrix.org set a profile picture
- 08:27@ozanozdil:matrix.org left the room
- 13:31Henrique S. Oliveira set a profile picture
- 18:10moved to @shreyan:beeper.com (@shreyanjain:matrix.org) changed their profile picture
Sun, Feb 12, 2023
- 06:54saysaywhat joined the room
- 11:04@rimuru:gentoo.chat changed their profile picture
- 11:48ephem left the room
- 13:14xtianpu joined the room
- xtianpu13:35Hello, may I know where I can find the roadmap?
- Aaron Goldman17:26
In reply to this message
https://github.com/bluesky-social/atproto/issues
but that is very zoomed in.
Hard to have a public longer term plan as plans tent to change - amazingca18:32I know you guys probably get this a lot, but what’s the current estimated release date as far as the public beta is concerned? I know you can’t give specifics, I’m looking more so for an estimate.
Mon, Feb 13, 2023
- 04:07planetoryd changed their display name to plein
- 09:46@bjf:matrix.org left the room
- Daniel Holmgren15:14
In reply to this message
yup hard to get to know exactly, but we're hard at work trying to get this ready for yall as fast as we can. As Why said we're expecting things to be in a pretty good place in the next couple months - amazingca
Tue, Feb 14, 2023
- 17:51@evbogue:matrix.org joined the room
- 19:18benpate joined the room
Wed, Feb 15, 2023
- 00:16ignacio joined the room
- 08:59@kenzie_jonn:matrix.org joined the room
- 09:54@kenzie_jonn:matrix.org left the room
- 10:58@gray_philip:matrix.org joined the room
- 11:10@gray_philip:matrix.org left the room
- 14:07Nick joined the room
- 16:10Nick (@nick:creativelink.chat) joined the room
- 17:26samuellee changed their display name to J
Thu, Feb 16, 2023
- mikuhl
- 16:18found on nostr
- mikuhl16:32now the suspense of "did I actually sign up?" "if I sign up again does that put me in the back of the line?" "did I type my email wrong?" 😂
- FledgeShiu16:32So true, lol
- Aaron Goldman16:35If a second sign up puts you at the back that's a bug
- Joanna
- @reyg0r:matrix.org
- taurean17:02
In reply to this message
I’m glad I’m not the only one who thinks like this. I can’t find the confirmation that I signed up before but I know I had to have. - mikuhl17:15
In reply to this message
I've learned from tiktok that almost literally every human thinks the same, things that I have thought where a unique quirk I do in my head, everyone else does too lmao. - 17:15Especially pretending to be in a music video when you look outside the car window. 😆
- @evbogue:matrix.org18:12Didn't get the email with the questionnaire, but still can't wait to give it a spin (when everyone is ready.)
- whyrusleeping18:14Its surprising how hard it is to send out a ton of emails
- @evbogue:matrix.org18:15Yah I've tried it in the past, email is decentralized and all, but...
- Aaron Goldman
- @evbogue:matrix.org18:20Well yah, email doesn't have a good replication strategy
- mikuhl
- @evbogue:matrix.org18:29
In reply to this message
Yah I was going to recommend a Hotmail-style rollout with invite codes that generate invite codes to generate hype and expand the network computing power. - whyrusleeping22:06I could be convinced to share invite codes via dm, if someone were to be an iphone user and sent me their email ;)
- 22:07I may regret that but whatever
- 22:07Yolo
- @evbogue:matrix.org
- xtianpu
- whyrusleeping22:26Theres no android or web build yet unfortunately
- moved to @shreyan:beeper.com@shreyanjain:matrix.org22:27me too 🙂 please
- @evbogue:matrix.org22:30I'm russian out to get myself an iPhone right now even though it's after dark in Chicago and web browsers still work.
- @evbogue:matrix.org
- 22:42Great iPhone-hunting weather, obviously
Fri, Feb 17, 2023
- b0gg3r00:54Message deleted
- zyolluax01:52Probably could go out and borrow an old iphone to test 😂
- ignacio06:58I’m with iOS and ready to test / feedback :-)
- mikuhl10:57Cries in Android
- @truethomas7:matrix.org12:55Same (iOS, willing to test and give active feedback)
- jmcasey17:05unloaded question: how much breaks if you add ipad as a build target?
- FledgeShiu17:14Same iPhone user.
- whyrusleeping17:15I think you can run the app on an ipad
- Brad Brown17:19oh it loads on iPad (and even on M-chip Macs!)…it’s just tiny 😂
- jmcasey17:24
In reply to this message
You definitely can, it just doesn't play nice with stage manager. Tiniest of gripes ;) Sat, Feb 18, 2023
- 01:33Alice muthoni joined the room
- 08:12ben changed their display name to ben (Old)
- 08:20ben (Old) changed their display name to moved to @ben:acter.global
- amazingca16:00This is very exciting: https://apps.apple.com/us/app/bluesky-social/id6444370199
- moved to @shreyan:beeper.com@shreyanjain:matrix.org16:05Nice! I'm trying it on an iPad right now. Can't wait for it to come to the web and Android!
- FledgeShiu16:10When can I get a invite code.😂
- whyrusleeping16:16bsky.social-j75ry 👀
- FledgeShiu16:18thanks!
- amazingca16:19I’m so excited
- c.lace16:26I need an invite code Thanks!
- Joanna16:26bsky.social-4pry4
- whyrusleeping16:38The one i posted has about ten uses, the 4pry4 one probably only has one or two left
- @truethomas7:matrix.org16:41Ty
- 18:52Nobody Nearby joined the room
- @sterence:sleeby.cafe19:27will the public beta be the point we can self host or was that going to come at a later point?
- whyrusleeping19:34Self hosting is our top priority right now
- 19:34We’re working on all the infrastructure and protocol pieces, setting it as a requirement for ourselves for being “ready”
- @sterence:sleeby.cafe19:38good to hear, was just a bit curious about where it all is but thanks for the reply
- moved to @shreyan:beeper.com@shreyanjain:matrix.org19:43How will self-hosting work? Will it be able to run on the same domain as a separate website?
- whyrusleeping19:43You’ll probably want to run it as pds.your.domain, or something
- 19:44There’s several layers to self hosting too, you can use the main servers that we run with your own domain based username, and/or you can bring your own DID (from a supported subset of methods), or you can run your own pds
- moved to @shreyan:beeper.com@shreyanjain:matrix.org19:45Good to know, thank you!
- micwaul20:07I'd love to participate in the beta test! Do I have to wait for an invite code via email?
- joelghill21:02
This is very exciting: https://apps.apple.com/us/app/bluesky-social/id6444370199
Oh very exciting indeed! I'd love to test the eventual Android client - @reyg0r:matrix.org
- @reyg0r:matrix.org
- moved to @shreyan:beeper.com@shreyanjain:matrix.org21:20You can ask, you just might not receive since quantity is limited
- @reyg0r:matrix.org
- xtianpu21:37Oh looks like Bluesky DMs still in concept, isn't it?
- xtianpu21:42Currently I working as indie twitter developer, and building simple chatbot on twitter like this video
- 21:45I wonder maybe some quickreply features may be added in the future? 😀
- b0gg3r21:56DMs are not on the roadmap, as I understand
Sun, Feb 19, 2023
- mikuhl01:27Is it possible to make our own client at this time, and interact with the private beta?(edited)
- 02:11@syui:syui.cf joined the room
- xtianpu02:12
In reply to this message
Ouch, I don't know anymore where to go if twitter starting to hide their api behind paywall 😔 - 02:36kaxing joined the room
- @syui:syui.cf03:12hi
- 03:13@jan:cloudcheck.io left the room
- @syui:syui.cf03:15I tried to buildgithub.com/bluesky-social/atproto, does packages/pds can work with web-server?
- 03:19Please can I have an invite code? 🙏
- @syui:syui.cf
- 06:06
123456
# github.com/bluesky-social/atproto $ cd pacages/pds $ yarn build $ node dist/bin.js http://localhost:2583 Error: Invalid characters in handle
- 06:07Why am I getting this error?
- 06:09
1
"name":"xrpc-server","err":{"type":"InvalidRequestError","message":"Invalid characters in handle","stack":"Error: Invalid characters in handle\n at /Users/syui/github/atproto/packages/pds/dist/bin.js:110733:15\n at /Users/syui/github/atproto/packages/pds/dist/bin.js:103499:41\n at newFn2 (/Users/syui/github/atproto/packages/pds/dist/bin.js:104023:20)\n at Layer2.handle [as handle_request] (/Users/syui/github/atproto/packages/pds/dist/bin.js:30901:9)\n at next (/Users/syui/github/atproto/packages/pds/dist/bin.js:31070:17)\n at textParser (/Users/syui/github/atproto/packages/pds/dist/bin.js:27478:11)\n at newFn2 (/Users/syui/github/atproto/packages/pds/dist/bin.js:104023:20)\n at Layer2.handle [as handle_request] (/Users/syui/github/atproto/packages/pds/dist/bin.js:30901:9)\n at next (/Users/syui/github/atproto/packages/pds/dist/bin.js:31070:17)\n at /Users/syui/github/atproto/packages/pds/dist/bin.js:18371:9","errorMessage":"Invalid characters in handle","customErrorName":"InvalidHandle"},"msg":"error in xrpc method com.atproto.account.create"}
- FledgeShiu08:11Does ATProtocol include the “sending device” info, like “via web”? Or will it add it the future?(edited)
- @syui:syui.cf08:15yes, included device information(edited)
- FledgeShiu
- @syui:syui.cf08:28thx
- mikuhl
- George Antoniadis10:54
In reply to this message
If you're in the beta then yes, you should be able to use your own client to interact with the bsky pds. - mikuhl10:54What's it's url?
- George Antoniadis10:55I think it's justbsky.social
- 10:56It's basically the second part of your handle, you can check it out in the app login screen
- mikuhl11:24I wonder why it's likemichael.bsky.socialand not likemichael@bsky.social
- George Antoniadis11:31
In reply to this message
not sure on the team's reasons for this but imo the first one is much more flexible as it doesn't limit you to the user@server pattern.
you can do interesting things like adding TXT records or META tags to your own domain or website (iegeoah.me) that points to any pds/did you want.
you can also have vanity domains likegeoah.unicorns.lolthat point to any pds you want. - mikuhl
- 11:31Anyone got a spare? ;)
- 11:33nvm got one maybe?
- George Antoniadis11:33I think why shared one a couple of days ago but not sure if still works
- mikuhl11:34just use the last one posted in chat and it gave me a DID
- 11:36guess I need to follow people lol
- 11:38this feels easier than I thought lmao
- George Antoniadis11:39xD which lib are you using?
- mikuhl11:39I am literally manually making requests in Insomnia LOL
- 11:40if its literally this easy I could probably make a client in a few days
- 11:41there's now another golang cli on the bluesky github org but haven't played around to see what it's capable of
- mikuhl11:41I would make one in Dart
- mikuhl12:00Woohoo I followed someone
- 12:00The access token expires hella fast
- George Antoniadis12:01Pretty sure you can get postman to autorenew it
- mikuhl12:01and now feed returns stuff, this is so easy to work with :D(edited)
- George Antoniadis12:03If you wanna get to the harder stuff, I've mentioned you in a post, try replying to it :D
- mikuhl12:06Man I wish I wasn't working today
- 12:06Stupid job. 😭
- mikuhl
- 13:29WHAT DID I DO I ONLY CALLED THE FOLLOW ENDPOINT ONCE?? 🤣
- George Antoniadis13:31
In reply to this message
pfrazee could this be a client bug? :D client seems to keep fetching the same follow again and again - mikuhl
- 13:32If u want to check
- 13:32Wait oops
- 13:32Michael was taken. 🥺
- George Antoniadis13:32yeah I can see the same on jb55's followers :P
- Michael13:32damn i get pinged for every mention of "michael".
- mikuhl
- pfrazee14:11yeah we're looking into that right now
- 14:11only one record exists so there's a pagination issue
- arnobchak14:32Is bluesky beta version launched or not
- 14:36I want to use in Android
- 14:39Anyone please tell me
- 14:39???
- Rhino Unknown14:45I believe iphone only but it's exciting to watch all this activity.
- 15:06gonbatfire joined the room
- gonbatfire15:09Hey there, looking forward to this launch, will the protocol be TOR/I2P friendly? Vital for censorship resistance.
- George Antoniadis
- Aaron Goldman15:41
In reply to this message
Hopefully being on top of http will bring a lot as the http ecosystem gets stronger - 15:43Http³ has the opportunity to help alot with head of line blocking when syncing large number of small objects
- 15:45In http 1.1 you would be stuck bundling e.g. sending car files instead of individual blocks
- 15:48Webtransport certificate-hashes might also be interesting with the certificate-hashes in a did document. https://www.w3.org/TR/webtransport/#certificate-hashes
- 15:50The PDSs need a TLS domain cert is not really a problem but kinda itches from a decentralization point of view 🤷♂️
- bnewbold16:29
In reply to this message
'gosky' was moved over to https://github.com/bluesky-social/indigo, they are the same (if you look in git history, and the CLI is still named 'gosky') - 16:32
In reply to this message
things should generally work well over TOR, and there shouldn't be anything at the protocol layer preventing use of onion services. there is an open question about whether handles could be onion URL domains... it would require every node in the network to support tor onion services I think - 16:35
In reply to this message
yes, though there might be a bit of last protocol churn (eg, endpoint and param names) in the next couple weeks. beta! - 16:39
In reply to this message
I think what is going on there is that the "full handle" issyrui.
(ending in a period). It needs to be a fully qualified domain name. In our testing stuff, we use.test
as a domain, so it would besyrui.test
. support for using "external" domains is being worked out right now.
I'm not sure why the client isn't appending something like.test
for you automatically. If this is your own PDS, maybe you need to configure something to be returned bycom.atproto.server.getAccountsConfig
? - bnewbold16:44
In reply to this message
clients can set HTTPUser-Agent
header if they want, but as with the web that is just between the user agent and the server.
the current app.bsky Lexicon doesn't have a place to put device or user agent metadata, and I would guess probably won't. same with location metadata. bunch of privacy concerns having that on by default (opt out). nothing stopping folks building an alternative Lexicon that would host that kind of metadata. eg you wanted to do something like Foursquare. - @syui:syui.cf17:13That's certainly possible, thanks.
- 17:13I will try it when I have time.
- arnobchak22:56I need invite code for bluesky social
- 22:56I'm creating account
- @evbogue:matrix.org23:11On the way
- @reyg0r:matrix.org
- @evbogue:matrix.org23:32Yup
- arnobchak
- @evbogue:matrix.org23:37FoaF
Mon, Feb 20, 2023
- @evbogue:matrix.org
- 02:37Thib (back on Feb 20) changed their display name to Thib
- 05:40olly.dgb joined the room
- @syui:syui.cf05:55Thanks to everyone's advice, everything worked out great, thanks!
- @syui:syui.cf06:13
but, internal server error
1234
$ lerna run build $ cd packages/pds $ node dist/bin.js ATP Data server is running at https://localhost:2583
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
[ { "level": 20, "time": 1676893811836, "pid": 1, "hostname": "xxx", "name": "pds:db", "handle": "syui.localhost", "email": "syui@syui.cf", "msg": "registering user" }, { "level": 30, "time": 1676893811949, "pid": 1, "hostname": "xxx", "name": "pds:db", "handle": "syui.localhost", "email": "syui@syui.cf", "did": "did:plc:xxx", "msg": "registered user" }, { "level": 50, "time": 1676893811993, "pid": 1, "hostname": "xxx", "name": "pds", "req": { "id": 2, "method": "POST", "url": "/xrpc/com.atproto.account.create", "query": {}, "params": {}, "headers": { "accept": "*/*", "content-type": "application/json", "accept-encoding": "gzip, deflate, br", "user-agent": "Darwin", "content-length": "0", "accept-language": "ja", "x-request-start": "t=1676893811814520", "host": "localhost", "fly-client-ip": "127.0.0.1", "x-forwarded-for": "127.0.0.1", "fly-forwarded-proto": "https", "x-forwarded-proto": "https", "fly-forwarded-ssl": "on", "x-forwarded-ssl": "on", "fly-forwarded-port": "443", "x-forwarded-port": "443", "fly-region": "nrt", "fly-request-id": "00", "via": "bluesky.io", "fly-traceparent": "00", "fly-tracestate": "" } }, "didKey": "did:key:xxx", "handle": "syui.localhost", "msg": "failed to create did:plc" } ]
- 06:15I would like to know the env required for at-protocol-server, please.
- mikuhl10:43I feel like a protobuf schema should be created so you can basically just generate a client in any language automatically
- 10:44It also isn't clear by the documentation which endpoints require auth
- Daniel Holmgren13:05
In reply to this message
there's a reasonable test env inpds/tests/_util.ts
. you can probably use it as a starting point & modify it as you see fit - 13:06
In reply to this message
we have schemas for all our routes (see/lexicons
folder in the repo). & codegen for a typescript client. Go codegen works reasonably well, but needs some clean up
other languages are free to write their own generators (& we may put some work into it when we have more time 😛) or just send HTTP reqs - @syui:syui.cf15:53What will the command be, assuming you end up hosting it somewhere? $ cd packages/pds;yarn start ? $ lerna run xxx ?(edited)
- jmcasey17:35
This is the dockerfile I have been using:
123456789101112131415161718
FROM node:18-alpine RUN apk update RUN apk add git WORKDIR /app RUN git clone https://github.com/bluesky-social/atproto/ WORKDIR atproto RUN yarn install --frozen-lockfile RUN yarn build WORKDIR packages/dev-env ENTRYPOINT ["yarn", "run", "start"] EXPOSE 2582 EXPOSE 2583
(edited) - @syui:syui.cf17:36yes
- 17:37thanks it was very helpful. Since I was building with docker now
- jmcasey20:02No problemo. Feel free to DM if you get bogged down. No guarantees though ;)
- jmcasey
- 21:15PROGRESS
- bnewbold
- 21:30my current equivalent hand-written record to yours above: https://gitlab.com/bnewbold/adenosine/-/blob/main/adenosine/src/app_bsky/mod.rs#L33
- 21:31from working with the golang codebase, it is clear how useful codegen is. saves so much time when upstream lexicons change. do take a peek at that if you haven't: https://github.com/bluesky-social/indigo/blob/main/lex/gen.go https://github.com/bluesky-social/indigo/blob/main/api/bsky/actorprofile.go#L13 I am enthusiastic about how the syntax can/will come out with nested rustlang modules :)
- 21:33(eg,
app_bsky::actor::Profile
, orapp_bsky::actor::ProfileRecord
or evenapp::bsky::actor::Profile
) - 21:34and, had some brainstorm-y ideas about developer tooling last week: https://github.com/bluesky-social/atproto/issues/562
- jmcasey21:35Nice! I got sick of tweaking the implementation for lexicon updates, figured I'd bit the bullet. Hoping I can just add a yew::Component implementation for some of the generated structs so that only major changes need a new impl 100% on the syntax, currently aiming for something like: app::bsky::feed::getAuthorFeed( json!( { "did":"did:plc:abcdef123" } ))(edited)
- bnewbold21:40here is an example of what the golang API looks like: https://github.com/bluesky-social/indigo/blob/main/cmd/fakermaker/main.go#L606 I think the decision whyrusleeping made to inject the XRPC client in to the method, instead of generating a client with all the methods attached, has worked out to be pretty flexible. eg, don't have to worry about distinction between an XRPC client, a com.atproto client, and an app.bsky client. maybe rust trait abstraction can make this a non-issue though
- jmcasey21:45Yeah, I think a more modular/flexible approach works well, I haven't tried writing it as traits yet though.
Tue, Feb 21, 2023
- 05:11kphrx joined the room
- 07:27O joined the room
- 08:56@mathewgary56:matrix.org joined the room
- 10:57@mathewgary56:matrix.org left the room
- @syui:syui.cf20:47Can change
AVAILABLE_USER_DOMAINS
like/.well-known
?(edited) - @syui:syui.cf23:06
I'm getting an error like this, does it currently only work on supported domains?
1234567891011121314
$ cd packages/dev-env $ yarn run start /app/packages/dev-env/dist/cli.js:91476 throw new XRPCError(resCode, res.body.error, res.body.message); ^ XRPCError: Not a supported handle domain at ServiceClient.call (/app/packages/dev-env/dist/cli.js:91476:15) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async generateMockSetup (/app/packages/dev-env/dist/cli.js:123766:17) at async start (/app/packages/dev-env/dist/cli.js:123976:3) { status: 400, error: 'UnsupportedDomain', success: false }
Wed, Feb 22, 2023
- amazingca01:16
In reply to this message
The dev-env module uses the handle schema “*.test”. While I was going through the code, I did not see a straightforward way to change that. - @syui:syui.cf02:39Thank you very much.
- amazingca03:10Happy to help. 👍
- @syui:syui.cf03:54thanks so much. I was able to log in with bluesky (ios) by running availableUserDomains=
.test
in dev-env.(edited) - amazingca08:48Very exciting
- @syui:syui.cf09:16I need an invite code forbsky.social, can someone please help me?
- amazingca
- @syui:syui.cf09:34Message deleted
- @syui:syui.cf09:37
The one i posted has about ten uses, the 4pry4 one probably only has one or two left
yes
- amazingca09:40I mean, the best course of action would be to wait. There’s a chance that more might be sent here in the future.
- @syui:syui.cf09:42yes, Thank you very much
- amazingca09:43Happy to help. The whole thing is pretty exciting.
- 11:43Nothing changed their display name to
- 11:56 changed their display name to 💭
- 11:59💭 changed their display name to ⬇️
- 12:02⬇️ changed their display name to ▫️▫️▫️▫️▫️
- 12:03▫️▫️▫️▫️▫️ changed their display name to Nothing
- bnewbold13:27cool, I was wondering if somebody would do that!
- amazingca13:36There isn’t enough clarification in the repo atm to show how to change server settings for production environments, but the dev-env works marvelously for client-side testing.
- moved to @shreyan:beeper.com@shreyanjain:matrix.org16:45Curious about how usernames and DIDs work in BlueSky and ATP - The specific use case I'm wondering about is this - say, for example, you're Google; you have absky.socialaccount at @google.bsky.social. You want to change your username to @google.comwhile also keeping the Google website on the same domain. Is this possible?
- @evbogue:matrix.org17:20
In reply to this message
Without knowing anything about it, I'll speculate that on Bluesky your data will exist at both locations and you will publish a pointer message that tells future followers to sync you at your new domain. - bnewbold18:44We are currently working on support for external handle domains, meaning in your example that the PDS would not need to run ongoogle.com. and in general folks will be able to usebsky.socialas a PDS host, and use any domain name they want (that they have control over)
- 18:44This will work via DNS records (not going to get in to the details until ready to announce)
- whyrusleeping19:04bsky.social-3m6yx
- amazingca
- @syui:syui.cf19:10whyrusleeping amazingca Thanks so much, I was able to create an account!
- whyrusleeping19:11;)
- 19:11Theres a few more uses on it if anyone else wants to come visit
- amazingca
- @reyg0r:matrix.org
- 20:26aaaaninja joined the room
- @syui:syui.cf20:48
In reply to this message
Yes, the following description (availableUserDomains: ['.test','.example.com']) was also valid inpackages/dev-env/src/index.ts
.
address :user.example.com
However, I got a token verify error and it didn't work well.
This may be some other factor, but I'm not sure. - moved to @shreyan:beeper.com@shreyanjain:matrix.org21:24New TestFlight build just dropped it seems
- @syui:syui.cf21:32great!
Thu, Feb 23, 2023
- amazingca
- 09:31Nothing changed their display name to 😶🌫️
- 09:33😶🌫️ changed their display name to - - - -
- 10:16- - - - changed their display name to > > >
- 10:17@ben:effektio.org left the room
- c.lace23:03Bluesky is on TestFlight now?👀
- amazingca23:07
In reply to this message
And on the App Store: https://apps.apple.com/us/app/bluesky-social/id6444370199 - @syui:syui.cf
- 23:59err user get follows
- 23:59xrpc?
Fri, Feb 24, 2023
- @syui:syui.cf
- amazingca00:18
In reply to this message
That’s unusual. Works fine on the wrapper (https://blue.amazingca.dev/?username=caleb.bsky.social&type=follows), don’t know why it isn’t on the app. 🤷 - @syui:syui.cf00:23yes, indeed
- @syui:syui.cf00:29maybe it's an ios app issue...?
- @syui:syui.cf00:46Occurrence: Switching between multiple accounts
- aaaaninja00:54
In reply to this message
oh no...... I didn't realize this was the invite code......
I'll be waiting for someone to drop another invite code on a whim.
- 00:54Until then, I will build a local atproto environment and study the protocol.
- whyrusleeping00:56bsky.social-ycnm6
- aaaaninja02:07wow...how fast !! thanks so great, whyrusleeping!!
- @syui:syui.cf02:08happy
- amazingca02:42very much so
- arnobchak02:58Guys can you give me invite code I want to create bluesky account
- amazingca
- arnobchak03:00Is it work multiple users
- amazingca03:00Yes
- arnobchak03:00Wait checking
- amazingca
- arnobchak03:01Checking
- arnobchak03:08Account opens
- 03:09Thanks
- 03:51Anselm Schumacher (@anselm:schumacher.berlin) joined the room
- 04:49BJY2024 joined the room
- 07:56missr joined the room
- @syui:syui.cf08:01Is there a possibility that the previous error is the ios app ver?
- 08:02build ver
- 08:34rish changed their display name to missr
- amazingca08:45
In reply to this message
Possibly. There could be a newer build on TestFlight that addresses the issue. - missr09:32I used one of the codes. Thanks so much 😊
- valueclick09:49I'm quite far back on the Waiting List so I haven't been invited yet, but I was looking here and saw the Invite Code, so I took the liberty of accessing it and registering an account. I'm sorry. I was able to download the app normally from the App Store.
- sylphrenetic
- 09:52there just might not be enough spots for everyone yet as they ramp up on capacity
- valueclick
- justthisguyatx10:13Message deleted
- 10:14Message deleted
- valueclick10:18
In reply to this message
I think it is morally wrong for me to teach directly. If you can look here, you can find it by searching for "Invite Code". - joelghill12:45Hey, silly question about the mobile app, does it connect to any instance of bluesky, or is it hard coded to a single server for now? On Android so I can't play with it first hand
- amazingca
- @dream:envs.net13:11Hi guys. Any information about when will the invites be shared with ppl who are in the waitlist and haven’t got the email yet?
- arcalinea13:12We're gradually working through it, it's a big list!
- micwaul15:17Can I ask a simple question? Are deleted posts in Bluesky handled with a hide flag or removed from all system storage?
- Aaron Goldman15:20Delete is hard in a distributed systems 😭 A object can be removed from a repo, or at least the latest version of a repo, but if someone has already synced it it is out there
- 15:21Is your question how one PDS sends purge requests to other servers or about what happened to your PDS?
- micwaul15:30Thanks for the reply. I would like to know how the purge requests are executed to the other servers and also how long it takes.
- Johannes Ernst
- c.lace21:15
In reply to this message
Why does my Bluesky say server is out dated?🤔 I can’t see my followers - c.lace21:20I’m operating from an iPhone 6’s don’t judge me ..I still love it here!
- whyrusleeping21:21Try updating the app?
- Alice muthoni21:58Hello
- @syui:syui.cf22:00hi
- c.lace
- 22:02This is what it said
- @syui:syui.cf22:14It may have something to do with when the account was created...?
- c.lace
- @syui:syui.cf22:16error for new users
- c.lace
- @syui:syui.cf22:30Message deleted
- @syui:syui.cf22:34v1.2(1) no error ...?(edited)
- jmcasey22:53Can confirm that's the case for me anyway
- @syui:syui.cf22:55Sorry, Thank you so much
- jmcasey23:09nb
Sat, Feb 25, 2023
- @syui:syui.cf05:40
I can't get through this, can you help me ?
url=https://$host/xrpc/com.atproto.repo.createRecordjson='{
"did": "did:plc:uqzpqmrjnptsxezjx4xuh2mn",
"collection": "app.bsky.feed.post",
"record": {
"text": "t"
}
}'curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $token" -d "$json" $url
(edited) - 05:42token ... ok(app.bsky.feed.getTimeline)
- @syui:syui.cf05:54oh... done
- joelghill08:24Is anyone here running an instance of BlueSky on their own domain? Is there any federation between servers happening or is that part of the protocol still under development?
- sylphrenetic12:55Message deleted
- whyrusleeping12:59Thats still under development. Its what everyone is working on right now
- sylphrenetic13:13for my education, is the Lexicon spec here https://atproto.com/specs/lexicon#interface a rigid specification of the LexiconDoc interface? like do people have to adopt that? or could someone hypothetically create their own LexiconDoc interface and use it? I would think it's the former but I'm not sure
- c.lace16:59Do we get invites for friends?
- bnewbold17:04Not yet!
- 18:48Børlaag changed their profile picture
- Pablo Dorado21:09Does anyone have an invitation code?
- whyrusleeping21:30Scroll back a bit
Sun, Feb 26, 2023
- 01:19sourabh-ch joined the room
- 02:29heyhoe joined the room
- valueclick10:05I still can't see my followers and followers.
- c.lace
- 11:35isaiah joined the room
- MightySpaceman (OLD -> m_spaceman:matrix.org)17:25exit
- 17:25exit
- 17:25how do I exit gomuks :(
- Aaron Goldman19:39That's how I feel about vim 🙁
- @evbogue:matrix.org19:39
In reply to this message
https://docs.mau.fi/gomuks/commands.html
/quit seems to be the answer.
- 19:42
In reply to this message
Oh here is a comprehensive list of ways to exit Vim: https://stackoverflow.com/questions/11828270/how-do-i-exit-vim - 22:04@shippage:mozilla.org joined the room
Mon, Feb 27, 2023
- valueclick10:32Can't wait to be able to POST from Web Apps...?
- Soohan Park (Heartade)11:51bsky.socialjust says `Cannot GET /`, is only the iPhone app available atm?
- arnobchak11:54When bluesky will come on Android
- sylphrenetic12:01
In reply to this message
I think that's true, only iOS rn.
whyrusleeping is there a public API for the bluesky PDS that you can use to pull down posts?
- Soohan Park (Heartade)12:03Got it. Meanwhile, asking those who have used the iOS app - is the app currently restricted tobsky.social, or can you already run and log into your own PDS instance?
- 12:04
In reply to this message
In reply tosylphreneticI think that's true, only iOS rn.
whyrusleeping is there a public API for the bluesky PDS that you can use to pull down posts?
Maybe app.bsky.feed.getTimeline ? Never tried running the PDS myself tho.
https://atproto.com/lexicons/app-bsky-feed#appbskyfeedgettimeline
(edited) - 12:08https://atproto.com/guides/applications#social-apis Also this. I don't remember seeing this last year, was this section added recently or did I just forget?
- @evbogue:matrix.org16:03
In reply to this message
Yah I was thinking similarly. Like, while I wait for my brother to bring his old Macintosh over is there somewhere to fetch/post raw signed messages and then I could probably build a UI in a browser from there. - @evbogue:matrix.org
- bnewbold16:43
In reply to this message
correct, Bluesky (the organization) currently only has a (beta!) iOS app, not a web interface. some other folks have been hacking on alternative clients and interfaces, but everything is still in flux - 16:45
In reply to this message
it is totally possible to grab the PDS source code, reverse engineer to figure out how to get it working, deploy your own instance, and connect to it with the app. Bluesky is not ready to document or support folks doing this yet. also the details of federation are still being worked out and tested, so there is no reasonable way to communicate between instances, even if you run them all yourself. it will of course be possible to run your own instances that federate with eachother and with the Bluesky instance once everything is ready - 16:47
In reply to this message
you're welcome to do it, but do keep in mind that some small details of the protocol are going to continue to change in the coming weeks.
it is currently looking like records will stay stable, but a bunch of names of XRPC endpoints and arguments may get shuffled around in a not-backwards-compatible way in the near future - 16:49
In reply to this message
the iOS app can point to any PDS instance, and it is possible to sign in to multiple accounts (on multiple instances) - Soohan Park (Heartade)18:17
In reply to this message
Thanks for clarifying! Are there some noteworthy third-party client implementations? - amazingca18:27Message deleted
- 18:30Message deleted
- amazingca18:33I wouldn’t say it’s necessarily noteworthy, but I built a minimal client that displays/sends posts. It only works with Bluesky’s instance atm though:blue.amazingca.dev(edited)
Tue, Feb 28, 2023
- 06:57@syui:syui.cf changed their profile picture
- snarfed14:42
In reply to this message
fwiw I'm building this into https://fed.brid.gy/ as a service that anyone can use. I've built two building blocks so far, 1) https://github.com/snarfed/lexrpc , Python XRPC + Lexicon implementation, and 2) https://granary.io/ support for converting betweenapp.bsky.*
objects to/from other existing social data formats(edited) - 14:45the last big step is implementing repo/PDS-level federation, eg subscribe, sync, etc. the bluesky team has been actively working on this, and afaik is planning to publish details sometime soon ish. we'll be ready!
- 17:08Salvatore joined the room
- 17:43oyuksektepeli | Polkanext joined the room
- whyrusleeping21:06More invites anyone?bsky.social-3g4xb
- 21:12macielbarroslira joined the room
Wed, Mar 1, 2023
- b0gg3r01:22Somewhere, there is an dashboard that says "no signups in the last 12 hours, better leak a invite code"
- 01:32gagaball88 joined the room
- arnobchak
- 02:55I joined bsky
- @syui:syui.cf02:56great!
- valueclick03:34I updated the app and now I can see the follow follower information.
- 03:50@spiritual_coder:matrix.org joined the room
- 03:50@spiritual_coder:matrix.org left the room
- 03:52Kheyas joined the room
- 03:55Arley Ramos da Silva joined the room
- 03:55Kheyas Dev changed their display name to Kheyas
- 04:21nkoz joined the room
- mdangear04:24
In reply to this message
Hello, I am interested by an invite code if this is still an option, thank you. - 04:51ikuradon joined the room
- 05:00arnavnegi joined the room
- arnavnegi05:07Hey there. When are invite-only downloads coming to India?
- 05:12redpola joined the room
- Harlan Wood
- 05:45Shina joined the room
- 06:09gokhanmms joined the room
- Soohan Park (Heartade)
- 07:01bstefan2 joined the room
- bstefan207:03Can anyone share an invite code? iOS user here. Thanks and excuse the spam
- 07:27alessandro-giuzio joined the room
- Louis Grasset
- Soohan Park (Heartade)08:22
In reply to this message
Nice project! How do you represent ATP users in AP? Can you use DIDs, or does AP restrict you to using domain-based handles? - amazingca08:27
In reply to this message
The app is on the App Store: https://apps.apple.com/us/app/bluesky-social/id6444370199 - 09:23leo_sc joined the room
- 09:25yaanislive joined the room
- yaanislive09:26Is it out for android yet?
- Louis Grasset09:31nope
- mdangear
- 09:43Got stuck at registration, unless I am missing something
- Louis Grasset09:44
In reply to this message
its a private beta and you have to receive an invitation code. that's all and clear in the app description 😉 - mdangear
- 12:23carlos solis joined the room
- 12:28paulghostsuk joined the room
- paulghostsuk12:29am still waiting for invite code would love to have one
- 12:42@jlsgo:matrix.org joined the room
- b0gg3r
- whyrusleeping12:50Did you try it?
- 12:51bsky.social-3u54t
- b0gg3r12:56I was trying to crowdsourcing that test haha
- whyrusleeping12:56
Heres another, in case people beat you to using that last one (they’re 5 uses each):
bsky.social-ynzvy - @jlsgo:matrix.org13:06whyrusleeping: invite please
- whyrusleeping13:07Bro
- 13:07Try the one i just posted
- b0gg3r13:13I blame myself for this hahaha
- 13:13Thanks a mill, why
- 13:36jsjahaahahah joined the room
- 13:36yhrc5p2sk6 joined the room
- 13:37dmcrev joined the room
- Michael Mullins
- 13:44Just picked up the beta and have been playing around with it. Looks like I’m getting the above error any time I click on the “followers” link in someone’s profile.(edited)
- 13:45Btw do y’all have any preference on where we post beta feedback?(edited)
- 13:45Romain Saillet joined the room
- Michael Mullins13:49Just saw that @support-team.bsky.socialwas a thing.(edited)
- 13:51mylifeisdigital joined the room
- 13:59u10if joined the room
- 14:14@rafaelmelo.adv:matrix.org joined the room
- 14:16Marcelo Lopes joined the room
- 14:25paul (@pavlos101:matrix.org) joined the room
- 14:29Ronalds Vilciņš joined the room
- 14:30KamatsuKyoto joined the room
- 14:37Bev Robb changed their display name to Bev Robb @teksquisite
- 14:37teksquisite set a profile picture
- 14:39blopadyblopqt joined the room