Besao's avatar
Besao
npub1qc8q...twss
Cooking 🍳 Wanna chat? https://cordn.net/p/npub1qc8quy6ah46k4q9es6fvjqjgk6rdv42cdsccnjhyx59j35n7azlq7ntwss
Besao's avatar
Besao 2 weeks ago
Any message in a Cordn conversation now opens into a full info panel, the thread around it, who reacted and with what, and its delivery status, all in one place. ✨ Until now, message info lived behind a button buried in the overflow menu, and it only showed the raw event envelope. If you wanted to understand a message in context, what it was replying to, who had reacted, whether it had been edited, you had to piece it together yourself. The new panel brings all of that into a single view, with the full reply chain laid out as a proper thread. While we were in there, we rethought how you interact with a message: • The Info button now sits next to Reply and React on every message, so it is one tap away instead of hidden in a menu. • From the panel you can jump straight back to any message in the chat, the one you're viewing or any other in the thread. On desktop the panel stays open beside the conversation; on mobile it closes so you land right where you need to be. • The thread view indents replies by depth (and keeps deep conversations readable), so a long back-and-forth no longer collapses into a flat list. Also in this release: 🐛 When a message you had replied to got deleted or edited, its reply preview kept showing the original text. It now reflects the current state, "This message was deleted" or the edited content, so the conversation reads honestly. The complete list is available at https://cordn.net/chat/news Aren't you using Cordn yet? Just start chatting at https://cordn.net/ If you like the project and want to see it grow, please consider contributing in any way you can. Every bit counts, report a bug, contribute with your expertise, send some sats. We are building this together in the open 💛
Besao's avatar
Besao 2 weeks ago
Okay, the latest updates to the Cordn coordinator and web app have been a bit boring. We’ve been focusing on bug fixing and reliability. Now it’s time to get back to the fun stuff ahead! :) Buckle up!
Besao's avatar
Besao 2 weeks ago
Joining a group in Cordn is now as reliable as it should have always been. 🛠 If you ever left a group and asked to rejoin, you may have hit an annoying glitch: your join request wouldn't reach the admins until you sent it a second time (or hit "reset request state"). It was subtle, persistent, and it took us a proper bug hunt to pin down. While we were in there, we cleaned up the rest of the join-request flow: • You no longer see your own join request in your notifications after being re-added to a group where every member is an admin. • Stale join-request notifications for groups you no longer administer are cleaned up automatically. • An admin can now accept a join request from someone who is still technically in the group — they are cleanly removed and re-added instead of the accept silently failing. Also in this release: ✨ Coordinators now display the name their server advertises when available, with your custom label still taking priority. A coordinator's page also shows its about text, website, and picture. 🔄 Sending a message no longer waits on an unrelated coordinator that is having trouble — only the group you are messaging waits for its own coordinator, so healthy groups stay snappy when another one is slow to reconnect. 🔄 The sidebar finishes loading sooner after sign-in: join requests and key packages no longer wait for every group subscription to finish opening. 🐛 The New conversation dialog and chat home now show exactly the same key-package list, so the two can no longer drift apart after a refresh. 🐛 The key packages settings page now stays in sync with the rest of the app — creating or removing a key package updates every list immediately. The complete list is available at https://cordn.net/chat/news Aren't you using Cordn yet? Just start chatting at https://cordn.net/ If you like the project and want to see it grow, please consider contributing in any way you can. Every bit counts, report a bug, contribute with your expertise, send some sats. We are building this together in the open 💛
Besao's avatar
Besao 2 weeks ago
Announcing a new specification for Cordn: sealed group payloads. 🔒 Are messages decryptable by the coordinator? No, they never were. MLS already encrypts your message with very fancy crypto. This new specification doesn't change that; it only reduces interpretability to the maximum. Previously, the MLS wire framing still leaked the epoch number (a curious coordinator could watch epochs tick over). Spec/03 seals each payload under a key derived from your group's current MLS epoch secret, so the coordinator now just stores gibberish. It learns nothing. Not the content, not the epoch, not even the framing that says "this is MLS." Read the spec: A bonus consequence: since the routing group ID is now something the client supplies, groups could rotate their group ID from the coordinator's perspective, which also enhances privacy and reduces interpretability from the coordinator's point of view. We upgraded the Cordn coordinator to version 0.3.x to implement this cleanly. We are rolling it out progressively in our web client, and it is opt-in for now: • Old and new clients coexist transparently in the same group; sealed and plaintext messages mix seamlessly. • You can enable it from any group's info page, under the 'advanced' dropdown. • Once we are confident, sealed payloads will become the default. We are testing this in the open, so feel free to enable it and break things. Found a bug? Let us know. 🐛 Also in this release, we have made some app improvements: ✨ Backup & recovery: export keys, group secrets, and coordinators; restore on a fresh device. 🐛 Some minor bug fixes. 🔄 Some minor changes. The complete list is available at https://cordn.net/chat/news Aren't you using Cordn yet? Just start chatting at https://cordn.net/ If you like the project and want to see it grow, please consider contributing in any way you can. Every bit counts, report a bug, contribute with your expertise, send some sats. We are building this together in the open 💛
Besao's avatar
Besao 2 weeks ago
I don’t make the rules… At most, two or three people work on this in their spare time, with only one of them putting in a bit more effort. There’s no funding so far aside from community contributions. Driven by the vision of empowering people to have alternative, private, and sovereign communications, and, of course, love 💛 View quoted note →
Besao's avatar
Besao 2 weeks ago
🚀 New Cordn Web update live. We smoothed out the coordinator and group-joining experience: 🔹 Coordinators are now saved automatically when you join a group or publish a key package — the separate "Save locally" step is gone, and joining a group can no longer silently change your default coordinator. 🔹 The New conversation dialog and the key-package directory now reflect coordinators you've joined the moment you join them — no manual save, no page refresh. 🔹 Stuck waiting on a join request? You can now hit "Request again" from the group page. Sent requests clear automatically once you're actually added. 🔹 Fixed: coordinators you just joined sometimes connected through the wrong relays. The complete list of news at https://cordn.net/chat/news Free and open source, as always 🫶 #nostr #cordn #opensource
Besao's avatar
Besao 3 weeks ago
Yes, man! Great analysis 🤘 > Remember that the relay operator was defined as the scary vantage point because it sees the protocol-level events and the network layer in the same hands: what you do and where you are, at once. Cordn severs that convergence. [...] The party that can interpret the traffic cannot locate you, and the party that can locate you cannot interpret the traffic. View article →
Besao's avatar
Besao 3 weeks ago
Oh wow, @Laeserin ! Thank you so much for such a fat zap! Really appreciate it :) That will keep our public coordinator running for months 🫶
Besao's avatar
Besao 3 weeks ago
📢 Cordn now has a News & updates feed, release notes, new features, and product updates, all in one place inside the chat app. 💛 Cordn is free and open source so we added a donation card as well and a 'Supporters' section. Tap Donate to send us a Lightning zap. The supporters list lives right there in the feed. This is just the beginning, follow along as Cordn keeps evolving. 🔗 https://cordn.net/chat/news #Cordn #OpenSource #MLS #Privacy
Besao's avatar
Besao 3 weeks ago
Good morning nostr. Ready to rock!
Besao's avatar
Besao 3 weeks ago
Hello Nostr! How's it going? Are you using Cordn already, or just pretending your comms are private?
Besao's avatar
Besao 1 month ago
New Cordn feature: Shareable group links 🔗 We've just added join requests for groups to the Cordn coordinator, the web client, and the CLI client. This means you can share a link so anyone who isn't yet a member can request to join a group. Try it now: join our stress test group 👇 https://cordn.net/chat/b530f14c-fd6b-4023-8001-cebcdfbfb239?m=eyJuYW1lIjoiU3RyZXNzIFRlc3QiLCJpY29uIjoi8J%2BMsiJ9 Here's how it works: When a user request to join a group, a join request lands as a notification for the group admins. Any admin approves, the user receives an invitation and gets added, done. If the user doesn't have an account yet, they're prompted to log in and everything resolves transparently, no extra steps. It's the perfect onboarding tool. Share links out of band, drop them in public channels, simple and intuitive. Read the spec: This feature also kicked off a new section in the Cordn specs: application specs. Rather than extending the core spec for every new feature, app specs are separate documents for ongoing development, research, and enhancements. They keep the core spec stable while giving new ideas room to breathe and evolve. We're building Cordn as best we can, a project born out of love, with zero funding. If you like what we're doing, consider zapping me or contributing. Code, bug reports, ideas, everything helps. Shoutout to @Joel 🇨🇭 for their first contribution to the web client, enhancing the login dialog. 🫶 Now go play. https://cordn.net is free, private, and needs no email, phone number, or KYC. Speak freely. No one can listen.
Besao's avatar
Besao 1 month ago
Just pushed some updates to the Cordn web app. This time around, there are some minor UI/UX improvements. - Added a new chat action button to start a conversation that lets you create a group or just start a chat with someone. - Made the action icons a hamburger menu when the sidebar is collapsed (desktop). image - Improved loading states and other minor enhancements. Enjoy!
Besao's avatar
Besao 1 month ago
Okay! That was indeed a great catch by @Gzuuus . The issue was that before, new users joining a group with a long history were attempting to catch up on all the group’s previous messages.... This was incorrect because, due to MLS secrecy, all messages prior to the user’s joining are undecryptable for them, so it was unnecessarily fetching an entire message history, which created a significant load on the network (since the payload can be massive for groups with long histories). This was also wasteful. Now, this has been fixed: new users joining a group only fetch from the epoch at which they joined, which is the point from which they can decrypt messages. I’ve updated the coordinator reference implementation, as well as the web and CLI clients. As a side effect, I’ve also enhanced the group info page to include more details about the group’s state and other relevant information. From now on, new users should be able to join old groups without any issues! Thanks for your patience. We’ll continue working to improve the experience as much as possible :)
Besao's avatar
Besao 1 month ago
Marmot is not private, and neither is WN, at least in its current form; that’s why I started building Cordn. View quoted note →
Besao's avatar
Besao 1 month ago
Latest updates from tonight session: Search keywrds and sidebar polish: The sidebar search now supports `@me` as a keyword, expanding to the user's npub and all resolved profile names with OR semantics. Typing `@` triggers a keyboard‑navigable autocomplete dropdown. image Notification icons: Browser notifications now use the group's custom image, falling back to the favicon when none is set. image Composer fixes and copy action: Textarea now shrinks correctly on clear and scrolls on overflow, using requestAnimationFrame‑driven effects. Copy‑to‑clipboard added to message dropdown. image