<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Distributed Mesh - Sonny</title><link>https://sonny.sh/docs/mesh/</link><description>Run Sonny as a distributed session mesh: host sessions on remote nodes, attach to them over gRPC, and move live sessions between machines.</description><generator>Hugo 0.139.4</generator><language>en-us</language><lastBuildDate>Sat, 24 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://sonny.sh/docs/mesh/index.xml" rel="self" type="application/rss+xml"/><item><title>Mesh Architecture</title><link>https://sonny.sh/docs/mesh/architecture/</link><pubDate>Sat, 24 Jan 2026 00:00:00 +0000</pubDate><guid>https://sonny.sh/docs/mesh/architecture/</guid><category>mesh</category><category>architecture</category><category>networking</category><description> Mesh Architecture Share link Share this section Permalink Share via Twitter LinkedIn Facebook graph LR C[Client / CLI / Desktop] --&amp;gt;|gRPC :50052| N1[Node A] C --&amp;gt;|gRPC :50052| N2[Node B] N1 &amp;lt;--&amp;gt;|Synapse QUIC :50053| N2 N1 --&amp;gt; DB1[(control.db)] N2 --&amp;gt; DB2[(control.db)] The two planes Share link A node listens on two independent surfaces. Keeping them separate is what lets a mesh upgrade one plane without dropping sessions on the other.</description></item><item><title>Running the Mesh</title><link>https://sonny.sh/docs/mesh/running-the-mesh/</link><pubDate>Sat, 24 Jan 2026 00:00:00 +0000</pubDate><guid>https://sonny.sh/docs/mesh/running-the-mesh/</guid><category>mesh</category><category>operations</category><category>quickstart</category><description> Running the Mesh Share link Share this section Permalink Share via Twitter LinkedIn Facebook Start a node Share link sonny mesh serve \ --grpc 127.0.0.1:50052 \ --synapse-listen 127.0.0.1:50053 \ --control-db /var/lib/sonny/control.db The node listens for gRPC client connections, advertises on the Synapse QUIC peer plane, sends heartbeats to announce availability, and accepts sessions pushed from other nodes.</description></item><item><title>Working with Sessions</title><link>https://sonny.sh/docs/mesh/sessions/</link><pubDate>Sat, 24 Jan 2026 00:00:00 +0000</pubDate><guid>https://sonny.sh/docs/mesh/sessions/</guid><category>mesh</category><category>sessions</category><category>cli</category><description> Working with Sessions Share link Share this section Permalink Share via Twitter LinkedIn Facebook Finding a session Share link sonny mesh sessions # running sessions sonny mesh sessions -a # include completed sonny mesh sessions --search refactor # substring over session, pack, model, provider, node sonny mesh sessions --sort assurance # updated | assurance | backend | isolation-state The filters are designed for answering &amp;ldquo;did this actually run where I said it should&amp;rdquo;:</description></item></channel></rss>