summaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* fix(node): the roster, not the key alone, decides who gets a sessionChristophe Besson3 days6-21/+200
* fix: only the owner decides who hosts a group, and nobody is made a member un...Christophe Besson3 days44-95/+1573
* fix: a member can no longer lock a node, crash it with a link, or stop hub cl...Christophe Besson3 days8-88/+490
* feat(hub): search title, description, canonical and noscript in the shellChristophe Besson3 days3-4/+67
* feat(hub): sitemap.xml, named by robots.txtChristophe Besson3 days3-1/+37
* refactor(hub): remove the closed relay registryChristophe Besson5 days6-262/+2
* refactor(node): remove five loopback routes nothing calledChristophe Besson5 days3-46/+6
* docs: keypair_bundle_delete is reserved for device_policy (O3)Christophe Besson5 days3-1/+10
* refactor: drop the unread transfer_limits field from the handshake ackChristophe Besson5 days4-41/+22
* feat(client): save files under a name every platform can writeChristophe Besson5 days19-7/+245
* feat(hub): reports from public-group members, decided by an administratorChristophe Besson5 days22-128/+943
* feat: nodes apply the content blocklist in their public groupsChristophe Besson5 days17-57/+661
* refactor: remove the public-content swarmChristophe Besson5 days12-336/+64
* fix: bound pending admin challenges and sign every value an op acts onChristophe Besson5 days18-132/+594
* refactor: remove dead code across packagesChristophe Besson5 days26-797/+14
* refactor: remove the unused GroupIndex.serialize chainChristophe Besson5 days15-420/+63
* fix: refuse an unsigned handshake challengeChristophe Besson5 days6-52/+44
* docs: bring the design and protocol documents in line with the codeChristophe Besson5 days3-72/+146
* feat(hub): new login tagline, dimmer gradient topChristophe Besson5 days11-11/+11
* fix(hub): say so when a lazily loaded view cannot be fetched0.16Christophe Besson5 days17-6/+284
* feat(hub): keep a show's detail modal open under the playerChristophe Besson5 days9-4/+385
* fix(node): tell whether a pid is alive on Linux tooChristophe Besson6 days1-0/+8
* docs: the Windows node's three modes and one lifecycle, and what it costChristophe Besson6 days4-18/+151
* test: make both suites pass on WindowsChristophe Besson6 days85-266/+293
* fix(hub): the sidebar's Node section follows the node linkChristophe Besson6 days3-8/+90
* fix(hub): say "No operator paired" only when the node says soChristophe Besson6 days2-4/+60
* fix: Windows installer and desktop app start and stop the node one wayChristophe Besson6 days18-250/+927
* fix(node): a Windows daemon that stops properly, starts honestly and runs onceChristophe Besson6 days10-215/+948
* fix(hub): depend on sqlalchemy[asyncio]Christophe Besson6 days1-1/+1
* fix(hub): rate-limit per client, not per proxyChristophe Besson6 days2-3/+55
* chore: store text files with LF whatever the checkout's autocrlfChristophe Besson6 days1-0/+13
* fix(node,client): query TMDB only once a language is chosen, in that languageChristophe Besson7 days9-1/+300
* fix(node): read the packaged TMDB token in placeChristophe Besson7 days6-84/+69
* feat(hub): default email opt-outs and match Register to Login stylingChristophe Besson7 days4-16/+37
* fix(hub): the NAT-punch signal needs a shared active group, like the offer relayChristophe Besson8 days4-53/+140
* docs(design): state the node-bound MNP token as a rule, not an incidentChristophe Besson8 days1-13/+12
* feat(protocol): bind the MNP token to the node it is for (E10)Christophe Besson8 days13-14/+114
* fix(node,client): survive a transient hub state on login, and surface a faile...Christophe Besson8 days3-5/+135
* feat(protocol): MNP 4.0 flag day for the node-audience token (B2)Christophe Besson8 days7-72/+118
* fix(hub): present a node-audience token in the handshake, not the hub session...Christophe Besson8 days15-38/+284
* fix(hub): require the passphrase to change the e-mail on fileChristophe Besson8 days4-12/+110
* fix(hub): make group revoke admin-only and route it through the broadcasting ...Christophe Besson8 days2-0/+206
* fix(hub): require exp, sub and a known scope when decoding access tokensChristophe Besson8 days2-2/+140
* fix(hub): refuse node-scoped tokens on the admin and moderator APIChristophe Besson8 days2-5/+192
* feat: invitation links no longer bound to an e-mail addressChristophe Besson8 days31-205/+317
* feat(hub): friendlier welcome page, link previews, robots.txt and faviconChristophe Besson8 days23-177/+605
* chore: bump version to 0.16.0Christophe Besson8 days8-8/+8
* docs(readme): the repository itself is published read-only, not a mirrorChristophe Besson8 days1-1/+1
* docs: add a README at the repository rootChristophe Besson8 days2-1/+68
* refactor(client): split transport.js into classic scriptsChristophe Besson8 days14-2147/+2234