aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* 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
|\
| * feat(mnp)!: seal the upload under the group keyChristophe Besson2026-09-0715-168/+1040
| * refactor(mnp)!: remove stream_seg, the last unencrypted content messageChristophe Besson2026-09-079-225/+53
| * fix(mnp): give a reply an id, so it stops being routed by luckChristophe Besson2026-09-078-105/+521
* | feat(chat): encrypt group chat under per-device epoch keys (MNP 2.0)Christophe Besson2026-09-0744-203/+4570
|/
* fix(client): break the Wayland ready-to-show deadlockChristophe Besson2026-09-071-0/+10
* Merge branch 'refactor/groups-phase1'Christophe Besson2026-09-0784-1788/+9504
|\
| * fix(node): carry enrichment across a rescan instead of re-deriving itChristophe Besson2026-09-072-90/+232
| * fix(node): a replugged root came back without its metadataChristophe Besson2026-09-073-0/+261
| * test(hub): the folder-name test was reading the ".." rowChristophe Besson2026-09-071-3/+11
| * fix(client): drop the "No changes to save" hint beside SaveChristophe Besson2026-09-0716-40/+1
| * fix(client): Save in the app panes was invisible, and Chat's never landedChristophe Besson2026-09-0718-23/+174
| * fix(node): remove --upload-dir rather than document itChristophe Besson2026-09-077-53/+64
| * chore(node): finish Phase 3 — CLI deprecations, Windows shapes, docsChristophe Besson2026-09-075-5/+298
| * feat(client): HelloWorld, the reference applicationChristophe Besson2026-09-0722-16/+425
| * fix(client): report a directory result under the button that caused itChristophe Besson2026-09-072-9/+65
| * fix(client): New folder did nothing — prompt() throws in the desktop clientChristophe Besson2026-09-0714-22/+192
| * feat(client): bring back New folder, icon-only — and close the hole it openedChristophe Besson2026-09-065-1/+115
| * fix: a root change reaches every client without a page reloadChristophe Besson2026-09-066-9/+169
| * fix(node): `root list` printed "?" for every pathChristophe Besson2026-09-064-8/+147
| * feat(node): an upload lands in the folder it was sent toChristophe Besson2026-09-0612-84/+156
| * fix(node): the MNP root path never reloaded, and my first repair made it worseChristophe Besson2026-09-063-96/+277
| * fix(node): adding a root reached node.toml but not the running nodeChristophe Besson2026-09-062-1/+214
| * fix(client): the folder picker had no background, and its field no layoutChristophe Besson2026-09-0613-29/+201
| * docs(groups): the upload-policy migration is not optional after allChristophe Besson2026-09-061-2/+15