| Commit message (Expand) | Author | Age | Files | Lines |
| * | test(node): the event-loop disk guard watches os.stat again | Christophe Besson | 18 hours | 2 | -6/+23 |
| * | fix(auth): the sign-up notice links the privacy statement, with a space | Christophe Besson | 18 hours | 13 | -3/+65 |
| * | feat(auth): the recovery key never reaches the hub | Christophe Besson | 18 hours | 24 | -155/+262 |
| * | build(deps): require PyJWT 2.15 | Christophe Besson | 18 hours | 2 | -2/+2 |
| * | fix(node): a removal made at the machine is in audit.db | Christophe Besson | 18 hours | 2 | -2/+61 |
| * | fix(hub): a phone's poll secret ends with the account's sessions | Christophe Besson | 18 hours | 4 | -6/+101 |
| * | fix(packaging): ship only the TMDB token line of QE/default.env | Christophe Besson | 18 hours | 1 | -0/+74 |
| * | refactor(chat): no thread_id — chat has no threads | Christophe Besson | 19 hours | 11 | -66/+64 |
| * | feat(cli): account, rm -r and mkdir, Tab completion | Christophe Besson | 20 hours | 20 | -70/+2474 |
| * | fix(node): an operator who was a member first holds the authority at once | Christophe Besson | 20 hours | 2 | -1/+71 |
| * | feat(cli): stream — a film or a song played in a media player | Christophe Besson | 22 hours | 9 | -9/+952 |
| * | feat(cli): /put and /get in the interactive chat | Christophe Besson | 22 hours | 7 | -9/+444 |
| * | feat(cli): help, and right-click copy and paste in the interactive chat | Christophe Besson | 23 hours | 9 | -11/+378 |
| * | feat(hub): one account, several linked nodes | Christophe Besson | 23 hours | 38 | -304/+1403 |
| * | feat(cli): chat --follow | Christophe Besson | 30 hours | 6 | -20/+313 |
| * | feat(cli): chat — Tier 2 check on the signing device, interactive room | Christophe Besson | 30 hours | 12 | -20/+782 |
| * | feat(cli): chat — read a group's last messages, post one | Christophe Besson | 31 hours | 7 | -15/+473 |
| * | feat(cli): search across groups | Christophe Besson | 31 hours | 6 | -4/+234 |
| * | feat(cli): rm, and Delete in the interactive mode | Christophe Besson | 31 hours | 10 | -12/+403 |
| * | feat(cli): invitations, join, decline, leave, devices, browser access | Christophe Besson | 31 hours | 28 | -61/+1546 |
| * | fix(node): a chat-epoch notice answers no request, not even the asker's | Christophe Besson | 31 hours | 2 | -9/+44 |
| * | docs: a browser is not linked as a device | Christophe Besson | 33 hours | 11 | -51/+52 |
| * | fix(client): link a device from the application; approve one match only | Christophe Besson | 33 hours | 5 | -14/+368 |
| * | feat(cli): meshbay-cli, a command-line client for members | Christophe Besson | 34 hours | 51 | -10/+7570 |
| * | feat(node): accept a device link request before the proof (MNP 6.3) | Christophe Besson | 34 hours | 6 | -96/+168 |
| * | feat(hub): replace reCAPTCHA with a self-hosted proof of work | Christophe Besson | 43 hours | 29 | -580/+394 |
| * | fix(node): index, serve and write files past Windows' MAX_PATH | Christophe Besson | 45 hours | 19 | -85/+616 |
| * | feat(node): skip a file the disk stops answering for, then pause its root | Christophe Besson | 46 hours | 23 | -80/+1246 |
| * | test(hub): pin the Android Sync probe to English | Christophe Besson | 3 days | 1 | -1/+3 |
| * | test(node): run the connection processes on Windows, source and frozen | Christophe Besson | 3 days | 4 | -3/+70 |
| * | test(node): look for Node in the menu under the avatar | Christophe Besson | 3 days | 2 | -8/+20 |
| * | fix: keep the photo lightbox's close button on a phone screen | Christophe Besson | 4 days | 5 | -40/+81 |
| * | feat: keep the sidebar for groups; search in the nav, the rest in the user menu | Christophe Besson | 4 days | 16 | -88/+186 |
| * | feat: let the operator pause and resume a root's indexing (MNP 6.2) | Christophe Besson | 4 days | 42 | -165/+1793 |
| * | feat(hub): tell the person at sign-up what the hub keeps and why | Christophe Besson | 4 days | 14 | -10/+44 |
| * | fix(node): tell the Node page how many cores there are | Christophe Besson | 4 days | 3 | -14/+30 |
| * | fix(node): a receive buffer that holds an upload's window | Christophe Besson | 4 days | 5 | -1/+90 |
| * | feat(node): carry connections on several cores | Christophe Besson | 5 days | 23 | -14/+1109 |
| * | feat: spread a large download over eight connections | Christophe Besson | 5 days | 8 | -12/+524 |
| * | feat(node): log what a transfer moved when it ends | Christophe Besson | 5 days | 9 | -2/+237 |
| * | fix(android): what the first backup on a phone showed | Christophe Besson | 6 days | 24 | -37/+128 |
| * | feat(android): back up WhatsApp's own chat backups, and its media if asked | Christophe Besson | 6 days | 28 | -54/+582 |
| * | feat(android): send a manifest of what each backup run sent | Christophe Besson | 6 days | 11 | -37/+292 |
| * | feat(android): back up the files of folders the person chooses | Christophe Besson | 6 days | 34 | -232/+1365 |
| * | feat(photos): show a phone's clips in their albums | Christophe Besson | 6 days | 16 | -12/+447 |
| * | feat(android): back the videos of the chosen albums up beside the photos | Christophe Besson | 6 days | 24 | -78/+357 |
| * | feat(android): back the calendars up as an iCalendar file | Christophe Besson | 6 days | 23 | -14/+465 |
| * | feat(android): back up the personal profile only | Christophe Besson | 6 days | 4 | -41/+90 |
| * | feat(android): back text messages up, in a build Play does not get | Christophe Besson | 6 days | 30 | -26/+389 |
| * | feat(android): one backup destination, a group the account owns alone | Christophe Besson | 6 days | 34 | -613/+883 |