| Commit message (Expand) | Author | Age | Files | Lines |
| * | fix(node): drop a directory moved out of the root on Windows too | Christophe Besson | 19 hours | 2 | -0/+19 |
| * | test: read UTF-8 explicitly in the licensing and keyring-vector tests | Christophe Besson | 19 hours | 2 | -26/+42 |
| * | fix(node): name members admitted without an invitation name | Christophe Besson | 19 hours | 11 | -9/+95 |
| * | perf(node): list a group's directories off the event loop | Christophe Besson | 20 hours | 8 | -121/+167 |
| * | fix(hub): keep "add a directory" when one node check is missed | Christophe Besson | 20 hours | 2 | -13/+125 |
| * | fix(client): remove firewall rules and boot task on uninstall, unasked | Christophe Besson | 28 hours | 4 | -31/+54 |
| * | fix(node): drop a directory moved out of the root from the index | Christophe Besson | 29 hours | 3 | -8/+152 |
| * | fix(hub): let a download wait out a reconnect instead of failing | Christophe Besson | 30 hours | 4 | -7/+131 |
| * | fix(hub): move "clear finished" into the finished group's head | Christophe Besson | 30 hours | 3 | -16/+46 |
| * | fix(hub): stop the transfers panel scrolling sideways | Christophe Besson | 31 hours | 1 | -1/+7 |
| * | fix(node): prefer the bundled ffmpeg over PATH in the frozen build | Christophe Besson | 32 hours | 2 | -2/+59 |
| * | fix(hub): play video on iPhone through ManagedMediaSource | Christophe Besson | 42 hours | 12 | -2/+25 |
| * | feat(hub): say "N groups unreachable" on Search for a few seconds, not for good0.18 | Christophe Besson | 3 days | 7 | -34/+86 |
| * | test(hub): join from an invitation link and land under the group's handle | Christophe Besson | 3 days | 2 | -5/+35 |
| * | feat: copy a file's or folder's #/name@owner link from Files, Music, Photos a... | Christophe Besson | 3 days | 23 | -20/+567 |
| * | feat: open a group, a folder or a file from a #/name@owner link | Christophe Besson | 3 days | 20 | -12/+650 |
| * | fix: list as members only the accounts the node has admitted | Christophe Besson | 3 days | 14 | -7/+60 |
| * | fix(node): plug an auto-ejected removable root back once its files return | Christophe Besson | 3 days | 8 | -10/+247 |
| * | feat: move the desktop client's Hub section from Settings to Profile | Christophe Besson | 3 days | 12 | -35/+35 |
| * | docs: generate an HTTP API listing for the hub and the node control API | Christophe Besson | 3 days | 31 | -8/+551 |
| * | docs: add Python examples for the hub, a node and its control API | Christophe Besson | 3 days | 6 | -0/+507 |
| * | feat: prefill https://meshbay.org on the desktop client's hub screen | Christophe Besson | 3 days | 12 | -15/+4 |
| * | fix(node): print "running" once in meshbay-node status | Christophe Besson | 3 days | 2 | -2/+3 |
| * | fix: read the node token per call and detect before polling the index dock | Christophe Besson | 3 days | 2 | -11/+24 |
| * | chore: license MeshBay — LGPL protocol layer, AGPL for the rest | Christophe Besson | 3 days | 51 | -8/+5396 |
| * | feat(android): launch icon stays up for at least half a second | Christophe Besson | 4 days | 1 | -0/+23 |
| * | feat(cast): music on the TV, the music bar as its remote | Christophe Besson | 4 days | 24 | -436/+1331 |
| * | feat(cast): photos on the TV, and a television chosen once for the session | Christophe Besson | 4 days | 31 | -56/+1203 |
| * | fix(hub): music keep-alive outlasts a skipped track | Christophe Besson | 4 days | 1 | -7/+15 |
| * | feat(android): music keeps playing with the screen off | Christophe Besson | 4 days | 12 | -22/+84 |
| * | fix(hub): music player retries a track lost to a screen-off disconnect | Christophe Besson | 4 days | 1 | -3/+60 |
| * | fix(android): music player starts on its own and no longer shows autoplay ref... | Christophe Besson | 4 days | 2 | -2/+7 |
| * | chore: bump version to 0.18.0 | Christophe Besson | 5 days | 9 | -9/+9 |
| * | fix(packaging): node and hub stop and clear their bytecode on removal | Christophe Besson | 5 days | 4 | -2/+83 |
| * | Player: redesigned cast remote | Christophe Besson | 5 days | 14 | -74/+254 |
| * | Player: remote control while casting | Christophe Besson | 5 days | 16 | -10/+296 |
| * | Cast: receiver position and pause/play on both clients | Christophe Besson | 5 days | 7 | -0/+102 |
| * | docs: the Android client | Christophe Besson | 5 days | 3 | -9/+128 |
| * | fix(android): cast context created at launch, session found if its callback i... | Christophe Besson | 5 days | 2 | -2/+28 |
| * | fix(android): the cast header is everything before the first moof | Christophe Besson | 5 days | 3 | -3/+74 |
| * | chore(android): release builds signed with the debug key for now | Christophe Besson | 5 days | 1 | -1/+7 |
| * | fix(android): the cast relay spools a receiver's lead to disk | Christophe Besson | 5 days | 4 | -44/+143 |
| * | feat(android): log what a cast does downstream of the relay | Christophe Besson | 5 days | 2 | -3/+57 |
| * | feat(android): the MeshBay icon | Christophe Besson | 5 days | 10 | -0/+46 |
| * | fix(client): the local player is silent while casting | Christophe Besson | 5 days | 2 | -0/+33 |
| * | fix(android): cast relay serves a clean header and restarts on its ports | Christophe Besson | 5 days | 5 | -12/+159 |
| * | fix(client): a seek's first segments are held while it lands, not dropped | Christophe Besson | 5 days | 3 | -3/+106 |
| * | feat(android): casting through a LAN relay and the platform cast SDK | Christophe Besson | 5 days | 17 | -35/+1176 |
| * | feat(android): downloads to disk and uploads through the system picker | Christophe Besson | 5 days | 10 | -11/+624 |
| * | fix(client): a download written to disk no longer holds the whole file | Christophe Besson | 5 days | 2 | -0/+57 |