aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src
Commit message (Expand)AuthorAgeFilesLines
* fix(hub): a group whose node is down is no longer something the reader waits forChristophe Besson7 days1-33/+95
* fix(hub): Search waits on a connection that stalls, not on one that is slowChristophe Besson7 days2-5/+59
* feat(cast): carry subtitles to a Chromecast, on the relay's clockChristophe Besson8 days2-1/+127
* fix(node): size the subtitle budget to the file, and extract each track onceChristophe Besson8 days1-1/+7
* feat: tell a forced subtitle track from a full oneChristophe Besson8 days11-28/+29
* fix(hub): sample activeCues, the number that decides whether a subtitle showsChristophe Besson8 days1-0/+27
* fix(hub): trace the subtitle path end to end in the playerChristophe Besson8 days1-2/+24
* docs(hub): say what the subtitle track's mode effect was measured to doChristophe Besson8 days1-5/+9
* feat: embedded subtitles in the video player (MNP 3.3)Christophe Besson8 days13-4/+254
* feat(hub): give the audio-language button a glyph of its ownChristophe Besson8 days2-1/+10
* fix(hub): the password verifier is Argon2id 64 MiB, and a hash's version name...Christophe Besson8 days2-10/+25
* auth: a sign-out during a renewal must not write half a sessionChristophe Besson9 days1-1/+26
* feat: let the viewer pick the audio trackChristophe Besson9 days12-6/+149
* spa: a blank page can never be silent againChristophe Besson9 days3-2/+239
* playlists: promise the count that holds when nothing compressesChristophe Besson9 days2-4/+9
* playlists: refuse a body no frame can carry, and say which oneChristophe Besson9 days12-9/+72
* menu: give the panel the room that is actually below itChristophe Besson9 days2-19/+56
* menu: do not close on the panel's own scrollingChristophe Besson9 days1-2/+15
* playlists: make the writes actually leave the browserChristophe Besson9 days13-7/+295
* music: pool single-album artists into shared rowsChristophe Besson9 days2-18/+100
* music: the playlist menusChristophe Besson9 days17-24/+693
* playlists: the store, and putting it on nodesChristophe Besson9 days2-1/+501
* playlists: merge rules, sealing, and the keyChristophe Besson9 days4-4/+466
* mnp 3.1: per-account blobs the node cannot readChristophe Besson9 days1-5/+69
* music: play, play next, add to queueChristophe Besson9 days19-97/+685
* fix(hub): the Files listing sorts its folders by the chosen column tooChristophe Besson10 days1-11/+39
* feat(hub): drop files and folders onto Files to upload themChristophe Besson10 days14-39/+369
* feat(hub): Videos and Music list their cards a page at a timeChristophe Besson10 days19-77/+324
* fix(ui): a group opened directly lands on the preferred app once preferences ...0.14Christophe Besson11 days1-4/+23
* fix(ui): sidebar stays above a phone's address bar and does not scroll the pageChristophe Besson11 days1-0/+7
* feat(hub): session lifetime is an admin setting, and a browser signs out when...Christophe Besson11 days20-39/+491
* feat(hub): usernames are at least 8 characters at registrationChristophe Besson11 days12-2/+24
* fix(ui): Search says nothing about groups it leaves outChristophe Besson11 days11-23/+5
* fix(win): a service-mode daemon can be replaced, and the Node page can link oneChristophe Besson11 days2-7/+18
* feat: a group can be left out of Search, and Search tries every nodeChristophe Besson11 days14-46/+182
* fix(ui): a signed-in person is never shown the sign-in formChristophe Besson11 days1-1/+10
* chore: bump version to 0.14.0Christophe Besson11 days1-1/+1
* feat(ui): an indexing dock above the music bar, on every pageChristophe Besson11 days16-7/+566
* fix(hub): Argon2 runs off the event loop, on exactly one workerChristophe Besson12 days2-12/+49
* fix(hub): a per-account sign-in lockout, and a reviewed unauthenticated surfaceChristophe Besson12 days24-36/+527
* fix(hub): federation is closed until two hubs have run itChristophe Besson12 days2-1/+55
* fix(hub): the migration chain runs, and a test says soChristophe Besson12 days1-1/+7
* fix(hub): a node that hosts nothing is not a free target, and a private group...Christophe Besson12 days2-27/+56
* fix: hold every background task, in both codebasesChristophe Besson12 days1-1/+2
* fix(packaging): the hub unit can start, and nothing carries the migration pathChristophe Besson13 days2-5/+67
* feat(hub): the mail state is a panel section, and a ceiling falling is an eventChristophe Besson13 days13-14/+195
* fix(hub): refuse to start with more than one workerChristophe Besson13 days1-0/+22
* feat(hub): the mail bounds are settings, with a panel to change themChristophe Besson13 days16-5/+396
* fix(hub): the mail allowance is written down, and recovery keeps a shareChristophe Besson13 days6-117/+256
* fix(hub): bound the blocklist reads a stranger can makeChristophe Besson13 days1-3/+16