aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
...
* fix(spa): a reconnect must give the Chat composer backChristophe Besson2026-09-096-17/+256
* fix: the PDF preview needs object-src and frame-src, in both policiesChristophe Besson2026-09-094-11/+160
* fix(node): the leaseless bound refused the music playerChristophe Besson2026-09-092-15/+80
* Merge branch 'fix/large-download-paths'Christophe Besson2026-09-0974-255/+8914
|\
| * fix(spa): say why a download cannot be pausedChristophe Besson2026-09-0913-0/+69
| * fix(spa): a paused transfer is not a finished oneChristophe Besson2026-09-0912-2/+132
| * feat: MNP 3.0 — a transfer needs a leaseChristophe Besson2026-09-0916-15/+549
| * fix(spa): wake the download worker before handing it a streamChristophe Besson2026-09-094-6/+148
| * feat: resume an interrupted upload, and pause oneChristophe Besson2026-09-0910-18/+440
| * feat(node): uploads outlive their connection, and their leftovers are reapedChristophe Besson2026-09-094-14/+649
| * fix(spa): stop reloading a healthy page at bootChristophe Besson2026-09-092-116/+99
| * docs(spa): say that a download with no folder cannot be pausedChristophe Besson2026-09-0912-21/+81
| * feat(spa): pause and resume a download, in sessionChristophe Besson2026-09-0917-26/+484
| * fix(spa): repair a bypassed page in seconds, not half a minuteChristophe Besson2026-09-092-3/+71
| * fix(spa): repair a page the download worker cannot serveChristophe Besson2026-09-0912-12/+172
| * log(node): a transfer open is INFO, not DEBUGChristophe Besson2026-09-091-2/+8
| * fix(spa): nothing on the worker path may wait for everChristophe Besson2026-09-092-13/+186
| * fix(spa): the target queue must not be able to freeze a batchChristophe Besson2026-09-092-32/+129
| * fix(spa): one save dialog per batch, not one per fileChristophe Besson2026-09-095-8/+177
| * test(node): match transfer replies by id, not by arrival orderChristophe Besson2026-09-091-6/+72
| * fix(node): push the grants a per-member cap change producesChristophe Besson2026-09-091-2/+38
| * fix(node): give the per-member transfer cap a door anyone can openChristophe Besson2026-09-093-6/+65
| * fix(hub): the transfers row exists from the clickChristophe Besson2026-09-0815-87/+280
| * docs: three lessons from the download freezeChristophe Besson2026-09-081-0/+41
| * test(node): the two checks that need the operator's own CLIChristophe Besson2026-09-081-0/+114
| * test(node): keep the transfer probe in the repoChristophe Besson2026-09-081-0/+416
| * feat(hub): client-side transfer leases and the transfers panelChristophe Besson2026-09-0821-82/+1090
| * fix(node): a running transfer keeps its slot, and a dead grant lets goChristophe Besson2026-09-085-10/+159
| * fix(hub): keep the download worker alive, and never hang on a dead sinkChristophe Besson2026-09-084-7/+238
| * fix(hub): let this origin frame its own download URLChristophe Besson2026-09-083-6/+111
| * feat(node): make the transfer caps settable, node-wide and per groupChristophe Besson2026-09-0821-3/+470
| * feat(node): transfer leases, pools and a queue for downloads and uploadsChristophe Besson2026-09-087-1/+1264
| * fix(node): make max_concurrent_streams take effect without a restartChristophe Besson2026-09-083-5/+222
| * test(node): close the eleven failures, and the order-dependence behind sevenChristophe Besson2026-09-084-3/+47
| * feat(node): cap the media cache and evict least-recently-used entriesChristophe Besson2026-09-082-5/+270
| * fix(client): write a download to .part and rename it when it completesChristophe Besson2026-09-081-4/+36
| * test(hub): stop the Chrome profile cleanup racing its own childrenChristophe Besson2026-09-085-5/+50
| * fix(hub): never collect a large download in the pageChristophe Besson2026-09-0814-16/+395
| * fix(hub): make the streamed download path reliable, and clean up after an abortChristophe Besson2026-09-085-42/+465
|/
* chore: bump all packages to 0.12.0Christophe Besson2026-09-086-6/+6
* feat(client): create the system tray at launch, not on first minimiseChristophe Besson2026-09-086-25/+158
* fix(hub): drop the flag emoji from the language menuChristophe Besson2026-09-082-11/+18
* feat(hub): name a group's host on its card, not its visibilityChristophe Besson2026-09-083-7/+21
* feat(hub): collapse "Your devices on this node" by defaultChristophe Besson2026-09-081-3/+8
* feat(hub): cap a directory zip at 512 MBChristophe Besson2026-09-0813-6/+162
* fix(hub): stop badging every poster "unmatched" when TMDB is offChristophe Besson2026-09-082-7/+75
* fix(chat): the operator was missing from the roster they hostChristophe Besson2026-09-072-9/+102
* feat(chat): Tier 2 — a member verifies another member's device itselfChristophe Besson2026-09-0722-41/+929
* docs(chat): correct the claim that two devices never share a keyChristophe Besson2026-09-071-4/+17
* Merge origin/main into the chat encryption workChristophe Besson2026-09-0725-606/+1747
|\