| Commit message (Expand) | Author | Age | Files | Lines |
| * | Player: redesigned cast remote | Christophe Besson | 9 hours | 14 | -74/+254 |
| * | Player: remote control while casting | Christophe Besson | 9 hours | 16 | -10/+296 |
| * | Cast: receiver position and pause/play on both clients | Christophe Besson | 9 hours | 7 | -0/+102 |
| * | docs: the Android client | Christophe Besson | 9 hours | 3 | -9/+128 |
| * | fix(android): cast context created at launch, session found if its callback i... | Christophe Besson | 9 hours | 2 | -2/+28 |
| * | fix(android): the cast header is everything before the first moof | Christophe Besson | 9 hours | 3 | -3/+74 |
| * | chore(android): release builds signed with the debug key for now | Christophe Besson | 9 hours | 1 | -1/+7 |
| * | fix(android): the cast relay spools a receiver's lead to disk | Christophe Besson | 9 hours | 4 | -44/+143 |
| * | feat(android): log what a cast does downstream of the relay | Christophe Besson | 9 hours | 2 | -3/+57 |
| * | feat(android): the MeshBay icon | Christophe Besson | 9 hours | 10 | -0/+46 |
| * | fix(client): the local player is silent while casting | Christophe Besson | 9 hours | 2 | -0/+33 |
| * | fix(android): cast relay serves a clean header and restarts on its ports | Christophe Besson | 9 hours | 5 | -12/+159 |
| * | fix(client): a seek's first segments are held while it lands, not dropped | Christophe Besson | 9 hours | 3 | -3/+106 |
| * | feat(android): casting through a LAN relay and the platform cast SDK | Christophe Besson | 9 hours | 17 | -35/+1176 |
| * | feat(android): downloads to disk and uploads through the system picker | Christophe Besson | 9 hours | 10 | -11/+624 |
| * | fix(client): a download written to disk no longer holds the whole file | Christophe Besson | 9 hours | 2 | -0/+57 |
| * | feat(android): device key, bundle key and node identities held natively | Christophe Besson | 9 hours | 18 | -8/+1327 |
| * | fix(client): the node setup welcome is for a build that has a node | Christophe Besson | 9 hours | 2 | -1/+15 |
| * | feat(android): client shell with the interface from the package | Christophe Besson | 9 hours | 26 | -0/+1560 |
| * | test(hub): shared keyring and transcript vectors | Christophe Besson | 9 hours | 3 | -0/+716 |
| * | docs(design): rewrite §2 trust model human-first; formal model to §13.9 | Christophe Besson | 14 hours | 1 | -139/+117 |
| * | docs(design): restructure §2.2 security claims into reading + matrix | Christophe Besson | 15 hours | 1 | -2/+81 |
| * | Merge branch 'main' of meshbay.org:meshbay | Christophe Besson | 36 hours | 49 | -6142/+598 |
| |\ |
|
| | * | refactor(mnp): remove ten operator messages no client sent0.17 | Christophe Besson | 37 hours | 23 | -4402/+183 |
| | * | fix(client): no confirmation dialog for adding a folder or its flags | Christophe Besson | 37 hours | 18 | -68/+15 |
| | * | feat(mnp): sharing a folder is decided on the node's machine only (MNP 6.0) | Christophe Besson | 37 hours | 39 | -1729/+457 |
| * | | test(node): node.toml fixtures use POSIX paths, and a Windows-impossible fold... | Christophe Besson | 39 hours | 2 | -8/+13 |
| |/ |
|
| * | feat(client): list cast receivers as they answer | Christophe Besson | 39 hours | 8 | -47/+215 |
| * | fix(packaging): an upgrade reloads every user's systemd and restarts a runnin... | Christophe Besson | 2 days | 2 | -1/+54 |
| * | fix(packaging): meshbay-common clears its compiled bytecode before an upgrade | Christophe Besson | 2 days | 3 | -0/+41 |
| * | test(hub): wrap a docstring ruff flagged | Christophe Besson | 2 days | 1 | -3/+3 |
| * | fix(client): rotating a group key asks nothing | Christophe Besson | 2 days | 14 | -30/+8 |
| * | fix(client): hosting a group asks nothing when its folder came from the picker | Christophe Besson | 2 days | 12 | -15/+4 |
| * | fix(hub): a username is unique whatever its case | Christophe Besson | 2 days | 3 | -5/+38 |
| * | fix(hub): what an offer or a node message costs the hub is bounded | Christophe Besson | 2 days | 4 | -26/+114 |
| * | fix(client): the audit export never hands a spreadsheet a formula | Christophe Besson | 2 days | 3 | -5/+48 |
| * | chore: remove a spike page served in production and an unused derivation | Christophe Besson | 2 days | 5 | -454/+2 |
| * | fix(node): the clear fields beside a chat message are bounded | Christophe Besson | 2 days | 2 | -2/+48 |
| * | fix(node): a member is told a media tool failed, not what ffmpeg said | Christophe Besson | 2 days | 4 | -3/+30 |
| * | fix(node): the reaper deletes only the .part files the node wrote | Christophe Besson | 2 days | 3 | -12/+37 |
| * | fix(node): a revoked account is disconnected, not only refused next time | Christophe Besson | 2 days | 3 | -15/+87 |
| * | fix: an MBK2 bundle is opened once and stored again as MBK3 | Christophe Besson | 2 days | 8 | -31/+252 |
| * | docs: chat at rest is protected from a copy without the unlock key, not from ... | Christophe Besson | 2 days | 2 | -5/+20 |
| * | fix: downloads are marked and keep their extension; Explorer files are refused | Christophe Besson | 2 days | 10 | -16/+144 |
| * | fix(hub): a stranger who knows your name locks only browsers you never used | Christophe Besson | 2 days | 6 | -21/+272 |
| * | fix(node): one member holds a share of the node, sized past real use | Christophe Besson | 3 days | 11 | -35/+295 |
| * | fix(hub): a group name fits its column and carries no control characters | Christophe Besson | 3 days | 3 | -4/+58 |
| * | fix(node): an upload never replaces a file, nor shares a part with another | Christophe Besson | 3 days | 5 | -13/+159 |
| * | fix(node): ffprobe over a member's file is bounded, and stopped when it is | Christophe Besson | 3 days | 3 | -1/+84 |
| * | fix(node): link previews connect to the address they checked, without blocking | Christophe Besson | 3 days | 4 | -60/+207 |