| Commit message (Expand) | Author | Age | Files | Lines |
| * | feat(hub): say "N groups unreachable" on Search for a few seconds, not for goodHEAD0.18main | Christophe Besson | 7 hours | 7 | -34/+86 |
| * | test(hub): join from an invitation link and land under the group's handle | Christophe Besson | 7 hours | 2 | -5/+35 |
| * | feat: copy a file's or folder's #/name@owner link from Files, Music, Photos a... | Christophe Besson | 8 hours | 23 | -20/+567 |
| * | feat: open a group, a folder or a file from a #/name@owner link | Christophe Besson | 8 hours | 20 | -12/+650 |
| * | fix: list as members only the accounts the node has admitted | Christophe Besson | 9 hours | 14 | -7/+60 |
| * | fix(node): plug an auto-ejected removable root back once its files return | Christophe Besson | 9 hours | 8 | -10/+247 |
| * | feat: move the desktop client's Hub section from Settings to Profile | Christophe Besson | 10 hours | 12 | -35/+35 |
| * | docs: generate an HTTP API listing for the hub and the node control API | Christophe Besson | 10 hours | 31 | -8/+551 |
| * | docs: add Python examples for the hub, a node and its control API | Christophe Besson | 10 hours | 6 | -0/+507 |
| * | feat: prefill https://meshbay.org on the desktop client's hub screen | Christophe Besson | 10 hours | 12 | -15/+4 |
| * | fix(node): print "running" once in meshbay-node status | Christophe Besson | 11 hours | 2 | -2/+3 |
| * | fix: read the node token per call and detect before polling the index dock | Christophe Besson | 11 hours | 2 | -11/+24 |
| * | chore: license MeshBay — LGPL protocol layer, AGPL for the rest | Christophe Besson | 11 hours | 51 | -8/+5396 |
| * | feat(android): launch icon stays up for at least half a second | Christophe Besson | 18 hours | 1 | -0/+23 |
| * | feat(cast): music on the TV, the music bar as its remote | Christophe Besson | 18 hours | 24 | -436/+1331 |
| * | feat(cast): photos on the TV, and a television chosen once for the session | Christophe Besson | 19 hours | 31 | -56/+1203 |
| * | fix(hub): music keep-alive outlasts a skipped track | Christophe Besson | 21 hours | 1 | -7/+15 |
| * | feat(android): music keeps playing with the screen off | Christophe Besson | 21 hours | 12 | -22/+84 |
| * | fix(hub): music player retries a track lost to a screen-off disconnect | Christophe Besson | 22 hours | 1 | -3/+60 |
| * | fix(android): music player starts on its own and no longer shows autoplay ref... | Christophe Besson | 22 hours | 2 | -2/+7 |
| * | chore: bump version to 0.18.0 | Christophe Besson | 2 days | 9 | -9/+9 |
| * | fix(packaging): node and hub stop and clear their bytecode on removal | Christophe Besson | 2 days | 4 | -2/+83 |
| * | Player: redesigned cast remote | Christophe Besson | 2 days | 14 | -74/+254 |
| * | Player: remote control while casting | Christophe Besson | 2 days | 16 | -10/+296 |
| * | Cast: receiver position and pause/play on both clients | Christophe Besson | 2 days | 7 | -0/+102 |
| * | docs: the Android client | Christophe Besson | 2 days | 3 | -9/+128 |
| * | fix(android): cast context created at launch, session found if its callback i... | Christophe Besson | 2 days | 2 | -2/+28 |
| * | fix(android): the cast header is everything before the first moof | Christophe Besson | 2 days | 3 | -3/+74 |
| * | chore(android): release builds signed with the debug key for now | Christophe Besson | 2 days | 1 | -1/+7 |
| * | fix(android): the cast relay spools a receiver's lead to disk | Christophe Besson | 2 days | 4 | -44/+143 |
| * | feat(android): log what a cast does downstream of the relay | Christophe Besson | 2 days | 2 | -3/+57 |
| * | feat(android): the MeshBay icon | Christophe Besson | 2 days | 10 | -0/+46 |
| * | fix(client): the local player is silent while casting | Christophe Besson | 2 days | 2 | -0/+33 |
| * | fix(android): cast relay serves a clean header and restarts on its ports | Christophe Besson | 2 days | 5 | -12/+159 |
| * | fix(client): a seek's first segments are held while it lands, not dropped | Christophe Besson | 2 days | 3 | -3/+106 |
| * | feat(android): casting through a LAN relay and the platform cast SDK | Christophe Besson | 2 days | 17 | -35/+1176 |
| * | feat(android): downloads to disk and uploads through the system picker | Christophe Besson | 2 days | 10 | -11/+624 |
| * | fix(client): a download written to disk no longer holds the whole file | Christophe Besson | 2 days | 2 | -0/+57 |
| * | feat(android): device key, bundle key and node identities held natively | Christophe Besson | 2 days | 18 | -8/+1327 |
| * | fix(client): the node setup welcome is for a build that has a node | Christophe Besson | 2 days | 2 | -1/+15 |
| * | feat(android): client shell with the interface from the package | Christophe Besson | 2 days | 26 | -0/+1560 |
| * | test(hub): shared keyring and transcript vectors | Christophe Besson | 2 days | 3 | -0/+716 |
| * | docs(design): rewrite §2 trust model human-first; formal model to §13.9 | Christophe Besson | 2 days | 1 | -139/+117 |
| * | docs(design): restructure §2.2 security claims into reading + matrix | Christophe Besson | 2 days | 1 | -2/+81 |
| * | Merge branch 'main' of meshbay.org:meshbay | Christophe Besson | 3 days | 49 | -6142/+598 |
| |\ |
|
| | * | refactor(mnp): remove ten operator messages no client sent0.17 | Christophe Besson | 3 days | 23 | -4402/+183 |
| | * | fix(client): no confirmation dialog for adding a folder or its flags | Christophe Besson | 3 days | 18 | -68/+15 |
| | * | feat(mnp): sharing a folder is decided on the node's machine only (MNP 6.0) | Christophe Besson | 3 days | 39 | -1729/+457 |
| * | | test(node): node.toml fixtures use POSIX paths, and a Windows-impossible fold... | Christophe Besson | 3 days | 2 | -8/+13 |
| |/ |
|
| * | feat(client): list cast receivers as they answer | Christophe Besson | 3 days | 8 | -47/+215 |