aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* fix(hub): a username is unique whatever its caseChristophe Besson27 hours3-5/+38
* fix(hub): what an offer or a node message costs the hub is boundedChristophe Besson27 hours4-26/+114
* fix(client): the audit export never hands a spreadsheet a formulaChristophe Besson28 hours3-5/+48
* chore: remove a spike page served in production and an unused derivationChristophe Besson28 hours5-454/+2
* fix(node): the clear fields beside a chat message are boundedChristophe Besson28 hours2-2/+48
* fix(node): a member is told a media tool failed, not what ffmpeg saidChristophe Besson28 hours4-3/+30
* fix(node): the reaper deletes only the .part files the node wroteChristophe Besson28 hours3-12/+37
* fix(node): a revoked account is disconnected, not only refused next timeChristophe Besson28 hours3-15/+87
* fix: an MBK2 bundle is opened once and stored again as MBK3Christophe Besson28 hours8-31/+252
* docs: chat at rest is protected from a copy without the unlock key, not from ...Christophe Besson29 hours2-5/+20
* fix: downloads are marked and keep their extension; Explorer files are refusedChristophe Besson29 hours10-16/+144
* fix(hub): a stranger who knows your name locks only browsers you never usedChristophe Besson29 hours6-21/+272
* fix(node): one member holds a share of the node, sized past real useChristophe Besson30 hours11-35/+295
* fix(hub): a group name fits its column and carries no control charactersChristophe Besson31 hours3-4/+58
* fix(node): an upload never replaces a file, nor shares a part with anotherChristophe Besson31 hours5-13/+159
* fix(node): ffprobe over a member's file is bounded, and stopped when it isChristophe Besson31 hours3-1/+84
* fix(node): link previews connect to the address they checked, without blockingChristophe Besson31 hours4-60/+207
* fix(node): how a hosted group admits people is the operator's, not the hub'sChristophe Besson31 hours13-34/+209
* docs: state the pepper's proof, signing by kind and device retirement as they...Christophe Besson44 hours2-8/+40
* fix: an identity signs a named kind, and a device approval answers a requestChristophe Besson44 hours17-66/+636
* fix(hub): the pepper and a device key take the passphrase, not a tokenChristophe Besson44 hours9-39/+134
* docs: state the pepper, MBK3, the desktop keyring and browser access as they areChristophe Besson48 hours5-109/+291
* feat: browser access, decided in the desktop applicationChristophe Besson48 hours19-5/+231
* feat(client): the desktop application keeps M and every node identity in its ...Christophe Besson2 days25-59/+873
* refactor(hub): the transport holds an identity, never a private keyChristophe Besson2 days13-99/+140
* chore: bump version to 0.17.0, and the client minimum with itChristophe Besson2 days9-10/+14
* feat: bundles sealed per node under the passphrase and the hub's pepperChristophe Besson2 days30-479/+682
* feat(hub): a bundle pepper per account, handed only to a proven sessionChristophe Besson2 days5-0/+283
* fix(hub): a downloaded file opens in a tab only under a type that runs nothingChristophe Besson2 days7-24/+124
* fix: the page connects to its own origin and reCAPTCHA, nowhere elseChristophe Besson2 days4-10/+21
* fix(client): the page names node operations, and the app confirms what widens...Christophe Besson2 days25-193/+574
* fix(hub): the admin allow-list grants an account, not a usernameChristophe Besson2 days7-19/+284
* docs: state hosting, invitations, the roster check and link previews as they areChristophe Besson2 days2-22/+31
* fix(node): the roster, not the key alone, decides who gets a sessionChristophe Besson2 days6-21/+200
* fix: only the owner decides who hosts a group, and nobody is made a member un...Christophe Besson2 days44-95/+1573
* fix: a member can no longer lock a node, crash it with a link, or stop hub cl...Christophe Besson2 days8-88/+490
* feat(hub): search title, description, canonical and noscript in the shellChristophe Besson2 days3-4/+67
* feat(hub): sitemap.xml, named by robots.txtChristophe Besson2 days3-1/+37
* refactor(hub): remove the closed relay registryChristophe Besson4 days6-262/+2
* refactor(node): remove five loopback routes nothing calledChristophe Besson4 days3-46/+6
* docs: keypair_bundle_delete is reserved for device_policy (O3)Christophe Besson4 days3-1/+10
* refactor: drop the unread transfer_limits field from the handshake ackChristophe Besson4 days4-41/+22
* feat(client): save files under a name every platform can writeChristophe Besson4 days19-7/+245
* feat(hub): reports from public-group members, decided by an administratorChristophe Besson4 days22-128/+943
* feat: nodes apply the content blocklist in their public groupsChristophe Besson4 days17-57/+661
* refactor: remove the public-content swarmChristophe Besson4 days12-336/+64
* fix: bound pending admin challenges and sign every value an op acts onChristophe Besson4 days18-132/+594
* refactor: remove dead code across packagesChristophe Besson4 days26-797/+14
* refactor: remove the unused GroupIndex.serialize chainChristophe Besson4 days15-420/+63
* fix: refuse an unsigned handshake challengeChristophe Besson4 days6-52/+44