| Commit message (Expand) | Author | Age | Files | Lines |
| * | refactor(node): move the CLI out of daemon.py into cli/ | Christophe Besson | 31 hours | 1 | -2/+2 |
| * | test(node): read the daemon's source wherever it is split | Christophe Besson | 32 hours | 1 | -8/+4 |
| * | test: read the WebRTC transport's source as a set of files | Christophe Besson | 33 hours | 1 | -6/+3 |
| * | fix: removing someone who never redeemed their invitation | Christophe Besson | 5 days | 1 | -0/+104 |
| * | style: the 98 ruff could not fix, so the linter is a signal again | Christophe Besson | 6 days | 1 | -1/+2 |
| * | style: ruff's own fixes, mechanically applied | Christophe Besson | 6 days | 1 | -3/+1 |
| * | docs: cite MESHBAY_DESIGN.md and a section instead of the merged notes | Christophe Besson | 7 days | 1 | -1/+1 |
| * | fix(node): creating and removing a folder are syscalls too | Christophe Besson | 7 days | 1 | -5/+5 |
| * | test(node): make the suite pass on Windows | Christophe Besson | 2026-09-04 | 1 | -9/+11 |
| * | fix(node): an invitation the hub never registered is a code nobody can use | Christophe Besson | 2026-09-03 | 1 | -1/+43 |
| * | fix(node): a pinned device can be invited to a further invite-only group | Christophe Besson | 2026-08-28 | 1 | -2/+86 |
| * | feat: unified group management, public groups, and activity-based sidebar | Christophe Besson | 2026-08-20 | 1 | -0/+4 |
| * | feat: device linking, and signing in to the hub with a device key | Christophe Besson | 2026-08-18 | 1 | -4/+32 |
| * | feat(node): several named roots per group, and one implementation per operation | Christophe Besson | 2026-08-18 | 1 | -14/+27 |
| * | feat(groups): remove a member, and keep gigabytes out of the tab | Christophe Besson | 2026-08-15 | 1 | -0/+82 |
| * | feat(files): download a folder as a zip, and remove an empty one | Christophe Besson | 2026-08-15 | 1 | -0/+109 |
| * | feat(node): meshbay-node group add — host another of your groups | Christophe Besson | 2026-08-15 | 1 | -0/+49 |
| * | feat(groups): editable description, and one source of operator authority | Christophe Besson | 2026-08-15 | 1 | -5/+19 |
| * | feat!: identity keys per node — C4's blast radius drops to one operator | Christophe Besson | 2026-08-14 | 1 | -0/+36 |
| * | fix(node): announce the node key in the challenge, and keep names in the roster | Christophe Besson | 2026-08-14 | 1 | -17/+31 |
| * | feat(node): operator surface — member list, invite, revoke, unpin over SSH | Christophe Besson | 2026-08-14 | 1 | -0/+190 |
| * | feat(node)!: the node wraps the group key — closes H3 and M3 | Christophe Besson | 2026-08-14 | 1 | -0/+504 |