aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src
Commit message (Expand)AuthorAgeFilesLines
* style: the 98 ruff could not fix, so the linter is a signal againChristophe Besson9 days7-18/+33
* style: ruff's own fixes, mechanically appliedChristophe Besson9 days28-160/+173
* Merge origin/main: the operator's upload ceiling beside the disk-thread workChristophe Besson9 days11-0/+28
|\
| * feat(node): per-file upload ceiling is an operator setting, default 8 GBChristophe Besson9 days11-0/+28
* | fix(node): the node decides which files it will transcode, not the playerChristophe Besson9 days1-3/+6
* | fix: the two ceilings §13.5b was still missing, as AV27 and AV28Christophe Besson9 days1-1/+32
* | fix(hub): stop keeping a copy of every group's file listing in the browserChristophe Besson9 days4-49/+40
* | docs: cite MESHBAY_DESIGN.md and a section instead of the merged notesChristophe Besson9 days28-116/+124
|/
* fix(hub): a group whose node is down is no longer something the reader waits forChristophe Besson9 days1-33/+95
* fix(hub): Search waits on a connection that stalls, not on one that is slowChristophe Besson9 days2-5/+59
* feat(cast): carry subtitles to a Chromecast, on the relay's clockChristophe Besson10 days2-1/+127
* fix(node): size the subtitle budget to the file, and extract each track onceChristophe Besson10 days1-1/+7
* feat: tell a forced subtitle track from a full oneChristophe Besson11 days11-28/+29
* fix(hub): sample activeCues, the number that decides whether a subtitle showsChristophe Besson11 days1-0/+27
* fix(hub): trace the subtitle path end to end in the playerChristophe Besson11 days1-2/+24
* docs(hub): say what the subtitle track's mode effect was measured to doChristophe Besson11 days1-5/+9
* feat: embedded subtitles in the video player (MNP 3.3)Christophe Besson11 days13-4/+254
* feat(hub): give the audio-language button a glyph of its ownChristophe Besson11 days2-1/+10
* fix(hub): the password verifier is Argon2id 64 MiB, and a hash's version name...Christophe Besson11 days2-10/+25
* auth: a sign-out during a renewal must not write half a sessionChristophe Besson11 days1-1/+26
* feat: let the viewer pick the audio trackChristophe Besson11 days12-6/+149
* spa: a blank page can never be silent againChristophe Besson11 days3-2/+239
* playlists: promise the count that holds when nothing compressesChristophe Besson11 days2-4/+9
* playlists: refuse a body no frame can carry, and say which oneChristophe Besson11 days12-9/+72
* menu: give the panel the room that is actually below itChristophe Besson11 days2-19/+56
* menu: do not close on the panel's own scrollingChristophe Besson11 days1-2/+15
* playlists: make the writes actually leave the browserChristophe Besson11 days13-7/+295
* music: pool single-album artists into shared rowsChristophe Besson11 days2-18/+100
* music: the playlist menusChristophe Besson12 days17-24/+693
* playlists: the store, and putting it on nodesChristophe Besson12 days2-1/+501
* playlists: merge rules, sealing, and the keyChristophe Besson12 days4-4/+466
* mnp 3.1: per-account blobs the node cannot readChristophe Besson12 days1-5/+69
* music: play, play next, add to queueChristophe Besson12 days19-97/+685
* fix(hub): the Files listing sorts its folders by the chosen column tooChristophe Besson12 days1-11/+39
* feat(hub): drop files and folders onto Files to upload themChristophe Besson12 days14-39/+369
* feat(hub): Videos and Music list their cards a page at a timeChristophe Besson12 days19-77/+324
* fix(ui): a group opened directly lands on the preferred app once preferences ...0.14Christophe Besson13 days1-4/+23
* fix(ui): sidebar stays above a phone's address bar and does not scroll the pageChristophe Besson13 days1-0/+7
* feat(hub): session lifetime is an admin setting, and a browser signs out when...Christophe Besson13 days20-39/+491
* feat(hub): usernames are at least 8 characters at registrationChristophe Besson13 days12-2/+24
* fix(ui): Search says nothing about groups it leaves outChristophe Besson13 days11-23/+5
* fix(win): a service-mode daemon can be replaced, and the Node page can link oneChristophe Besson13 days2-7/+18
* feat: a group can be left out of Search, and Search tries every nodeChristophe Besson13 days14-46/+182
* fix(ui): a signed-in person is never shown the sign-in formChristophe Besson13 days1-1/+10
* chore: bump version to 0.14.0Christophe Besson14 days1-1/+1
* feat(ui): an indexing dock above the music bar, on every pageChristophe Besson14 days16-7/+566
* fix(hub): Argon2 runs off the event loop, on exactly one workerChristophe Besson2026-09-142-12/+49
* fix(hub): a per-account sign-in lockout, and a reviewed unauthenticated surfaceChristophe Besson2026-09-1424-36/+527
* fix(hub): federation is closed until two hubs have run itChristophe Besson2026-09-132-1/+55
* fix(hub): the migration chain runs, and a test says soChristophe Besson2026-09-131-1/+7