| 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 | 8 hours | 2 | -5/+35 |
| * | feat: copy a file's or folder's #/name@owner link from Files, Music, Photos a... | Christophe Besson | 8 hours | 21 | -20/+560 |
| * | feat: open a group, a folder or a file from a #/name@owner link | Christophe Besson | 9 hours | 18 | -11/+615 |
| * | fix: list as members only the accounts the node has admitted | Christophe Besson | 9 hours | 13 | -6/+55 |
| * | fix(node): plug an auto-ejected removable root back once its files return | Christophe Besson | 9 hours | 7 | -7/+234 |
| * | 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 | 23 | -4/+138 |
| * | feat: prefill https://meshbay.org on the desktop client's hub screen | Christophe Besson | 11 hours | 12 | -15/+4 |
| * | fix(node): print "running" once in meshbay-node status | Christophe Besson | 11 hours | 1 | -1/+2 |
| * | 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 | 37 | -3/+4354 |
| * | 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 | 21 | -408/+1274 |
| * | feat(cast): photos on the TV, and a television chosen once for the session | Christophe Besson | 19 hours | 28 | -45/+1137 |
| * | 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 | 22 hours | 11 | -20/+81 |
| * | 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 | 8 | -8/+8 |
| * | Player: redesigned cast remote | Christophe Besson | 2 days | 14 | -74/+254 |
| * | Player: remote control while casting | Christophe Besson | 2 days | 14 | -9/+280 |
| * | Cast: receiver position and pause/play on both clients | Christophe Besson | 2 days | 7 | -0/+102 |
| * | 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 |
| * | Merge branch 'main' of meshbay.org:meshbay | Christophe Besson | 3 days | 45 | -6062/+502 |
| |\ |
|
| | * | refactor(mnp): remove ten operator messages no client sent0.17 | Christophe Besson | 3 days | 20 | -4335/+132 |
| | * | fix(client): no confirmation dialog for adding a folder or its flags | Christophe Besson | 3 days | 16 | -64/+13 |
| | * | feat(mnp): sharing a folder is decided on the node's machine only (MNP 6.0) | Christophe Besson | 3 days | 36 | -1714/+408 |
| * | | 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 | 6 | -46/+205 |
| * | test(hub): wrap a docstring ruff flagged | Christophe Besson | 4 days | 1 | -3/+3 |
| * | fix(client): rotating a group key asks nothing | Christophe Besson | 4 days | 13 | -25/+3 |
| * | fix(client): hosting a group asks nothing when its folder came from the picker | Christophe Besson | 4 days | 11 | -12/+1 |
| * | fix(hub): a username is unique whatever its case | Christophe Besson | 4 days | 2 | -4/+34 |
| * | fix(hub): what an offer or a node message costs the hub is bounded | Christophe Besson | 4 days | 3 | -25/+113 |