summaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* feat(android): client shell with the interface from the packageChristophe Besson2 days26-0/+1560
* test(hub): shared keyring and transcript vectorsChristophe Besson2 days3-0/+716
* docs(design): rewrite §2 trust model human-first; formal model to §13.9Christophe Besson3 days1-139/+117
* docs(design): restructure §2.2 security claims into reading + matrixChristophe Besson3 days1-2/+81
* Merge branch 'main' of meshbay.org:meshbayChristophe Besson4 days49-6142/+598
|\
| * refactor(mnp): remove ten operator messages no client sent0.17Christophe Besson4 days23-4402/+183
| * fix(client): no confirmation dialog for adding a folder or its flagsChristophe Besson4 days18-68/+15
| * feat(mnp): sharing a folder is decided on the node's machine only (MNP 6.0)Christophe Besson4 days39-1729/+457
* | test(node): node.toml fixtures use POSIX paths, and a Windows-impossible fold...Christophe Besson4 days2-8/+13
|/
* feat(client): list cast receivers as they answerChristophe Besson4 days8-47/+215
* fix(packaging): an upgrade reloads every user's systemd and restarts a runnin...Christophe Besson4 days2-1/+54
* fix(packaging): meshbay-common clears its compiled bytecode before an upgradeChristophe Besson4 days3-0/+41
* test(hub): wrap a docstring ruff flaggedChristophe Besson4 days1-3/+3
* fix(client): rotating a group key asks nothingChristophe Besson4 days14-30/+8
* fix(client): hosting a group asks nothing when its folder came from the pickerChristophe Besson4 days12-15/+4
* fix(hub): a username is unique whatever its caseChristophe Besson5 days3-5/+38
* fix(hub): what an offer or a node message costs the hub is boundedChristophe Besson5 days4-26/+114
* fix(client): the audit export never hands a spreadsheet a formulaChristophe Besson5 days3-5/+48
* chore: remove a spike page served in production and an unused derivationChristophe Besson5 days5-454/+2
* fix(node): the clear fields beside a chat message are boundedChristophe Besson5 days2-2/+48
* fix(node): a member is told a media tool failed, not what ffmpeg saidChristophe Besson5 days4-3/+30
* fix(node): the reaper deletes only the .part files the node wroteChristophe Besson5 days3-12/+37
* fix(node): a revoked account is disconnected, not only refused next timeChristophe Besson5 days3-15/+87
* fix: an MBK2 bundle is opened once and stored again as MBK3Christophe Besson5 days8-31/+252
* docs: chat at rest is protected from a copy without the unlock key, not from ...Christophe Besson5 days2-5/+20
* fix: downloads are marked and keep their extension; Explorer files are refusedChristophe Besson5 days10-16/+144
* fix(hub): a stranger who knows your name locks only browsers you never usedChristophe Besson5 days6-21/+272
* fix(node): one member holds a share of the node, sized past real useChristophe Besson5 days11-35/+295
* fix(hub): a group name fits its column and carries no control charactersChristophe Besson5 days3-4/+58
* fix(node): an upload never replaces a file, nor shares a part with anotherChristophe Besson5 days5-13/+159
* fix(node): ffprobe over a member's file is bounded, and stopped when it isChristophe Besson5 days3-1/+84
* fix(node): link previews connect to the address they checked, without blockingChristophe Besson5 days4-60/+207
* fix(node): how a hosted group admits people is the operator's, not the hub'sChristophe Besson5 days13-34/+209
* docs: state the pepper's proof, signing by kind and device retirement as they...Christophe Besson5 days2-8/+40
* fix: an identity signs a named kind, and a device approval answers a requestChristophe Besson5 days17-66/+636
* fix(hub): the pepper and a device key take the passphrase, not a tokenChristophe Besson5 days9-39/+134
* docs: state the pepper, MBK3, the desktop keyring and browser access as they areChristophe Besson5 days5-109/+291
* feat: browser access, decided in the desktop applicationChristophe Besson5 days19-5/+231
* feat(client): the desktop application keeps M and every node identity in its ...Christophe Besson5 days25-59/+873
* refactor(hub): the transport holds an identity, never a private keyChristophe Besson5 days13-99/+140
* chore: bump version to 0.17.0, and the client minimum with itChristophe Besson5 days9-10/+14
* feat: bundles sealed per node under the passphrase and the hub's pepperChristophe Besson5 days30-479/+682
* feat(hub): a bundle pepper per account, handed only to a proven sessionChristophe Besson5 days5-0/+283
* fix(hub): a downloaded file opens in a tab only under a type that runs nothingChristophe Besson6 days7-24/+124
* fix: the page connects to its own origin and reCAPTCHA, nowhere elseChristophe Besson6 days4-10/+21
* fix(client): the page names node operations, and the app confirms what widens...Christophe Besson6 days25-193/+574
* fix(hub): the admin allow-list grants an account, not a usernameChristophe Besson6 days7-19/+284
* docs: state hosting, invitations, the roster check and link previews as they areChristophe Besson6 days2-22/+31
* fix(node): the roster, not the key alone, decides who gets a sessionChristophe Besson6 days6-21/+200
* fix: only the owner decides who hosts a group, and nobody is made a member un...Christophe Besson6 days44-95/+1573